3.7. Самоорганизующиеся НС. Алгоритм обучения Кохонена.

3.7.1. Обучение на основе совпадений. Закон обучения Хебба.

В 1949г. канадский психолог Д.Хебб опубликовал книгу “Организация поведения” (D.Hebb “Organizational Behaviour”), в которой он постулировал правдоподобный механизм обучения на клеточном уровне в мозге.

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

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

Закон обучения Хебба принадлежит к классу законов обучения по соревнованию.

Линейные ассоциативные элементы.

На рис.1 представлена архитектура нейронной сети (НС), состоящая из нейронов, которые называются “линейными ассоциаторами”.

Рис. 1

Входной вектор в линейном ассоциаторе – это вектор , который выбирается из пространства в соответствии с некоторым распределением .

Выходной вектор получается из входного Х по следующей формуле:

,(1)

где - матрица весов ; , - столбцы матрицы W,

- вектор весов.

Обозначим через - желаемый выход. Основная идея линейной ассоциативной НС состоит в том, что сеть должна обучаться на парах вход-выход:

.

Когда на вход НС подается входной сигнал , то желаемый должен быть равен . Если на вход сети подан вектор (где - достаточно малое), то выход должен быть равен (т.е. на выходе должны получить вектор, близкий к ).

Закон обучения Хебба выглядит следующим образом:

, (2)

где - это i-я компонента вектора ; - j-я компонента вектора .

В векторном виде выражение (2) запишется таким образом:

. (3)

Чтобы реализовать этот закон обучения в процессе обучения вводятся соответствующие компоненты , которые показаны пунктирными линиями (стрелками) на рис.1.

Предполагается, что прежде, чем начать обучение, все . Тогда в результате показа обучающей выборки конечное состояние матрицы W задается так:

. (4)

Это уравнение (4) называют “формулой суммы внешнего произведения” для W. Это название происходит из того факта, что - это внешнее произведение.

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

Первое заключение состоит в том, что если вектора ортогональны и имеют единичную длину, т.е. являются ортонормированными, то тогда

. (5)

Другими словами, линейная ассоциативная НС будет желаемое преобразование вход-выход.

Это следствие свойства ортонормированности

(6)

Тогда

. (7)

Но проблема состоит в том, что условие ортонормированности очень жесткое (прежде всего необходимо, чтобы ).

Далее мы ограничены требованием, что . Было бы гораздо полезнее, если бы удалось снять это ограничение. Эта цель может быть достигнута, но не в линейной ассоциативной НС. Здесь, если вектора не являются ортонормированными, то появляется ошибка воспроизведение на выходе:

. (8)

Желательно добиться того, чтобы было минимально. Для того, что бы обеспечить или , необходимо перейти к нелинейной ассоциативной сети с нелинейными элементами.

3.7.2. Соревновательное обучение.

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

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

Соревновательное обучение известно как “обучение Кохонена”. Обучение Кохонена существенно отличается от обучения по Хеббу или по алгоритму ВР тем, что в нем используется принцип самоорганизации (в противовес принципу контролируемого обучения с учителем).

Соревновательный закон обучения имеет длинную и сложную историю. В конце 60-х – начале 70-х г.г. Стефан Гроссберг (Stephen Grossberg) предложил целое множество соревновательных схем обучения НС. Другим исследователь, который занимался проблемами соревновательного обучения был фон дер Мальсбург (van der Malsburg). Закон обучения фон дер Мальсбурга был основан на идее, что сумма весов, связанных со входами для различных обрабатывающих нейронов единственного входного элемента должна оставаться постоянной в процессе обучения, т.е. если один из весов (или несколько) увеличивается, то остальные должны уменьшиться.

После значительных исследований и изучения работ Гроссберга, фон дер Мальсбурга и других Тойво Кохонен пришел к заключению, что главная цель соревновательного обучения должна состоять в конструировании набора векторов, которые образуют множество равновероятных представителей из некоторой фиксированной функции плотности распределения входных векторов.

И хотя законы обучения этого типа были независимо получены многими исследователями, именно Т.Кохонен был первым, кто обратил внимание на вопрос о равновероятности. Именно благодаря этой идее и всемирному распространению книги Т.Кохонена “Самоорганизация и ассоциативная память” (“Self-Organization and Associative Memory”), его имя стало связываться с данным законом обучения.

3.7.3. Закон обучения Кохонена.

Рис.2

На рис.2 приведена базовая структура слоя Кохонена. Слой состоит из N обрабатывающих элементов, каждый из которых получает n входных сигналов из нижестоящего слоя, который является прямым передатчиком сигналов. Входу и связи (i,j) припишем вес .

