Abstract
- 해당 논문에서는, 다양한 유형의 RNN을 비교한다. 특히 LSTM과 GRU와 같이 gate를 활용하는 메커니즘 구현에 초점을 맞춰 구현을 진행하게 되고, polyponic muis modeling과 speech signal modeling을 통해 평가를 진행한다.
- 해당 실험을 통해, tanh를 활용한 전통적인 방법보다 advanced recurrent unit를 활용하는 것에서 훨씬 좋은 성능을 보이는 것을 입증시켰으며, GRU와 LSTM에 대한 비교가 가능하다는 것을 확인하였다.
1. Introduction
- RNN은 입출력의 길이가 가변적인 경우에 유망한 결과를 보인다.
- 입력, 출력이 가변적이라는 의미는 '번역' 과정을 떠올리면 이해가 수월하다.
- 하지만 vanilla RNN으로는 거의 이러한 결과를 얻지 못하는데, 대신에 정교한 hidden units를 활용하여 long-short term memory 를 갖도록 적용시켜야 한다.
- 해당 논문에서는 LSTM과 비교적 최근에 설명되는 GRU 를 다루는데, 여기에 전통적인 tanh unit까지 평가를 진행하여 비교한다.
- 여러 실험을 통해, GRU가 CPU의 수렴속도와 parameters의 업데이트 및 일반화 측면에서 LSTM 을 앞설 수 있다는 결론을 얻었다.
2. Background: Recurrent Neural Network
- RNN은 가변 길이 시퀀스를 input으로 받으며 기존의 feedforward network의 확장된 모습이다.
- 가변 길이 시퀀스는 recurrent hidden state를 통해 다루어지며, 이때 활성화함수는 이전 시간에 의존한다.
- 각 시퀀스의 결과는 확률 분포의 형태로 표현되며, 해당 확률분포는 조건부확률로 표시될 수 있다.
- 하지만, RNN이 long-term dependencies를 갖도록 훈련시키는 것은 어렵다. ~ long-term 은 short-term 에 의해 hidden 되는 특성을 갖고 있다.
- gradient vanishing
- gradieng explode
- 위 두 가지 문제를 해결하기 위해 더 나은 learning algorithm이 존재한다.
- simple clipped gradient
- 첫 번째 기울기와 두 번째 기울기의 패턴을 동일하게 가져간다면, 덜 민감하게 학습가능
- 위 두 방법 이외에 이 논문이 중심을 두는 건 더욱 정교한 활성화 함수를 디자인 하는 것
- "element-wise nonlinearity ~ Gating Units를 활용하자"
- LSTM, GRU가 그 예시인데 이 unit들은 long-term dependencies를 더 잘 보장해주는 효과를 갖는다.
- 음성 인식, 기계 번역 등의 분야에서 우수한 성능을 발휘하나, 이에 국한되지는 않습니다.
3. Gated Recurrent Neural Networks
3.1 Long Short-Term Memory Unit (LSTM)
- 직관적으로, LSTM은 이른 단계에서 important feature를 탐지하고, 이 정보를 오랬동안 유지한다.
- 결국 long-distance dependencies를 잡을 수 있게되는 것.
3.2 Gated Recurrent Unit
- LSTM과 유사하게, GRU는 unit 내부에서 정보의 흐름에 관여하는 gating units를 갖고 있다.
- 차이점은, 별도의 분리된 메모리셀 (LSTM에서의 C)을 갖지는 않는다.
- 변수 z(update gate) 에 의해서 이전 기억을 얼만큼 업데이트 시킬지를 결정한다.
- 전체적인 계싼 메커니즘이나 방식은 LSTM과 유사하지만, state를 얼마나 노출시킬지의 "정도"를 통제할 수 없고 매번 "전체"를 노출해야한다는 차이점이 존재한다.
- 변수 r (reset gate) 는 forget gate와 유사한 역할을 수행하는데, 이전의 상태를 얼마나 기억할지를 결정한다.
- 정리하자면, GRU는 2개의 gate가 존재하는데,
- Reset gate : 과거 h를 얼마나 제외할지 결정
- Update gate : 어떤 info를 담을지, 제외할지 결정 ~ LSTM의 input + forget을 합쳐놓은 듯한 역할
3.3 Discussion
- 기존 RNN의 경우엔, 이전의 hidden state를 활용해 새로운 값을 대체
- 반면 LSTM & GRU의 경우, 기존의 내용을 유지하면서 그 위에 새로운 값을 추가
- 장점 1 : 입력 스트림에서의 특정한 특징에 대한 존재를 긴 steps 동안 더 잘 기억할 수 있음 (중요한 특징이라면 덮어지지 않고 유지됨)
- 장점 2 : 몇 개의 시간 단계를 우회하는 shortcut을 생성 (이는 back propagation시 gradient vanishing 없이 더 효율적으로 진행되도록 도움)
- LSTM 과 GRU의 차이점
- 메모리 콘텐츠의 노출을 제어함 ~ LSTM은 output gate에 의해 조절되는 반면, GRU는 모든 내용을 어떤 통제도 없이 노출
- LSTM 은 이전 시간에서 흘러오는 정보의 양을 별도의 control 없이 계산함
- LSTM은 새로운 메모리 셀을 forget gate와 독립적으로 통제함
- GRU는 이전 활성화의 정보 흐름을 비독립적으로 통제함
- 이러한 유사점 & 차이점만으로는 어떤 Gate 유형이 더 나은 성능을 발휘하는지 애매하며, 기존 논문들에서는 성능이 비슷하다고 보고하지만 이것이 machine translation에도 적용되는지는 불분명하기 때문에 철저한 비교가 필요하다.