1.2.4. Сеть встречного распространения
В режиме функционирования сети предъявляется входной сигнал X и формируется выходной сигнал Y. В режиме обучения на вход сети подается входной сигнал, и веса корректируются, чтобы сеть выдавала требуемый выходной сигнал.
Функционирование сети: (Слой Кохонена)
В своей простейшей форме слой Кохонена функционирует по правилу
"победитель получает все".
Для данного входного вектора один и толькоодин нейрон Кохонена выдает логическую единицу, все остальные выдают
ноль. Выход каждого нейрона Кохонена является просто суммой
взвешенных элементов входных сигналов:
NETj=Јj Wj Хр где NET) - выходу-го нейрона Кохонена,
Wj=(wlj,w2j,...wirij) - вектор весову'-го нейрона Кохонена,
Х=(х1,х2,...хт) - вектор входного сигнала,
или в векторно-матричной форме:
N=X*W, где N- вектор выходов NET слоя Кохонена.
Нейрон Кохонена с максимальным значением NET является "победителем".
Его выход равен единице, у остальных он равен нулю.
Слой Гроссберга функционирует в сходной манере. Его выход NET
является взвешенной суммой выходов слоя Кохонена.
Если слой Кохонена функционирует таким образом, что лишь один выход
равен единице, а остальные равны нулю, то каждый нейрон слоя
Гроссберга выдает величину веса, который связывает этот нейрон с
единственным нейроном Кохонена, чей выход отличен от нуля.
Предварительная обработка входных сигналов.
Нормализация (предварительная обработка) входных векторов выполняется путем деления каждой компоненты входного вектора на длину вектора
(квадратный корень из суммы квадратов компонент вектора). Это превращает входной вектор в единичный вектор с тем же направлением, т.е. в вектор единичной длины в «-мерном пространстве. Слой Кохонена классифицирует входные векторы в группы схожих. Это достигается с помощью такой подстройки весов слоя Кохонена, что близкие входные векторы активируют один и тот же нейрон данного слоя. Затем задачей слоя Гроссберга является получение требуемых выходов. Слой Кохонена обучается без учителя (самообучается). В результате обучения слой приобретает способность разделять несхожие входные векторы. Какой именно нейрон будет активироваться при предъявлении конкретного входного сигнала, заранее трудно предсказать. При обучении слоя Кохонена на вход подается входной вектор и вычисляются его скалярные произведения с векторами весов всех нейронов.
Скалярное произведение является мерой сходства между входным вектором и вектором весов. Нейрон с максимальным значением скалярного произведения объявляется "победителем" и его веса подстраиваются (весовой вектор приближается к входному). Уравнение, описывающее процесс обучения, имеет вид: wn=w0+a(x-w0), где w„ - новое значение веса, соединяющего входную компоненту х с выигравшим нейроном, w0 - предыдущее значение этого веса, а - коэффициент скорости обучения.Каждый вес, связанный с выигравшим нейроном Кохонена, изменяется пропорционально разности между его величиной и величиной входа, к которому он присоединен. Направление изменения минимизирует разность между весом и соответствующим элементом входного сигнала. Переменная а является коэффициентом скорости обучения, который вначале обычно равен 0.7 и может постепенно уменьшаться в процессе обучения. Это позволяет делать большие начальные шаги для быстрого грубого обучения и меньшие шаги при подходе к окончательной величине. Если бы с каждым нейроном Кохонена ассоциировался один входной вектор, то слой Кохонена мог бы быть обучен с помощью одного вычисления на вес (а-1). Как правило, обучающее множество включает много сходных между собой входных векторов, и сеть должна быть обучена активировать один и тот же нейрон Кохонена для каждого из них. Веса этого нейрона должны получаться усреднением входных векторов, которые должны его активировать.
Выходы слоя Кохонена подаются на входы нейронов слоя Гроссберга. Выходы нейронов вычисляются как при обычном функционировании. Далее каждый вес корректируется лишь в том случае, если он соединен с нейроном Кохонена, имеющим ненулевой выход. Величина коррекции веса; пропорциональна разности между весом и требуемым выходом нейрона Гроссберга..
Обучение слоя Гроссберга - это обучение с учителем, алгоритм использует заданные желаемые выходы.
В полной модели сети встречного распространения имеется возможность получать выходные сигналы по входным и наоборот. Этим двум действиям соответствуют прямое и обратное распространение сигналов.
Области применения: распознавание образов, восстановление образов (ассоциативная память), сжатие данных (с потерями). Сеть не дает возможности строить точные аппроксимации (точные отображения). В этом сеть значительно уступает сетям с обратным распространением ошибки. К недостаткам модели также следует отнести слабую теоретическую проработку модификаций сети встречного распространения.Сеть встречного распространения проста. Она дает возможность извлекать статистические свойства из множеств входных сигналов. Кохоненом показано, что для полностью обученной сети вероятность того, что случайно выбранный входной вектор (в соответствии с функцией плотности вероятности входного множества) будет ближайшим к любому заданному весовому вектору, равна 1/к, к - число нейронов Кохонена. Сеть быстро обучается. Время обучения по сравнению с обратным распространением может быть в 100 раз меньше. По своим возможностям строить отображения сеть встречного распространения значительно превосходит однослойные персептроны. Сеть полезна для приложений, в которых требуется быстрая начальная аппроксимация. Сеть дает возможность строить функцию и обратную к ней, что находит применение при решении практических задач. Сети встречного распространения могут различаться способами определения начальных значений синаптических весов. Так, кроме традиционных случайных значений из заданного диапазона, могут быть использованы значения в соответствии с методом выпуклой комбинации. Для повышения эффективности обучения применяется добавление шума к входным векторам.
Еще один метод повышения эффективности обучения - наделение каждого нейрона "чувством справедливости". Если нейрон становится победителем чаще, чем 1/к (к - число нейронов Кохонена), то ему временно увеличивают порог, давая тем самым обучаться и другим нейронам. Кроме "метода аккредитации", при котором для каждого входного вектора активируется лишь один нейрон Кохонена, может быть использован "метод интерполяции", при использовании которого целая группа нейронов Кохонена, имеющих наибольшие выходы, может передавать свои выходные сигналы в слой Гроссберга. Этот метод повышает точность отображений, реализуемых сетью.
Источники: [3], [105], [106].