d9e5a92d

Сети Хопфилда

Эта интерпретация подразумевает, что аттракторов должно быть больше одного.

Сети Хопфилда

Этот тип многоаттракторных сетей известен наиболее широко. В них каждый нейрон связан с каждым, а уравнения движения имеют вид
= /(]CW + ?і)- (2) 3
где хі значение переменной хі на следующем временном шаге. Важной особенностью сетей Хопфилда [49, 50] (в отличие от некоторых очень близки аналогов) является асинхронность эволюции: на каждом шаге по времени изменяется состояние только одного нейрона.

Заметим, что иногда термин " сеть Хопфилда" используется по отношению и к более широкому классу моделей с синхронной эволюцией или когда часть связей отсутствует.
В простейшем варианте сети нейроны являются "двоичными", т.е. Хі принимает только два значения, ±1, а / это ’’ступенька" f(u) = sign(u), ?і = 0.
Обучение сети осуществляется путём запоминания двоичных образов = ±1, в
соответствии с ’’правилом Хебба",
1 м
wa = 1^12 * Ф э, wa = О, (3)
І? к=1
г, j = 1,..., І?. Это означает, что W{j увеличиваются если и уменьшается в
противоположном случае.
Интересной особенностью сетей этого типа является существование функционала энергии или функции Ляпунова
N
Е = - ^2 WijXiXj.
і,3=1
Нетрудно показать, что на каждом шаге по времени Е не возрастает: если не меняется Хі, остаётся неизменным и Е. Если Хі меняется (хі = ж*), то АЕ 0. Поскольку Е ограничено снизу, эволюция должна закончиться в точке равновесия, где энергия достигает минимума.
Основным недостатком сетей этого типа является небольшой объём памяти. Если образы не выбраны специальным образом, так чтобы они были практически ортогональны, как правило, сеть способна правильно распознавать около 0.14І? образов.

Если попытаться запомнить большее количество, возникающие аттракторы перестают соответствовать запоминаемым образам. Было предложено несколько способов борьбы с ложными образами, см. например, [45, 37, 72, 66] (немонотонность /, введение в правило обучения обратной корреляционной матрицы образов, специальная десимметризация матрицы весов; лучший достигнутый результат методика Э. Гарднер [37], дающая запоминание до ~ 2N образов, правда, не вполне произвольных).

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

BSB (" Brain state in a box") "Мозг в ящике"

Несмотря на столь претенциозное название, эти сети не сложнее предыдущей. Для них (см. например [43, 45]) уравнения движения имеют вид
N
Хі = f(xi+P'ZWijxj),
3 = 1
а функция /(ж) = ж при х ? [1,1] и /(ж) = sgn^) = ±1 если ж ф [--1,1], матрица W должна быть положительно определённой. Как следует из уравнений, состояние системы всегда заключено в І?-мерный куб [1,1]^. Этот факт весьма существенен для работы модели.

Несложно показать, что вершины куба |ж*| = 1 будут устойчивыми притягивающими состояниями при условии Wu I Wij I [45]. Это условие гарантирует устойчивость вершин и заодно является достаточным для положительной определённости W. Однако для матриц, возникающих на практике, лишь некоторые из вершин оказываются устойчивы.

По этой причине модель В SB успешно использовалась в задачах классификации, когда каждому кластеру соответствовала одна из устойчивых вершин куба.
Матрицу W можно построить адаптивным образом по некоторой учебной выборке ж^ при помощи итерационного алгоритма
Wfc+1 = Wk + е(ж - Wkж)ж^т = Wk(l - ePXh) + еРХю
где Px = ххт проектор на направление вектора ж. Если эту процедуру повторять бесконечно долго для одного и того же вектора ж, она сойдётся к матрице Woo, для которой ж будет собственным вектором с собственным значением А = 1, WooX = ж. Если для векторов обучающей выборки можно выделить несколько наиболее важных направлений, эта процедура способна их найти, подобно анализу главных компонент. После получения матрицы W модель BSB делает результаты классификации видимой: устойчивые вершины отвечают кластерам для обучающей выборки и позволяют проводить классификацию последующих данных.

Самоорганизующиеся сети Кохонена (self-organizing maps, SOM)

Сети этого типа могут быть построены несколькими способами: как многоаттракторные сети, как сети с управляемым аттрактором, а если " разрешить" использование несколько необычной функции arg шах {жІ5 ж2,..., ждг}, (возвращающей не сам наибольший элемент ж*., а только его номер к), то и как сети-функции вообще без динамики. Из динамических реализаций проще оказывается многоаттракторный вариант, который мы и рассмотрим. Основное отличие этой сети от прочих динамических сетей состоит в том, что её обучение никак не влияет на её динамику.



Обучение связано лишь с предобработкой входных данных.
Сеть состоит из N нейронов с конкурентной динамикой: каждый активный нейрон пытается подавлять активность прочих нейронов, так что в конце концов только один нейрон, тот, у которого значение ж(0) было наибольшим, остаётся активным, ж^(оо) = 1, а все прочие а^(оо) = 0. Аттрактор состоит из вектора, включающего N 1 ноль и единственную единицу. Номер к победившего нейрона служит индикатором распознанного образа или кластера входных векторов. Конкретная форма уравнений движения не очень важна. Например, уравнения могут иметь вид Хі = ах{( 1 J2f=i XJ)- Динамика работает только как ’’проявитель" того, у которого нейрона входной сигнал больше.

В прикладных задачах динамику часто вообще опускают и заменяют выражением к = arg rriaxj Xj(0). Пример описанной выше сети с подробным анализом динамики можно найти, к примеру, в работе [10].
Все свойства к распознаванию и классификации у сетей данного типа коренятся в способе получения жфО) из входного сигнала X. Связи между нейронами не зависят от набора образов, которые должны распознаваться. Но кроме внутренних связей каждый нейрон Хі обладает п входными связами Wji, j = 1,... ,п, п = dimX, которые и используются при получении a?j(0). Например, так, жДО) = Я J2j(Xj Wji)2¦ Здесь удобно обозначить г-й столбец матрицы как вектор Wj, тогда жДО) = R \\Х Wj|[2.

Очевидно, что в таком случае победителем окажется нейрон, у которого wі ближе всего к X. Если все векторы wі нормированы, ||wj|| = 1, то а^(0) = R X2 11w*|[2 + 2 (X - Wj). Поскольку лишь последний член зависит от г, то можно просто положить жДО) = (X - Wj) с тем же самым результатом распознавания.

Последняя форма записи более ’’нейронна": нейрон получает сигналы Xj через связи с весом ищ.
Если сеть должна распознавать до N известных образов Х^\ можно просто положить wі = Jf W j Х^ . Сеть будет проверять, который из известных образов ближе всего к входному сигналу и ’’включать" соответствующий нейрон, устанавливая соответствующий х в 1. Если требуется не просто индикатор структуры, а ещё и сама структура, можно сгенерировать и гг-мерный выходной сигнал. Для этого необходимо каждый из нейронов
out
снабдить выходными связями wut и генерировать выходной сигнал сети Y = Ylf=i xiwi Так как только один из Хі отличен от нуля, скажем, х^. = 1, то выход всей сети окажется равным w?ut. Если требуется воспроизвести запомненный образ, как это было в сетях Хопфилда, следует просто положить wut = Wj = Jf W. Однако в данном случае свободы больше и можно положить выход равным произвольному вектору wut = . Такая
Облас
:ти
сеть будет осуществлять отображение X Y^ если к = arg тіщ притяжения для переменных Хі отвечают областям в пространстве входных сигналов X. Эти области иногда называют ячейками Вороного или Дирихле: если X принадлежит к-й ячейке, то ближайшим из Jf W к нему будет Х^ [59].
Самоогавизующиеся сети это фактически способ обучения подобной архитектуры разбивать входные данные на "самоорганизующиеся кластеры", то есть способ создания ячеек Дирихле с учетом структуры входных данных. Допустим, что у нас есть М образов JfW, которые необходимо разбить не более чем на N кластеров.

Очевидно, что входные веса wі необходимо выбирать в соответствии с данными. Делается это при помощи следующей итерационной процедуры. Векторы Jf W поочерёдно предъявляются сети.

После определения нейрона-победителя жд, его входные связи корректируются: Wk = Wk + 6 ^ArW Wkj. To есть w*. чуть-чуть сдвигается к Х^К После того, как данная
процедура повторяется порядка ~ 104 раз, веса W/,. обычно дают хороший набор кластеров для классификации входных образов [59, 45].
В такой простой версии алгоритма, соседние нейроны не обязательно соответствуют близким кластерам. Поэтому Кохонен предложил несложную процдуру для большего соответствия положений кластеров положениям нейронов.

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

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

Интересно, что если нейроны располагаются в виде одномерной решётки, а распределение кластеров входных данных имеет большую размерность, то одномерная структура векторов w пытается заполнять область более высокой размерности подобно первым шагам построения фрактальной кривой Пеано. Благодаря этому свойству сети Кохонена часто называют " топологическими сетями".
Технику организации кластеров в пространстве векторов иногда называют "векторным квантованием" (vector quantizing). Её приложения весьма многочисленны [59].

Наиболее впечатляющим среди них, видимо, является созданная Т. Кохоненом в середине 80-х годов печатающая машинка с автоматическим распознванием устной речи: сеть была обучена соответствию между звуками речи и буквами, которые следует печатать в ответ на эти звуки [60, 59].
Идея сетей Кохонена, дающих самоорганизующееся отображение вида вектор номер кластера, была обобщена Р. Хехт-Нильсеном на самоорганизующиеся отображения вида вектор вектор [47]. Сеть получила название "counterpropagation network". В ней, фактически, проводится кластеризация векторов, состоящих одновременно из образцов как входных, так и выходных сигналов, т.е. известных пар Получающееся ото
бражение X Y кусочно постоянно внутри каждой из ячеек Вороного-Дирихле, и для всех X внутри данной ячейки Y равно значению в центре соответствующей ячейки в Y -пространстве.
3.2.5 Синергетический компьютер и динамические системы с многими потенциальными ямами
Синергетический компьютер был предложен Г. Хакеном [42]. Он напоминает непрерывную версию сетей Хопфилда [50], однако с некоторыми изменениями. Для запоминания образов также используется матрица, сформированная по правилу Хебба.

Однако вместо сигмоидной функции, обеспечивающей ограниченность правых частей уравнений движения, для стабилизации образов используются полиномиальные члены высших порядков.
Другим способом построения динамической системы с неподвижными точками в нужных местах послужил специальный выбор потенциала градиентной системы вида U(х) = J2 Аі?(х. Xj), Подбирая параметры, можно решить проблему взаимной интерференции аттракторов.

Этот способ был предложен в начале 90-х, однако распространения не получил. Видимо, с одной стороны в нем совсем уже нет никаких нейронных аналогий, а кроме того он лишен мистического очарования сетей Хопфилда, где формирование аттракторов процесс далеко не очевидный.
Мы описали лишь некоторые, как нам казалось, наиболее важные типы многоаттракторных сетей. Хотя для их ’’классических" версий сложная динамика совершенно несущественна, ниже мы рассмотрим несколько попыток преодолеть с её помощью некоторые недостатки сетей, например, ложную память в сетях Хопфилда.

Сети с управлямым аттрактором

Простой пример

Рассмотрим уравнение
ж = ж + X.
Это градиентная система с потенциалом U(x) = ж2 Хх. Входные данные этот потенциал изменяют. Для любых начальных данных ж(0) конечное состояние ж(оо) = X. Следовательно, система осуществляет тождественное преобразование Y = X.
Разумеется, тем же путём можно реализовать и другие функции. Скажем, система ж = ж + tanh(XT) порождает сигмоидный выходной сигнал. Другой (и возможно более интересный) результат может быть достигнут при помощи системы
ах
ж --- X.
1 - ж2
Она порождает отображение
у
а + ?а2 + 4Х2 ’
то есть тоже почти сигмоидную функцию. Заметим, что при малых а эта функция близка к ступеньке Y = sign(XT), и может быть использована для целей классификации или распознавания, подобно случаю многоаттракторных сетей.
Следует, однако, заметить, что интерпретация ж(оо) как значения функции F(X) возможна только при условии, что при каждом X динамическая система имеет единственный аттрактор, который должен быть неподвижной точкой. В противном случае у F может оказаться несколько значений при одном и том же X или же предельное значение ж(оо) может не существовать. Обычно разработчики нейронных сетей стараются избегать подобных ситуаций и используют теоремы, гарантирующие существование устойчивой неподвижной точки, например, известную теорему Коэна-Гроссберга [39].

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

Другими известными примерами сетей с изменяемым аттрактором являются сети Гроссберга с адаптивным резонансом и модель обонятельной луковицы, предложенная В. Фриманом. Последняя демонстрирует сложную временную динамику и мы обсудим её в разделе 4.
3.3.2 Сети с адаптивным резонансом (ART adaptive resonance theory)
Подобно сетям Кохонена, базовая ART сеть получает на входе X и выдаёт на выходе индикатор соответствующего кластера. Некоторые обобщения приведены в работе [18].

Согласно этой работе, правильное функционирование сети ART требует довольно тщательной настройки. Поэтому приводимое обсуждение это только краткий обзор некоторых идей, лежащих в основе ART, а не рекомендация по построению таких сетей.
Нейроны в сети располагаются тремя слоями: входной слой, на котором сигнал X фиксирован, преобразованный входной слой Т\ (состояния его нейронов будем обозначать Хі) и выходной слой F2 (с элементами ijj). Поскольку как и в случае SOM, выход сети обозначает номер кластера, только одно из yj в конце концов должно остаться ненулевым.

Обработка информации в сети протекает по следующей схеме: X Т\ F2 выход.
В наиболее компактном и удобном виде уравнения движения приведены в [80]. Мы рассмотрим только вариант ART1, разработанный для классификации двоичных входных данных, когда компоненты X могут принимать только значения 0 или 1. Динамика на слое Fi описывается уравнениями
j~ = ^хі + (1 АцХі) + X) ~~ (Аи + Аізхі) X] f{yj)-
Первый член в правой части гарантирует, что в отсутствие входного сигнала х 0. Второй член обеспечивает ограниченность х при наличии входного сигнала. Сумма Хі +
Tijf(yj) приводит к тому, что х может существенно вырасти только если входной сигнал X соответствует образу, запомненному в матрице обратных (F2 Fi) связей Т т.н. " ожидаемый вход", отвечающий текущему состоянию слоя F2. Третий член позволяет подавить существующее состояние х когда отсутствует соответствие между входом и ожиданием. Функция / это сигмоида: f(x) = 0 при х 0, а при х 0 она растёт и стремится к 1.
У равнения для слоя F2 выглядят аналогично,
dt
Я'Ук) + Г3 кфз
Уз + (1 ^21 Уз)
2 2 + A23tjj)
Второй член в правой части, как и в сети Кохонена, возбуждает нейроны верхнего слоя в соответствии в матрицей прямых связей Bij плюс некоторое самовозбуждение, а третий член ограничивает активность нейронов и включает особый член сброса, о котором мы скажем ниже.
Динамика обучения для матриц В и Г довольно проста и напоминает случай сетей Кохонена:
Tltt = /fc) {!{xi) - Tii) - ys2 = /(ю) (і$йі ¦ Віі)'
где I F\ I активность слоя Fi (количество активных нейронов в слое). Согласно этим уравнениям, обучение происходит только для тех связей, которые идут к активному нейрону уу, а запоминается образ, возникающий в слое F\.

