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

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

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






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



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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

РЕВМАТИЧЕСКИЕ БОЛЕЗНИ Ревматические болезни(или диффузные болезни соединительно ткани(ДБСТ))— это группа заболеваний, характеризующихся первичным системным поражением соединительной ткани в связи с нарушением иммунного гомеостаза...

Решение Постоянные издержки (FC) не зависят от изменения объёма производства, существуют постоянно...

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

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

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

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

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