반응형
본 글은 카이스트 최윤재 교수님의 Programming for AI (AI504, Fall 2020), Class 9: Recurrent Neural Networks와 WikiDocs의 딥 러닝을 이용한 자연어 처리 입문을 바탕으로 정리한 글입니다.
GRU (Gated Recurrent Unit)
- 게이트 메커니즘이 적용된 RNN 프레임워크의 일종
- 기존 LSTM의 구조를 조금 더 간단하게 개선한 모델
- LSTM의 장기 의존성 문제에 대한 해결책을 유지하면서, 은닉 상태를 업데이트하는 계산을 줄임
- LSTM와 달리 출력 게이트가 없는 간단한 구조
- 마지막 출력값에 활성화 함수를 적용하지 않습니다.
- 성능 면에서는 LSTM과 비교해서 우월하다고 할 수 없지만 학습할 파라미터(가중치)가 더 적은 것이 장점
- 분설 결과가 큰 차이가 없다
- 주제별로 LSTM이 좋기도, GRU가 좋기도 하다는 의미
GRU의 구조
LSTM의 경우 forget gate, input gate, output gate 3개의 gate가 있었지만,
GRU에서는 reset gate, update gate 2개의 gate만을 사용합니다.
또한 cell state, hidden state가 합쳐져 하나의 hidden state로 표현됩니다.
$$r_{t}=σ(W_{xr}x_{t}+W_{hr}h_{t-1}+b_{r})$$
$$z_{t}=σ(W_{xz}x_{t}+W_{hz}h_{t-1}+b_{z})$$
$$g_{t}=tanh(W_{hg}(r_{t}∘h_{t-1})+W_{xg}x_{t}+b_{g})$$
$$h_{t}=(1-z_{t})∘g_{t}+z_{t}∘h_{t-1}$$
Reset Gate
$$r_{t}=σ(W_{xr}x_{t}+W_{hr}h_{t-1}+b_{r})$$
- 직전 시점의 은닉층의 값과 현시점의 정보에 가중치를 곱한 후 활성화 함수 시그모이드를 적용하여 구하는 방식
- 결괏값은 0~1 사이의 값을 가질 것이며 이전 hidden state의 값을 얼마나 활용할 것인지에 대한 정보로 해석
- 과거의 정보를 적당히 리셋시키는 게 목적
- reset gate에서 나온 값은 그대로 사용되는 것이 아니라 (3)식으로 다시 활용
- (3) 식에서는 전 시점의 hidden state에 reset gate를 곱하여 계산합니다.
Update Gate
$$z_{t}=σ(W_{xz}x_{t}+W_{hz}h_{t-1}+b_{z})$$
- LSTM의 input gate와 forget gate를 합쳐놓은 느낌
- 과거와 현재의 정보를 각각 얼마나 반영할지에 대한 비율을 결정
- 과거와 현재의 정보의 최신화 비율 결정
- \(z_t\)
- 현시점의 정보의 양 결정
- \(1-z_t\)
- 직전 시점의 은닉층의 정보에 곱해줌
- 과거 정보에 대해서 얼마나 사용할지 반영
각각이 LSTM의 input gate와 forget gate의 역할과 유사합니다.
Candidate
$$g_{t}=tanh(W_{hg}(r_{t}∘h_{t-1})+W_{xg}x_{t}+b_{g})$$
- 현시점의 정보 후보군을 계산
- 핵심은 과거 은닉층의 정보를 그대로 이용하지 않고 리셋 게이트의 결과를 곱하여 이용
- ∘ : pointwise operation
은닉층 계산
$$h_{t}=(1-z_{t})∘g_{t}+z_{t}∘h_{t-1}$$
- 마지막으로 update gate 결과와 candidate 결과를 결합하여 현시점의 은닉층을 계산하는 단계
- \(z_t\)
- 현시점의 정보의 양 결정
- \(1-z_t\)
- 직전 시점의 은닉층의 정보에 곱해줌
- 과거 정보에 대해서 얼마나 사용할지 반영
반응형
'Data Science > NLP' 카테고리의 다른 글
[NLP] NLP briefing (0) | 2022.05.04 |
---|---|
[NLP] NLP Introduction (0) | 2022.05.03 |
[NLP] Attention Mechanism (0) | 2022.03.28 |
[NLP] LSTM (Long Short-Term Memory, 장단기 메모리) (0) | 2022.03.28 |
[NLP] RNN (Recurrent Neural Network) (0) | 2022.03.28 |
댓글