Skip to main content

RNN & Sequence 모델

순서가 있는 데이터를 처리하는 신경망 — Transformer 이전의 시퀀스 처리 방법


📌 이 글의 목적

텍스트, 시계열, 음성 같은 순차 데이터를 처리하기 위해 RNN이 개발됨. RNN의 한계 → LSTM/GRU → Seq2Seq → Attention → Transformer로 이어지는 진화 과정을 이해하는 것이 목표. Transformer(#7)를 이해하기 위한 배경 지식.


1. RNN (Recurrent Neural Network)

1.1 핵심 아이디어

이전 시점의 **은닉 상태(hidden state)**를 다음 시점에 전달하여 순서 정보를 기억함.

hₜ = tanh(W_hh · hₜ₋₁ + W_xh · xₜ + b)

1.2 한계 — 기울기 소실

긴 시퀀스에서 앞쪽 정보가 소실됨. "어제 먹은 .... (100단어) ... 맛있었다"에서 "어제 먹은"의 정보가 "맛있었다"까지 전달되지 못함.


2. LSTM (Long Short-Term Memory)

게이트 메커니즘으로 기울기 소실 문제를 해결.

게이트역할
Forget Gate이전 기억 중 버릴 것 결정
Input Gate새 정보 중 저장할 것 결정
Output Gate현재 출력에 내보낼 것 결정
Cell State장기 기억 저장소 (게이트를 통해 선택적 업데이트)

셀 상태가 고속도로처럼 정보를 멀리까지 전달할 수 있어 장기 의존성 학습 가능.


3. GRU (Gated Recurrent Unit)

LSTM을 단순화한 버전. 게이트를 2개로 줄임.

LSTMGRU
게이트 수3 (Forget, Input, Output)2 (Reset, Update)
Cell State✅ 별도 존재❌ 은닉 상태에 통합
파라미터많음적음
성능대부분 비슷대부분 비슷
속도느림빠름

4. Seq2Seq — 인코더-디코더

가변 길이 입력 → 가변 길이 출력. 번역, 요약 등의 기반.

한계: 전체 입력을 하나의 고정 크기 Context Vector로 압축 → 긴 문장에서 정보 손실. 이 문제를 해결하기 위해 Attention 등장.


5. Attention 메커니즘

5.1 핵심 아이디어

디코더가 출력을 생성할 때, 인코더의 모든 은닉 상태를 참조하고 관련 있는 부분에 더 높은 가중치를 줌.

5.2 Attention → Self-Attention → Transformer

발전핵심
Attention (2014)디코더 → 인코더 참조 (Seq2Seq 보완)
Self-Attention (2017)시퀀스 내에서 자기 자신을 참조
TransformerSelf-Attention만으로 RNN 없이 시퀀스 처리

💡 RNN의 가장 큰 문제: 순차 처리라 병렬화 불가능. 100단어 문장은 100번 순차 계산해야 함. Transformer의 Self-Attention은 모든 위치를 동시에 계산할 수 있어 GPU 병렬화에 적합. 이것이 LLM의 대규모 학습을 가능하게 한 핵심 요인.


6. RNN의 현재 위치

RNN/LSTMTransformer
NLP❌ 대체됨✅ 주류
시계열⚠️ 아직 사용Transformer 진출 중
음성❌ 대체됨✅ (Whisper 등)
학습 가치Attention의 배경 이해현재 핵심

다음 글

Transformer 아키텍처 — Self-Attention, Multi-Head Attention, Positional Encoding


📝 참고 자료