Уравнение для прямого распространения RNN с учетом Two Timesteps
в простой форме показано ниже:
Результат первого временного шага : Y0 = (Wx * X0) + b)
Вывод второго временного шага : Y1 = (Wx * X1) + Y0 * Wy + b
где Y0 = (Wx * X0) + b)
Чтобы уточнить это, рассмотрим, что RNN
имеет 5 Neurons/Units
, более подробное уравнение упоминается в снимок экрана ниже:
Уравнение прямого распространения RNN
Обратное распространение в RNN :
- Обратное распространение в RNN выполняется на каждом временном шаге. Следовательно, это называется обратным распространением во времени (BPTT).
- Выходная последовательность оценивается с использованием функции
cost
C(y(t(min)), y(t(min+1)), ... y(t(max)))
(где tmin
и tmax
- это первый и последний временные шаги вывода, не считая игнорируемых выходов), и градиенты этого функция стоимости распространяется в обратном направлении по развернутой сети - Наконец, параметры модели обновляются с использованием градиентов, вычисленных во время BPTT
- Обратите внимание, что градиенты текут в обратном направлении через все выходные данные, используемые функцией стоимости, не только через окончательный результат
На скриншоте ниже пунктирные линии представляют Forward Propagation
, а Solid линии представляют Back Propagation
.
поток прямого распространения и Обратное распространение в RNN
Dropout : если мы установим значение Dropout
как 0.1
в Recurrent Layer
(LSTM), это означает, что он пройдет только 90% входов на рекуррентный уровень
Recurrent Droput Если мы установим значение Recurrent Dropout
как 0.2
в Recurrent Layer
(LSTM), это означает, что он будет учитывать только 80% т Шаги по времени для этого рекуррентного слоя
Надеюсь, это ответит на все ваши вопросы!