2019.08.19
출처 : Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling. 2014. Junyoung Chung et el.
핵심키워드
- GRU
- Vanishing Gradient Problem
Gated Recurrent Unit, GRU
GRU(Gated Reccurent Unit)은 LSTM의 장기 의존성 문제를 해결하면서, 매번 은닉상태 업데이트 계산을 줄여 LSTM보다 Simple한 구조를 가진다.
1. GRU(Gated Reccurent Unit)
LSTM에서는 출력, 입력, 삭제 게이트라는 3개의 게이트가 존재했다. 반면, GRU에서는 업데이트 게이트와 리셋 게이트 두 가지 게이트만 존재한다. 따라서 LSTM보다 학습 속도가 빠르다. 하지만 여러 평가에서 LSTM과 비슷한 성능을 보이고 있다고 알려져있다.
LSTM와 비슷하게 GRU 또한 기존 정보를 전달하는 구조를 가지고 있다. 하지만, GRU는 state 노출 정도를 제어하지 않지만, 매번 전체 state를 노출한다는 차이가 있다.
2. GRU’s gates
time t에서 j번째의 GRU의 memory cell output은 위와 같다. h_t는 직전 timestep h_(t-1)과 the candidate activation tilda h_t의 linear interpolation과 같다. 여기서 두 정보량을 조절하는 zₜ, update gate 는 아래와 같다.
LSTM과 비교했을 때, 기존 state와 새롭게 계산된 state의 선형적 합으로 계산하는 것이 비슷하지만, GRU는 해당 state의 노출량을 제어하지 않고, state output을 전부사용한다는 점에서 차이가 있다. 여기서 살짝 이해하기 애매했는데, LSTM과 GRU의 memory cell을 비교한 그림에서 LSTM은 cₜ를 계산하고 output gate로 OUTPUT을 조절하지만, GRU는 계산한 hₜ를 그대로 OUTPUT으로 전달하는데에서 차이가 있다는 뜻으로 이해했다.
The candidate activation인 tilda hₜ는 위처럼 계산된다. 위에서 rₜ는 reset gate를 의미하며, 아래와 같이 계산된다.
3. Discussion
LSTM과 GRU 모두 기존 문맥을 유지하고 새로운 문맥을 추가하는 형식을 갖추게 된다. 이런 추가 방식은 두 가지 이점이 있다.
첫번째는 각 유닛이 a long series of steps의 input stream에서 중요한 feature를 기억한다는 것이다. LSTM 유닛의 forget gate나 GRU의 update gate는 important feature를 overwritten하지 않고 계속 유지한다.
두번째는 여러 step을 우회하는 바로가기 경로를 만드는 것이다. 이런 short cut은 역전파 단계에서 vanishing gradient 문제를 해결해줄 수 있다.
2번에서 다룬 LSTM과 GRU의 차이만으로 어떤 모델이 더 낫다고 단정짓긴 어렵다. 그리고 비슷한 성능을 보이기 때문에 먼저 하이퍼파라미터를 찾은 모델을 사용하는 것이 경제적이다.