ФЭНДОМ



© Сергей Яковлев, 2008

(P) Журнал «АВТОМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА», 2009

Использование этой информации в коммерческих целях запрещенно. Но Вы можете использовать данный материал для личного или профессионального использования, для продвижения академических или научных исследований или для информационных целей.



Использование принципа рекуррентности Джордана в перцептроне Розенблатта Править

С.С. Яковлев*, магистр инженерных наук, исследователь

А.Н. Борисов*, доктор технических наук, профессор

  • Рижский Технический университет, Латвия

В работе показана возможность совмещения перцептрона Розенблатта и сети Джордана, в результате чего перцептрон приобретает свойства рекуррентной сети, а обучение остается таким же быстрым и эффективным, как в перцептроне Розенблатта. Рекуррентный перцептрон RP-1 протестирован на задаче обучения агента, помещенного в модельную среду. Ключевые слова: перцептрон, рекуррентная нейронная сеть

ВВЕДЕНИЕ Править

Представленная в работе искусственная нейронная сеть (ИНС) – рекуррентный перцептрон RP-1 базируется на исследованиях Розенблатта о перцептронах [1], используются также идеи, описанные Розенблаттом в заключительной главе его книги, но так и не осуществленные практически. Сейчас широко используемые алгоритмы, базирующиеся на методе обратного распространения ошибки [2] сталкиваются с серьезными скоростными ограничениями, в результате чего их нельзя использовать в задачах с большой размерностью или же это требует существенных затрат аппаратных ресурсов. Под влиянием работы Вассермана [3] была изменена терминология, и в результате элементарный перцептрон Розенблатта попал в категорию с одним слоем обучаемых связей. Поэтому к нему зачастую предъявляют неоправданную претензию, что с его помощью невозможно разделить нелинейные данные (например, задача XOR). При этом не учитывается роль первого необучаемого слоя перцептрона, который собственно и отображает нелинейные данные с входа на линейное представление, получаемое активностью среднего слоя сети. Эту особенность также отмечает Бонгард [4], говоря, что перцептрон преобразовывает пространство рецепторов в некоторое другое пространство, где классы разделялись бы линейно.

В свою очередь, дальнейшие работы в этом направлении позволили предложить понятие рекуррентных сетей. Наиболее перспективны из них те, которые позволяют говорить о наличии внутренних состояний в сети, например, сеть Элмана [5] или сеть Джордана [6].

Обучение рекуррентных сетей сопряжено с неоправданной сложностью алгоритмов обучения. Среди них можно выделить алгоритм обратного распространения во времени, рекуррентное обучение в реальном времени, фильтр Калмана [7]. Все они связаны с усложнением алгоритма обратного распространения ошибки. Далее рассмотрим применение одного из видов перцептроного обучения (обучение с коррекцией ошибок) к рекуррентным сетям и покажем, что они, в отличие от упомянутых выше алгоритмов, не замедляют обучение рекуррентной сети. В данной статье внимание будет сосредоточено только на этапе обучения сети, так как именно это является узким местом любых нейронных сетей. Что же касается точности распознавания, что важно для способности прогнозирования, то современные исследования показывают, что, базируясь на перцептроне Розенблатта, без существенных модификаций можно добиться хорошего уровня точности распознования [8, 9].

УСТРОЙСТВО РЕКУРРЕНТНОГО ПЕРЦЕПТРОНА RP-1 Править

Архитектура рекуррентного перцептрона Править

Архитектура рекуррентного перцептрона получается, если перцептрон Розенблатта наделить обратными связями и контекстными рецепторами сети Джордана. При этом обучение будет происходить не по алгоритму обратного распространения ошибки, как в сети Джордана, а по алгоритму коррекции ошибки, как в перцептроне Розенблатта. Также существуют более тонкие отличия, но чтобы их подчеркнуть, приведём ряд определений относительно терминологии и механизма функционирования предлагаемой рекуррентной сети.

Определение 1. Внешним сенсорным элементом (S-элементом, Outside Sensor) является любой чувствительный элемент определенного детектора, который преобразует изменение среды (внешний стимул) в удобный для использования сигнал. Так, например, получаем поток данных от видеокамеры, где каждая точка пространства преобразуется в 1 байт информации, кодирующий один из 256 цветов гаммы, и дает сигнал по 8 бинарным входам. Тогда разрешение камеры определяет число бинарных входов, полученных от определенного пространства внешней среды.

