1. Что такое ГРУ
В методе вычисления градиента в рекуррентной нейронной сети мы обнаружили, что когда количество временных шагов велико или временной шаг мал, градиент рекуррентной нейронной сети более склонен к распаду или взрыву. В то время как отсечение градиентов может иметь дело с взрывными градиентами, оно не может решить проблему затухания градиента. ** Обычно по этой причине RNN трудно на практике фиксировать зависимости с большими расстояниями временного шага во временных рядах.
** Предложена закрытая рекуррентная нейронная сеть для лучшего захвата зависимостей с большими временными шагами во временных рядах. ** Он контролирует поток информации через ворота, которые можно изучить. Среди них рекуррентная нейронная сеть с вентилируемым входом (GRU) — широко используемая рекуррентная нейронная сеть с вентилируемым входом.
2. Блок управления циклом
2.1 Сбросить ворота и обновить ворота
GRU Вводит концепцию шлюза сброса и шлюза обновления, которая изменяет способ вычисления скрытых состояний в рекуррентных нейронных сетях.
Входы в вентиль сброса и вентиль обновления в вентилируемом рекуррентном блоке являются входными данными текущего временного шага.Скрыть состояние с предыдущего временного шага, выход вычисляется полносвязным слоем, функция активации которого является сигмовидной функцией. Как показано ниже:
В частности, если предположить, что количество скрытых единиц равно h, мини-пакетный ввод на заданном временном шаге t(количество выборок равно n, количество входов равно d) и скрытое состояние предыдущего временного шага. сбросить портали обновить порталрассчитывается следующим образом:
Сигмовидная функция может преобразовывать значение элемента между 0 и 1. Поэтому сбросьте воротаи обновить порталДиапазон каждого элемента равен [0*,*1].
2.2 Возможные скрытые состояния
Затем блок контура управления будет вычислять возможные скрытые состояния, чтобы помочь в последующих вычислениях скрытых состояний. Мы умножаем выход вентиля сброса на текущем временном шаге на скрытое состояние предыдущего временного шага поэлементно (символ⊙). Если значение элемента в вентиле сброса близко к 0, это означает, что соответствующий элемент скрытого состояния сбрасывается в 0, то есть скрытое состояние предыдущего временного шага отбрасывается. Если значение элемента близко к 1, это означает сохранение скрытого состояния предыдущего временного шага. Затем результат поэлементного умножения объединяется с вводом текущего временного шага, и потенциальное скрытое состояние вычисляется через полносвязный слой с функцией активации tanh, а диапазон значений всех элементов составляет [-1 , 1].
В частности, возможные скрытые состояния на временном шаге tрассчитывается как:
Как видно из приведенной выше формулы, вентиль сброса управляет тем, как скрытое состояние предыдущего временного шага переходит в потенциальное скрытое состояние текущего временного шага. Скрытое состояние предыдущего временного шага может содержать всю историческую информацию временного ряда до предыдущего временного шага. Следовательно, ворота сброса можно использовать для отбрасывания исторической информации, не относящейся к прогнозированию.
2.3 Скрытое состояние
Наконец, временной шагtскрытое состояниерассчитывается с помощью портала обновлений для текущего временного шагав скрытое состояние предыдущего временного шагаи возможные скрытые состояния на текущем временном шагеСоставьте комбинацию:
Стоит отметить, что **ворота обновления управляют тем, как скрытое состояние должно обновляться скрытыми состояниями-кандидатами, которые содержат информацию о текущем временном шаге**, как показано выше. Предположим, что ворота обновления находятся на временном шагевсегда было примерно 1. Затем на шаге по времениВходная информация между t и t едва ли переходит в скрытое состояние на временном шаге t.По сути, это можно рассматривать как скрытое состояние в более ранний момент.Сохранить время и пройти к текущему времени шаг т. Этот дизайн может справиться с проблемой распада градиента в рекуррентных нейронных сетях и лучшим захватам зависимостям с большим временным шагом на временной серии.
Кратко резюмируем конструкцию блока контура управления:
- Ворота сброса помогают фиксировать краткосрочные зависимости во временных рядах;
- Портал обновлений помогает фиксировать долгосрочные зависимости временных рядов.
3. Код для реализации ГРУ
【Машинное обучение легко понять серия статей】
4. Ссылки
«Практическое обучение — глубокое обучение»
автор:@mantchs
Гитхаб:GitHub.com/NLP-love/ml…
Приглашаются все желающие присоединиться к обсуждению! Улучшайте этот проект вместе! Номер группы: [541954936]