Санкт-Петербургский государственный университет
Кафедра теории систем управления электрофизической
аппаратурой
Ращенко Юлия Владимировна
Выпускная квалификационная работа бакалавра
Разработка модифицированных алгоритмов
обучения для нейронной сети адаптивной
резонансной теории
Направление 010900
«Прикладные математика и физика»
Научный руководитель,
кандидат физ.-мат. наук,
доцент
Козынченко В. А.
Санкт-Петербург
2016
Оглавление
Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
Искусственный нейрон и его прототип — биологический нейрон
4
Виды активационных функций . . . . . . . . . . . . . . . . .
6
Обучение искусственной нейронной сети . . . . . . . . . . . .
6
Виды искусственных нейронных сетей . . . . . . . . . . . . .
7
Нейросеть адаптивного резонанса . . . . . . . . . . . . . . .
7
Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
Обзор литературы . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1 Описание функционирования нейросети АРТ-1
12
1.1 Используемые обозначения . . . . . . . . . . . . . . . . . . .
13
1.2 Латеральное торможение . . . . . . . . . . . . . . . . . . . .
14
1.3 Процесс распознавания . . . . . . . . . . . . . . . . . . . . .
14
1.4 Обучение . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
1.5 Фаза поиска . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
2 Модифицированные алгоритмы обучения
17
2.1 Вещественная матрица запомненных векторов . . . . . . . .
17
2.2 Имитация локальной кратковременной памяти . . . . . . . .
20
3 Программная реализация, тестирование и анализ результа2
тов
23
3.1 Особенности реализации . . . . . . . . . . . . . . . . . . . . .
23
3.2 Графический
24
пользовательский
интерфейс . . . . . . . .
3.3 Сравнительное тестирование АРТ-1 и ее модификаций, анализ результатов . . . . . . . . . . . . . . . . . . . . . . . . . .
25
3.3.1
Тестирование нейросетей АРТ-1.0 и АРТ-1.1 . . . . .
26
3.3.2
Тестирование нейросетей АРТ-1.0 и АРТ-1.2 . . . . .
26
3.3.3
Тестирование на неполных и зашумленных образах .
28
3.3.4
Тестирование на изображениях из базы MNIST . . . .
29
Выводы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
3
Введение
Искусственный нейрон и его прототип — биологический
нейрон
Искусственные нейронные сети являются перспективной областью
для исследования. Они применяются во многих прикладных задачах: распознавание образов, аппроксимация, классификация и кластеризация, сжатие и архивация данных. Разработки в данной сфере ведутся крупными российскими и зарубежными компаниями, такими как Yandex, Google,
Nvidia [1]–[3].
Важным преимуществом искусственных нейросетей перед некоторыми другими применяемыми алгоритмами является то, что в них предусмотрена возможность обучения. При правильном обучении нейросеть способна
выявлять сложные зависимости между входной и запомненной информацией и производить обобщение, что напоминает мыслительные процессы
человека. Поэтому искусственные нейронные сети также рассматриваются как один из способов моделирования искусственных интеллектуальных
систем.
К преимуществам искусственных нейронных сетей можно отнести
возможность распараллеливания алгоритма, что влечет за собой высокую
производительность. Искусственные нейронные сети интересны также тем,
что позволяют однотипно решать совершенно разные прикладные задачи,
а сложный алгоритм работы нейросети строится из множества простых
однотипных действий.
Искусственная нейронная сеть состоит из элементарных единиц —
искусственных нейронов, принцип функционирования которых схож с их
биологическим прототипом. Упрощенная структура двух взаимодействующих биологических нейронов представлена на рис. 1 [4]. Электрохимические импульсы идут по дендритам, принимаются нейронами в синапсах
(точках соединения). В теле нейрона происходит их обработка: сигналы
суммируются, причем одни могут возбудить нейрон, а другие — наобо4
Рис. 1. Два взаимодействующих биологических нейрона.
рот, уменьшить возбуждение. Когда суммарное возбуждение превышает
некоторый порог, нейрон по аксону посылает нервный импульс к другим
нейронам.
Искусственные нейроны по принципу функционирования подобны
биологическим нейронам. На вход искусственного нейрона (рис. 2) поступает некоторое множество сигналов x1 , x2 , . . . , xn . Каждый сигнал умножается на соответствующий вес w1 , w2 , . . . , wn и поступает на суммирующий
блок. Затем выход этого блока NET проходит через активационную функцию, которая по-особому преобразует сигнал. Выход OUT активационной
функции идет на вход другим нейронам.
Рис. 2. Искусственный нейрон [4].
Искусственные нейроны с одинаковыми множествами входов и одной
активационной функцией могут быть объединены в нейронный слой. Вычисления, производимые нейронным слоем, представимы в виде матричного умножения весовой матрицы, в строках которой записаны веса нейронов
слоя, на входной вектор, общий для всех нейронов слоя, и применения к
элементам полученного вектора активационной функции.
5
Виды активационных функций
При моделировании искусственных нейронных сетей применяется множество различных активационных функций, рассмотрим некоторые из них [5].
• Линейная фунцкция: F (N ET ) = K ·N ET , K — некоторая постоянная.
• Пороговая функция:
1, если N ET > T,
F (N ET ) =
0, в противном случае,
T — некоторая постоянная.
• Сигмоидальная логистическая функция: F (N ET ) =
1
.
1 + e−N ET
• Сигмоидальная функция гиперболического тангенса:
F (N ET ) = tanh(N ET ).
Обучение искусственной нейронной сети
Искусственные нейронные сети предусматривают возможность изменять свое поведение в ответ на изменение внешней среды, то есть обучаться.
Во время обучения нейросеть самонастраивается для обеспечения требуемой реакции. Технически обучение — это изменение весов на входах нейронов (w1 , w2 , . . . , wn на рис. 2). Обучение бывает двух видов: с учителем
и без учителя [4].
Обучение с учителем предполагает наличие нескольких обучающих
пар, состоящих из входного и целевого (ожидаемого) векторов. Входной
вектор подается на вход нейросети, вычисляется выход, который сравнивается с соответствующим целевым вектором. Разница, или ошибка, подается в сеть, и веса нейронов изменяются по некоторому алгоритму, стремящемуся уменьшить ошибку. Обучение длится до тех пор, пока ошибка не
достигнет допустимого уровня.
6
При обучении без учителя обучающее множество состоит только из
входных векторов. В процессе обучения нейросеть выявляет сходные черты
у экземпляров входного множества и объединяет их в классы. При предъявлении нейросети вектора, принадлежащего определенному классу, сеть
выдает на выходе некоторый вектор, характеризующий данный класс.
Важное свойство большинства искусственных нейронных сетей — способность к обобщению, то есть нечувствительность к незначительным изменениям входных образов, шумам и искажениям входной информации [4].
Это свойство адаптироваться в условиях изменяющейся внешней среды делает нейросети эффективными при решении многих прикладных задач.
Виды искусственных нейронных сетей
Существует достаточно много различных нейросетей, отличающихся
способами организации нейронов, алгоритмами обучения. Одной из более
распространенных является, например, персептрон.
Простой персептрон состоит из одного слоя нейронов МакКаллокаПитса (рис. 2, про другие модели искусственных нейронов смотреть [6]) с
пороговой активационной функцией:
1, если N ET > 0,
F (N ET ) =
0, в противном случае.
Многослойный персептрон состоит из выходного и как минимум одного
внутреннего (скрытого) слоя. Обучение персептрона происходит с учителем и заключается в таком подборе весов нейронов сети, чтобы выходной
вектор нейросети был наиболее близок к заданному, целевому вектору [6].
Нейросеть адаптивного резонанса
В данной работе рассматривается нейронная сеть адаптивной резонансной теории АРТ-1, разработанная американскими учеными Гейл Кар7
пентер и Стивеном Гроссбергом в 1987 г. [7]. Ее преимущества перед другими типами нейросетей в том, что АРТ-1 решает проблему стабильностипластичности: сети АРТ-1 в процессе функционирования не изменяют и не
разрушают результаты предшествующего обучения, а также существует
возможность запоминания новых образов. Нейросеть АРТ-1 предназначена для решения задачи распознавания образов. Она работает с бинарными
векторами и обучается без учителя.
Во время функционирования нейросети входной вектор проходит через два критерия сходства. Рис. 3. Пример обучения
сети АРТ-1.
На первой стадии в памяти сети ищется запомненный вектор (эталон), на который больше всего похож (значение этого слова будет раскрыто далее)
распознаваемый образ. Второй критерий сходства
определяет, достаточно ли похож входной вектор
на найденный эталон. В случае положительного ответа запомненный образ изменяется, или обучается, иначе в памяти нейросети создается новая кате-
t t
x e
1 0 0
0 1 0
1 1 1
1 1 1
1 1 1
гория для входного образа. Обучение происходит
по правилу конъюнкции: вычисляется логическое пересечение элементов
входного и запомненного векторов [4].
На основе классической модели нейросети АРТ-1, обладающей такими важными свойствами как адаптивность, стабильность и пластичность,
предлагались различные модифицированные алгоритмы как самими создателями, так и другими авторами [8]–[15]. Эти модификации направлены
в основном на улучшение качества распознавания нейросети, повышение
производительности, а также расширение области применимости.
Рассмотрим пример обучения сети АРТ-1 (рис. 3). Пусть на вход сети
подается образ x, он больше всего похож на эталон e
t. В результате функционирования в память записывается логическое пересечение образов x и e
t
— образ t (жирным шрифтом выделены элементы, подлежащие изменению
при обучении).
8
Постановка задачи
В некоторых случаях в задаче распознавания образов классическая
сеть АРТ-1 может оказаться неэффективной. Ее обучение необратимо, что
означает возможную потерю данных вследствие правила обучения, наблюдается эффект деградации классов с их последующим размножением [16].
Это влечет за собой также значительно увеличивающееся время работы.
Рассмотрим наглядный пример. Незаполненные векторы долговременной памяти состоят из единиц. Пусть c — вектор, хранящийся в долговременной памяти сети (изначально пустой), на вход сети подается вектор
x, t — вектор, полученный после обучения. Для наглядности векторы представлены в виде матриц.
1.
c
x
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
2.
0 0
0 1
0 0
0 0
c
0 0
0 1
0 0
0 0
t
1 0
1 0
1 0
1 0
0 0
0 1
0 0
1
0 0
1
x
1 0
1 0
1 0
1 0
0 0 1 0
1
1
0
0
0
0
t
0 0 1 0
0 0 1 0
0 0 1 0
0 0 1 0
0 0 1 0
0 0 1 0
0 0 1 0
Теперь образ, хранящийся в сети, является неполным. Таким образом, информация, хранящаяся в памяти сети, может быть потеряна из-за
последовательного предъявления незначительно измененных образов.
Задача данной научно-исследовательской работы — разработка модифицированных алгоритмов обучения для нейросети адаптивной резонансной теории АРТ-1, направленных на уменьшение эффекта деградации и
размножения классов, а также сравнительное тестирование классической
и модифицированных нейросетей и анализ результатов. Выборка образов
9
для тестирования должна включать в себя экземпляры, проверяющие стойкость нейросети к зашумленным, искаженным и неполным в разной степени данным. Эффективность типа true-positive, скорость, а также количество запомненных образов (меньшее количество говорит о большей способности нейросети к обобщению) будут являться критериями оценки качества
введенных модификаций.
Обзор литературы
При написании данной дипломной работы были использованы учебная, научная и научно-популярная литература, статьи в периодических изданиях Российской Федерации и других стран, а также публикации на информационном портале eLIBRARY.ru.
Основными источниками, раскрывающими принципы функционирования искусственных нейронных сетей, явились специализированные научные и научно-популярные издания отечественных и зарубежных авторов:
Хайкин С. — «Нейронные сети. Полный курс» [5], Осовский С. — «Нейронные сети для обработки информации» [6]. В книге Круглова В. В., Борисова В. В. «Искусственные нейронные сети. Теория и практика» [17] в основном внимание уделено программным оболочкам-имитаторам искусственных нейронных сетей, но в ней можно найти краткий обзор достаточно
большого числа различных видов нейросетей. Хочется отдельно отметить
издание Уоссермана Ф. «Нейрокомпьютерная техника: теория и практика» [4], в котором можно найти достаточно подробные и доступные сведения по данной тематике, оно могло бы быть полезно как людям, только
начинающим работать в данной области, так и специалистам. Актуальность исследования искусственных нейронных сетей и их применимость
рассмотрены на примере компаний Yandex [1], Google [2] и Nvidia [3].
При работе с искусственной нейронной сетью адаптивной резонансной теории были использованы, кроме перечисленных работ, оригинальные статьи авторов данной нейросети Карпентер Г. и Гроссберга С. [7]–
[10], а также ресурсы сайта национального открытого университета Ин10
туит [16]. Опыт применения нейросети и разработки модификаций для
нее рассмотрен также на основе публикаций на информационном портале eLIBRARY.ru [11]–[15].
Для разработки одного из модифицированных алгоритмов использовались материалы учебного пособия «Психология» Немова Р. С. [18], описывающие принципы взаимосвязанной работы кратковременной и долговременной памяти человека.
11
Глава 1
Описание
функционирования
нейросети АРТ-1
Конфигурация сети АРТ-1 (рис. 1.1) включает слой сравнения, блок
распознавания (состоящий из нескольких слоев) и блок сброса. Модуляторы слоя сравнения и блока распознавания обеспечивают управляющие
функции, необходимые для функционирования нейросети, и в данной работе подробно рассматриваться не будут.
Рис. 1.1. Архитектура нейросети АРТ-1.
12
1.1
Используемые обозначения
Расшифруем некоторые обозначения, использованные в работе.
1. n — число компонент во входном векторе, в который преобразовано
изображение (если размерности изображения h × w, то n = hw);
2. m — емкость нейросети — количество запомненных образов;
3. ρ — параметр сходства (vigilance level [7] — «уровень настороженности», уровень наименьшего допустимого сходства), ρ ∈ [0; 1]; его значение определяется степенью точности, необходимой при классификации: чем меньше данный параметр, тем менее похожие образы будут
объединяться в одну категорию.
4. En×n — единичная матрица размерности n × n;
5. Tn×m — двоичная матрица размерности n × m, столбцы которой представляют собой запомненные образы (долговременная память нейросети АРТ-1);
6. Bm×n — вещественная матрица размерности m × n, которая получается из матрицы Tn×m транспонированием, и каждая ее строка равна
нормализованной величине соответствующего столбца матрицы Tn×m :
bij =
Ltji
P ,
L − 1 + tki
k
где bij — компонента матрицы Bm×n , tji — компонента матрицы Tn×m ,
L — константа, L > 1, обычно L = 2 [4];
7. вектор размерности r обозначается ar×1 , его компоненты ai , i = 1, r;
8. Lm×m — матрица латерального торможения (об этом процессе будет
подробнее рассказано позже), компоненты которой определяются по
следующему правилу:
lii = 1, −
1
< lij < 0 для i 6= j.
m−1
13
Для обеспечения абсолютной сходимости алгоритма веса должны от1
личаться друг от друга, поэтому принимаем: lij = −
+ ε, где ε
m−1
— случайная величина
малой амплитудой [17]. В рамках
с достаточно
1 1
;
.
данной работы ε ∈
2m m
1.2
Латеральное торможение
Пусть есть вектор x, некоторые компоненты которого (хотя бы од-
на) принимают положительные значения, и матрица L такая, как описано
выше в пункте 7. Необходимо найти номер максимального элемента x. Вычисляется произведение y = Lx, причем к компонентам y применяется
следующая функция:
yi , если yi > 0,
f (yi ) =
0, в противном случае.
Затем вектору x приравнивается вектор y. Все указанные действия
повторяются до тех пор, пока в x не обнулятся все компоненты, кроме
одной. Эта компонента и будет соответствовать максимальному элементу
исходного вектора [17].
1.3
Процесс распознавания
Перед началом работы память нейросети АРТ-1 не заполнена: это
выражается в том, что элементы матрицы Tn×m равны единице. Соответственно элементы матрицы Bm×n также равны между собой.
Входное изображение побитово преобразуется во входной двоичный
вектор x по следующему правилу: 1 — пиксель черного цвета, 0 — пиксель
другого цвета.
Вектор x проходит через слой сравнения без изменения в блок распознавания, где реализуется первый критерий сходства, заключающийся в
14
том, что вычисляется свертка вектора x и нормализованной матрицы памяти Bm×n : bm×1 = Bm×n ·xn×1 . Свертка b проходит через процесс латерального торможения, описанный выше, в результате которого в b обнуляются
все компоненты, кроме одной, которая становится равной единице. Номер
этого ненулевого компонента в b соответствует номеру эталона-победителя,
столбца в Tn×m с запомненным образом, на который больше всего похож
входной образ.
Следует отметить, что в случае первого распознавания (память нейросети содержит только «пустые» образы, Tn×m заполнена единицами) в
конкуренции победит случайный вектор из памяти. Обязательное наличие
победителя в этом случае, когда все эталоны равны между собой и имеют
равные шансы выиграть в конкуренции, обеспечивается случайной малой
величиной ε в Lm×m .
Получившийся вектор b поступает в слой сравнения. Победивший эталон извлекается из памяти следующим образом: tn×1 = Tn×m · bm×1 . Реализуется второй критерий сходства: вычисляется логическое пересечение
элементов входного и победившего векторов cn×1 = (x1 ∧ t1 , . . . , xn ∧ tn )T ,
n
P
и ищется соотношение:
i=1
n
P
ci
. Если данное соотношение не меньше ρ, в блоxi
i=1
ке сброса принимается решение об обучении победившего вектора. Иначе
начинается фаза поиска.
1.4
Обучение
Во время обучения запомненный вектор изменяется, чтобы быть бо-
лее похожим на входной вектор, по правилу конъюнкции (вычисляется логическое пересечение элементов входного и запомненного векторов):
tij = e
tij ∧ xi ,
где i = 1, n,
j соответствует номеру столбца в матрице Tn×m , содержа-
щего эталон-победитель.
15
1.5
Фаза поиска
Во время фазы поиска победившие только по первому критерию эта-
лоны затормаживаются. Описанный ранее процесс распознавания повторяется, но в конкуренции не участвуют заторможенные победители. Это
реализуется, например, обнулением соответствующих элементов свертки b.
Фаза поиска длится до тех пор, пока в памяти не будет найден эталон, подошедший по двум критериям. Если среди непустых образов победитель не
найден, побеждает один из пустых образов (вектор, состоящий из единиц).
Эти векторы по первому критерию из-за особого вида нормализации в матрице Bm×n имеют наименьший вес по сравнению с непустыми (в свертке b
им соответствуют меньшие значения), но по второму критерию они имеют
n
P
наибольшее сходство с любым входным вектором (соотношение
i=1
n
P
ci
для
xi
i=1
них равно 1).
После нахождения победителя происходит его обучение по описанному алгоритму. Обучение пустого вектора соответствует выделению новой
категории, добавлению в память сети нового образа.
Следует отметить важную положительную особенность искусственной нейронной сети АРТ-1: для ее работы необходимо задать всего один
параметр — коэффициент сходства ρ, причем его смысл интуитивно понятен (процент совпавших черных пикселей), и он может быть выбран в
зависимости от требований решаемой задачи. В некоторых других сетях
необходимо задавать намного больше параметров. Например, в нейросети многослойный персептрон нужно выбирать количество слоев, нейронов в каждом слое, алгоритм обучения, активационные функции, причем
нет единых алгоритмов или правил, как это правильно сделать, а есть
лишь некоторые рекомендации. Выбор наиболее подходящих параметров
для какой-то конкретной задачи обычно проводится опытным путем, из
эксперимента.
16
Глава 2
Модифицированные
алгоритмы обучения
2.1
Вещественная матрица запомненных векторов
В данной модификации предлагается заменить двоичную весовую
матрицу запомненных векторов Tn×m на вещественную. Если вспомнить
пример обучения сети АРТ-1, представленный на рис. 3 (Введение, Нейросеть адаптивного резонанса), то в рамках введенной модификации в па
T
мять записывается образ t следующего вида: 0 + ξ 1 − ξ 0 0 1 , где
ξ — некоторая малая величина, которая вычисляется по особому правилу.
Архитектура сети изменится следующим образом: добавится дополнительный слой между блоком распознавания и слоем сравнения
(см. рис. 2.1). Весовая матрица в новом слое — вещественная матрица Tn×m ;
активационная функция нейронов слоя будет:
0, если tij 6 0, 5,
ci =
1, в противном случае,
где i = 1, . . . , n, j — номер ненулевого элемента вектора, пришедшего из
17
Рис. 2.1. Архитектура модифицированной сети АРТ-1.
блока распознавания, ci — компонента выходного вектора c слоя сравнения,
tij — компонента матрицы T.
Таким образом, из нового слоя в слой сравнения будет приходить
вектор эталонного образа, поэтому весовая матрица на соответствующем
входе изменится на E — единичную матрицу.
Общее правило обучения формулируется следующим образом:
t̃ + ξ, если xi = 1 6= t̃ij ,
ij
tij = t̃ij − ξ, если xi = 0 6= t̃ij ,
t̃ , в противном случае,
ij
где e
tij — предыдущее значение соответствующей компоненты матрицы T,
xi — компонента входного вектора x.
В рассматриваемой задаче распознавания образов уместно сделать
следующее предположение: величина ξ должна меняться по мере обучения
так, чтобы со временем влияние новых образов на долговременную память
сети уменьшалось. В связи с этим для формулировки правила изменения
ξ предлагается использовать среднее арифметическое результатов предшествующего обучения. Тогда tij есть среднее арифметическое нулей и единиц
— двоичных элементов, стоящих на месте компонент xi векторов x, участвовавших в обучении j-го эталона. Таким образом, при увеличении времени
18
обучения среднее арифметическое будет меняться все меньше, а следовательно, и элементы матрицы T. Для вычисления каждого нового среднего
арифметического понадобится предыдущее значение среднего арифметиe
t N +xi
ческого e
tij и число предъявлений данного образа N : tij = ij
. Число
N +1
N накапливается и хранится для каждого эталона в отдельном векторе,
являющемся характеристикой сети, и извлекается при необходимости.
В разделе «Постановка задачи» рассматривался пример работы классической сети АРТ-1. Продолжим рассмотрение данного примера, наблюдая теперь за работой сети с введенной модификацией.
1.
c
x
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
2.
0 0
0 1
0 0
0 0
c
0 1
0 0
0 0
3.
1 0
1 0
1 0
0 0
0 1
0 0
0 0
1 0
1 0
1 0
1/2 1/2 1 1/2
0 0 1 0
t
1 0
1 0
1 0
1 0
0 0 1 0
1/3 1/3
1/3 2/3
1/3 1/3
1/3 1/3
x
1/2 1 1 1/2
1/2 1/2 1 1/2
1/2 1/2 1 1/2
0 0 1 0
0 0 1 0
0 0 1 0
c
1 0
x
1 0
0 0
t
1 1/3
1 1/3
1 1/3
1 1/3
t
0 0 1 0
0 0 1 0
0 0 1 0
1/4 1/4 1 1/4
1/4 2/4 1 1/4
1/4 1/4 1 1/4
1/4 1/4 1 1/4
Элемент t22 6 0.5, т. е. сеть обучилась единице другого вида. Но впоследствии сеть может «вспомнить» первоначальный образ единицы,
если будет его часто «видеть». На данном этапе достаточно одного
предъявления:
19
4.
c
0 0 1 0
x
0 0 1 0
0 0 1 0
0 0 1 0
0 0
0 1
0 0
0 0
t
1 0
1 0
1 0
1 0
1/5 1/5
1/5 3/5
1/5 1/5
1/5 1/5
1 1/5
1 1/5
1 1/5
1 1/5
Таким образом, введенная модификация решает проблему возможной потери важной информации вследствие случайных неудачных входных
образов.
2.2
Имитация локальной кратковременной памяти
Данная модификация реализует биоподобное свойство локальной крат-
ковременной памяти на основе искусственной нейронной сети АРТ-1. Идея
модификации состоит в следующем: каждому запомненному образу в долговременной памяти соответствует буфер кратковременной памяти, состоящий из k векторов (рис. 2.2). После заполнения буфера происходит консолидация его образов в соответствующую ячейку долговременной памяти.
Следует отметить, что вследствие данной модификации архитектура сети
не претерпевает изменений по сравнению с классической АРТ-1 (рис. 1.1).
Изменится алгоритм обучения, который далее рассматривается подробнее.
Рис. 2.2. Взаимосвязанная работа кратковременной и долговременной памяти.
20
В начале работы и долговременная, и кратковременная память содержат «пустые» образы (векторы, состоящие из единиц). В распознавании участвует только долговременная память. При первом обучении (это
означает, что долговременная память содержит «пустой» образ) поданный
образ заносится без изменения и в долговременную память, и в соответствующий буфер. При последующих процедурах обучения входной образ
изменяет долговременную память по правилу «X» и записывается в «пустую» ячейку соответствующего буфера. Каждый раз после фазы обучения проверяется наличие «свободного места» в соответствующем буфере. В
случае его отсутствия буфер изменяет содержимое долговременной памяти
по правилу «Y » и освобождается.
Выбирая размер буфера k, правила «X» и «Y », следует исходить из
следующих замечаний. Задача данной модификации — упрощенно сымитировать модель кратковременной и долговременной памяти человека. Следуя из работы [18], до консолидации образов кратковременной памяти входящая информация затрагивает долговременную память по некоторому
простому, «быстрому» алгоритму (рис. 2.3).
Рис. 2.3. Схема памяти по Р. Аткинсону и Р. Шифрину [18].
Таким образом, в данной работе емкость буфера k берется равной пяти. Правило «X» принимается тождественным. Это значит, что входящая
информация не меняет образ долговременной памяти. До первой процедуры консолидации он идентичен первому поданному на вход сети образу, а
впоследствии является результатом последней консолидации соответству21
ющего буфера. В работе рассматриваются два разных правила «Y »: правило конъюнкции и правило наибольшего преобладания.
Правило конъюнкции аналогично обучающему алгоритму классической АРТ-1, но вычисляется логическое пересечение элементов не двух,
а k векторов буфера. Пусть tij — элемент i-го вектора в долговременной
памяти, i = 1, m, j = 1, n, m — емкость долговременной памяти, n — размерность входного вектора; bilj — элемент l-го вектора в буфере, l = 1, k;
тогда
tij = bi1j ∧ bi2j ∧ · · · ∧ bikj .
Используя введенные обозначения, правило наибольшего преобладания представляется следующим образом:
k
P
k
1, если
bilj > ,
2
l=1
tij =
0, в противном случае.
Следует отметить очевидное преимущество введенной модификации:
в отличие от классической сети, в модифицированной сети образы поддерживают актуальность данных. Эта проблема также решается первой
предложенной модификацией.
22
Глава 3
Программная реализация,
тестирование и анализ
результатов
3.1
Особенности реализации
Искусственная нейронная сеть АРТ-1 и ее модификации реализованы
в виде компьютерных моделей на языке программирования C# в среде
программирования Visual Studio Enterprise 2015.
Следует отметить важные особенности программной реализации. В
рамках данной работы не производилось распараллеливание разработанных моделей, так как реализация проводилась на процессоре типа CPU,
распараллеливание вычислений на котором не дает значительного прироста производительности. Поэтому для ускорения процесса функционирования были применены некоторые приемы. Например, в режиме автоматического тестирования (о нем будет рассказано в следующем разделе) емкость
нейросетей изменяется динамически в ходе функционирования при необходимости, а не задается заранее (как это предполагается в классическом
варианте). Также латеральное торможение, на стабилизацию которого может потребоваться длительное время, заменено на алгоритмический поиск
23
максимального элемента в векторе.
3.2
Графический пользовательский интерфейс
Для разработанных программ реализован графический пользователь-
ский интерфейс с использованием интерфейса программирования приложений Windows Forms, предоставляемым платформой Microsoft .NET
Framework.
При запуске программы открывается главное окно программы:
рис. 3.1. В начальном состоянии поля Input, Output пусты, для нажатия
доступны только кнопки «Create NN» и «Load NN».
При выборе «Load NN» открывается диалоговое окно для выбора сохраненной нейросети (файла с параметрами, имеющего расширение ART).
При выборе «Create NN» открывается окно создания сети 3.2. В нем предлагается задать такие параметры сети, как ширина и высота входных изображений, емкость сети и величина параметра сходства.
Рис. 3.1. Главное окно программы.
Рис. 3.2. Окно создания сети.
После создания сети поле Input доступно для рисования, а все остальные кнопки главного окна становятся активными. При выборе «Load image»
появляется диалоговое окно загрузки изображения для распознавания в
формате bmp с соответствующими значениями ширины и высоты с диска.
Выбранное изображение появляется в поле Input. С помощью опции «Save
24
image» можно сохранить созданное изображение.
После того, как изображение подготовлено к распознаванию, необходимо выбрать «Recognize». После окончания процесса функционирования
нейросети в поле Output появляется изображение эталона, к которому был
отнесен входной образ (после обучения). Это изображение также можно
сохранить.
Реализованная программа предоставляет возможность преобразовать
образы долговременной памяти в изображения. Для этого нужно ввести в
поле с подписью «Check neuron» номер интересующего эталона в памяти
от 0 до m − 1 и выбрать «Check». Изображение эталона появится в поле
Output.
Следует отметить, что для модифицированной сети с вещественной
матрицей запомненных векторов образ из памяти появляется в поле Output
в градациях серого с учетом вещественных элементов матрицы T (частоты
присутствия каждого пикселя в образах, относимых к данной категории).
Также можно запустить для нейросети автоматическое тестирование,
нажав «Testing» и выбрав папку с изображениями для распознавания и
локацию для сохранения результатов тестирования. В текстовый файл с
результатами тестирования запишется информация об отнесении образов
к той или иной категории и время тестирования.
При выборе «Save NN» в файл с расширением ART записываются
параметры сети и компоненты матрицы T.
3.3
Сравнительное тестирование АРТ-1 и ее
модификаций, анализ результатов
В рамках данной части для реализованных моделей приняты следу-
ющие обозначения: для классической нейросети — АРТ-1.0, для модифицированной нейросети с вещественной матрицей запомненных векторов —
АРТ-1.1, для модифицированной нейросети с имитацией локальной крат-
25
ковременной памяти — АРТ-1.2. Для всех версий сети было проведено
несколько циклов тестирования на различных множествах тестовых образов и с разными параметрами сходства.
3.3.1
Тестирование нейросетей АРТ-1.0 и АРТ-1.1
На данном этапе проведено тестирование для моделей АРТ-1.0 и АРТ-1.1 на множестве изображений единицы размером 50×50. Тестирование проводилось с параметром ρ = 0.5. Сначала обе версии обучались эталону, затем
сети для распознавания предъявлялись по очереди незначительно измененные изображения эталона и сам эталон
(см. рис. 3.3). Множество искаженных образов состоит из
Рис. 3.3.
15 экземпляров и подобрано так, что в каждом экземпляПримеры
изображений во
ре отсутствует некоторая малая часть пикселей по сравне- входной выборке.
нию с изображением эталона. Таким образом, в результате
последовательного предъявления искаженных образов в сети АРТ-1.0 исходный образ полностью затирается.
В ходе тестирования выяснилось, что уже после предъявления седьмого измененного образа АРТ-1.0 не распознает эталонное изображение.
Для АРТ-1.1 тестирование было проведено на всем подготовленном множестве, и стабильность распознавания не изменилась. Таким образом, в
данном тестировании нейросеть АРТ-1.1 показала себя более эффективной.
3.3.2
Тестирование нейросетей АРТ-1.0 и АРТ-1.2
Проведено тестирование нейросетей АРТ-1.0 и АРТ-1.2 на множестве
изображений единицы, состоящем из 50 экземпляров размерности 50 × 50
с различной степенью искаженности. Примеры изображений представлены на рис. 3.4, а. Нейросеть АРТ-1.2 рассматривалась в двух вариантах
с разными правилами консолидации, описанными в Главе 2. Тестирование
26
Таблица 3.1. Результаты тестирования.
АРТ-1.0
АРТ-1.1
(конъюнкция)
Количество
14
выделенных
эталонов
(1
цикл)
Качество рас- 82%
познавания
(2 цикл)
10
АРТ-1.1
(наибольшее
преобладание)
5
14%
92%
проводилось по следующей схеме, состоящей из двух циклов. На первом
цикле программы работали с каждым экземпляром из коллекции в обычном режиме, включающем в себя распознавание и обучение. На втором
цикле каждое изображение подвергалось повторному распознаванию, но
без обучения. Результаты тестирования представлены в таблице 3.1.
б)
а)
Рис. 3.4. Тестирование нейросетей АРТ-1.0 и АРТ-1.2.
Из таблицы видно, что правило конъюнкции в роли правила консолидации оказалось несостоятельным. Однако, эксперимент показал, что
модифицированная сеть с правилом наибольшего преобладания оказалась
успешной. Об этом говорит тот факт, что выделено гораздо меньшее число
ячеек для хранения эталонов по сравнению с АРТ-1.0, и несмотря на это
27
качество распознавания на втором цикле значительно выше.
С помощью функции программы, предоставляющей возможность преобразовать образы долговременной памяти в изображения, описанной в
разделе «Графический пользовательский интерфейс», проведено сравнение образов, хранящихся в разных версиях сети после нескольких циклов
обучения. На рис. 3.4, б представлен пример такого сравнения. В первом
столбце — образы, записанные в память; во втором — образы, хранящиеся
в памяти после проведенных циклов обучения в АРТ-1.0; в третьем — в
АРТ-1.2 с конъюнкцией; в четвертом — в АРТ-1.2 с наибольшим преобладанием. Видно, что АРТ-1.2 с правилом наибольшего преобладания во
всех рассмотренных случаях сохранила большую часть от первоначально
запомненного образа, по сравнению с другими версиями сети.
3.3.3
Тестирование на неполных и зашумленных образах
Для каждой нейросети было проведено несколько циклов тестирования на множествах неполных и зашумленных образов (рис. 3.5) с разными
коэффициентами сходства ρ. Каждое из множеств состоит из 50 изображений единицы размером 50 × 50 пикселей. В таблице 3.2 представлены
результаты тестирования в виде количества выделенных нейросетями категорий в каждом случае.
б)
а)
Рис. 3.5. а) Примеры зашумленных изображений, б) примеры неполных изображений.
В рамках данного тестирования нейросети АРТ-1.1 и АРТ-1.2 показали примерно одинаковое качество распознавания и оказались эффек28
Таблица 3.2. Тестирование на неполных и зашумленных образах.
Входное множество ρ
Неполные образы
0.5
0.7
0.9
Зашумленные образы 0.5
0.7
0.9
АРТ-1.0
16
21
26
12
21
35
АРТ-1.1
3
6
16
3
15
33
АРТ-1.2
3
9
17
3
14
34
тивнее нейросети АРТ-1.0. При увеличении параметра сходства качество
распознавания всех рассмотренных нейросетей заметно снижается.
3.3.4
Тестирование на изображениях из базы MNIST
Проведено тестирование нейросетей на множестве
изображений рукописных цифр, взятых из свободно распространяемой базы изображений MNIST [19], состоящем
из 60000 экземпляров. Примеры изображений представлены на рис. 3.6. Размер изображений составляет 28 × 28
пикселей. Результаты тестирования для различных параметров сходства представлены в таблице 3.3.
Эффективность нейросети определяется следующим
образом:
m
P
Рис. 3.6.
Примеры
изображений из
базы MNIST.
qi
Mi
,
m
Ni
где qi — эффективность распознавания для i-ой выделенной категории, Mi
Q=
i=1
,
qi =
— количество основных образов i-ой категории (образов, преобладающих
среди экземпляров, отнесенных к данной категории), Ni — количество всех
образов в i-ой категории.
Тестирование на множестве рукописных цифр показало, что хотя эффективность АРТ-1.0 больше, чем у других моделей, данная сеть по сравнению с другими выделяет намного больше категорий для хранения за29
Таблица 3.3. Результаты тестирования.
Эффективность
positive, %
Количество
категорий
Время
ч:мин:с
ρ АРТ-1.0
true- 0.5 74.2
0.7 89.1
0.9 98.2
выделенных 0.5 14406
0.7 21046
0.9 39137
тестирования, 0.5 5:51:26
0.7 13:42:43
0.9 72:3:41
АРТ-1.1
72.3
АРТ-1.2
54.2
84.6
98.1
93
84.5
97.8
171
1369
25463
0:1:33
2675
23415
0:2:4
0:11:46
20:12:3
0:21:41
17:9:54
помненных образов (более 1/3 от размера всего тестового множества при
ρ = 0.7), что влечет за собой также значительно увеличивающееся время
работы. Это связано с тем, что в классической нейросети из-за правила обучения происходит деградация классов [16] и их последующее размножение.
В нейросетях АРТ-1.1 и АРТ-1.2, напротив, поддерживается актуальность
данных, вследствие правил обучения потерянная информация может восстанавливаться. По показателям, представленным в таблице, можно заключить, что нейросеть АРТ-1.1 представила в целом наилучшие результаты
в рамках данного тестирования.
30
Выводы
В рамках данной научно-исследовательской работы разработаны модифицированные алгоритмы обучения искусственной нейронной сети адаптивной резонансной теории АРТ-1. Модификации направлены на повышение качества распознавания нейросети. Одна из модификаций предполагает замену двоичной матрицы запомненных векторов на вещественную и
обучение нейросети с учетом предыдущих образов, отнесенных к данной
категории, причем со временем обучения влияние новых образов становится слабее. Вторая модификация имитирует биоподобное свойство локальной кратковременной памяти и предполагает запись в долговременную (основную) память нейросети лишь той информации, которая преобладает в
кратковременной памяти.
Классическая нейросеть АРТ-1 и две ее модификации реализованы
в виде компьютерных программ с пользовательским интерфейсом, с помощью которых проведено сравнительное тестирование трех нейросетей
на различных входных выборках, с разными уровнями наименьшего допустимого сходства. Входные множества включали в себя искаженные в
разной степени образы. Качество нейросетей оценено по таким критериям
как эффективность типа true-positive, скорость распознавания и количество выделенных категорий для хранения образов.
Результаты тестирования показали в целом успешность предложенных алгоритмов обучения. Модифицированные нейросети более устойчивы
к изменению данных, в то время как в классической нейросети незначительно измененные входные образы могут необратимо испортить образ в
памяти. Таким образом, с помощью рассмотренных модификаций удалось
значительно уменьшить эффект деградации классов и их последующего
размножения, что также положительно повлияло на скорость распознавания нейросети. Для дальнейшей работы над данной проблемой можно
предложить проведение консолидации среди запомненных образов нейросети для уменьшения количества выделенных категорий.
Следует отметить также одну особенность классической нейросети
31
АРТ-1, которая была показана в тестировании: данная нейросеть успешнее
справляется с зашумленными образами, чем с неполными. Эта особенность
следует из алгоритма обучения классической нейросети, идея которого состоит в выделении главного, общего в образах, относимых к одной категории. В модифицированной нейросети с вещественной матрицей запомненных векторов «зашумленность» образов присутствует в памяти, но с очень
маленьким весом. Модифицированная нейросеть с имитацией локальной
кратковременной памяти игнорирует шум, но также в ней присутствует
некоторая поддержка актуальности данных.
Возможный недостаток модифицированной нейросети с вещественной матрицей запомненных векторов, который может быть критичен в
некоторых задачах, состоит в том, что в данной нейросети увеличивается размер потребляемой памяти по сравнению с другими рассмотренными
моделями. Это происходит из-за того, что в памяти хранится вещественнозначная матрица запомненных векторов, в то время как память классической нейросети и второй модификации может быть реализована с использованием булевского типа.
Стоит отметить еще одно преимущество использования принципа локальной кратковременной памяти, которое в рамках проведенного тестирования не было показано, но может проявиться в задачах распознавания
более сложных и больших образов (например, в задаче идентификации биометрических характеристик человека). Это преимущество связано с быстротой обработки информации в данной модели: входящая информация обрабатывается кратковременной памятью по некоторому простому, быстрому алгоритму, а один раз в несколько итераций образы кратковременной
памяти консолидируются в долговременную память по более сложному алгоритму.
Результаты данной научной работы представлены на следующих конференциях: ежегодная международная научная конференция аспирантов и
студентов «Процессы управления и устойчивость» (2015, 2016 г.), 3-я международная конференция «Устойчивость и процессы управления» памяти
В. И. Зубова (2015 г.), а также опубликованы две статьи [20, 21].
32
Заключение
В работе рассмотрена искусственная нейронная сеть адаптивной резонансной теории. Для нее предложены модифицированные алгоритмы
обучения, направленные на повышение качества распознавания. Исходная
нейросеть и ее модифицированные версии реализованы в виде компьютерных моделей, проведено их сравнительное тестирование на различных
входных множествах. На основе результатов тестирования указаны преимущества и недостатки рассмотренных моделей. Тестирование показало
эффективность предложенных модификаций.
33
Литература
[1] Исследования в Яндексе [Электронный ресурс]: URL: https://
research.yandex.ru/ (дата обращения: 01.05.2016).
[2] Research
at
Google
[Электронный
ресурс]:
URL:
https://
research.google.com/ (дата обращения: 01.05.2016).
[3] NVIDIA.
Deep
learning
[Электронный
ресурс]:
URL:
https://
developer.nvidia.com/deep-learning (дата обращения: 01.05.2016).
[4] Уоссерман Ф. Нейрокомпьютерная техника: теория и практика / пер.
Ю. А. Зуев, В. А. Точенов, 1992. — 184 с.
[5] Хайкин С. Нейронные сети. Полный курс. 2 изд. М.: Вильямс, 2006.
1103 с.
[6] Осовский С. Нейронные сети для обработки информации. — Варшава,
2000. — 345 с.
[7] Carpenter G., Grossberg S. A massively parallel architecture for a selforganizing neural pattern recognition machine // Computer vision, graphics,
and image processing. 1987. No 37. P. 54–115.
[8] Carpenter G., Grossberg S. ART-2: Self-organization of stable category
recognition codes for analog input patterns // Applied Optics. 1987.
No 26(23):4919-4930.
[9] Carpenter G., Grossberg S. ART-3: Hierarchical search using chemical
transmitters in self-organizing pattern recognition architectures. // Neural
Networks (Publication). 1990. vol. 3, p. 129–152.
34
[10] Carpenter G., Grossberg S., Rosen D. Fuzzy ART: Fast stable learning
and categorization of analog patterns by an adaptive resonance system. //
Neural Networks (Publication), 1991. vol. 4, p. 759–771
[11] Мищенко А. В. Моделирование осознанного внимания в процессах
обработки изображений человеческим мозгом на базе адаптивнорезонансных нейросетей // Вестник Санкт-Петербургского университета. Серия 10: Прикладная математика. Информатика. Процессы управления. 2010. № 4. С. 49–62.
[12] Ращенко Д. В., Козынченко В. А. Разработка альтернативного критерия сходства изображений для нейронных сетей АРТ-1 // Процессы
управления и устойчивость. 2015. T. 2. № 1. С. 479–484.
[13] Rashchenko D. V. Elimination of the search phase in the neural network
ART-1 by changing the criterion of vectors similarity // IEEE 2015
International Conference “Stability and Control Processes” in memory of
V. I. Zubov (SCP). 2015. P. 661–662.
[14] Дмитриенко В. Д., Заковоротный А. Ю. Дискретные нейронные сети
АРТ, использующие идеи иммунокомпьютинга // Вестник Национального технического университета Харьковский политехнический институт. Серия: информатика и моделирование . 2012. № 62 (968) . С. 52–63.
[15] Дмитриенко В. Д., Хавина И. П., Заковоротный А. Ю. Новые архитектуры и алгоритмы обучения дискетных нейронных сетей адаптивной
резонансной теории // Научные ведомости Белгородского государственного университета. Серия: История. Политология. Экономика. Информатика . 2009. № 15-1. С. 88–96.
[16] Интуит.
Лекция
[Электронный
14:
ресурс]:
Адаптивная
URL:
резонансная
теория
(АРТ)
http://www.intuit.ru/studies/courses/
61/61/lecture/20460?page=6 (дата обращения: 16.03.2016).
[17] Круглов В. В. Искусственные нейронные сети. Теория и практика /
Борисов В. В. — М.: Горячая линия — Телеком, 2002. — 192 с.
35
[18] Немов Р. С. Психология. Москва: ВЛАДОС, 2008. 688 с.
[19] Yann LeCun. THE MNIST DATABASE of handwritten digits [Электронный ресурс]: URL: http://yann.lecun.com/exdb/mnist/index.html (дата
обращения: 16.03.2016).
[20] Выдрина Ю. В., Козынченко В. А. Модификация обучения искусственной нейронной сети АРТ-1 // Процессы управления и устойчивость.
2015. T. 2. № 1. С. 379–384.
[21] Rashchenko Y. V., Kozynchenko V. A. New algorithms of an artificial
neural network ART-1 training // IEEE 2015 International Conference
“Stability and Control Processes” in memory of V. I. Zubov (SCP). 2015.
P. 663–664.
36
Отзывы:
Авторизуйтесь, чтобы оставить отзыв