Данный метод применяется для обучения сетей с учителем, если сеть представляет собой многослойную конструкцию прямого распространения /3/.
На рис.19 изображен фрагмент нейронной сети, взятой из произвольной ее области. Выходы нейронов слоя (n-1) – yi. Веса связей слоя (n-1) с слоем n Wij. Для слоя n выходы обозначаются yj, веса связей со слоем n+1 Wjk и т. д. для всех последующих слоев.
n-1 n n+1
Wij
1 Wjk
1
i yi yj yk
j . k . .
. . .
. . .
m p
Рис. 19. Обучение сети методом обратного распространения ошибки
Обучение сети осуществляется по образцам. Для каждого образца устанавливается определенное выходное состояние сети (эталон). Эталонный образец характеризуется набором значений состояний de выходного слоя N.
43
Обучение сети состоит в минимизации ошибки выходного слоя. В качестве ошибки обычно используется среднеквадратическая оценка. В этом случае функция ошибки имеет вид:
(1)
Задача обучения сети – подбор таких значений весов связей, при которых ошибка Е минимальна. Для этого условия величина корректировки отдельного веса представляется как:
(2)
где α – коэффициент скорости обучения.
Преобразуем значение производной:
(3)
Представим
производную ошибки
через состояние нейронов слоя n+1:
(4)
Введем обозначение:
С использованием этого обозначения можем записать:
(5)
44
Записанное выражение
получается из выражения (4), если его
правую и левую часть умножить на
.
Тогда в левой части получается выражение
для приведенной погрешности
нейрона j слоя n.
В правой части получается сумма
произведений приведенной погрешности
нейронов k
слоя (n+1), умноженную на
производную функции активации нейрона
j по S.
В итоге выражение (2) приводится к виду:
(6)
Для выходного слоя выражение будет иметь вид:
(7)
Это выражение получается прямым дифференцированием выражения (1) для ошибки E .
В соответствии с приведенными выражениями алгоритм обучения сети реализуется в следующей последовательности:
Сеть инициализируется заданием некоторых случайных значений весам всех связей.
Вычисляется значение выходов сети прямым распространением.
Определяется значения N для нейронов выходного слоя.
Вычисляются
значения и
для слоя, находящегося перед
выходным. Далее эта операция проводится
последовательно по всем слоям до
входного включительно.
Вычисляется новое значение выходов сети и определяется ошибка выходного слоя, после чего выполняется новая итерация по корректировке весов. Обучение проводится до тех пор, пока значение ошибки не застабилизируется.
45
Общий подход к этому методу обучения состоит в предположении того, что для каждого предъявленного образца сеть сама должна сформировать набор весов связей, при котором образцу будет соответствовать конкретное выходное состояние сети принимаемое за эталон.
Используются два
подхода к модификации весов связей
между нейронами, находящимися не в
нулевом состоянии. При этом величина
коррекции весов связей определяется
как:
.
Функционирование сети выполняется по
следующему алгоритму:
Сеть инициализируется случайным набором весов;
Вычисляются значения выходов всех нейронов;
Определяется величина для связей между нейронами, выход которых 0;
Определяются значения новых весов;
Вычисляются новые значения состояния нейронов и проверяется, изменилось ли выходное состояние сети. Если изменилось, то выполняется новый цикл корректировки весов, если нет – обучение заканчивается.
При втором подходе
величина корректировки весов определяется
из значений весов связей и выходных
состояний нейронов, т. е.
При использовании этого метода выполняется
нормирование значения y
делением отдельных составляющих на
сумму квадратов всех составляющих.
Существуют некоторые разновидности сетей, которые могут выполнять поставленные задачи без обучения, а в силу конструктивного исполнения /4/.
Сеть Хопфилда
Для данной сети предъявляются образцы размерностью m (Рис.19). Количество нейронов сети и число ее выходов равно размерности образца. Если набор входных сигналов несколько отличается от данных, описывающих образцы, то сеть
46
выполняет задачу восстановления данных, то есть если набор входных сигналов примерно соответствует некоторому образцу, то на выходах сети устанавливается набор данных, описывающих образец. Для того, чтобы сеть правильно функционировала, перед началом распознавания выполняется инициализация весов по принципу:
=
Σ
если
ij
0 если i=j
где k – номер образца.
После инициализации сети подается неизвестный образец, и его значениями инициализируются выходы сети. Далее определяются выходы сети с учетом обратных связей. При каждой такой итерации сеть смещается в сторону образца, максимально совпадающего с входным.
x
1
y1
x 2 y2
.
.
x m ym
Рис. 19. Сеть Хопфилда
Сеть нормально функционирует, если входные сигналы принимают значение 1 и количество распознаваемых образ-
цов не превышает значения 0,15m, т. е. k0,15m.
47
Сеть Хэмминга
+1
x1
y1
. - .
. .
xk
yk
. .
.
.
xn yn
Р ис. 20. Сеть Хэмминга
С еть Хемминга для выделения классов входных признаков, т. е. она относит к определенному классу группу входных воздействий несколько отличающихся по значениям (рис.20). Каждому классу соответствует единичное состояние одного выходного нейрона. Такая возможность (классификация) достигается введением обратных связей всех нейронов выходного слоя между собой. Причем обратная связь каждого нейрона для самого себя положительна (+1), для всех остальных отрицательна (-).
Перед началом
работы сеть инициализируется.
Инициализация выполняется для
входного слоя, выполняется по конкретным
образцам. Для каждого нейрона входного
слоя устанавливается порог
и вес входа
.
Для выходного слоя устанавливаются значения обратной связи. После инициализации на вход сети подается неизвестный образец. В первом такте выполняется взвешивание предъявленного образца нейронами первого слоя. На втором такте работы выходной слой инициализируется выходами входного, т. е. на выходах сети устанавливаются значения, равные вы-
48
ходам первого слоя. Следующий такт – включение обратных связей. В результате на выходах сети появляются значения
, ik.
С
С
. . .
С
П
. . . . . . . . . . . . . . . .
ВС
Рис. 21. Нейронная сеть с радиальными базисными функциями
49
Вероятностные сети состоят их трех слоев: входного ВС, слоя примеров СП, суммирующего СС (рис.21).
Все нейроны ВС связаны со всеми нейронами СП (показано для нейрона 1 и К). В слое примера каждый нейрон соответствует одному примеру, т. е. набору входных значений. Если имеется набор примеров относящихся к одному классу, то выходы нейронов соответствующих примерам объединяются на одном нейроне суммирующего слоя СС. И таким образом выход этого нейрона является выходом соответствующим классу.
Алгоритм работы
сети состоит в определении разности
входных значений и весов связей между
нейронами входного слоя и слоя примеров.
Для отдельного нейрона слоя примеров
эта разность представляется в виде
При определении
принадлежности примеров к классу
устанавливается оценочная функция
.
Эта функция используется как
функция активации нейронов слоя примеров.
Таким образом, для нейронов,
характеризующих определенный класс
при произвольном входном значении
формируются наборы значений W,
сумма которых есть вероятность отнесения
входного набора к определенному классу.
Здесь m – количество нейронов слоя примера, которые характеризуют класс Ср.
Если функцию активации слоя примера заменить на пороговую, то сеть с достаточно высокой достоверностью осуществляет классификацию входных признаков, если величина неопределенности (погрешности) представления входных данных не превышает 5%.
50