Многослойные нейронные сети
§ 4.4 Многослойные нейронные сети.
4.4.1 Сети обратного распространения
Сети обратного распространения получили свое название из-за используемого алгоритма обучения, в котором ошибка распространяется от выходного слоя к входному, то есть в направлении противоположном направления сигнала. Нейронная сеть обратного направления состоит из нескольких слоев нейронов, причем каждый нейрон предыдущего слоя связан с каждым нейроном последующего слоя. Рассмотрим двухслойную нейронную сеть.
Матрицу весовых коэффициентов, соединяющие слои , а
— входы и первый слой. Пусть сеть обучается на выборке
задача — минимизация функции ошибки, которая находиться по методу наименьших квадратов.
Обучение сети производиться известным оптимизационным методов градиентного спуска, то есть на каждой итерации изменение веса производиться по формулам:
В качестве активационной функции обычно используется сигмаидальная функция. Производная:
Рекомендуемые материалы
– значение выхода j – го нейрона первого слоя.
Алгоритм обучения сети обратного распространения:
Алгоритм обратного распространения ошибки опишем для многослойной сети, имеющей входной слой l=0.
Несколько промежуточных (скрытых слоев ) и выходной слой l = L.
l — нумерация слоев.
Будем считать, что каждый l слой содержит нейронов. Таким образом, нейронная сеть имеет:
количество входов:
выходов: .
Алгоритм 4.3
Исходные данные: обучающая выборка, то есть последовательность пар векторов для t=1,2,3..T, β — коэффициент скорости обучения, ε - параметр точности обучения,
-максимальное количество эпох.
Выход: размером
.
Шаг 0: Инициализация весовых коэффициентов.
Синаптическим весам датчиком случайных чисел присвоить малые величины из интервала (-1,1). t=1.
Шаг 1: Подать на вход сети обучающий вектор .
Шаг 2:Прямой ход
вычислить выходные сигналы j - ого нейрона в этом слое, следующим образом:
, где
- входные значения. И выходные сигналы сети:
Шаг 3: Обратный ход (коррекция весовых коэффициентов).
Вычислить
Здесь же в циклах:
Шаг 4.
4.4.3 Сети встречного распространения
Объединение разнотипных структур в один приводит к новым свойствам.
Нейронные сети встречного распространения - это гибридные сети, состоящие из входного слоя нейронов и слоев нейронов Кохенена и Гросберга. Эти сети по своим характеристикам существенно превосходят сети с однотипными нейронами (?).
Нейроны слоя Кохенна реализуют функцию порогового суммирования взвешенных входов, однако, в отличие от остальных слоев нейрон слоя Кохенна с максимальным значением взвешенной суммы на заданных входной вектор называется победителем, на его выходе формируется значение 1, а на выходах остальных - 0.
Слой Кохенна обучается без учителя на основе самоорганизации, т.е. самообучаемый слой. Число входов каждого нейрона этого слоя равно размерности вектора параметров объекта. А количество нейронов совпадает с требуемым числом классов на которые необходимое разбить объекты. Нейроны слоя Гросберга на выходе выдают величины весов , которые связывают с победителями нейронов Кохенана. В отличие от самообучающегося слоя Кохенена, слой Гросберга обучается с учителем.
Отличие от стандартной схемы обучения заключается в том, что подстройке подвергаются только те веса нейронов слоя Гросберга, которые соединены с ненулевым нейроном Кохенена.
Отличие сети встречного распространения заключается так же в особенностях функционирования. В соответствии с приведенной на рисунке структурой на вход сети подаются нормализованные единичные векторы u, y. А на выходе формируются их нормализованные аппроксимации с волнами. При обучении входные вектора подаются как на вход, так и на выход.
Реализуется свойства ассоциативной памяти, заключающееся в том, что предъявление на вход только вектора y или u при отсутствии другого приводит к порождению на выходе как , так и
.
4.4.4 Обучение сети встречного распространения.
Нормализованный вектор — вектор единичной длины.
Перед обучением сети предварительно проводят нормировку векторов обучающей выборки.
Если осуществить нормировку, а так же после каждого процесса осуществить нормировку каждого нейрона, то в качестве близости входных векторов и векторов нейронов можно рассматривать скалярное произведение между ними .
— строка матрицы W.
Наименьшим будет расстояние до того нейрона, у которого будет скалярное произведение с которым у входного вектора максимально.
Алгоритм 4.4
Входные данные: обучающая выборка :
- начальный коэффициент скорости обучения слоя К.
- коэффициент скорости обучения слоя Г.
Выход:
Шаг 0: Весовым коэффициентам присвоить малые случайные значений и произвести единичную нормировку матриц W,V по строкам. t=1.
Шаг 1: Для вектора x^t вычислить скалярные произведения
Информация в лекции "5. Электронные информационные ресурсы" поможет Вам.
Шаг 2: Выбрать нейрон k 1<= k <= n с наибольшим скалярным произведением .
Шаг 3: установить выход , выходы всех остальным нейронов слоя Кохенена = 0
Шаг 4:
Шаг5:Подать выходной вектор слоя Кохеннан на слой Гросберга и скорректировать веса по формуле:
Шаг 6: Уменьшить значения и
, и изменить
.