Определение 2. Ассоциативным элементом (А-элементом, Association) называется пороговое устройство, которое выдает выходной сигнал (+1), когда алгебраическая сумма его входных сигналов равна или превышает некоторую пороговую величину, принятую за логический нуль , в противном случае сигнал отсутствует (равен 0). Если сигнал равен (+1), то говорят, что А-элемент является активным.

Определение 3. Классифицирующий элемент (R-элемент, Classifier) отличается от А - элемента только своей ролью в ИНС. Если А – элемент, как правило, находится во внутреннем среднем слое, то R-элемент способен подать сигнал на исполнительное устройство (или с него могут быть считаны результирующие данные) или быть источником стимулов для Sin-элементов. Данный элемент классифицирует стимулы в соответствии с заданной классификацией одним из учителей. Поэтому далее используется термин классификатор как синоним R-элемента.

Определение 4. Силой сигнала называется значение весового коэффициента (число рецепторов в постсинаптическом нейроне) для определенной связи между связанными элементами. Причем будем различать возбуждающие сигналы, у которых (при наличии сигнала) веса больше нуля, и тормозящие сигналы, у которых веса меньше нуля. В отсутствии сигнала сила сигнала равна нулю. Именно эти значения силы сигналов и суммируются A и R – элементами.

Определение 5. Внутренним сенсорным элементом (Sin-элемент, Inner Sensor) называется чувствительный элемент любого внутреннего устройства, который фиксирует одно из внутренних состояний системы, образуемое в процессе его работы.

Определение 6. Модальностью сенсора будем называть разнотипную по семантике информацию, поступающую на сенсорный элемент. Классически это зрительная или акустическая информация, но также можно под модальностью понимать и связанную группу понятий (например, количество одинаковых территорий, количество ресурсов).

Определение 7. Рекуррентным перцептроном RP-1 называется система, удовлетворяющая следующим условиям:

  1. Система состоит из бинарных S, Sin , A и R - элементов;
  2. Система представляет собой перцептрон с последовательными связями, идущими только от S - элементов (и Sin – элементов, группы которых разделены на модальности) к А - элементам и от А - элементов к R - элементам;
  3. Система обладает обратными связями с единичной задержкой во времени от R – элемента к Sin - элементам, с помощью которых R - элементы могут воздействовать на Sin - элементы в следующий момент времени;
  4. Веса всех связей S - элементов и Sin – элементов к А - элементам являются фиксированными (не изменяются в процессе обучения) и выбираются один раз случайным процессом с определенной функцией распределения;
  5. Веса всех связей от А - элементов к R - элементам являются переменными и настраиваются в процессе обучения методом коррекции ошибки;
  6. Число связей S - элементов и Sin – элементов к А - элементам определяется числом d, которое существенно меньше общего количества сенсорных элементов и выбрано для каждой из модальностей. Общее число входных связей А - элемента будет равно сумме чисел d, выбранных для каждой из модальностей. Связи А - элементов к R – элементам задаются силой связи, которая определяется при обучении и в ряде случаев может быть равной нулю, то есть отсутствовать;
  7. Время внутренней обработки сигнала синхронизируется с определенной частотой , а внутренняя обработка занимает некоторое время, равное длине запоминаемой последовательности пар стимул - реакция;
  8. При приеме нового внешнего сигнала с частотой пороги всех ассоциативных элементов устанавливаются в нуль;
  9. Обучение может быть разделено на этапы.

Обучение рекуррентного перцептрона Править

Определение 8. Обучение с коррекцией ошибок представляет собой такой метод обучения, при котором связи не изменяются до тех пор, пока текущая реакция перцептрона остается правильной. При появлении неправильной реакции вес изменяется на единицу, а знак (+/-) определяется противоположным от знака ошибки. Определение 9. Этапом обучения назовем процесс осуществления обучения сети с одной произвольной группой данных, которая характеризуется объемом обучающей выборки, временем обучения, измеряемым в количестве итераций, и временем, затраченным на компьютерное моделирование. Разделение обучения на этапы позволяет получать информацию некоторыми осмысленными порциями. При следующем этапе сеть уже находится в частично обученном состоянии.

Отличия рекуррентного перцептрона от сети Джордана Править