У равнения выражают хорошо известное правило Хебба.
Рассмотрим теперь как работает сеть. Входной образ X активирует слой Е\, а тот в свою очередь через матрицу связей В порождает некоторую структуру в слое F2j где один из tjj оказывается активирован. Образ, запомненный в матрице Г, отвечающий tjj = 1 порождает сигнал обратной связи для слоя Е\.

Если эти два сигнала соответствуют друг другу, сеть остаётся в этом состоянии и подстраивает к нему матрицы В и Г. Если же входной и обратный (ожидаемый) образы недостаточно близки, запускается механизм поиска. Прежде всего, активируются переменные сброса г,
(ІТ '
т^ = пу,)(отх\-\р1\)-г,).
Здесь ? так называемый ‘параметр бдительности’, который характеризует близость двух образов, a |Х| и |Е\| обозначают количество активных нейронов в слоях X и Е\. После активации Vj подавляет нейрон tjj в слое F2 (для лучшей работы сети он должен оставаться в этом состоянии до конца поиска).

Тогда влияние обратной связи временно исчезает, структура слоя восстанавливается и сеть начинает активировать другой нейрон в F2. Если его ожидаемый образ, записанный в Т также не соответствуе, он также подавляется и поиск продолжается до тех пор пока подходящий нейрон не будет найден. Это может оказаться и новый нейрон, для которого ожидаемый образ ещё не сформировался, тогда начнётся формирование нового кластера.

