Хайкин С. - Нейронные сети (778923), страница 46
Текст из файла (страница 46)
Сииаптический вес ш,с (соответствующий фиксированному входу ус — — +1) равен порогу Ь,ч при- меняемому к нейрону у. Функциональный сигнал у,(п) на выходе нейрона у иа итерации п равен у,(п) = гр,(от(п)). (4.5) Аналогично алгоритму 1.МБ, алгоритм обратного распространения состоит в применении к сииаптическому весу ш,,(п) коррекции Ьш,;(и), пропорциональной частной производной дЕ(п)/дш,з(п). В соответствии с правилом цепочки, или цепным правилом (сЬа1п гп1е), градиент можно представить следующим образом: дЕ(п) дЕ(п) де,(п) ду,(п) доз(п) дш,.;(и) де,(п) ду,(п) ди,(п) дш„(п'1' (4.6) Частная производная дЕ(п)/дшгт(и) представляет собой фактор чувствительносвги (зепгййчйу Гасгог), определяющий направление поиска в пространстве весов для сииаптического веса шаг(п).
Дифференцируя обе части уравнения (4.2) по е (п), получим: дЕ(п) де~ (и) (4.7) Дифференцируя обе части уравнения (4.1) по у, (и), получим соотношение де (и) ду, (и) (4.8) Затем, дифференцируя (4.5) по и, (и), получим: ду, (п) д '( ) = р,'(о,(п)), (4.9) где штрих справа от имени функции обозначает дифференцирование по аргументу. Теперь рассмотрим рис. 4.3. На ием изображен нейрон з', иа который поступает поток сигналов от нейронов, расположенных в предыдущем слое.
Иидуцироваиное локальное поле о (и), полученное иа входе функции активации, связанной с данным нейроном, равно 228 Глава 4. Мноюслойный персептрон И, наконец, дифференцируя (4.4) по в п(п), получим выражение дс, (п) д.„'(.) = У (п) (4.10) Подставляя результаты (4.7)-(4.10) в выражение (4.6), окончательно получим: = — е,(п)ср,'. (с,(п))у,(п). дЕ(п) дю,з (и) (4.11) Коррекция Ьш,(п), применяемая к ш,(п), определяется согласно дельталравилу (де!!а гц1е): дЕ(п) ды,,(п) ' (4.12) где з) — параметр скорости обучения (!еагл!пк-гаге рагаше!ег) алгоритма обратного распространения. Использование знака "минус" в (4.12) связано с реализацией градиентного слуска (агад!епг дезсеп!) в пространстве весов (т.е.
поиском направления изменения весов, уменьшающего значение энергии ошибки Е(п)). Следовательно, подставляя (4.11) в (4.12), получим: Ьш„(п) = т)б,(п)у,(п), (4.13) где локальный градиент (!оса! лгад)ел!) Ь;(п) определяется выражением дЕ(п) дЕ(п) де (п) ду,(п) Ь (п) = — — ® ® — е,.(п)е'(и,(п)). (4.14) Локальный градиент указывает на требуемое изменение синаптического веса. В соответствии с (4.14) локальный градиент б,(п) выходного нейрона з равен произведению соответствующего сигнала ошибки е, (п) этого нейрона и производной у,'. (ед (п) ) соответствующей функции активации.
Из выражений (4.13) и (4.14) видно, что ключевым фактором в вычислении величины коррекции Ьш,;(п) весовых коэффициентов является сигнал ошибки е,(п) нейрона з. В этом контексте можно выделить два различных случая, определяемых положением нейрона з в сети. В первом случае нейрон з является выходным узлом. Это довольно простой случай, так как для каждого выходного узла сети известен соответствующий желаемый отклик. Следовательно, вычислить сигнал ошибки можно с помощью простой арифметической операции.
Во втором случае нейрон з является скрытым узлом. Однако даже если скрытый нейрон непосредственно недоступен, он несет ответственность за ошибку, получаемую на выходе сети. Вопрос состоит в 4.3. Алгоритм обратного распространения 229 Случай 1. Нейрон 1 — выходной узел Если нейрон 7' расположен в выходном слое сети, для него известен соответству- ющий желаемый отклик. Значит, с помощью выражения (4.1) можно определить сигнал ошибки е (п) (см. рис. 4.3) и без проблем вычислить градиент б. (п) по фор- муле (4.14).
Случай 2. Нейрон 1 — скрытый узел Если нейрон 7' расположен в скрытом слое сети, желаемый отклик для него неизвестен. Следовательно, сигнал ошибки скрытого нейрона должен рекурсивно вычисляться на основе сигналов ошибки всех нейронов, с которым он непосредственно связан.
Именно здесь алгоритм обратного распространения сталкивается с наибольшей сложностью. Рассмотрим ситуацию, изображенную на рис. 4.4, где изображен скрытый нейрон 1. Согласно (4.14), локальный градиент Ь,(п) скрытого нейрона 7' можно переопределить следующим образом: дЕ(п) аг',(с,(п)), (4.15) ду,(п) дЕ(п) ду,(п) дут(п) дс,(п) где 7 — скрытый нейрон, а для получения второго результата использовалась форму- ла (4.9). Для вычисления частной производной дЕ(п)/ду (п) выполним некоторые преобразования.
На рис. 4.4 видно, что (4.16) где )г — выходной нейрон. Соотношение (4.16) — это выражение (4.2), в котором индекс з заменен индексом )г. Это сделано для того, чтобы избежать путаницы с индексом г', использованным ранее для скрытого нейрона. Дифференцируя (4.16) по функциональному сигналу у, (п), получим: дЕ(п) ~ деь(п) ду (п) ~~ ~ ду,(п) (4.17) том, как персонифицировать вклад (положительный или отрицательный) отдельных скрытых нейронов в общую ошибку.
Эта проблема называется задачей назначения коэффициентов доверия (сгейй азз(йшпепг ргоЫеш) и уже упоминалась в разделе 2.7. Она очень элегантно решается с помощью метода обратного распространения сигнала ошибки по сети. 230 Глава 4. Многослойный персептрон Нейрону Нейрон Гг у,(н1 Теперь к частной производной деь(п) (дуг(п) можно применить цепное правило и переписать (4.17) в эквивалентной форме: дЕ(п) ~ дев(п) дггь(п) ду (п) ~~ ~ дггь(п) ду,(п) (4.18) Однако на рис. 4.4 видно, что длл выходного нейрона Й еь(п) = Йь(п) — уь(п) = г)ь(п) — грт(ггь(п)).
(4.19) Отсюда (4.20) Рис, 4.4. Граф передачи сигнала, детально отражающий связь выходного нейрона Ь со скрытым нейроном у 4.3. Алгоритм обратного распространения 231 На рис. 4.4 также очевидно,что индуцированное локальное поле нейрона Й со- ставляет сь(п) = ~~ юь,(п)у;(и), г=о (4.21) где т — общее число входов (за исключением порога) нейрона и. Здесь синаптиче- ский вес юьв(п) равен порогу Ьы приходящемуся на нейрон 1с, а соответствующий вход имеет фиксированное значение +1.
Дифференцируя (4.21) по у. (п), получим: диь(п) = юь,(п). (4.22) Подставляя (4.20) и (4.22) в (4.18), получим соотношение — еь(п)гр'„(оь(п))юь,(п) = — ~> Ьь(п)юь,(п), (4.23) дЕ(п) ~,ж ь ь где для получения второго результата использовано определение локального градиента (4.14), в котором индекс т' заменен индексом гс по уже упомянутым соображениям. В заключение, подставляя выражение (4.23) в (4.15), получим формулу абрааглага раслрастранения (Ьас1г-ргорайа6оп Тогшп1а) для локального градиента Ь.
(и) скрытого нейрона гЗ Ь,.(п) = гр (о,.(п)) ~ Ьь(п)юь (п). (4.24) На рис. 4.5 графически представлена формула (4.24) в предположении, что выходной слой состоит нз ть нейронов. Множитель гв'. (о, (и)), использованный в формуле (4.24) для вычисления локального градиента Ь (п), зависит исключительно от функции активации, связанной со скрытым нейроном г1 Второй множитель формулы (сумма по а) зависит от двух множеств параметров.
Первое из них — Ьь(п) — требует знания сигналов ошибки еь(п) для всех нейронов слоя, находящегося правее скрытого нейрона т', которые непосредственно связаны с нейроном г' (см. рис. 4.4). Второе множество — юь, (и)— состоит нз синаптических весов этих связей. Теперь можно свести воедино все соотношения, которые мы вывели для алгоритма обратного распространения. Во-первых, коррекция Ью,г(п), применяемая к синаптическому весу, соединяющему нейроны 1 и з, определяется следующим дельта- правилом: 232 Глава 4. Мноюслойный персептрон Ь,(е) е',(г,(е)) е,(е) е„(е) Рис.
4.6. Граф передачи сигнала для фрагмента си, ° (, („)) ее,(е) стемы, задействованного в обратном распространении сигналов ошибки с Коррекция Параметр око- Локальный Входной сигвеса рости обучения . градиент нал нейрона з (4.25) (кю„(п) б,(л) у,(л) Во-вторых, значение локального градиента Ь,(п) зависит от положения нейро- на в сети. 1. Если нейрон т' — выходной, то градиент б,(п) равен произведению производной гр((и, (и)) иа сигнал ошибки е (и) для нейрона ) (см. выражение (4.14)).