Рассмотрим прохождение последовательности сигналов через рекуррентный перцептрон RP-1. Сигнал поступает на группу рецепторов, соединенных с внешним миром (Outside Sensor), и проходит в скрытый слой (Association). Преобразованный скрытым слоем сигнал пойдет на выходной слой (Classifier). До этого момента процесс принципиально совпадает с рекуррентной сетью Джордана. Но сигнал не выйдет из сети, и только его копия попадет на элемент задержки. А далее в сеть, на рецепторы, воспринимающие внешние сигналы, второй образ не поступает, а на контекстную группу рецепторов (Inner Sensor) поступает выходной образ с предыдущего шага после элемента задержки. Таким образом, изменился только контекст, но этого уже достаточно, так как изменятся сигналы от скрытого слоя, и на выход попадет следующий образ из последовательности. Длина последовательности определяется временем внутренней обработки сигнала, которое синхронизируется с определенной частотой . И только по прошествии этого внутреннего времени с выхода будет получена вся последовательность, и поступит второй образ, инициирующий появление на выходе следующей последовательности.

ПРИМЕР ИСПОЛЬЗОВАНИЯ РЕКУРРЕНТНОГО ПЕРЦЕПТРОНА RP-1 Править

Задача обучения агента Править

В искусственном интеллекте существует понятие обучающегося интеллектуального агента - в нашем случае, это программная система, наблюдающая за модельной средой, способная к обучению и приспосабливанию к изменяющимся условиям. Чтобы активно выполнять свои функции, агент обычно имеет иерархическую структуру, включающую много «субагентов». Рассмотрим работу только сенсорного субагента (далее просто агент), который на основе сенсорных сигналов создает свою «картину мира».

Агент использует механизм рекуррентного перцептрона, что даёт ему возможность реагировать на информацию в модельной среде и необходимую запоминать. В работе не рассматривается поведение агента на основании анализа полученной им информации, а вместо этого уделяется внимание лишь процессу обучения, скорости этого процесса и некоторым его характеристикам. Если бы мы рассматривали решение задачи целиком, то было бы показано, куда нужно двигаться агенту в процессе иследования карты и где основывать «город» для добычи ресурсов. При этом в ходе обучения агент вырабатывал бы правила, которые не были даны учителем, а также агент мог бы прогнозировать, как ему поступить в неизвестной ситуации, когда он помещен на другую тестовую карту. Этому вопросу будет посвящено другое исследование. Здесь же мы ограничимся этапом обучения задачи классификации.

Модельная среда представляет собой карту местности (рис. 1), разделенную на 276 квадратов (участков) различного типа (16 видов). Каждый тип территории отличается количеством ресурсов, которые можно получить, обрабатывая эту территорию. Будем различать три вида ресурсов. В таблице 1 показаны все типы территорий, которые могут быть на карте, и их характеристики.

Map

Рис. 1. Карта местности, куда помещен агент

Yak2 1a

Рис. 2. Пример входных-выходных данных (пары стимул-реакция)

MapRegion

Виды территорий и их характеристики. * В оригинальной статье названий территорий заменены уникальным идентификатором, который занимает 1 байт информации, что позволяет закодировать до 255 типов различных территорий. В данной задаче рассматривается только 16 видов территорий – но это частный случай, и поэтому представленные коды несколько избыточны. Так же ресурсы обозначены номерами, а не как здесь условными названиями.

В процессе обучения агент проходит все позиции на карте. Во время первого этапа агент обходит последовательно внешние 10 позиций по оси X и 15 позиций по оси Y – всего 1350 позиций (координаты отмечены белым цветом на рис. 1). А во время второго этапа агент обходит последовательно внутренние 9 позиций по оси X и 14 позиций по оси Y – всего 1134 позиций (координаты отмечены серым цветом на рис. 1).

В процессе прохождения агентом позиций в модельной среде, он формирует обучающую выборку, которая состоит из набора соответствий стимул – реакция (рис. 2). В качестве стимула используется визуальное изображение девяти окружающих агента участков (один участок имеет размер 64х32 пикселей с 256 цветовой гаммой) (см. рис. 2, справа – увеличенная часть карты местности), а учитель тренирует агента создавать соответствующие смысловые реакции. Информация, предоставляемая учителем во время обучения и затем требуемая на выходе, состоит из трех составляющих:

  1. Типы территории, окружающие агента;
  2. Количество одинаковых территорий определенного типа, окружающих агента. Такая совокупность образует 16 чисел – по одному числу на каждый тип территории;
  3. Количество ресурсов, имеющихся на исследуемой агентом области, таким образом, создаётся маска ресурсов, состоящая из трех чисел (по количеству различных ресурсов), характеризующих общее количество ресурсов в прилегающей области нахождения агента.

