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

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

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






При рассмотрении различных моделей нейронов мы обсуждали основ­ные технологии их обучения. Чаще всего обучение осуществлялось следую­щим образом. Рассчитывалась сумма произведений входных сигналов на со­ответствующие им веса. Далее полученное значение подавалось на вход ис­пользуемой функции активации, на выходе которой появлялся выходной сигнал нейрона. Поскольку требуемое выходное значение нам известно (оно равно эталонному выходному значению, содержащемуся в обучающей выборке), то погрешность сигнала на выходе нейрона определяется доста­точно просто. Искомая погрешность равна разности между фактическим вы­ходным значением и эталонным значением. Аналогичным образом можно рассчитать погрешность для последнего слоя в многослойных сетях. Одна­ко в этой ситуации возникает сложность с расчетом погрешности для скры­тых слоев, поскольку учитель не знает эталонные значения на выходах рас­положенных в них нейронов. На помощь приходит наиболее распростра­ненная технология обучения многослойных нейронных сетей, называемая методом обратного распространения ошибки. Для описания этого ал­горитма необходимо формально определить соответствующую меру по­грешности. Она представляет собой функцию, в которой в роли перемен­ных выступают все веса многослойной нейронной сети. Обозначим иско­мую функцию 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; просмотров: 644. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Механизм действия гормонов а) Цитозольный механизм действия гормонов. По цитозольному механизму действуют гормоны 1 группы...

Алгоритм выполнения манипуляции Приемы наружного акушерского исследования. Приемы Леопольда – Левицкого. Цель...

ИГРЫ НА ТАКТИЛЬНОЕ ВЗАИМОДЕЙСТВИЕ Методические рекомендации по проведению игр на тактильное взаимодействие...

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

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

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

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