image.png

“철수”라는 정보가 $W_{xh}$로 Encoding되어 Hidden-state vector에 저장됨.

Time step이 진행되면서 저장된 다양한 정보를 $W_{hh}$를 통해 Hidden-state vector에서 처리.

마지막 Time step의 Hidden-state vector를 가지고, $W_{hy}$를 통해 “철수”라는 categorical variable로 예측

문제점) 철수라는 정보 외의 많은 정보를 고정된 크기의 Hiddent state에 저장한다. Forward propagation 과정 중에 $W_{hh}$를 계속 곱한다.

RNN 학습 예시

forward propagation

image.png

$h_1 = tanh(ah_0 + bx_1 + c)$

$h_2 = tanh(ah_1 + bx_2 + c)$

$h_3 = tanh(ah_2 + bx_3 + c)$

$y_3 = dh_3 + e$

Backpropagation

Let $f = y_3$

${\frac{df}{dh_1} = \frac{dh_2}{dh_1} \times \frac{dh_3}{dh_2} \times \frac{dh_f}{dh_3}}$

${\frac{df}{dh_1} = \frac{dh_2}{dh_1} \times \frac{dh_3}{dh_2} \times d}$

${\max_x \left( \frac{d}{dx} \tanh(x) \right) = \frac{1}{2}}$

${\frac{df}{dh_1} \leq \frac{dh_2}{dh_1} \times \frac{1}{2}a \times d}$