В процессе внутренней обработки необходимо накапливать информацию, сохраняя в памяти для одновременного анализа до девяти типов территорий, таким образом, имея в качестве внутренних состояний информацию обо всей окружающей агента области.


Yak2 1b

Рис. 3. Архитектура перцептрона Yak-2, необходимая для рассматриваемого сенсорного субагента. Архитектура рекуррентного перцептрона RP-1 отличается только отсутствием рефрактерности.

Результаты моделирования Править

Разработанная программа выполнена на одном виртуальном процессоре четырехядерного процессора Xeon E5310 под ОС Windows Vista x86. При этом системой использовалось 800-950 Мб оперативной памяти из 2 Гб имеющихся. Необходимая для запоминания информация из трёх составляющих представлена тремя модальностями (см. определение 6), а именно, введены три соответствующие группы Sin – элементов (число и размерность которых см. рис. 3 слева вверху). Каждой такой группе должно соответствовать свое число d, характеризующее количество случайных связей к А – элементу (4 группы по 20 связей (link)). В противном случае из-за случайности соединения А - элемент может лишь незначительно учитывать внутренние модальности. Особенно это становится существенным, когда одна из модальностей, например, в нашем случае (внешняя) визуальное изображение региона, имеет большую размерность, чем остальные. Тогда связи распределены по биноминальному закону или в соответствии с используемым законом, и может получиться, что с одной из модальностей могут не установиться связи (или их будет недостаточно). А так как стимулы могут отличаться только одной из модальностей, то такие стимулы не смогут различаться перцептроном, что приведет к отсутствию сходимости при обучении.

Так как визуальное изображение имеет большую детализацию (64х32х8 = 16364*9 = 147456 бит), а необходимость в дифференциации регионов не столь велика (16 типов с некоторым числом модификаций каждого), то можно сократить число входных данных до 5600 бит (700х8), так чтобы захватывать частично с каждого участка. Использовать изображение только одного региона, например, центрального – нельзя, так как входящей информации будет недостаточно, и при внутренней обработке невозможно будет дифференцировать случаи, когда одинаков центральный участок, но различны прилегающие области. Таким образом, объем входной информации будет характеризоваться числом имеющихся внешних сенсорных элементов, а не всей доступной информацией. Число А - элементов находится в зависимости от общего числа стимулов, необходимых для запоминания (2484) и составляет, как правило, 60-80% от этого числа. В тестовой задаче обучение проводится в два этапа (1350+1134 стимулов) и тестируется на двух случаях с 1500 А - элементов (нижняя граница) и 2000 А - элементов (верхняя граница).

Благодаря рекуррентности сети в процессе ее работы образуется девять внутренних состояний, что определяется длиной последовательностей при определении типа территорий, суммировании количества одинаковых типов территорий и количества ресурсов на них. А на выход подается уже готовый комплекс информации. В дальнейшем такая информация позволит агенту выбирать направление при поиске оптимального места на карте местности.

Таким образом, рекуррентность используется для возможности внутренней обработки информации – восстановлении девяти запомненных ранее однотипных наборов информации о каждом участке. Точнее, за каждый такт может происходить не просто восстановление отдельно взятой информации об участке, а некая операция (например, суммирование), учитывающая предысторию анализа этих девяти участков. На внешних сенсорах (на сетчатке) присутствует один и тот же стимул, и благодаря внутренней девятитактной работе получается готовый результат.

В ходе эксперимента производилось наблюдение за 4 параметрами сети. На рисунках 4 и 5 изображены четыре кривые, которые показывают, как изменяются различные характеристики друг относительно друга в зависимости от количества итераций процесса обучения.

При этом по оси Х отложено число итераций, а по оси Y – число имеет различный смысл. Для кривой сходимости – это число ошибок на данной итерации; для кривой скорости обучения – это время, затраченное на моделирование (в секундах) до данной итерации; для кривой обучения классификаторов – это количество обученных классификаторов за время истёкших итераций; для кривой нарастания весовых коэффициентов – это общая сила связей (в тысячах) имеющаяся к данной итерации. А сравнение рисунков 4 и 5, позволяет понять отличие между разным количеством А - элементов.

Yak2 3

Рис. 4. Характеристики обучения рекуррентного перцептрона, при минимально необходимом (60% от общего числа стимулов) числе А – элементов

Yak2 5

Рис. 5. Характеристики обучения рекуррентного перцептрона, при практически достаточном (80% от общего числа стимулов) числе А – элементов

