Е.С.Борисов
понедельник, 5 октября 2009 г.
В этой работе построен классификатор, распознающий картинки с цифрами от 0 до 9. Для реализации классификатора используется нейронная сеть ART-1.
При построении классификаторов может возникать проблема стабильности - пластичности, которая заключается в необходимости постоянного разрешения дилеммы: является ли текущий образ искажением "старого", т.е. уже предъявлявшегося ранее, или это "новый" образ, существенно отличающийся от "старых". Восприятие системы должно быть пластично, т.е. способно воспринимать новую информацию, и при этом - стабильно, т.е. не разрушать память о старых образах.
Решение этой проблемы было предложено С.Гроссбергом в теории адаптивного резонанса (ART)[1]. Согласно ей общая схема интеллектуальной системы состоит из двух типов памяти: кратковременной (STM) и долговременной (LTM), которые связаны между собой. Текущий входной образ помещается в кратковременную память и сравнивается с хранящимися в долговременной памяти. Если содержимое STM похоже на образ из LTM то возникает состояние резонанса - т.е. система "узнаёт" входной образ. В противном случае текущий входной образ считается "новым". Таким образом реализуется детектор новизны образов[2].
Гипотеза Гроссберга состоит в том, что только резонансные состояния мозга достигают рационального уровня сознания[3]. Это перекликается с понятием естественного (человеческого) языка, который часто ошибочно определяют как средство общения, в то время как средством общения есть речь. Язык же есть средством разделения, инструментом сегментации и классификации окружающего мира. Человек способен видеть (воспринять) только то, что присутствует в его языке (состояние резонанса).
На базе теории адаптивного резонанса было разработано несколько нейросетевых моделей. В этой статье мы рассмотрим нейронную сеть ART-1[4].
ART-1 относится к дискретным (работает с бинарными сигналами) рекуррентным нейронным сетям и состоит из трёх слоёв (входного и двух обрабатывающих) и двух специальных блоков (управления и сброса). Общая схема этой сети приведена на рис.1.
Нейроны входного слоя соединёны с соответствующими нейронами первого слоя, блоком сброса R и блоком управления G. Каждый нейрон первого слоя соединён со всеми нейронами второго слоя и блоком сброса R. Нейроны второго слоя соединёны со всеми нейронами первого слоя и блоком управления G.
Общая схема функционирования сети выглядит следующим образом.
Рассмотрим теперь эти механизмы подробнее.
Второй слой реализует алгоритм "победитель берёт всё" (WTA), поэтому выход только одного нейрона второго слоя будет активен.
Выход нейрона первого слоя будет активен только если активны два или три его входа (т.н. правило "два из трёх").
где - выход -го нейрона первого слоя, - весовой коэффициент.
Выходная активность нейрона-победителя устанавливается равной единице, остальные нейроны остаются неактивны.
Любой нейрон второго слоя может находиться в заблокированном состоянии, т.е. для него установлен сигнал сброса R. Это означает, что он "не допускается до участия в соревнованиях".
Кроме того, любой нейрон второго слоя может быть зарезервирован. Это означает, что он стал частью LTM и весовые коэффициенты связей этого нейрона несут информацию о некотором образе. Отсюда следует, что количество образов, которые способна вместить система, равна количеству нейронов второго слоя.
где - выход -го нейрона первого слоя, - -го компонента входного образа, - константа (т.н. параметр бдительности).
Если выполняется отношение (6) то система пришла в состояние резонанса, т.е. входной образ успешно классифицирован, номер класса соответствует номеру нейрона победителя второго слоя.
Если отношение (6) не выполняется то здесь возможны два варианта.
где - константа, - выход -го нейрона первого слоя, k- номер нейрона-победителя второго слоя.
Начальные значения весовых матриц следующие.
где - константа, - размер выходного вектора X.
Отметим, что это несколько упрощённый алгоритм ART-1, в оригинале веса связей модифицируются в любом случае: как при обнаружении нового образа, так и при успешной классификации. Таким образом моделируется адаптивность системы. Однако такой алгоритм ведёт к постепенному, необратимому обнулению матриц весов и рано или поздно система перестанет работать. Своеобразная математическая модель русской поговорки "много будешь знать - скоро состаришься".
В этой работе реализован классификатор бинарных (черно-белых) картинок с изображением цифр.
На вход нейронной сети подаётся картинка в формате BMP, размером 17 × 31 точек, представляющая собой матрицу 51 × 31 байт, таким образом входной слой сети (X на рис.1) состоит из 51 × 31 = 1581 нейронов. Размер первого слоя равен размеру входного вектора X. Размер второго слоя определяет емкость памяти системы, в данном случае - 10 нейронов.
|
Данная реализация классификатора показала способность к обобщению немного хуже двухслойного перцептрона. Однако, она обладает способностью отделять новые образы от искажённых старых (тех, что уже предъявлялись), а так же ART-1 (в отличии от перцептронов) способна постоянно (быстро) обучаться, не "забывая" при этом старые образы.
В программе используется библиотека для работы с картинками GdkPixbuf v.2.
Исходные тексты программы [ здесь ].