AI 기초

GUIDE / 중급

RNN의 한계와 Transformer로의 전환

RNN 계열(RNN·LSTM·GRU)의 세 가지 본질적 한계—기울기 소실, 순차 처리, 장거리 의존성—를 정리하고, Transformer가 어떻게 이를 한꺼번에 해결하는지 살펴본다.

PALDYN Team5 MIN READ

지난 글에서 Attention 메커니즘이 Seq2Seq의 병목을 해결했지만, 인코더와 디코더 자체는 여전히 RNN이었다. 2017년 이전까지 NLP 커뮤니티는 RNN 계열이 갖는 세 가지 본질적 한계를 해결하지 못하고 있었다. 이 한계들이 무엇이고, Transformer가 어떻게 동시에 해결했는지 총정리한다.

한계 1: 기울기 소실 (Vanishing Gradient)

BPTT에서 기울기는 타임스텝 수만큼 행렬 곱을 통과한다.

∂L/∂h_1 = ∂L/∂h_T · ∏_{t=2}^{T} W_h · diag(σ'(·))

W_h의 특잇값이 1보다 작으면 기울기는 기하급수적으로 0으로 수렴한다. LSTM/GRU는 이를 완화했지만 완전히 해결하지 못했다—매우 긴 시퀀스(T>1000)에서는 여전히 초기 토큰의 기울기가 소실된다.

RNN의 한계: 기울기 소실과 병렬화 불가

한계 2: 순차 처리 — 병렬화 불가

h_t는 반드시 h_{t-1}이 계산된 후에 구할 수 있다. 이는 GPU 병렬화의 근본적 장벽이다.

# RNN: T 스텝을 순서대로 처리 — GPU 활용 불가
for t in range(T):
    h_t = rnn_cell(x_t, h_{t-1})  # h_{t-1} 완료 전까지 대기

# Transformer: 모든 위치를 동시에 처리
out = attention(Q, K, V)           # (B, T, d) 한 번에 계산

길이 1000 토큰 시퀀스를 처리할 때, RNN은 1000번의 직렬 연산이 필요하지만 Transformer는 단 하나의 행렬 곱으로 모든 위치를 동시에 처리한다. 이것이 Transformer가 동등한 하드웨어에서 수십 배 빨리 학습하는 이유다.

한계 3: 장거리 의존성 (Long-Range Dependency)

단방향 RNN에서 t=1 토큰이 t=500 토큰에 영향을 미치려면 498번의 중간 상태를 거쳐야 한다. 각 단계에서 정보가 변형되므로 t=1의 정보가 희석된다.

# 장거리 의존성 문제를 실험적으로 확인
import torch

# 500토큰 시퀀스에서 첫 토큰과 마지막 토큰의 코사인 유사도
def check_long_range(model, seq_len=500):
    x = torch.randn(1, seq_len, 64)
    out, _ = model(x)
    first = out[0, 0, :]    # t=1 출력
    last  = out[0, -1, :]   # t=500 출력
    cos_sim = torch.cosine_similarity(first.unsqueeze(0),
                                      last.unsqueeze(0))
    return cos_sim.item()
# RNN: 낮은 유사도, Transformer Self-Attention: O(1) 직접 연결

Transformer의 Self-Attention은 모든 토큰 쌍을 직접 연결한다. t=1과 t=500 사이의 경로 길이가 O(1)이다.

RNN vs LSTM vs Transformer 종합 비교

RNN vs LSTM vs Transformer 비교

Transformer가 모두 해결하는 방법

한계 RNN/LSTM 대응 Transformer 해결책
기울기 소실 LSTM 게이트 (완화) Residual + LayerNorm (완전 해결)
순차 처리 해결 불가 Self-Attention (완전 병렬)
장거리 의존성 완화 O(1) 직접 연결
계산 복잡도 O(n) O(n²) — 단점

Transformer의 유일한 약점은 시퀀스 길이 n에 대한 O(n²) 메모리/계산 복잡도다. 이를 해결하기 위해 FlashAttention, Sliding Window Attention, Linear Attention 등 다양한 효율화 기법이 등장했다.

역사적 맥락

2013: Word2Vec (정적 임베딩)
2014: Seq2Seq (RNN + 인코더-디코더)
2015: Attention (Bahdanau, Luong)
2017: Transformer "Attention Is All You Need"
2018: BERT (양방향 Transformer 사전학습)
2019: GPT-2 (대규모 Transformer 언어모델)
2020~: GPT-3, PaLM, LLaMA...

RNN은 완전히 사라진 것이 아니다. 2023년 이후 Mamba(S4/SSM 계열)처럼 RNN의 O(1) 추론 메모리와 Transformer의 병렬 학습 장점을 결합하려는 시도가 이어지고 있다. RNN을 이해하는 것은 여전히 중요한 기반 지식이다.


지난 글: Attention 메커니즘: Seq2Seq 병목을 극복하다

다음 글: Transformer 기초: Attention Is All You Need


읽어주셔서 감사합니다. 😊

KEEP READING

이어 읽기

AI 기초2026.07.29

검증자 모델: 답을 고르는 눈을 따로 기른다

규칙 검증기, 결과 보상 모델(ORM), 과정 보상 모델(PRM), 자기 검증의 특성과 한계를 비교하고, 여러 후보 중 정답을 골라내는 검증 계층을 실무에서 어떻게 구성할지 코드와 함께 정리합니다.

중급16 MIN
AI 기초2026.07.29

사고 예산 제어: 얼마나 생각하게 할 것인가

사고 예산과 출력 상한의 관계, 난도에 따른 적응형 예산 배분, 예산 소진으로 답변이 잘리는 실패 모드와 그 방어책을 실무 코드와 운영 지표 중심으로 정리합니다.

중급14 MIN