Следует отметить, что на графиках хорошо видны различия между первым и вторым этапом обучения (см. определение 9). На первом этапе запоминается половина информации. А в начале второго этапа обучения сеть забывает практически все, чему научилась на первом. На кривой сходимости этапам обучения соответствуют два скачка с последующей сходимостью до нуля. Но если бы информации на каждом этапе добавлялось не так много, то соответственно, и забывание было бы меньшим. Зато обучение с большим числом этапов потребовало бы большего времени. Поэтому информацию оптимально получать сразу некоторыми порциями, что аналогично наличию кратковременной памяти, которая затем сохраняется долговременно. Также можно заметить, что скорость обучения на первом этапе всегда больше, чем на втором. Это связано с тем, что на первом этапе еще много свободной памяти (число А - элементов вдвое больше необходимого количества) – отсюда и стремительное обучение.

Одна из кривых на графиках показывает число обученных классификаторов. Дело в том, что каждый классификатор обучается совершенно независимо (параллельно) от других. И когда один из классификаторов обучается, то есть его выход всегда соответствует требуемому значению на всех стимулах, то его можно исключить из процедуры обучения. Различные классификаторы обучаются за различное время, что определяется сложностью зависимости реакции от стимула. И чем большее число классификаторов обучено, тем меньшее время будет затрачено на последующую итерацию, что можно видеть на графике. Кривая скорости обучения (в секундах) зависит от числа обученных классификаторов в большей степени, чем от числа ошибок.

Также важна динамика общей силы связей между А и R элементами. Общая сила связей возрастает только вначале, а потом на долгом промежутке времени находится практически в стабильном состоянии, имея лишь незначительные колебания. Также можно отметить тот факт, что общая сила связей имеет отрицательный знак. Это значит, что число возбуждаемых связей в каждый момент времени мало, но по силе достаточно, чтобы преодолеть общий фон тормозящего воздействия, то есть в момент поступления стимула происходит резкий точечный всплеск активности. Именно поэтому такой способ обучения является стабильным. Если бы общая сила связей была положительной, то любой незначительный стимул приводил бы в активность большое число элементов, и было бы сложно в таких условиях дифференцировать различные стимулы.

ВЫВОДЫ Править

Предложен рекуррентный перцептрон RP-1, который способен образовывать внутренние состояния и благодаря им циклически обрабатывать сложные стимулы, разбивая обработку на последовательные части. Для такого рекуррентного перцептрона пригодно быстрое обучение с помощью алгоритма коррекции ошибки. В экспериментах показана возможность и адекватность применения такого рекуррентного перцептрона в задаче управления агентом. Но внимание сосредоточено не на решении самой задачи управления агентом и выяснению, где стоит размещать «город» для добычи ресурсов, а на динамике внутренних параметров сети во время обучения. Анализ этих параметров позволяет понять, какова скорость и возможность сходимости сети безотносительно к частным задачам. Это позволяет говорить, что предложенный рекуррентный перцептрон RP-1 можно применять в задачах с большой размерностью без существенного замедления скорости обучения.

СПИСОК ЛИТЕРАТУРЫ Править

  1. Розенблатт Ф. (1965). Принципы нейродинамики (Перцептроны и теория механизмов мозга), Москва, «Мир».
  2. Rumelhart D.E., Hinton G.E., Williams R.J. (1986). Learning internal reprentations by error propagation. Parallel distributed processing, Cambridge, MIT Press.
  3. Вассерман Ф. (1992). Нейрокомпьтерная техника: теория и практика, Москва, «Мир».
  4. Бонгард М.М. (1967) Проблема узнавания. – Москва, «Наука».
  5. Elman, J.L. (1990). Finding structure in time. Cognitive Science, 14, 179-211
  6. Jordan, M. I. (1986). Serial order: A parallel distributed processing approach. Institute for Cognitive Science Report 8604. University of California, San Diego
  7. Хайкин С. (2006). Нейронные сети: Полный курс. 2-е изд., Москва, «Вильямс», 1104 с.
  8. E.Kussul, T. Baidyk, L. Kasatkina, V. Lukovich (2001). Rosenblatt Perceptrons for Handwritten Digit Recognition, IEEE 0-7803-7044-9, 1516 – 1520 с.
  9. E.Kussul, T. Baidyk (2004). Improved method of handwritten digit recognition tested on MNIST database. Image and Vision Computing 22 (2004), 971–981 с.

См. также Править