Обратное распространение ошибки во времени
![]() | Эта статья может быть слишком технической для понимания большинства читателей . ( сентябрь 2010 г. ) |
Обратное распространение ошибки во времени (BPTT) — это метод, основанный на градиенте , для обучения определенных типов рекуррентных нейронных сетей . Его можно использовать для обучения сетей Элмана . Алгоритм был независимо разработан многочисленными исследователями. [1] [2] [3]
Алгоритм
[ редактировать ]
Данные обучения рекуррентной нейронной сети представляют собой упорядоченную последовательность пары ввода-вывода, . Для скрытого состояния необходимо указать начальное значение. . Обычно для этой цели используется вектор, состоящий из всех нулей.
BPTT начинается с развертывания рекуррентной нейронной сети во времени. Развернутая сеть содержит входы и выходы, но каждая копия сети имеет одни и те же параметры. Затем алгоритм обратного распространения ошибки используется для нахождения градиента стоимости по всем параметрам сети.
Рассмотрим пример нейронной сети, содержащей рекуррентный слой. и прямой связи слой . Существуют разные способы определения стоимости обучения, но совокупная стоимость всегда представляет собой среднее значение затрат каждого временного шага. Стоимость каждого временного шага может быть рассчитана отдельно. На рисунке выше показано, как стоимость за раз можно вычислить, развернув рекуррентный слой для трех временных шагов и добавления слоя прямой связи . Каждый экземпляр в развернутой сети имеют те же параметры. Таким образом, вес обновляется в каждом экземпляре ( ) суммируются.
Псевдокод
[ редактировать ]Псевдокод для усеченной версии BPTT, где обучающие данные содержат пары ввода-вывода, но сеть развернута для временные шаги:
Back_Propagation_Through_Time(a, y) // a[t] is the input at time t. y[t] is the output Unfold the network to contain k instances of f do until stopping criterion is met: x := the zero-magnitude vector // x is the current context for t from 0 to n − k do // t is time. n is the length of the training sequence Set the network inputs to x, a[t], a[t+1], ..., a[t+k−1] p := forward-propagate the inputs over the whole unfolded network e := y[t+k] − p; // error = target − prediction Back-propagate the error, e, back across the whole unfolded network Sum the weight changes in the k instances of f together. Update all the weights in f and g. x := f(x, a[t]); // compute the context for the next time-step
Преимущества
[ редактировать ]BPTT имеет тенденцию быть значительно быстрее при обучении рекуррентных нейронных сетей, чем методы оптимизации общего назначения, такие как эволюционная оптимизация. [4]
Недостатки
[ редактировать ]У BPTT есть трудности с локальными оптимумами. В рекуррентных нейронных сетях локальные оптимумы представляют собой гораздо более серьезную проблему, чем в нейронных сетях прямого распространения. [5] Рекуррентная обратная связь в таких сетях имеет тенденцию создавать хаотичные реакции на поверхности ошибок, что приводит к частому возникновению локальных оптимумов и в неудачных местах на поверхности ошибок.
![]() | этого раздела Фактическая точность оспаривается . ( сентябрь 2021 г. ) |
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Мозер, MC (1995). «Алгоритм сфокусированного обратного распространения ошибки для распознавания временных образов» . В Шовене, Ю.; Румельхарт, Д. (ред.). Обратное распространение ошибки: теория, архитектура и приложения . Хиллсдейл, Нью-Джерси: Lawrence Erlbaum Associates. стр. 137–169 . Проверено 21 августа 2017 г.
{{cite book}}
:|website=
игнорируется ( помогите ) - ^ Робинсон, Эй.Дж. и Фоллсайд, Ф. (1987). Сеть динамического распространения ошибок, управляемая утилитой (Технический отчет). Кембриджский университет, инженерный факультет. CUED/F-INFENG/TR.1.
- ^ Вербос, Пол Дж. (1988). «Обобщение обратного распространения ошибки с применением к рекуррентной модели газового рынка» . Нейронные сети . 1 (4): 339–356. дои : 10.1016/0893-6080(88)90007-x .
- ^ Сьоберг, Йонас; Чжан, Цинхуа; Люнг, Леннарт; Бенвенист, Альберт; Делион, Бернар; Глореннек, Пьер-Ив; Хьялмарссон, Хокан ; Юдицкий, Анатолий (1995). «Нелинейное моделирование черного ящика при идентификации систем: единый обзор». Автоматика . 31 (12): 1691–1724. CiteSeerX 10.1.1.27.81 . дои : 10.1016/0005-1098(95)00120-8 .
- ^ Депутат Куэльяр, М. Дельгадо и М. К. Пегалахар (2006 г.). «Применение нелинейного программирования для обучения рекуррентных нейронных сетей решению задач прогнозирования временных рядов». Информационные системы предприятия VII . Спрингер Нидерланды. стр. 95–102. дои : 10.1007/978-1-4020-5347-4_11 . ISBN 978-1-4020-5323-8 .