Обратное распространение во времени

Методика обучения рекуррентных нейронных сетей

Обратное распространение во времени ( BPTT ) — это градиентный метод обучения определенных типов рекуррентных нейронных сетей , таких как сети Элмана . Алгоритм был независимо выведен многочисленными исследователями. [1] [2] [3]

Алгоритм

BPTT разворачивает рекуррентную нейронную сеть во времени.

Обучающие данные для рекуррентной нейронной сети представляют собой упорядоченную последовательность пар вход-выход, . Для скрытого состояния должно быть указано начальное значение , обычно выбираемое как нулевой вектор . к {\displaystyle к} а 0 , у 0 , а 1 , у 1 , а 2 , у 2 , . . . , а к 1 , у к 1 {\displaystyle \langle \mathbf {a} _{0}, \mathbf {y} _{0} \rangle , \langle \mathbf {a} _{1}, \mathbf {y} _{1} \rangle ,\langle \mathbf {a} _{2},\mathbf {y} _{2}\rangle ,...,\langle \mathbf {a} _{k-1},\mathbf {y} _{k-1}\rangle } х 0 {\displaystyle \mathbf {x} _{0}}

BPTT начинается с развертывания рекуррентной нейронной сети во времени. Развернутая сеть содержит входы и выходы, но каждая копия сети имеет одни и те же параметры. Затем алгоритм обратного распространения используется для нахождения градиента функции потерь относительно всех параметров сети. к {\displaystyle к}

Рассмотрим пример нейронной сети, содержащей рекуррентный слой и слой прямой связи . Существуют разные способы определения стоимости обучения, но агрегированная стоимость всегда является средним значением стоимости каждого из временных шагов. Стоимость каждого временного шага может быть вычислена отдельно. На рисунке выше показано, как можно вычислить стоимость во времени, развернув рекуррентный слой для трех временных шагов и добавив слой прямой связи . Каждый экземпляр в развернутой сети имеет одни и те же параметры. Таким образом, обновления веса в каждом экземпляре ( ) суммируются. ф {\displaystyle f} г {\displaystyle г} т + 3 {\displaystyle т+3} ф {\displaystyle f} г {\displaystyle г} ф {\displaystyle f} ф 1 , ф 2 , ф 3 {\displaystyle f_{1},f_{2},f_{3}}

Псевдокод

Ниже представлен псевдокод для усеченной версии BPTT, где обучающие данные содержат пары вход-выход, а сеть развернута для временных шагов: н {\displaystyle n} к {\displaystyle к}

Back_Propagation_Through_Time(a, y) // a[t] — вход в момент времени t. y[t] — выход Разверните сеть так, чтобы она содержала k экземпляров f  , пока не будет выполнен критерий остановки: x := вектор нулевой величины // x — текущий контекст для t от 0 до n − k do // t — время. n — длина обучающей последовательности Установите входы сети на x, a[t], a[t+1], ..., a[t+k−1] p := распространяем входные данные по всей развернутой сети e := y[t+k] − p; // ошибка = цель − прогноз Обратное распространение ошибки e по всей развернутой сети. Сложите изменения веса в k экземплярах f. Обновите все веса в f и g. x := f(x, a[t]); // вычисляем контекст для следующего временного шага

Преимущества

BPTT, как правило, значительно быстрее подходит для обучения рекуррентных нейронных сетей, чем методы оптимизации общего назначения, такие как эволюционная оптимизация . [4]

Недостатки

BPTT испытывает трудности с локальными оптимумами. В случае с рекуррентными нейронными сетями локальные оптимумы представляют собой гораздо более существенную проблему, чем в случае с нейронными сетями прямого распространения. [5] Рекуррентная обратная связь в таких сетях имеет тенденцию создавать хаотические ответы на поверхности ошибок, что приводит к частому появлению локальных оптимумов и в плохих местах на поверхности ошибок.

Смотрите также

Ссылки

  1. ^ Mozer, MC (1995). «Алгоритм сфокусированного обратного распространения для распознавания временных образов». В Chauvin, Y.; Rumelhart, D. (ред.). Обратное распространение: теория, архитектура и приложения . Hillsdale, NJ: Lawrence Erlbaum Associates. стр.  137–169 . Получено 21 августа 2017 г. {{cite book}}: |website=проигнорировано ( помощь )
  2. ^ Робинсон, А. Дж. и Фоллсайд, Ф. (1987). Динамическая сеть распространения ошибок, управляемая коммунальными службами (технический отчет). Кембриджский университет, инженерный факультет. CUED/F-INFENG/TR.1.
  3. ^ Вербос, Пол Дж. (1988). «Обобщение обратного распространения с применением к рекуррентной модели газового рынка». Нейронные сети . 1 (4): 339– 356. doi :10.1016/0893-6080(88)90007-x.
  4. ^ Сьёберг, Йонас; Чжан, Цинхуа; Люнг, Леннарт; Бенвенист, Альберт; Делион, Бернар; Глореннек, Пьер-Ив; Хьялмарссон, Хокан ; Юдицкий, Анатолий (1995). «Нелинейное моделирование черного ящика при идентификации систем: единый обзор». Автоматика . 31 (12): 1691–1724 . CiteSeerX 10.1.1.27.81 . дои : 10.1016/0005-1098(95)00120-8. 
  5. ^ MP Cuéllar и M. Delgado и MC Pegalajar (2006). "Применение нелинейного программирования для обучения рекуррентных нейронных сетей в задачах прогнозирования временных рядов". Enterprise Information Systems VII . Springer Netherlands. стр.  95– 102. doi :10.1007/978-1-4020-5347-4_11. ISBN 978-1-4020-5323-8.
Взято с "https://en.wikipedia.org/w/index.php?title=Обратное_распространение_ошибки_сквозь_время&oldid=1257016986"