🔁 GRU(Gated Recurrent Unit) 구조와 동작 원리
✅ LSTM의 장점을 가져온 GRU
GRU(Gated Recurrent Unit)는 LSTM의 장점을 유지하면서 더 단순한 구조로 만든 순환 신경망(RNN)
LSTM의 핵심 기능인 장기 기억 유지는 그대로 가져오되, 내부 구조를 더 간소화해서 연산량을 줄이고 학습 속도를 개선
🔍 GRU의 핵심 특징
- LSTM에서 사용되던 3개의 게이트 (Forget, Input, Output)를
→ 2개의 게이트 (Update, Reset)로 축소
- LSTM의 Cell State Ct를 제거하고,
→ 하나의 Hidden State ht가 모든 기억을 담당
- 구조는 단순하지만, 성능은 LSTM에 근접하거나 유사
📦 GRU의 구조 개요
- GRU는 은닉 상태 ht−1에서 다음 상태 ht로 연결될 때
두 갈래로 분기되었다가 다시 합쳐지는 구조를 가짐! (LSTM이랑 비슷)

위 그림처럼, Reset Gate와 Update Gate가 각각 정보를 조절하는 역할을 하며,
정보 선택과 업데이트가 이루어지는 흐름을 만들어줍니다.
✨ GRU에서 새롭게 생긴 두 개의 Gate
1️⃣ Reset Gate rt
- 새로운 사건이나 입력이 들어왔을 때, 기존의 기억을 얼마나 참고할지 결정하는 게이트
- 단기 기억 중심의 처리를 가능하게 함
rt=σ(Wr⋅xt+Ur⋅ht−1)
예: 이전 정보가 무의미할 경우(질문이 바뀜 등) 기억을 '초기화'하듯 리셋

2️⃣ Update Gate zt
- 현재 기억 ( \tilde{h}t )와 이전 기억 ( h{t-1} )을 어떻게 조합할지 가중 평균을 결정
- 기억의 유지 vs 갱신 정도를 제어
zt=σ(Wz⋅xt+Uz⋅ht−1)
이전 기억을 유지할지, 새로 덮어쓸지를 결정하는 가중치 평균 게이트

🔁 GRU의 전체 계산 과정
-
Reset Gate 계산: 과거 정보를 얼마나 반영할지 결정
rt=σ(Wr⋅xt+Ur⋅ht−1)
-
Update Gate 계산: 이전 상태를 얼마나 유지할지 결정
zt=σ(Wz⋅xt+Uz⋅ht−1)
-
후보 은닉 상태 계산: 현재 입력 + 리셋된 과거 정보 기반
h~t=tanh(W⋅xt+U⋅(rt⊙ht−1))
-
최종 은닉 상태 업데이트
ht=zt⊙ht−1+(1−zt)⊙h~t
- ⊙: element-wise 곱
- ht: GRU의 최종 출력이자 다음 시점으로 전달되는 hidden state
🧠 GRU의 직관적 해석
| 구성 요소 | 기능 |
|---|
| Reset Gate rt | 과거 정보를 얼마나 초기화할지 결정 |
| Update Gate zt | 과거 정보를 얼마나 유지할지 결정 |
| Hidden State ht | 기억과 출력을 모두 담당하는 상태 |