Опубликован: 13.09.2006 | Уровень: специалист | Доступ: платный | ВУЗ: Новосибирский Государственный Университет
Лекция 13:

Самоорганизация (самообучение) нейронных сетей

Алгоритмы обучения сетей с самоорганизацией

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

\begin{equation}
 E = (1/p)\sum_{i=1}^p \|x^i - w_{win}\|^2,
\end{equation} ( 3)

где w_{win} - вес нейрона-победителя при предъявлении вектора x^i.

Этот подход также называется векторным квантованием (англ. Vector Quantization - VQ) или кластеризацией. Номера нейронов-победителей при последовательном предъявлении векторов x^i образуют так называемую кодовую таблицу. При классическом решении задачи кодирования применяется алгоритм K -усреднений (англ. К-means), носящий имя обобщенного алгоритма Ллойда.

Для нейронных сетей аналогом алгоритма Ллойда считается алгоритм WTA (англ.: Winner Takes All - "победитель получает все"). В соответствии с ним после предъявления вектора x рассчитывается активность каждого нейрона. Победителем признается нейрон с самым сильным выходным сигналом, т.е. тот, для которого скалярное произведение (x,w) оказывается наибольшим. В предыдущем разделе было показано, что при использовании нормализованных векторов это равнозначно наименьшему эвклидову расстоянию между входным вектором и вектором весов нейронов. Победитель получает право уточнить свои веса в направлении вектора x согласно правилу

\begin{align*}
w_{win} \longleftarrow w_{win} + \alpha (x - w_{win}),
\end{align*}

где \alpha - коэффициент обучения. Веса остальных нейронов уточнению не подлежат. Алгоритм позволяет учитывать усталость нейронов путем подсчета количества побед каждого из них и поощрять элементы с наименьшей активностью для выравнивания их шансов. Такая модификация применяется чаще всего на начальной стадии обучения с последующим отключением после активизации всех нейронов. Подобный способ обучения реализован в виде режима CWTA (Conscience Winner Takes All) и считается одним из лучших и наиболее быстрых алгоритмов самоорганизации.

Помимо алгоритмов WTA, в которых в каждой итерации может обучаться только один нейрон, для обучения сетей с самоорганизацией широко применяются алгоритмы типа WTM (англ.: Winner Takes Most - "победитель получает больше"), в которых, кроме победителя, уточняют значения своих весов и нейроны из его ближайшего окружения. При этом, чем дальше какой-либо нейрон находится от победителя, тем меньше изменяются его веса. Процесс уточнения вектора весов может быть определен обобщенной зависимостью, которая здесь представляется в виде

\begin{align*}
w_i \longleftarrow w_i + \alpha G(i,x)[x - w_i]
\end{align*}

для всех нейронов, расположенных в окрестности победителя. Если функция G(i,x) определяется в форме

\begin{align*}
G(i,x) = \{1 \mbox{ для } i=I, 0 \mbox{ для } i \neq I \},
\end{align*}

где I обозначает номер победителя, то мы получаем классический алгоритм WTA. Существует множество вариантов алгоритма WTM, отличающихся прежде всего формой функции G(i,x). Для дальнейшего изучения выберем классический алгоритм Кохонена.

Ирина Ткаченко
Ирина Ткаченко
Россия, Москва
Николай Ткаченко
Николай Ткаченко
Россия