Новосибирский Государственный Университет
Опубликован: 13.09.2006 | Доступ: свободный | Студентов: 2204 / 519 | Оценка: 4.52 / 4.28 | Длительность: 12:23:00
ISBN: 978-5-9556-0063-5
Специальности: Программист
Лекция 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). Для дальнейшего изучения выберем классический алгоритм Кохонена.