Студопедия — Алгоритм обратного распространения ошибки
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Алгоритм обратного распространения ошибки






При рассмотрении различных моделей нейронов мы обсуждали основ­ные технологии их обучения. Чаще всего обучение осуществлялось следую­щим образом. Рассчитывалась сумма произведений входных сигналов на со­ответствующие им веса. Далее полученное значение подавалось на вход ис­пользуемой функции активации, на выходе которой появлялся выходной сигнал нейрона. Поскольку требуемое выходное значение нам известно (оно равно эталонному выходному значению, содержащемуся в обучающей выборке), то погрешность сигнала на выходе нейрона определяется доста­точно просто. Искомая погрешность равна разности между фактическим вы­ходным значением и эталонным значением. Аналогичным образом можно рассчитать погрешность для последнего слоя в многослойных сетях. Одна­ко в этой ситуации возникает сложность с расчетом погрешности для скры­тых слоев, поскольку учитель не знает эталонные значения на выходах рас­положенных в них нейронов. На помощь приходит наиболее распростра­ненная технология обучения многослойных нейронных сетей, называемая методом обратного распространения ошибки. Для описания этого ал­горитма необходимо формально определить соответствующую меру по­грешности. Она представляет собой функцию, в которой в роли перемен­ных выступают все веса многослойной нейронной сети. Обозначим иско­мую функцию Q(w), где w - вектор всех весов сети. В процессе обучения будем стремиться минимизировать значение Q (w) относительно вектора w. Разложим функцию Q(w) в ряд Тейлора в непосредственной близости от известного фактического решения w. Разложение в направлении р предста­вим следующим образом:

 

Q (w+p)= Q (w)+[g(w)]Tp+0,5 p TH(w)p +..., (2.95)

 

где g (w) обозначает вектор градиента, т.е.:

 

(2.96)

 

a H(w) - гессиан, т.е. матрица вторых производных:

 

(2.97)

Веса модифицируются по формуле

 

w(t+1) = w(t) + η(t)p(t), (2.98)

 

где η - коэффициент обучения (способ подбора значения этого параметра бу­дет описан несколько позднее).

Веса могут модифицироваться так долго, пока функция Q не достигнет минимума либо ее значение не станет меньше априори заданного порога. Та­ким образом, задача сводится к поиску вектора направления р, обеспечиваю­щего уменьшение погрешности на выходе сети на очередных шагах алгорит­ма. Это означает, что на следующих итерациях должно выполняться неравен­ство Q( w (t + 1))< Q (w(t)). Ограничим ряд Тейлора, аппроксимирующий функ­цию погрешности Q, линейным разложением, т.е.

 

Q (w+ p) = Q (w) + [g(w)]Tp. (2.99)

 