Или же все нейроны в слое F2 могут быть исчерпаны, тогда сеть неспособна классифицировать входной сигнал.
Соответствие образов в слоях и F2 С. Гроссберг назвал адаптивным резонансом. Мы описали его механизм лишь в самых общих чертах. Существует несколько вариантов таких сетей: ART1 для двоичных образов, ART2 для ’’аналоговых" сигналов, ART3, где слои Fi и F2 симметричны.

Кроме того каждый вариант включает несколько версий. Заметим, что правильное функционирование сети требует весьма тонкой настройки всех параметров, детальное описание можно найти в работах [19, 20, 21, 39, 18, 80].
Интересной особенностью сетей ART1 и ART2 является то, что их можно активировать с обеих сторон, то есть слой F2 в принципе можно сделать входным. Тогда два модуля ART2 можно объединить, так что первый получает входной сигнал и классифицирует его, а второй получает номер класса на свой слой F2 и генерирует аналоговый выходной сигнал на своём Е\. Такая комбинированная сеть получила название ARTMAP [22].

Подобно counterpropagation сети Хехт-Нильсена, такая конструкция даёт кусочно-постоянную аппроксимацию неизвестной векторной функции многих переменных.

Оптимизирующая сеть Хопфилда-Танка

Эта сеть была предложена в работе [51]. У равнения движения сети совпадают с уравнениями непрерывной версии сети Хопфилда [50], где f сигмоидная функция, w матрица связей, а іі порог срабатывания нейрона і. У равнения (4) описывают динамику скорейшего спуска х = ХЕ для некоторого функционала энергии E(f, w,I), а потому конечное состояние должно быть неподвижной точкой, отвечающей минимуму Е. Обучение сети заключается в построении матрицы w и сдвигов I специальным образом, чтобы поместить точку минимума в нужное место фазового пространства. Слабость метода состоит в том, что трудно гарантировать отсутствие ложных аттракторов.

