『 '데이널'의 컨텐츠에 포함된 정보는? 』
기존 RNN은 그래디언트 소멸과 같은 문제로 인해 장거리 종속성을 해결하는 기능이 떨어졌습니다. 그래서 LSTM이라는 모델이 등장했죠. 그런데 LSTM은 복잡한 아키텍처를 가지고 있죠. 이 글은 LSTM의 이러한 단점을 대부분 해결하는 하나의 변형된 아키텍처인 Gated Recurrent Unit(GRU)에 대해 이야기해 보도록 하겠습니다.
한기지 재미있는 것은 이 유명한 논문이 한국의 조경현 박사 외 연구진이 개발했다는 사실입니다. 이 논문 2014년에 발표했고 논문 제목은 Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation 입니다. RNN encoder-decoder 구조를 제시하면서 LSTM과 유사하지만 보다 가벼운 GRU 구조를 제안했습니다.
GRU(Gated Reccurent Unit) 아키텍처
GRU의 아이디어는 기존 LSTM의 구조를 조금 더 간단하게 개선한 모델을 만들어 보자는 것이었습니다. 쉽게 말해 Gate 수를 줄여 보자는 거였죠. GRU 아키텍처는 순차적 데이터를 처리하기 위해 2개의 Gate만 남겼습니다.
- Reset Gate(
) : 과거 정보를 얼마나 잊어버릴지 결정합니다. - Update Gate(
) : 새로운 정보로 업데이트하는 것과 비교하여 과거 정보를 얼마나 유지할 것인지 제어합니다. - Current memory content(
): 현재 시간 단계의 메모리 내용은 업데이트 및 재설정 게이트를 기반으로 업데이트됩니다. - Hidden State(
) : 입력 시퀀스에서 관련 정보를 캡처하여 GRU 장치의 출력을 나타냅니다.

1. LSTM 아키텍처와 비교
LSTM에서는 Gate 3개 였는데, GRU에서는 2개로 줄었습니다.
- Forget Gate → Reset Gate
- Input gate, Forget gate → update gate
- Output gate → x(삭제)
- cell state, hidden state가 합쳐져 하나의 hidden state로 표현
2. GRU 처리 절차
- reset gate를 계산하여 임시
를 만듭니다. - update gate를 통해
과 간의 비중을 결정합니다. 를 이용해 최종 를 계산합니다.
Reset Gate
reset gate는 과거의 hiddent state 값을 적절히 버려주는 역할을 합니다.
← 재조정 비율


이전 시점의 hidden state와 현 시점의
← Candidate(현재 기억 후보)
- 𝑊 : 재조정비율
: 과거 기억 : 현재 입력 : 과기 기억을 reset, 현재 입력 위조로 후보 생성 : 과거 기억을 기준으로 현재 입력과 조합하여 후보 생성
reset gate에서 나온 값은 그대로 사용되는 것이 아니라
Update Gate
update gate는 LSTM의 input, forget gate와 비슷한 역할을 합니다. 과거와 현재의 정보를 각각 얼마나 반영할지에 대한 비율을 구하는 것이 핵심입니다.
← 갱신 비율


← 최종 기억- $ \tilde{h_{t}} $ : 1- 갱신비율
: 과거 기억 : 갱신비율- $ \tilde{h_{t}} $ : 현재 기억 후보
이면 뒤쪽이 0이 되니 과거 정보를 반영 이면 앞쪽이 0이 되니 현재 정보를 반영
그래서 각 역할을 LSTM의 input, forget gate로 볼 수 있습니다. 최종적으로
GRU의 특장점
1. 효율적인 훈련
GRU는 기존 RNN보다 경사 소멸 문제를 더 효과적으로 완화하여 보다 안정적이고 효율적인 훈련을 가능하게 합니다. 이유는 non-linear 연산을 하지 않아 문제 해결했습니다.
2. 메모리 효율성
LSTM(Long Short-Term Memory) 네트워크에 비해 매개변수가 더 적은 GRU는 메모리 효율성이 높으면서도 비슷한 성능을 제공합니다.
- 학습할 파라미터 수가 감소하여 LSTM보다 빠른 학습 속도
- 하지만 LSTM이 여전히 많이 쓰이는 이유는 그래픽카드 성능이 좋아짐에 따라 큰 차이가 없어서 기본 모델인 LSTM을 많이 사용
3. 성능
GRU는 단순한 아키텍처로 인해 훈련 중에 더 빠르게 수렴하는 경우가 많다고 알려져 있습니다. 하지만 실제 LSTM과 비교해서 우월하다고 할 정도는 아니고 비슷하다고 할 수 있습니다. 그래프에서 주황색이 LSTM, 하늘색이 GRU, 근소하게 GRU가 좋습니다.

4. 구현 용이성
LSTM에 비해 더 단순한 아키텍처입니다. 그래서 복잡한 순환 단위에 비해 구현하고 이해하기가 더 쉽습니다. 마지막 출력값에 활성화함수를 적용하지 않습니다.
GRU의 응용
- 자연어 처리(NLP): GRU는 장거리 종속성을 캡처하는 것이 중요한 감정 분석, 언어 번역, 텍스트 생성과 같은 작업에 탁월합니다.
- 시계열 예측: GRU는 주가, 날씨 패턴, 생리학적 신호와 같은 시계열 데이터의 미래 가치를 예측하는 데 매우 적합합니다.
- 음성 인식: GRU는 음성 인식 시스템에서 중요한 역할을 하며 오디오 데이터의 순차적 패턴을 모델링하는 데 도움을 줍니다.
- 비디오 분석: 동작 인식 및 비디오 캡션과 같은 비디오 처리 작업에서 GRU는 프레임 전반에 걸쳐 시간적 부분을 반영하는 데 기여합니다.
마무리
GRU는 LSTM에 비해 간단한 구조로 인해 학습 속도가 빠르고 구현이 용이하다는 장점이 있는데요. 자연어 처리 분야를 비롯한 다양한 분야에서 널리 활용되고 있습니다. 하지만 모든 문제에 대해 최적의 성능을 보장하지는 않습니다.
문제의 특성에 따라 적절한 모델을 선택해야 합니다. 향후에는 GRU의 성능을 더욱 향상시키기 위한 연구가 활발하게 진행될 것으로 예상됩니다.
'딥러닝' 카테고리의 다른 글
Seq2Seq 모델의 원리와 특징이 무엇일까? (0) | 2024.05.08 |
---|---|
가중치 공유를 하는 이유 (0) | 2024.05.07 |
LSTM 모델의 의미와 장단점 (0) | 2024.04.25 |
LSTM의 3개의 Gate 특징 및 설명 (0) | 2024.04.23 |
LSTM의 Cell State 특징 및 원리 (0) | 2024.04.22 |