Поскольку функция Q( w ) зависит от весов, найденных на шаге t, a Q( w+р) - от весов, найденных на шаге (t+ 1 ) то для выполнения неравенства Q( w (t+1))<Q( w (t) достаточно подобрать вектор р(t), при котором g(w(t)Tp(t)<0. Легко заметить, что это условие выполняется при

 

p(t)=-g(w(t)). (2.100)

При подстановке зависимости (2.100) в формулу (2.98) получаем следую­щее выражение для изменения весов многослойной нейронной сети:

 

w (t+ l)= w (t) - ηg(w (t)). (2.101)

Зависимость (2.101) известна в литературе под названием «правило на­искорейшего спуска». Для эффективного использования выражения (2.101) с целью вывода алгоритма обратного распространения ошибки необходимо формально описать структуру многослойной нейронной сети и ввести соот­ветствующие обозначения.

Эта структура изображена на рисунке 2.16. В каждом слое расположено Nk элементов, k =1,..., L, обозначаемых Nki, i = 1, ..., Nk. Элементы Nki будем называть нейронами, причем каждый из них может иметь сигмоиду на выходе. Обсуждаемая нейронная сеть имеет N0 входов, на которые подаются сигналы х1 (t), ...,xN0 (t), записываемые в векторной форме как

 

x = [ x 1(t),..., xN0 (t)]T, t = 1,2,.... (2.102)

 

 

Рис.2.16. Многослойная нейронная сеть

 

Выходной сигнал i -го нейрона в k- мслое обозначается уi(k)(t), i = 1,. .,Nk, k = 1,..., L. На рисунке 2.17 показана детальная структура i -го нейрона в k- мслое.

Рис. 2.17. Структура нейрона

 

Нейрон Nki имеет Nk входов, образующих вектор

 

(2.103)

 

причем xi(k)(t) = +1 для i = 0 и k = 1, ...,L.

Обратим внимание на факт, что входной сигнал нейрона Nki связан с вы­ходным сигналом (k - 1)-го слоя следующим образом:

 

для   для   для
(2.104)

На рисунке 2.17 символом wij(k) (t) обозначен вес входа i -го нейрона, i=1,…Nk, расположенного в k слое, который соединяет этот нейрон с j -м входным сигналом xi(k)(t), j= 0,1 ,...,Nk. Вектор весов нейрона Nki будем обозначать

 

, k =1,..., L, i = 1 ..,,Nk. (2.105)

 

Выходной сигнал нейрона Nki в момент t, t = 1,2,... определяется как


yi(k)(t) = f(si(k)(t)), (2.106)

причем

(2.107)

 

Отметим, что выходные сигналы нейронов L -го слоя

 

(2.108)

одновременно являются выходными сигналами сети в целом. Они сравни­ваются с так называемыми эталонными сигналами сети

 

(2.109)

 

Погрешность на выходе сети определяется следующим образом:

 

(2.110)

 

При использовании зависимостей (2.101) и (2.110) получаем

 

(2.111)

Обратим внимание, что

(2.112)

 

Если ввести обозначение

(2.113)

то получим равенство

 

(2.114)

 

При этом алгоритм (2.111) принимает вид

 

(2.115)

 

Способ расчета значения зависит от номера слоя. Для последнего слоя получаем

 

(2.116)

 

Для произвольного слоя k ≠ L получаем

 

(2.117)

Определим погрешность для i -го нейрона в k -м (не последнем) слое в виде

 

k = 1,…,L - 1. (2.118)

 

При подстановке выражения (2.118) в формулу (2.117) получаем

(2.119)

 

В результате алгоритм обратного распространения ошибки можно запи­сать в виде

(2.120)

 

 

 

(2.123)

 

(2.124)

 

Мы рассмотрели последовательность математических выражений, опи­сывающих способ обучения многослойной нейронной сети. Выполнение ал­горитма начинается с подачи обучающей последовательности на вход сети. Вначале эта последовательность обрабатывается нейронами первого слоя. Конечно, под «обработкой» мы понимаем здесь расчет значений выходных сигналов (см. формулы (2.106), (2.107)) для каждого нейрона этого слоя. Полученные сигналы подаются на входы нейронов следующего слоя. Описан­ный цикл повторяется, т.е. вновь рассчитываются выходные сигналы нейро­нов очередного слоя, которые передаются далее - вплоть до выходного слоя. После получения выходного сигнала последнего слоя и выбора соответствую­щего эталонного сигнала из обучающей последовательности рассчитывается погрешность на выходе сети по формуле (2.121). Веса нейронов последнего слоя можно модифицировать при помощи дельта-правила также как и веса оди­ночного нейрона с сигмоидой на выходе - для этого используются формулы (2,121), (2.123), (2,124). Однако этот способ непригоден для модификации ве­сов нейронов в скрытых слоях, поскольку значения для этих нейронов не­известны, а целевая функция, заданная выражением (2.110), зависит от весов всех нейронов сети. Поэтому выходная погрешность распространяется в обрат­ном направлении (от выходного слоя к входному) в соответствии с межслойными соединениями нейронов и с учетом их функций активации (см. формулы (2.122) - (2.124)). Таким образом, название алгоритма объясняется способом его реали­зации, т.е. погрешность «возвращается» от выходного слоя к входному слою.

27. Принцип обучения нейронной сети «без учителя»







Дата добавления: 2015-09-06; просмотров: 650. Нарушение авторских прав; Мы поможем в написании вашей работы!



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

Виды и жанры театрализованных представлений   Проживание бронируется и оплачивается слушателями самостоятельно...

Что происходит при встрече с близнецовым пламенем   Если встреча с родственной душой может произойти достаточно спокойно – то встреча с близнецовым пламенем всегда подобна вспышке...

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

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

Основные разделы работы участкового врача-педиатра Ведущей фигурой в организации внебольничной помощи детям является участковый врач-педиатр детской городской поликлиники...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия