[Home] AI로 돌아가기

c) GRU (Gated Recurrent Unit, 게이트 순환 유닛 순환 신경망)

1. GRU vs LSTM 비교

비교 항목 LSTM GRU
등장 시기 2014년 2014년 (조경현 등): LSTM에 영감을 받음
구조 복잡한 구조
3개의 게이트: 입력(Input), 망각(Forget), 출력(Output)
간단한 구조
2개의 게이트: 업데이트(Update), 리셋(Reset)

[Note] LSTM에서 사용하는 망각 게이트와 입력 게이트를 업데이트 게이트 하나로 합침
상태 관리 은닉 상태와 (메모리) 셀 상태를 분리

[Note] 단기 메모리는 은닉층에 저장하고, 장기 메모리는 메모리 셀에 저장
은닉 상태와 (메모리) 셀 상태를 통합
계산량 많음 (느림) 적음 (빠름)
학습 속도 느림 빠름
구현 난이도 어려움 상대적으로 쉬움
장기 의존성 처리 우수함
(복잡한 장기 의존성에 강함)
양호함
(복잡한 경우 LSTM보다 성능 하락 가능)
데이터 요구량 많은 데이터 필요 적은 데이터에서도 학습 가능
비유 '꼼꼼한 필기형'
모든 중요한 내용을 정리
'빠른 요약형'
중요한 정보만 간략하게 요약
적합한 경우 • 복잡한 장기 의존성 문제
• 충분한 데이터가 있는 경우
• 정확도가 최우선인 경우
• 빠른 처리 속도가 필요한 경우
• 데이터가 제한적인 경우
• 리소스가 제한적인 환경
응용 분야 자연어 처리, 시계열 예측, 감정 분석, 기계 번역, 음성/오디오 처리
공통 한계 RNN 기반 구조적 한계 존재
(순차 처리로 인한 병렬화 어려움)

2. 선택 가이드

1) 요약

RNN: 시계열 데이터를 처리하는 신경망

LSTM: RNN의 문제점을 해결한 발전된 모델

GRU: LSTM의 좀더 간단한 버전


2) 선택

LSTM: 복잡한 장기 의존성이 중요하고, 충분한 계산 자원과 데이터가 있을 때

GRU: 빠른 학습과 추론이 필요하고, 리소스가 제한적이거나 데이터가 적을 때


3. 동작 원리

GRU는 은닉 상태와 (메모리) 셀 상태를 하나로 통합해 사용한다. 입력과 이전 상태를 바탕으로 두 개의 게이트가 정보 흐름을 조절하고, 새로운 은닉 상태를 생성한다. 이 덕분에 LSTM보다 학습 속도가 빠르며, 장기 의존성도 어느 정도 유지 가능하다.

다음의 2개의 게이트로 구성된다.

Update Gate:
이전 상태의 정보를 얼마나 유지할지 결정

Reset Gate:
과거 정보를 얼마나 잊을지 조절

...
RNN, LSTM, GRU
출처: https://python.plainenglish.io/introducing-gru-rnn-and-lstm-a-beginners-guide-to-understanding-these-revolutionary-deep-35b509a34a5a
...
RNN, LSTM, GRU
출처: https://doi.org/10.17977/um018v6i22023p215-250
...
RNN, LSTM, GRU
출처: https://doi.org/10.48550/arXiv.2007.12269