Материал: Элементы искусственного интеллекта в робототехнике. Ефремов Д.А

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

4.5. Обучение нейронных сетей методом обратного распространения ошибки

Данный метод применяется для обучения сетей с учи­те­лем, если сеть представляет собой многослойную конструк­цию прямого распространения /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 .

В соответствии с приведенными выражениями алгоритм обучения сети реализуется в следующей последовательности:

  1. Сеть инициализируется заданием некоторых слу­чай­ных значений весам всех связей.

  2. Вычисляется значение выходов сети прямым распространением.

  3. Определяется значения N для нейронов выходного слоя.

  4. Вычисляются значения  и для слоя, находя­ще­гося перед выходным. Далее эта операция прово­дит­ся последовательно по всем слоям до входного включительно.

  5. Вычисляется новое значение выходов сети и опреде­ля­ется ошибка выходного слоя, после чего выполняется новая ите­рация по корректировке весов. Обучение про­во­дится до тех пор, пока значение ошибки не заста­би­ли­зи­ру­ется.

45

4.6. Обучение без учителя

Общий подход к этому методу обучения состоит в пред­по­ложении того, что для каждого предъявленного образца сеть сама должна сформировать набор весов связей, при котором об­раз­цу будет соответствовать конкретное выходное состоя­ние сети принимаемое за эталон.

Используются два подхода к модификации весов связей между нейронами, находящимися не в нулевом состоянии. При этом величина коррекции весов связей определяется как: . Функционирование сети выполняется по следующему алгоритму:

  1. Сеть инициализируется случайным набором весов;

  2. Вычисляются значения выходов всех нейронов;

  3. Определяется величина для связей между нейро­на­ми, выход которых 0;

  4. Определяются значения новых весов;

  5. Вычисляются новые значения состояния нейронов и проверяется, изменилось ли выходное состояние сети. Если изменилось, то выполняется новый цикл корректировки весов, если нет – обучение заканчивается.

При втором подходе величина корректировки весов опре­де­ляется из значений весов связей и выходных состояний ней­ро­нов, т. е. При использовании этого метода выполняется нормирование значения y делением отдельных составляющих на сумму квадратов всех составляющих.

4.7. Сети без обучения

Существуют некоторые разновидности сетей, которые могут выполнять поставленные задачи без обучения, а в силу конструктивного исполнения /4/.

Сеть Хопфилда

Для данной сети предъявляются образцы размерностью m (Рис.19). Коли­чество нейронов сети и число ее выходов равно размерности образца. Если набор входных сигналов несколько отличается от данных, описывающих образцы, то сеть

46

выполняет задачу восстановления данных, то есть если набор входных сигналов примерно соответствует некоторому образцу, то на выходах сети устанавливается набор данных, описывающих обра­зец. Для того, чтобы сеть правильно функционировала, перед началом распознавания выполняется инициализация весов по принципу:

= Σ если ij

0 если i=j

где k – номер образца.

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

x 1 y1

x 2 y2

.

.

x m ym

Рис. 19. Сеть Хопфилда

Сеть нормально функционирует, если входные сигналы принимают значение 1 и количество распознаваемых образ-

цов не превышает значения 0,15m, т. е. k0,15m.

47

Сеть Хэмминга

+1

x1 y1

. - .

. .

xk yk

. .

. .

xn yn

Р ис. 20. Сеть Хэмминга

С еть Хемминга для выделения классов входных приз­на­ков, т. е. она относит к определенному классу группу вход­ных воздействий несколько отличающихся по значениям (рис.20). Каж­дому классу соответствует единичное состояние одного вы­ход­ного нейрона. Такая возможность (классификация) дости­га­ется введением обратных связей всех нейронов выходного слоя между собой. Причем обратная связь каждого нейрона для самого себя положительна (+1), для всех остальных отри­цательна (-).

Перед началом работы сеть инициализируется. Инициа­ли­за­ция выполняется для входного слоя, выполняется по кон­кретным образцам. Для каждого нейрона входного слоя устанавливается порог и вес входа .

Для выходного слоя устанавливаются значения обратной свя­зи. После инициализации на вход сети подается неизвест­ный образец. В первом такте выполняется взвешивание предъя­в­ленного образца нейронами первого слоя. На втором такте работы выходной слой инициализируется выходами входного, т. е. на выходах сети устанавливаются значения, равные вы-

48

ходам первого слоя. Следующий такт – включение обратных связей. В результате на выходах сети появляются значения

, ik.

4.8. Нейронные сети с радиальными базисными функциями (вероятностные сети)

С С . . .

С П . . . . . . . . . . . . . . . .

ВС

Рис. 21. Нейронная сеть с радиальными базисными функциями

49

Вероятностные сети состоят их трех слоев: входного ВС, слоя примеров СП, суммирующего СС (рис.21).

Все нейроны ВС связаны со всеми нейронами СП (пока­за­но для нейрона 1 и К). В слое примера каждый нейрон со­от­вет­ствует одному примеру, т. е. набору входных значений. Ес­ли имеется набор примеров относящихся к одному классу, то выходы нейронов соответствующих примерам объединяются на одном нейроне суммирующего слоя СС. И таким образом выход этого нейрона является выходом соответствующим классу.

Алгоритм работы сети состоит в определении разности вход­ных значений и весов связей между нейронами входного слоя и слоя примеров. Для отдельного нейрона слоя примеров эта разность представляется в виде

При определении принадлежности примеров к классу ус­танавливается оценочная функция . Эта функция ис­поль­зуется как функция активации нейронов слоя примеров. Та­ким образом, для нейронов, характеризующих определенный класс при произвольном входном значении формируются на­бо­ры значений W, сумма которых есть вероятность отнесения входного набора к определенному классу.

Здесь m – количество нейронов слоя примера, которые характеризуют класс Ср.

Если функцию активации слоя примера заменить на по­ро­говую, то сеть с достаточно высокой достоверностью осу­ществляет классификацию входных признаков, если вели­чина неопределенности (погрешности) представления входных данных не превышает 5%.

50

4.9. Коллективы нейронных сетей

Источник: https://studfile.net/preview/16569049/