Хайкин С. - Нейронные сети (778923), страница 188
Текст из файла (страница 188)
Сравнивая описанную процедуру алгоритма ВРТТ по эпохам с пакетным режимом стандартного алгоритма обратного распространения, видим,что главное отличие заключается в том, что в первом случае желаемый отклик определяется для многих слоев сети, поскольку фактический выходной слой рекуррентной сети многократно воспроизводится при развертывании ес поведения во времени. Усеченное обратное распространение во времени Для использования алгоритма обратного распространения во времени в режиме ре- ального времени в качестве минимизируемой функции стоимости используются мгно- венные значения суммы квадратических ошибок: Е(п) = — ~~~ ез(п). 1 уеА Как и в последовательном (стохастическом) режиме стандартного обучения методом обратного распространения, для вычисления соответствующей коррекции синаптических весов сети в каждый момент времени п используется градиент функции стоимости Е(п), взятый с обратным знаком.
Эти коррекции выполняются последовательно в ходе реальной работы сети. Однако, для того чтобы эта операция была выполнима с вычислительной точки зрения, сохраняется только история входных данных и состояний сети для фиксированного юличества шагов времени, называемого глубиной усечения (тгопсабоп бербт) и обозначаемого символом 6. Любая информация, которая "старше' Ь шагов времени, считается неактуальной и может игнорироваться. Если не усекать вычисления, позволяя им накапливаться с момента времени начала процесса, то время вычислений и требуемый объем памяти возрастают линейно со временем и в конечном счете достигнут точки, в которой весь процесс обучения станет невыполнимым.
16.7. Обратное распространение во времени 947 Эта вторая форма алгоритма называется усечесньии алгоритмом обратного распространения во времени (ВРТТ(1т)) [1155). В нем локальный градиент нейрона 3 определяется следующим образом: Ь,(1) = — для всех т' Е А и п — 1з < 1 < п, дЕ(1) до, 11) (15.42) что, в свою очередь, приводит к формуле ~ <р'(о,(1))е,(1), 1 = п, Ь,(~) =, ~ <р'(оф)) ~~; ш„,ЯЬ,11+1)~, и — 6<1< и.
) (15.43) ьеА После того как вычисления по методу обратного распространения выполнены до момента времени и — Ь~-1, происходит следующая коррекция синаптических весов и,, нейрона 32 (15.44) следующему. При сравнении выражений (15.43) и (15.40) видно, что, в отличие от алгоритма ВРТТ, в вычислении присутствует толью сигнал ошибки, вычисленный в текущий момент времени и.
Это и объясняет причину, по которой не сохраняются прошлые значения желаемых откликов. В результате усеченный алгоритм обратного распространения во времени учитывает вычисления всех предыдущих шагов, аналогично тому, как стохастический алгоритм обратного распространения (см. главу 4) учитывает вычисления, производимые скрытыми нейронами в многослойном персептроне. Некоторые практические согла1иения На практике в приложениях алгоритма ВРТТ использование усечения оказывается не таким уж искусственным, как это казалось на первый взгляд. Если рекуррентная есть не является неустойчивой, должна обеспечиваться сходимость производных дЕ(1)/до, (1), так как обратный отсчет по времени соответствует увеличению мошности сигнала обратной связи (приблизительно равному наклону сигмоидной функции, где 11 и х;(1 — 1) уже были определены ранее.
Обратите внимание, что использование зв„111) в выражении (15.43) требует, чтобы поддерживалась некоторая история значений весов. Испольювание величин шь в этом выражении обосновано только в том случае, когда параметр скорости обучения 11 достаточно мал для того, чтобы значения весов кардинально не изменялись при переходе от одного шага времени к 948 Глава 15. Динамически управляемые рекуррентные сети умноженному на веса). В любом случае глубина усечения Ь должна быть достаточно большой, чтобы вычисляемые производные были близки к реальным значениям.
Например, в приложении динамически управляемых рекуррентных сетей к управлению холостым ходом двигателя рассматривается значение гг =30, которое является довольно консервативным для выполнения задачи обучения 1863). Следует обсудить еще один практический вопрос. Процедура развертывания для обратного распространения во времени, описанная в этом разделе, дает полезный инструмент ее описания в терминах каскада идентичных слоев, ниспадиощих в направлении течения времени, что обеспечивает ключ к пониманию ее работы. Однако зта сильная точка является одновременно и слабой.
Эта процедура прекрасно работает в относительно простых рекуррентных сетях, состоящих из малого числа нейронов. Однако рассматриваемые формулы 1особенно (15.43)) становятся огромными, когда процедура развертывания применяется к более общим архитектурам, которые, как правило, и встречаются на практике. В таких ситуациях предпочтительнее использовать более общий подход, описанный в 11126]. В нем каждое выражение прямого распространения слоя приводит к увеличению соответствующего множества выражений обратного распространения. Достоинством этого подхода является гомогенное толкование прямых и рекуррентных (обратных) связей.
Для того чтобы описать принцип работы этой частной формы алгоритма ВРТТ()г), обозначим символом г", упорядоченную производную (огг)егег) депуабуе) выхода сети в узле 1 по х. Для вывода уравнений обратного распространения уравнения прямого распространения рассматриваются в обратном порядке. Из каждого уравнения выводится одно или несколько выражений обратного распространения в соответствии со следующим принципом: Если а = гр(о, с), то г" ь —— —.г'~, и Г~, = — г'~ . (15.45) дс Пример 15.5 Для того чтобы прояснить значение понятия упорядоченных проюволных„рассмотрим нелинейную систему, описываемую следующей системой уравнений: хг = 1оби+ха, г у = хг+Зхг. Переменная хг влияет на выход у двояким образом; непосредственно из второго уравнения и неявно через первое уравнение.
Упорялоченная производная у по хг определяется общим влиянием, которое учитывает прямой и неявный эффекты: Р- г = — + — — = 3+(2хг)(Зхг) = 3+бх~хг. ду ду дхг г г дхг дхг дхг 15.8. Рекурреитное обучение в реальном времени 949 При программировании упорядоченных производных для ВРТТ(Ь) величины в правой части каждой из упорядоченных производных (15.45) складываются с предыдущим значением левой части.
Таким образом, соответствующие производные распределяются от данного узла ко всем узлам и сииаптическим весам, которые передают информацию данному узлу (т.е. в обратном направлении), с учетом единичных задержек, которые могут иметь место в таких связях. Простота описаииой здесь формулировки избавляет от необходимости визуализации, такой как развертывание во времени или граф передачи сигнала.
В [291), [863) эта процедура использовалась для получения псевдокода реализации алгоритма РВТТ(Ь). 15.8. Рекуррентное обучение в реальном времени В этом разделе описывается егце один алгоритм обучения, называемый рекуррентным обучением в реальном времени (геа[-гппе геспггеп[ )еагп[пй — гьТК].(Ь))".
Этот алгоритм получил свое название из-за того, что коррекция сииаптических весов полиосвязиой рекурреитиой сети выполняется в реальиом времени, т.е. непосредственно в ходе выполнения сетью своих функций обработки сигнала [1157). На рис. 15.11 показана структура такой рекурреитиой сети. Оиа состоит из г] нейронов с т внешними входами. Эта сеть имеет два различных слоя: конкатенированного слоя "вход — обратная связь" (сопса[епа[ес[ [при[-Геег[Ьас)с !ауег) и слоя вычислительных узлов (ргосезгйпд !ауег оГ сошрп[айопа! пог[ез).
Соответствеиио сииаптические связи сети делятся иа прямые и обратные. Описание этой сети в пространстве состояний дается уравнениями (15.10) и (15.11). Уравнение процесса (15.10) воспроизведем в следующей расширенной форме; ГР(ерг Га(П) ) х(п+ 1) ( тнч( И (15.46) <р(учти(п) ) где предполагается, что все нейроны имеют одну и ту же функцию активации гр(.). Вектор и, размерности (г] + т + 1) х 1 является вектором сииаптических весов ч Алгоритм рекуррентного обучения в реальном времени впервые был описан в литературе по нейронным сетям в (1!571 Его происхождение можно отследить до ранней работы, написанной в 1965 голу н посввщенной системной идентификации лля настройки параметров произвольных динамических систем [7! 1] Вывод для одного слоя вполне рекуррентных нейронов был представлен в [1157), впоследствии он был расширен на более общие архитектуры [552), [861] ВВО Глава 15, Динамически управляемые рекуррентные сети хет = ", у =1,2,...,г7, (15.47) где хт,о и тте — ~-е столбцы транспонированных матриц весов %, и хте соответт т огненно.
Вектор г,(п) размерности (г7 + т+1) х1 определяется следующим образом: (15.48) где х(гх) — вектор состояния размерности г(х 1; и(п) — входной вектор размерности (и+1) х 1. Первым элементом вектора п(п) является число е1, и соответственно первый элемент вектора хек, равен внешнему смещению 1г„применяемому к нейрону 7'. Вектор состояния х(я) Входн яекго я(я отдельного нейрона 7' рекуррентной сети, т.е. Выходной хекпзр Рис.