Россия, Москва |
Самоорганизация (самообучение) нейронных сетей
Алгоритмы обучения сетей с самоорганизацией
Целью обучения сети с самоорганизацией на основе конкуренции нейронов
считается такое упорядочение нейронов (подбор значений их весов), которое
минимизирует значение ожидаемого искажения, оцениваемого погрешностью
аппроксимации входного вектора значениями весов
нейрона-победителя. При
входных векторах
и применении евклидовой метрики
эта погрешность,
называемая также погрешностью квантования, может быть выражена в виде
![]() |
( 3) |
где - вес нейрона-победителя при предъявлении вектора
Этот подход также называется векторным квантованием (англ. Vector
Quantization - VQ) или кластеризацией. Номера нейронов-победителей
при
последовательном предъявлении векторов образуют так
называемую кодовую
таблицу. При классическом решении задачи кодирования применяется
алгоритм
-усреднений (англ. К-means), носящий имя обобщенного алгоритма Ллойда.
Для нейронных сетей аналогом алгоритма Ллойда считается алгоритм WTA
(англ.: Winner Takes All
- "победитель получает все"). В соответствии с
ним после предъявления вектора рассчитывается активность каждого
нейрона. Победителем признается нейрон с самым сильным выходным сигналом,
т.е. тот, для которого скалярное произведение
оказывается
наибольшим. В предыдущем разделе было показано, что при использовании
нормализованных векторов это равнозначно наименьшему эвклидову расстоянию
между входным вектором и вектором весов нейронов. Победитель получает
право уточнить свои веса в направлении вектора
согласно правилу

где - коэффициент обучения. Веса остальных нейронов
уточнению не
подлежат. Алгоритм позволяет учитывать усталость нейронов путем подсчета
количества побед каждого из них и поощрять элементы с наименьшей
активностью для выравнивания их шансов. Такая модификация применяется чаще
всего на начальной стадии обучения с последующим отключением после
активизации всех нейронов. Подобный способ обучения реализован в виде
режима 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*}](/sites/default/files/tex_cache/53ecf197df2dabbf6526dc106916f0dc.png)
для всех нейронов, расположенных в окрестности победителя. Если функция определяется в форме

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