Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_IAD.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
574.08 Кб
Скачать

7)Дельта-обучающее правило нс (нелинейная функция активации)

С целью расширения круга задач, решаемых перцептроном, Уидроу и Хоффом была предложена сигмоидальная функция активации для нейронов. Это позволило перцептрону оперировать с непрерывными сигналами, но потребовало модификации алгоритма обучения. Модифицированный алгоритм направлен на минимизацию функции среднеквадратичной ошибки:

Эта функция определяется матрицей весовых коэффициентов wij. Здесь i — номер нейрона, а j — номер входа. Поверхность, описываемая этой функцией имеет форму псевдопараболоида[6]. Задачей обучения является нахождение глобального минимума этой поверхности. Одним из способов нахождения минимума является метод градиентного спуска. Корректировка весов производится в направлении антиградиента поверхности:

Здесь η — коэффициент скорости обучения.

Функция ошибки является сложной и зависит в первую очередь от выходных сигналов перцептрона. В соответствии с правилами дифференцирования сложных функций:

(*)

Выходной сигнал yi каждого нейрона определяется по формуле:

Здесь m — число входов перцептрона, xj — сигнал на j-ом входе, а — функция активации. Тогда получим:

(**)

Продифференцировав функцию ошибки по значению выходного сигнала получим:

(***)

Подставив формулы (**) и (***) в выражение (*) получим выражение для корректировки веса j-го входа у i-го нейрона при любой активационной функции:

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

8)Нс – обучение с учителем (метод обратного распространения ошибки)

В 70-х годах Вербос разработал подходящий алгоритм корректировки весов, но только Румелхарт и др. смогли дать новый толчок развитию нейронных сетей. Правило корректировки весов, о котором идет речь, называется алгоритмом обратного распространения ошибок. В дальнейшем будем рассматривать полносвязную сеть с прямой связью, т.е. сеть, в которой сигналы активности передаются только в направлении от входного слоя к выходному, а элементы одного слоя соединены со всеми элементами следующего слоя.

Алгоритм обратного распространения определяет два потока в сети: прямой поток от входного слоя к выходному и обратный поток — от выходного слоя к входному. Прямой поток продвигает входные векторы через сеть, в результате чего в выходном слое получаются выходные значения сети. Обратный поток подобен прямому, но он продвигает назад по сети значения ошибок, в результате чего определяются величины, в соответствии с которыми следует корректировать весовые коэффициенты в процессе обучения. В обратном потоке значения проходят по взвешенным связям в направлении, обратном направлению прямого потока.

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

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

Перед началом обучения весовые коэффициенты устанавливаются равными малым случайным значениям — например, значениям из диапазона от –0.3 до 0.3

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

Процедура обучения по правилу обратного распространения ошибок выглядит

следующим образом:

1. Прочитать первый входной образец и соответствующий ему выходной образец CONVERGE=TRUE

2. Для входного слоя установить совокупный вход каждого элемента равным соответствующему элементу входного вектора. Значение вывода каждого элемента установить равным вводу

3. Для элементов первого слоя установить совокупный ввод и вывод Повторить шаг 3 для всех последующих скрытых слоев

4. Для элементов выходного слоя установить совокупный ввод и вывод

5. Попадает ли разность между целевым выходным образом и реальным выводом сети в допустимые рамки? ЕСЛИ Нет то CONVERGE=TRUE

6. Для каждого выходного элемента вычислить его ошибку

7. Для последнего скрытого слоя вычислить ошибку каждого элемента

8. Для всех слоев обновить значения весов каждого элемента

9. Последний образец? Да - на шаг 10, Нет – прочитать следующий входной образец и соответствующий ему выходной образец и перейти на шаг 2.

10. CONVERGE == TRUE? Да – на шаг 11, Нет - на шаг 1.

11. Выход

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]