Хайкин С. - Нейронные сети (778923), страница 189
Текст из файла (страница 189)
16.11. Попносвязная рекуррентная сеть дпя алгоритма ЙТЙ(. 18.8. Рекуррентное обучение в реальном времени 961 Для упрощения выкладок мы введем новые матрицы Л,(п), 11,(п) и Ф(п) следующего вида. 1. Л (п) — матрица размерности д х (д + т + 1), определяемая как частная производная вектора состояния х(п) по вектору весов эту Л,.(п) =, у = 1,2,...,д. дх(п) дъг (15.49) 2.
111 (п) — матрица размерности д х (9+ т+ 1), все строки которой, за исключением строки у, равны нулю. Строка т равна транспонированному вектору с(п): 0 с (п) 0 11,(п) = — тчя строка, т' = 1,2,...,9. (15.50) 3. Ф(п) — диагональная матрица размерности д х д, т-й диагональный элемент которой является частной производной функции активации по своему аргументу, вычисленному в точке тттг,(п): Ф(п) = тйад (тр'(ттт с(п)),..., ~р'(и~~~(п)),..., у'(ти~~ф(п))) . (15 51) Л,(п+1) =Ф(п) [%,(п)Л (п)+11 (п)], т' = 1,2,...,9. (1552) Это рекурсивное уравнение описывает нелинейную динамику сосюояний (попйпеат агате оулаш(сз) (т.е.
эволюцию состояний) процесса рекуррентного обучения в реальном времени. Для того чтобы завершить описание этого процесса обучения, нужно связать матрицу Л,(п) с градиентом поверхности ошибок по тт . Для этого сначала используем уравнение получения измерения (15.11) и определим вектор ошибки размерности р х 1: е(п) = й(п) — у(п) = й(п) — Сх(п). (15.53) Учитывая эти определения, мы можем продифференцировать уравнение (15.46) по и,. Тогда, используя цепное лравило (сЬа1п пт!е оГ са1сп!па), получим следующее рекурсивное уравнение: 952 Глава 15.
Динамически улравляемыв рекуррентные сети Мгновенная сумма квадратичной ошибки в момент времени п определяется в терминах е(п) следующим образом: Е(п) = -е (п)е(п). 2 (15.54) Цель процесса обучения — минимизация функции стоимости, полученной суммированием величин Е(п) по всем моментам времени и, т.е. Еобщ — — ,') Е(п). Для достижения этой цели можно использовать метод наискорейшего спуска, который требует знания матрицы градиентов (ягад(епг ша1пх), которая определяется следующим образом; дЕ ~щ дЕ(п) ~,„Еобщ — — ' — — ~~~ = ~~~ Ч„Е(п), дъ дну дЕ(п) де(п) дх(п) = — Сйз(п)е(п), у' = 1,2,...,д.
(15.55) Исходя из этого, коррекция, применяемая к вектору синаптических весов зт,(п) нейрона у, может быть определена как Ьтк,(п) = — з) =з)СА1(п)е(п), у = 1, 2, ..., ц, (15.56) дЕ(п) где з) — параметр скорости обучения, а Х, (п) определяется формулой (15.52). где ~7„Е(п) — градиент Е(п) по отношению к матрице весов %'=(ткь) . При желании можно продолжить работу с этим уравнением и вывести уравнения коррекции для синаптических весов рекуррентной сети, не прибегая к аппроксимациям.
Однако, для того чтобы получить алгоритм обучения, который можно использовать для обучения рекуррентной сети в реальном времени, необходимо использовать мгновенную оценку градиента, а именно (7„Е(п), что приведет к приближению метода наискорейшего спуска. Возвращаясь к формуле (15.54), описывающей минимизируемую функцию стоимости, продифференцируем ее по вектору весов эту и получим следующее: 15.8. Рекуррентное обучение в реальном времени 953 ТАБЛИЦА 15.1. Алюритм рекуррентного обучения в реальном времени Параметры т — размерность входного пространства д — размерность пространства состояний р — размерность выходного пространства и' — вектор синаптических весов нейрона 2,2 = 1, 2,..., д Инициализация 1. Устанавливаем синаптические веса сети в малые значения, выбираемые из равномерного распределения.
2. Устанавливаем начальное значение вектора состояний х(0) в О. 3. Присваиваем Л,(0) = О для 3 = 1, 2,..., Я Вычисления Для и =1, 2,..., д вычисляем Л,(п + 1) = Ф(п) (%',(п)Л (и) + 11 (и)!, е(п) = О(п) — Сх(п), Ьзчу(п) = т!СЛ,(п)е(п). Определения величин х(п), Л, (п), Юз (п) и Ф(п) заданы формулами (15.4б), (15.49)— (15.51) соответственно. Единственным вопросом остается определение начальных условий (ш!йа! сопй!юпз) для запуска процесса обучения.
С этой целью положим Л, (О) = О для всех 11 (15.57) Это значит, что изначально рекуррентная сеть находится в постоянном состоянии. В табл. 15.1 в сжатом виде приведен алгоритм рекуррентного обучения в реальном времени. Описанная здесь формулировка этого алгоритма применима к любой функции активации 1р( ), которая дифференцируема по своему аргументу. Для частного случая сигмондной нелинейности в форме гиперболического тангенса имеем: х,(п + 1) = 1р(оу(п)) = 1Ь(с (п)) д'(о (п)) = ' = зес)з~(о (и)) = 1 — хз(п + 1), (15.58) д<р(пу(п)) ди,(п) где и, (п) — индуцированное локальное поле нейрона з; х (п + 1) — его состояние в момент времени и + 1.
964 Глава 15. Динамически управляемые рекуррентные сети Использование мгновенного градиента зьг Е(п) означает, что описанный здесь алгоритм рекуррентного обучения в реальном времени отклоняется от алгоритма не в реальном времени, основанного на истинном градиенте з(УгиЕ„бщ .
Тем не менее зто отклонение в точности аналогично отклонению, обнаруженному в стандартном алгоритме обратного распространения, использовавшемся в главе 4 для обучения многослойного персептрона, в котором коррекция весов проводилась после подачи в сеть каждого примера. В то время как алгоритм рекуррентного обучения в реальном времени не гарантирует точного следования направлению, противоположному направлению градиента общей функции ошибок Е бщ (%) по отношению к матрице весов %, практическое отличие между версиями реального и не реального времени зачастую незначительны; эти две версии практически идентичны при достаточно малых значениях параметра скорости обучения з).
Более серьезное последствие этого отклонения от истинно градиентной динамики состоит в том, что наблюдаемая траектория (получаемая как график Е(п) относительно элементов матрицы весов %(п)) может сама зависеть от коррекции весов, производимой алгоритмом, что можно рассматривать как еще один источник обратной связи, который может привести к неустойчивости системы. Этот эффект можно свести на нет, приняв параметр скорости обучения настолько малым, чтобы шкапа времени коррекции весов была значительно меньшей, чем шкала времени реальной работы сети [1157).
Пример 15.6 В этом примере сформулируем алгоритм КТК). для наяностью рвкуррвнтной сети (бг!!у геспггепг пепног)г), показанной иа рис. 15.6 и имеющей два входа и один выход. Эта сеть имеет три нейрона и композицию матриц %, %ь и С, которые были описаны в примере 15.1.
При т = 2 и а = 3 в (15.48) обнаруживаем, что хг(п) хз(п) хз(п) 1 иг(п) из(п) имеет обозиач Пусть й!-й элемент матрицы 2»,(п) ение )»х»!(п). Тогда, подставляя выражения (!5.52) и (15.56), получим: 1 з Хь»!(п+ 1) = гр (о (п)) ~~ юм(п))ьи(п) -1- Ь»зЬ,(п) ь=г 0ьгн»г(п) = г)(г(г(п)) — хг(п)Х, ы(п), где Ь», — дельта Кроиекера, которая равна единице при )с = 1 и нулю в противном случае, и (ь 1с) = 1, 2, 3 и 1 = 1, 2, ..., 6.
На рис. 15.!2 показан граф чувствитевьности, показывающий эволюцию коррекции весов Ьгс»,(п). Обратите внимание, что %, = (и„) для (5,1) = 1,2,3 и %ь = (гал) для з = 1, 2 3 и 1 = 4 5,6, 16.6. Рекуррентное обучение в реальном времени 956 Лнь(л) Рис. 15.12. Граф чувствительности полностью рекуррентной сети, показанной на рис. 16.6. Примечание: три уэпа с метками гч(о) следует рассматривать как единый вход Усиление учителем Одна из стратегий, которые используются при обучении рекуррентных сетей, называется усиление учителем ((еасЬег (огсшя) [1156], [1157].
В адаптивной фильтрации усиление учителем известно как метод уравнения оигибок [едва((оп-еггог шейзод) [725]. В своей основе усиление учителем использует замещение во время обучения реального выходного сигнала сети соответствующим желаемым откликом (т.е. целевым сигналом) при последующем вычислении динамики сети [когда этот желаемый отклик доступен).
Несмотря на то что метод усиления учителем описывается при рассмотрении алгоритма КТЮ., он применим и к любому другому алгоритму обучения. Однако для его применяемости рассматриваемый нейрон должен замыкать свой выход в обратную связь. Среди преимуШеств метода усиления учителем можно выделить следующие [1156]. ° Усиление учителем может привести к ускорению обучения. Причина этого улучшения — в использовании величин усиления учителем в качестве предположения, что сеть корректно обучена всем более ранним частям задачи, относящимся к нейронам, к юторым применяется усиление учителем.
° Усиление учителем может служить механизмом коррекции нри обучении. Например, синаптические веса сети могут иметь корректные значения, но сеть временно может работать в несвойственных ей областях пространства состояний, Естественно, в такой ситуации коррекция синаптическнх весов была бы неправильной стратегией. 956 Глава 15. Динамически управляемые рекуррентные сети Градиентные алгоритмы обучения, которые используют усиление учителем, на самом деле оптимизируют функцию стоимости по-другому, нежели их неусиленные аналоги. Таким образом, усиленные и неусиленные учителем версии алгоритма могут давать различные решения [если соответствующие сигналы ошибки не равны нулю, то обучение вообще не требуется). 15.9. Фильтр Калмана Как уже говорилось, непрерывное обучение, основанное на градиентном спуске (показанное на примере алгоритма рекуррентного обучения в реальном времени), осуществляется довольно медленно из-за доверия к мгновенным оценкам градиентов.
Это серьезное ограничение можно обойти, рассмотрев обучение рекуррентной сети с учителем как задачу оптимальной фильтрации (орйпшп 6]геппй ргоЫеш), решение которой рекурспвио использует информацию, содержащуюся в данных обучения, неявно возвращаясь к первой итерации процесса обучения. Описанная здесь идея лежит в основе фильтрации Калмана [Ка!гпап б]гег]пд) [535). Среди новаторских признаков фильтра Калмана следует выделить следующие.