1. 정의와 배경
- **순환 신경망(Recurrent Neural Network, RNN)**은 **시계열(Time-series) 데이터나 순차적 데이터(Sequential Data)**의 처리에 특화된 인공신경망 구조이다.
- 전통적인 **퍼셉트론(Perceptron)**이나 **합성곱 신경망(CNN)**은 입력 간의 독립성을 가정하지만, RNN은 이전 시점의 정보를 은닉 상태(Hidden State)로 보존하여 다음 시점에 반영함으로써 **순차적 의존성(Sequential Dependency)**을 학습할 수 있다.
- Jeffrey Elman(1990) 등이 개념을 발전시켰으며, 자연어 처리(Natural Language Processing, NLP)와 음성 인식 분야에서 크게 주목받았다.
2. 구조와 동작 원리
RNN의 핵심은 **순환 구조(Recurrent Connection)**이다.
(1) 기본 구조
- 입력: xt (시점 t의 입력 데이터)
- 은닉 상태: ht (과거 정보를 반영하는 내부 상태)
- 출력: yt (시점 t의 결과)
(2) 상태 갱신 수식
ht=f(Wxhxt+Whhht−1+bh)
yt=g(Whyht+by)
여기서:
- Wxh,Whh,Why: 가중치 행렬
- f: 활성화 함수 (Tanh, ReLU 등)
- g: 출력 함수 (Softmax 등)
즉, RNN은 시점 t의 은닉 상태가 현재 입력과 이전 은닉 상태 모두에 의해 결정되는 구조이다.
3. 수학적 기반
- 학습은 역전파(Backpropagation) 기반으로 수행되지만, 시간축을 따라 전개하는 시간을 통한 역전파(BPTT, Backpropagation Through Time) 기법이 사용된다.
- BPTT는 긴 시퀀스에서 기울기 소실(Vanishing Gradient) 또는 기울기 폭발(Exploding Gradient) 문제가 발생하기 쉬움.
4. 장점
- 순차적 데이터 처리: 텍스트, 음성, 시계열 등 **문맥(Context)**을 고려한 학습 가능.
- 파라미터 공유(Parameter Sharing): 시점마다 동일한 가중치를 사용하므로 학습 효율성 높음.
- 메모리 구조: 은닉 상태를 통해 일정 범위의 과거 정보 유지.
5. 한계
- 장기 의존성(Long-term Dependency) 문제: 긴 시퀀스에서는 초기 정보가 후반부까지 전달되지 않음.
- 기울기 소실·폭발 문제: BPTT 과정에서 심각한 학습 불안정성 발생.
- 병렬화 한계: 순차적 구조 특성상 학습 속도가 느림.
6. 발전과 극복
한계를 해결하기 위해 다양한 변형 구조가 등장:
- LSTM(Long Short-Term Memory, 1997): 입력·망각·출력 게이트 도입으로 장기 의존성 해결.
- GRU(Gated Recurrent Unit, 2014): LSTM을 경량화한 구조, 학습 속도와 성능 균형.
- Bidirectional RNN: 양방향 학습으로 문맥 이해력 향상.
- Attention Mechanism: 선택적 가중치 부여로 중요한 정보에 집중 가능.
- Transformer(2017): 순차적 구조를 완전히 제거, 병렬화와 장기 의존성 문제를 해결하여 사실상 RNN을 대체.
7. 응용 분야
- 자연어 처리(NLP): 기계 번역, 텍스트 생성, 감성 분석.
- 음성 인식(Speech Recognition): 연속 음성 데이터를 단어로 변환.
- 시계열 분석(Time Series Analysis): 주가 예측, IoT 센서 데이터 분석.
- 영상 처리(Video Analysis): 프레임 간 시간적 상관관계 학습.
8. 결론
RNN은 순차적 데이터 학습의 기초 구조로서, CNN이 공간적 패턴 인식에 강점을 가지는 것과 대비되는 중요한 모델이다.
- 비록 기울기 문제와 병렬화 한계로 인해 오늘날에는 LSTM, GRU, Transformer가 더 널리 쓰이고 있지만,
- 기술사적 관점에서는 RNN을 **“순차 데이터 학습을 가능하게 한 신경망의 전환점”**으로 평가할 수 있다.