IT Repository

(4) GRU 본문

RNN/Study

(4) GRU

IT찬니 2020. 1. 17. 13:29

 

 

 

 

GRU (Gated Recurrent Unit)

GRU는 LSTM보다 더 간단한 구조로 Gradient Vanishing 문제를 해결하고 제안되었습니다.
LSTM과 비교했을 때 Cell state를 제거하고 Gate의 수를 1개 줄임으로써 파라미터의 수를 감소시켰습니다.

 

Work Flow of GRU

  1. Gate coefficient를 계산한다.
    $\begin{eqnarray} r_t &=& \sigma~(W_r \cdot [x_t,~h_{t-1}]) & ~~~~~\text{Reset gate: } \text{이전 상태의 불필요한 정보를 제거} \\ z_t &=& \sigma~(W_z \cdot [x_t,~h_{t-1}]) & ~~~~~\text{Update gate: }h_{t-1} \text{ 와 } \tilde{h}_t \text{ 의 비중 결정} \end{eqnarray}$

  2. Reget gate에 이전 스텝의 상태를 흘려보낸 후, $\tilde{h}_t$를 만든다. (= Vanilla RNN 셀의 $h_t$)
    $\tilde{h}_t = tanh~(W \cdot [x_t,~r_t \ast h_{t-1}])$

  3. $z_t$를 통해 최종 $h_t$를 계산한다.
    $h_t = (1 - z_t) \ast h_{t-1} + z_t \ast \tilde{h}_t$

 

자세히 보면 LSTM에 비교해서 아래의 2가지 변화를 확인할 수 있습니다.

  1. LSTM의 장기 상태와 단기 상태 벡터를 하나의 $h_t$ 채널이 담당
  2. Update gate가 LSTM의 Forget gate와 Input gate의 역할을 함
 

How GRU Solves Gradient Vanishing

LSTM이 Cell state에 Non-linear function을 거치지 않음으로써 이전 정보를 전달하는 것과 유사하게
GRU 역시 $h_t$ 채널이 Non-linear function 없이 t+n 시점까지 정보를 전달함으로써 Gradient Vanishing 문제를 해결합니다.

'RNN > Study' 카테고리의 다른 글

(3) LSTM  (0) 2020.01.17
(2) Basic of RNN - Vanilla RNN  (0) 2020.01.16
(1) Basic of RNN - Sequence Data  (0) 2020.01.16
(0) Overview of RNN  (0) 2020.01.14
Comments