Ниже в разделе 4 мы увидим, как хаос позволяет избегать ложных минимумов.
Для задачи коммивояжера Хопфилд и Танк предложили специальный вид функционала энергии, зависящего от расстояний между городами dxv ¦, которые следует посетить. Следовательно, мы приходим к общему виду задачи об управляемом аттракторе с параметрами dxv - Из-за ложных аттракторов решения, найденные сетью, могут не быть оптимальными, но, согласно [51], достаточно близки к ним.

Прочие сети

Существуют и другие сети с управляемым аттрактором. Например, в эту категорию попадает хорошо известная машина Больцмана, поскольку во время обучения часть её нейронов фиксируется и играет роль параметров, а не динамических переменных. Сюда же относится и модель обонятельной луковицы Фримана [35].

Некоторые сети этого типа мы рассмотрим в следующем разделе.

Сложная динамика как средство улучшения нейронных сетей

Искусственные нейронные сети зарекомендовали себя как универсальный инструмент в задачах аппроксимации, распознавания образов и т.п. Тем не менее, зачастую их применение связано с рядом трудностей.

Скажем, для сетей-функций проблемы возникают при попытке аппроксимации слишком сложных функциональных зависимостей: слишком простая сеть неспособна дать правильной аппроксимации, а слишком сложная начинает усиливать шум (с этой проблемой в её простейшем виде хорошо знаком каждый, кто сталкивался с задачей выбора степени полинома при полиномиальной аппроксимации одномерной зашумлённой функции). Этот эффект был назван "overfitting" ("переаппрокси-мация") и решение обычно ищется при помощи введения иерархических структур сети, получивших название модульных сетей и ансамблей сетей [82].
Для обычных динамических сетей, рассмотренных выше, типичными проблемами являются 1) ложная память, 2) слишком медленная сходимость к аттрактору и 3) неспособность воспроизводить реальную активность мозга.
Динамика в самом деле имеет определённый потенциал в области обработки информации. Например, очень интересная идея была предложена А.С.

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

Запись и обработка информации может осуществляться с спользова-нием фазы осцилляторов. Такие сети осцилляторов могут использовать принципы работы сетей Хопфилда [52] или иных типов сетей, например, [69, 48].
Идея того, что нейронная сеть может работать в хаотическом режиме также высказывалась в ряде работ. Хороший обзор основных направлений в этой области на начало 90-х годов приведён в [34, 93], и мы не будем повторять то, что уже было сказано.

Мы кратко скажем о некоторых моделях, отражающих основные направления в данной области. Потенциальная польза от хаоса вытекает из следующих его свойств [28, 40]:
1. Летальная неустойчивость. Она может быть полезна для устранения ложной памяти и избегания траекторий, ведущих в нежелательные области фазового пространства. Однако эти свойства хаоса могут быть полезны лишь в течение переходного периода, пока траектория не сойдётся к ’’истинному образу".

После этого динамика снова должна стать устойчивой.
2. Порождение информации. Это свойство хаоса выглядит наиболее привлекательно.



Содержание раздела