Хайкин С. - Нейронные сети (778923), страница 165
Текст из файла (страница 165)
Случай 2. Нейрон з является скрытым элементом Если нейрон з находится в скрытом слое, символом А можно обозначить множество всех нейронов, входы которых получают сигнал от выхода нейрона з при прямом распространении. Пусть о„(п) — иидуцироваииое локальное поле нейрона г, принадлежащего множеству А. Тогда можно записать, что дЕобщая ~-~ ~-~ дЕобщая до~. (/с) до,(п) ~-'~» ди„(к) ди;(п) ' (13.35) Как и при выводе стандартного алгоритма обратного распространения (см. главу 4), явная форма локального градиента Ь (и) зависит от того, где находится нейрон з2 в выходном или скрытом слое сети. Оба этих случая мы рассмотрим ниже.
Случай 1, Нейрон т' является выходным элементом Для выходного слоя имеем: 824 Глава 13. Временная обработкас использованием сетейлрямого распространения Подставляя определение (13.32) (в котором индекс г используется вместо индекса з) в (13.35), можно записать: Ь,(п) = ~> ~~~ Ь„()о) " = ~> ~~ Ь„()с) " ', (13.36) диу(п) „ " ду,(п) доз(п)' где у (и) — выход нейрона з. Далее несложно заметить, что частная производная дуу(п)lди, (и) равна <р'(с (п)), если нейрон з находится вне множества А.
Таким об- разом, этот множитель можно вынести за рамки двойного суммирования н переписать (13.36) следующим образом: Ь,(п) = ф'(су(п)) ~ ~~ ~Ь,(1о) 1.ЕА ь (13.37) Как было определено ранее, с„(п) обозначает индуцированное локальное поле нейрона г, питаемого выходом нейрона з. Адаптируя выражения (13.19) и (13.23) к данной ситуации, и„()с) можно выразить следующим образом: то Р с,()с) = ~~~ ~~> ю, (1)у (и — 1). (13.38) у=о г=о ш,о(1) = Ь, и уо(п — 1) = 1 для всех1и п. (13.39) Индекс р, определяющий верхний предел внутреннего суммирования в (13.38), является порядком каждого из синаптических фильтров нейрона г и всех остальных нейронов рассматриваемого слоя.
Индекс гио, определяющий верхний предел внешнего суммирования в (13.38), является общим числом первичных синапсов, относящихся к нейрону г. Признавая, что сумма свертки по 1 является коммутативной, соотношение (13.38) можно переписать в следующем виде: Пао Р ю ()о) = ~~~ ~~ у (1)ю (и — 1).
(13.40) у=о г=о Дифференцируя (13.40) по у,, получим: ди,()о) (ш„()о — 1), п < Й < п+ р, ду (и) ( О в — противном случае. (13.41) В равенство (13.38) включено смешение (Ъ|аз) Ь„применяемое к нейрону г как слагаемое, соответствующее з =0: 13.9. Алгоритм обратною распространения во времени 826 В свете (13.41) частные производные до,()г)/ду,(п) в (13.37), для которых )с находится вне диапазона п < Й < и + р, равны нулю. Если нейрон з является скрытым, подставив (13.41) в (13.37), получим: Ь,(п) = гр'(и,(п)) ~~~ ~~~ Ь„(Й)ю, (Й вЂ” 1) 1еА /с=и р = гр'(о,(п)) ~~' ~~' Ь,(п+ 1)го„(п). (13.42) «еА 1=О Определим новый вектор размерности (р + 1) х 1: Ь„(п) = [Ь„(п), Ь„(п + 1),..., Ь,(п + р)! т. (13.43) Ранее с помощью выражения (13.21) уже был определен вектор весов зт,, Используя матричные символы, выражение (13.42) можно переписать в более компактном виде: (13.44) «ея где Ь„(п)тт„— скалярное произведение векторов Ь„(п) и зт„, которые имеют т размерность (р + 1).
Равенство (13.44) является окончательным выражением оценки Ь,(п) для нейрона 1 скрытого слоя. Теперь можно записать окончательное выражение для коррекции весов в методе обратного распространения во времени (Гешрога! Ьаск ргорайайоп) [1110], (1111]; тт„(п + 1) = т,(п) + з]Ь,(п)х,(п). (13.45) ( е,(п)ф'(ет(п)), нейрон т принадлежит выходному слою, т(п) ~ гР'(оз(п)) 2, Ып) н„„нейРон т пРинадлежит скРытомУ слою.
( ) «еА Эти выражения можно обобщить для любого количества скрытых слоев. Мы ясно видим, что эти соотношения представляют собой векторное обобщение стандартного алгоритма обратного распространения. Если заменить входной вектор весов х,(п), вектор весов и„и вектор локального градиента хь, соответствующими скалярами, алгоритм обратного распространения во времени сведется к обычному алгоритму обратного распространения (см, главу 4).
Для вычисления Ь, (и) для нейрона 1, расположенного в скрытом слое, нужно раснространить (ргорайаге) Ьв из следующего слоя назад через синаптические фильтры, возбуждение которых выводится из нейрона з в соответствии с формулой (13.44). Этот механизм обратного распространения показан на рис. 13.17. Таким образом, локальный градиент Ь, (и) формируется не просто взвешенным суммированием, а обратной 826 Глава 13. Временная обработкас использованием сетейпрямою распространения дт(л) Нейроны г множества А д 1л) Рис.
13.17. Обратное распространенна локальных градиентов в распределенной сети Тйрй фильтрацией каждым первичным синапсом. В частности, каждое новое множество векторов входных сигналов и желаемых откликов порождает новый шаг прямой и обратной фильтрации. Теперь видны практические преимущества использования временного алгоритма обратного распространения. Среди них можно назвать следующие. 1. Сохраняется симметрия между прямым распространением состояний и обратным распространением ошибок.
Таким образом, поддерживается принцип параллельной распределенной обработки. 2. Каждый отдельный вес синаптического фильтра используется только один раз— при вычислении Ьл. Таким образом, в методе мгновенного градиента не наблюдается избыточных вычислений. При выводе временного алгоритма обратного распространенияб, описанного формулами (13.45) и (13.46), предполагается, что веса синаптических фильтров фиксированы для всех вычислений градиента. Естественно, это не совсем корректное предположение для реальной адаптации. Следовательно, возникают несоответствия в производительности между временным алгоритмом обратного распространения и временной версией, полученной с использованием метода мгновенного (1пз)апШпеопз) градиента.
Тем не менее эти несоответствия обычно имеют незначительный характер. При небольшом значении параметра интенсивности обучения т) расхождение в характеристиках обучения этих двух алгоритмов при их практическом применении будет незначительным. е Альтернативный схематический вывол алгоритма обратного распространения во времени содержится в Вттг) 13.9. Алгоритм обратною распространения во времени 827 Ограничения причинности При внимательном изучении формулы (13.42) оказывается, что вычисление Ь, (и) не носит нричинный характер, так как требует знания будущих значений Ьа и и. Для того чтобы сделать эти вычисления причинными, в первую очередь обратим внимание на то, что точная ссылка на время, используемая для адаптации, не важна. Более того, синаптическая структура сети состоит из г1й.-фильтров. Следовательно, причинность требует использования дополнительной буферизации для хранения внутренних состояний сети.
Отсюда следует, что нужно требовать, чтобы адаптация всех векторов весов основывалась только на текугцем и прошлых значениях сигналов ошибки. Таким образом, можно сразу же определить Ь,(п) для нейрона т' в выходном слое и адаптировать веса синаптических фильтров этого слоя. Для слоя, предшествующего выходному, ограничения причинности предполагают, что вычисление локального градиента для нейрона з этого слоя Ь,(п — р) = 4(о,(п — р)) ~ Ь, (и — р) „, (13.47) гЕА основывается только на текущем и предьщущих значениях вектора Ь,: Гл,(п — р) = [Ь,(п — р), Ь,(п + 1 — р),..., Ь,(п)]г.
(13.48) ° Сигнал Ьз распространяется по слоям сети (в обратном направлении), слой за слоем, без дополнительных задержек. Такой стиль распространения заставляет внутренние значения Ьз смещаться по времени. ° Для корректного смещения по времени эти состояния (т.е. значения х,(п,)) сохраняются в форме соответствующих произведений, нсобхолимых для адаптации вск- Уравнение (13.47) получено из второй строки (13.46) заменой индекса и на (п — р), где р — порядок каждого из синаптических г 1К-фильтров. Как уже говорилось ранее, состояния х,(п — р) должны храниться„чтобы можно было вычислить произведение Ь,(п — р)х,(п — р) для адаптации вектора весов, соединяющих нейрон 1 последнего скрытого слоя с нейроном г предыдущего слоя.
Для сети с несколькими крытыми слоями можно продолжить эту операцию еще для одного скрытого слоя (т.е. отстоящего на два слоя от выходного в обратном направлении), удвоив смещение по времени. Операция продолжается подобным образом для всех вычислительных слоев сети. Исходя из этого, можно сформулировать лричинную (сапза1) форму временного алгоритма обратного распространения, которая описана в табл. 13.1.
Несмотря на то что представленный алгоритм менее эстетичен, чем его непричинная форма, описываемая выражениями (13.45), (13.46), эти формы алгоритма отличаются друг от друга только заменой индексов. Подводя итог, можно утверждать следуютцее. 828 Глава 13. Временная обработкас использованием сетейлрямого распространения ТАБЛИЦА 13.1. Алгоритм обратного распространения во времени 1. Входной сигнал распространяется по сети в прямом направлении, слой за слоем. Определяется сигнал ошибки е,(п) для нейрона ] выходного слоя путем вычитания фактического выходного сигнала из желаемого отклика.
Также записываются векторы состояний для всех синапсов сети. 2. Для нейрона т' выходного слоя вычислим: Ь,(п) = ез(п)гР,'.(п); чт„(п+ 1) = зтзг(п) +з]бз(п)хг(п), где х (п) — состояние[-го синапса скрытого нейрона, соединенного с выходным нейроном ]1 3. Для нейрона у скрытого слоя вычислим: Ь (и — [р) = гр (из(п — [р)) ~~у Ь, (п — [р)тг„„ гЕА те„(п + 1) = тезг(п) + з]бз(п — [р)х,(п — [р), где р — порядок каждого синаптического Р[!с-фильтра, а индекс 1 идентифицирует рассматриваемый скрытый слой. В сетях с несколькими скрытыми слоями [ = 1 соответствует скрытому слою, непосредственно предшествующему выходному слою, [ = 2 соответствует скрытому слою, отстоятцему от выходного на два слоя, и т.д.