Каждый обрабатывающий элемент слоя Кохонена подсчитывает свою входную интенсивность в соответствии в формулой:

, (9)

где и ; - некоторая мера (метрика) расстояния между и Х.

Выделим два наиболее общих вида функции :

1) Эвклидово расстояние: ;

2) Сферическое дуговое расстояние: , (10)

где - скалярное произведение, причем предполагается, что .

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

В этот момент и происходит обучение по Кохонену.

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

В этот момент происходит изменение весов в соответствии с законом обучения Кохонена:

, (11)

где .

Данный закон можно переписать в следующем виде:

. (12)

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

Далее следует отметить сходство обучения по Кохонену и статистического процесса нахождения “k-средних”

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

(13)

где - вектор , ближайший к .

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

3.7.4. Оценка плотности распределения вероятностей.

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

Существует несколько подходов для решения проблем, возникающих при реализации базового законаобучения Кохонена.

  1. Первый подход называется Radial Sprouting (“радиальные побеги”). Он является наилучшим для эвклидовой и аналогичных ей метрик (расстояний). Все весовые вектора первоначально полагают . Все входные вектора Х сначало умножаются на некоторый малый положительный скаляр . Процесс начинается с , близкого к 0. Это обеспечивает близость входных векторов Х к векторам . По мере развития процесса медленно увеличивается, пока не достигнет значения . Как только это происходит, весовые вектора “выталкиваются” из своих начальных значений и следуют за входными векторами. Эта схема работает довольно хорошо, но обычно несколько весовых векторов будут отставать от процесса и в итоге окажутся не задействоваными, что замедляет процесс обучения.
  2. Другой подход (подход ”добавления шума”) состоит в том, чтобы добавить равномерно распределенный шум к векторам данных Х, что облегчает эффект достижения во всей области . Уровень (мощность) шума сначала выбирают достаточно большим, чтобы вектора шума были много больше, чем вектора данных Х. Но по мере развития процесса обучения уровень шума постепенно снижается. Этот подход работает правильно, но он оказывается еще медленнее, чем подход ”Radial Sprouting”. Поэтому подходы ”Radial Sprouting” и ”добавления шума” решают проблему представления плохо представимых законов с малой вероятностью распределения, но они не решают проблемы равновероятного позиционирования векторов .

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

  3. Идея, которая была предложена Duane Desieno, - это встроить “сознание” (или память) в каждый элемент k, чтобы осуществить мониторинг (контроль) за историей успешных результатов (побед) каждого нейроэлемента. Если обрабатывающий элемент Кохонена выигрывает соревнование существенно чаще, чем
раз (времени), тогда его “сознание” исключает этот элемент из соревнования на некоторое время, тем самым давая возможность элементам из перенасыщенной области перемещаться в соседние ненасыщенные области. Такой подход часто работает очень хорошо и в состоянии породить удивительно хороший набор равновероятных весовых векторов.

(14)

, (15)

. (16)

3.7.5. Развитие алгоритма Кохонена.

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

Модифицированное правило соревновательного обучения Кохонена учитывает расстояние нейронов от нейрона-победителя

, (17)

где -функция соседства равна 1 для нейрона-победителя с индексом , и постепенно убывает по мере увеличения расстояния d, например, по закону

.

Как темп обучения , так и радиус взаимодействия R постепенно уменьшается в процессе обучения, так что на конечной стадии обучения мы возвращаемся к базовому закону адаптации весов только нейронов-победителей .

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

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

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

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

Рис.3

На рисунке 3 стрелкой показана область нарушения непрерывности отображения: близкие на плоскости точки отображаются на противоположные концы карты.

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

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

  1. либо понизить размерность, выделив значимые признаки;
  2. либо произвести квантование данных.

Рассмотрим обычный алгоритм обучения Кохонена

, (18)

где - выход i-го нейрона предыдущего слоя;

.

При использовании обучения по алгоритму Кохонена существует практика нормализации входных образов:

, (19)

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

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

(20)

где - коэффициент, изменяющийся в процессе обучения от нуля до единицы.

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

Весовые коэффициенты на шаге инициализации устанавливаются равными , где n – размерность вектора весов для нейронов инициализирующего слоя.

На основе рассмотренного метода строятся Н-сети особого типа - так называемые “самоорганизующиеся карты признаков” (self-organizing feature maps), см. рис.4. Для них после выбора из слоя n нейрона j с минимальным расстоянием обучается по формуле (18) не только этот нейрон, но и его ближайшие соседи, расположенные в окрестности радиуса R. Величина R на первых итерациях очень большая, так что обучаются сначала все нейроны, но с течением времени R уменьшается до 0. Таким образом, чем ближе конец обучения, тем точнее определяется группа нейронов, отвечающих каждому классу образов.