1. RNN (Recurrent Neural Network, 순환 신경망)
ㅇ 이전 상태(은닉 상태, Hidden State) 정보를 기억하며 순차 데이터를 처리하는 신경망 구조
- 현재 입력과 이전 시점의 상태를 함께 이용하여 출력 생성
- 동일한 가중치를 시간축 전체에 공유하여 학습
ㅇ 기본 동작 원리
- 이전 시점의 은닉 상태를 다음 시점으로 전달하는 순환(Recurrent) 구조를 가짐
- 과거 정보가 누적되어 현재 출력 결정에 영향을 미침
ㅇ 기본 RNN의 특징
- 입력 길이가 가변적인 순차 데이터 처리 가능
- 시계열 데이터, 음성, 문장 등 순서가 중요한 데이터 처리에 적합
- 시간적 의존성(Temporal Dependency) 및 문맥(Context) 정보를 학습 가능
ㅇ 기본 RNN의 한계
- 긴 시퀀스(Long Sequence) 학습 시,
. 기울기 소실(Vanishing Gradient) 및 기울기 폭주(Exploding Gradient) 문제 발생
- 먼 과거 정보가 현재 출력에 미치는 영향을 충분히 학습하기 어려움
- 장기 의존성(Long-Term Dependency) 학습 성능이 저하됨
- 병렬 처리에 불리하여 학습 속도가 상대적으로 느림
ㅇ 개선형 구조
- LSTM (Long Short-Term Memory)
. 셀 상태(Cell State)와 게이트(Gate) 구조를 도입
. 입력 게이트, 망각 게이트, 출력 게이트를 통해 정보 저장·삭제·출력을 제어
. 장기 의존성 문제를 효과적으로 완화
- GRU (Gated Recurrent Unit)
. LSTM을 단순화한 구조
. 업데이트 게이트(Update Gate), 리셋 게이트(Reset Gate) 사용
. 파라미터 수가 적어 계산량이 감소하며 학습 속도가 빠름
. 많은 경우 LSTM과 유사한 성능을 보임
- Bidirectional RNN (양방향 RNN)
. 과거→미래, 미래→과거 방향의 정보를 동시에 활용
. 문맥 이해가 중요한 자연어 처리 분야에서 활용
- Stacked/Deep RNN
. 여러 개의 RNN 층을 쌓아 복잡한 패턴 학습 가능
. 고수준 특징 추출에 유리
ㅇ 주요 응용 분야
- 음성 인식 (Speech Recognition)
- 자연어 처리 (NLP)
- 기계 번역 (Machine Translation)
- 감정 분석 (Sentiment Analysis)
- 필기체 인식 (Handwriting Recognition)
- 주가 및 수요 예측 (Time-Series Forecasting)
- 이상 탐지 (Anomaly Detection)
ㅇ 최근 동향
- 과거에는 순차 데이터 처리의 대표 모델이었음
- 최근에는 병렬 처리 효율이 높고 장기 의존성 학습에 강한 Transformer 구조가 널리 사용됨
- 다만, 실시간 시계열 처리나 경량 모델에서는 여전히 RNN, LSTM, GRU가 활용되고 있음.