프리랜서로 살아남기

[AI 부트캠프] 자연어 처리 딥러닝의 진화: RNN에서 Transformer까지 핵심 정리 본문

카테고리 없음

[AI 부트캠프] 자연어 처리 딥러닝의 진화: RNN에서 Transformer까지 핵심 정리

디지털 프리랜서 2025. 7. 24. 09:28

자연어 처리 딥러닝의 진화: RNN에서 Transformer까지 핵심 정리

자연어 처리(NLP) 분야의 딥러닝 모델들은 텍스트 데이터를 효과적으로 다루기 위해 발전해왔습니다. 특히, 시퀀스(Sequence) 데이터를 처리하는 데 강점을 보이는 모델들이 중요한 역할을 해왔는데, 그 핵심적인 모델들을 중심으로 아키텍처의 특징과 발전 과정을 자세히 정리해보겠습니다.

1. RNN (Recurrent Neural Network): 순차 데이터 처리의 시작

1.1 RNN의 기본 개념

RNN은 순차적 데이터를 처리하기 위해 설계된 신경망입니다. 가장 큰 특징은 이전 시점의 정보를 현재 시점으로 전달하는 순환 구조를 가진다는 점이에요.

h(t) = tanh(W_h * h(t-1) + W_x * x(t) + b)

RNN의 순환 구조 시각화:

x₁ ─→ [RNN] ─→ h₁ ─→ y₁
      ↓   ↑
      h₀  │
          │
x₂ ─→ [RNN] ─→ h₂ ─→ y₂
      ↓   ↑
      h₁  │
          │  
x₃ ─→ [RNN] ─→ h₃ ─→ y₃

여기서 h(t)는 현재 시점의 은닉 상태, h(t-1)은 이전 시점의 은닉 상태입니다.

1.2 RNN의 주요 특징

특징 설명
가변 길이 처리 입력 시퀀스의 길이에 관계없이 처리 가능
매개변수 공유 모든 시점에서 동일한 가중치 사용으로 효율적
메모리 기능 은닉 상태를 통해 이전 정보 기억

1.3 RNN의 한계점

하지만 RNN에는 치명적인 문제들이 있었습니다:

  • 기울기 소실(Vanishing Gradient): 긴 시퀀스에서 초기 정보가 점점 약해져서 사라지는 문제
  • 기울기 폭발(Exploding Gradient): 반대로 기울기가 지나치게 커지는 현상
  • 순차 처리: 병렬 처리가 불가능해서 학습 속도가 느림

1.4 RNN의 발전형: LSTM과 GRU

이런 문제들을 해결하기 위해 LSTM(Long Short-Term Memory)GRU(Gated Recurrent Unit)가 등장했습니다.

LSTM 게이트 구조:

     ┌─── Forget Gate ───┐
     │                   │
C(t-1) ──┬─→ [×] ──┬─→ [+] ──→ C(t)
         │         │    ↑
h(t-1) ──┼─→ Input ─┼─→ [×]
         │   Gate   │
x(t) ────┼─────────┬┘
         │         │
         └─ Output Gate ─→ h(t)
  • Forget Gate: 불필요한 정보 제거
  • Input Gate: 새로운 정보 선택적 저장
  • Output Gate: 출력할 정보 결정

GRU의 특징:

  • LSTM보다 단순한 구조
  • Reset Gate와 Update Gate만 사용
  • 계산 효율성이 높음

2. Attention Mechanism: 선택적 집중의 혁신

2.1 Attention의 등장 배경

RNN 기반 인코더-디코더 모델의 한계를 극복하기 위해 등장한 것이 바로 Attention 메커니즘입니다. 번역 작업에서 긴 문장을 처리할 때, 디코더가 인코더의 마지막 은닉 상태만 참조하는 것은 정보 손실이 컸거든요.

2.2 Attention의 작동 원리

Attention은 다음 3단계로 작동합니다:

Attention 메커니즘 작동 과정:

[Query] ──┐
          ├─→ [Attention Score 계산] ─→ [Softmax 정규화] ─→ [가중합] ─→ [Output]
[Key] ────┘                                                      ↑
                                                                  │
[Value] ──────────────────────────────────────────────────────────┘
  1. Query와 Key의 유사도 계산

    score(q, k) = q^T * k
  2. Attention Weight 계산

    α = softmax(score)
  3. Value의 가중합

    output = Σ(α_i * v_i)

2.3 Attention의 장점

  • 장거리 의존성 해결: 모든 입력 위치에 직접 접근 가능
  • 병렬 처리: RNN과 달리 동시에 계산 가능
  • 해석 가능성: 어떤 부분에 집중했는지 시각화 가능

2.4 Self-Attention vs Cross-Attention

구분 Self-Attention Cross-Attention
정의 동일 시퀀스 내에서 attention 서로 다른 시퀀스 간 attention
용도 문맥 이해, 관계 파악 번역, 요약 등
예시 "그는 공을 찼다"에서 "그는"과 "찼다"의 관계 영어 문장과 한국어 번역의 대응 관계

3. Transformer: Attention Is All You Need

3.1 Transformer의 혁신

2017년 구글에서 발표한 "Attention Is All You Need" 논문에서 제안된 Transformer는 RNN을 완전히 제거하고 순수하게 Attention 메커니즘만으로 구성된 혁신적인 아키텍처입니다.

3.2 Transformer의 핵심 구성 요소

3.2.1 Multi-Head Attention

하나의 Attention 대신 여러 개의 Attention Head를 병렬로 사용합니다:

MultiHead(Q,K,V) = Concat(head_1, ..., head_h)W^O
head_i = Attention(QW_i^Q, KW_i^K, VW_i^V)

Multi-Head Attention의 장점:

  • 다양한 관점에서 정보 추출
  • 서로 다른 위치 관계 학습
  • 표현력 향상

3.2.2 Positional Encoding

RNN 없이는 순서 정보가 없어지므로, 위치 정보를 임베딩에 추가합니다:

PE(pos, 2i) = sin(pos/10000^(2i/d_model))
PE(pos, 2i+1) = cos(pos/10000^(2i/d_model))

3.2.3 Feed-Forward Network

각 위치에 독립적으로 적용되는 완전연결층입니다:

FFN(x) = max(0, xW_1 + b_1)W_2 + b_2

3.3 Transformer 아키텍처

Transformer 전체 아키텍처:

Input Embeddings + Positional Encoding
           │
    ┌──────────────┐
    │  Encoder     │     ┌──────────────┐
    │              │────▶│  Decoder     │
    │ • Multi-Head │     │              │
    │   Attention  │     │ • Masked     │
    │ • Add & Norm │     │   Multi-Head │
    │ • Feed       │     │   Attention  │
    │   Forward    │     │ • Add & Norm │
    │ • Add & Norm │     │ • Cross      │
    │              │     │   Attention  │
    │ (× N layers) │     │ • Add & Norm │
    └──────────────┘     │ • Feed       │
                         │   Forward    │
                         │ • Add & Norm │
                         │              │
                         │ (× N layers) │
                         └──────────────┘
                                │
                         Linear + Softmax
                                │
                        Output Probabilities

인코더 레이어 구조:

Input
  │
Multi-Head Attention
  │
Add & Norm (Residual Connection)
  │
Feed Forward Network
  │
Add & Norm (Residual Connection)
  │
Output

디코더 레이어 구조:

Input
  │
Masked Multi-Head Attention (Self-Attention)
  │
Add & Norm
  │
Multi-Head Attention (Cross-Attention with Encoder)
  │
Add & Norm
  │
Feed Forward Network
  │
Add & Norm
  │
Output

3.4 Transformer의 핵심 특징

특징 설명 장점
완전 병렬 처리 모든 위치를 동시에 계산 학습 속도 대폭 향상
장거리 의존성 모든 위치 간 직접 연결 긴 문맥 이해 능력
확장성 레이어 수와 파라미터 증가 가능 대규모 모델 구축
전이 학습 사전 훈련된 모델 활용 다양한 태스크 적용

4. 아키텍처별 성능 비교

4.1 계산 복잡도 비교

모델 시간 복잡도 공간 복잡도 병렬화
RNN O(n) O(n) 순차적
CNN O(1) O(n) 완전 병렬
Attention O(1) O(n²) 완전 병렬

4.2 실제 성능 향상

Transformer 도입 후 NLP 태스크에서의 성능 향상:

  • 기계 번역: BLEU 점수 28.4 → 41.8
  • 언어 모델링: 복잡도(Perplexity) 대폭 감소
  • 문서 분류: F1 점수 지속적 향상

5. 현실 적용과 발전

5.1 Transformer 기반 모델들

Transformer의 등장으로 다음과 같은 혁신적인 모델들이 탄생했습니다:

BERT (2018)

  • 양방향 인코더 표현
  • 마스크 언어 모델링
  • 문맥 이해 능력 향상

GPT 시리즈 (2018~)

  • 생성형 사전 훈련 모델
  • 디코더 전용 구조
  • 창의적 텍스트 생성

T5 (2019)

  • Text-to-Text Transfer Transformer
  • 모든 태스크를 텍스트 생성으로 통일

5.2 최신 동향

최근에는 더욱 효율적인 Attention 메커니즘들이 연구되고 있습니다:

  • Linear Attention: O(n²) → O(n) 복잡도 개선
  • Sparse Attention: 선택적 위치만 계산
  • Local Attention: 지역적 범위 내에서만 계산

결론

RNN에서 시작된 순차 데이터 처리는 Attention 메커니즘을 거쳐 Transformer라는 혁신적인 아키텍처로 발전했습니다. 이 여정을 요약하면:

  1. RNN 시대: 순차적 처리의 시작, 하지만 장거리 의존성과 병렬 처리의 한계
  2. Attention 등장: 선택적 집중으로 장거리 의존성 해결, 해석 가능성 향상
  3. Transformer 혁신: 완전한 병렬 처리와 확장성으로 현재 NLP의 표준

특히 Transformer는 단순히 성능 향상을 넘어서 대규모 언어 모델의 시대를 열었습니다. GPT, BERT 등 우리가 일상에서 사용하는 AI 서비스들의 기반이 되었죠.

앞으로도 Transformer를 기반으로 한 더욱 효율적이고 강력한 모델들이 계속 등장할 것으로 예상됩니다. 이 발전 과정을 이해하는 것은 현재와 미래의 NLP 기술을 이해하는 핵심이라고 할 수 있어요.

자연어 처리 딥러닝의 각 아키텍처가 이전 모델의 한계를 극복하면서 발전해온 과정을 보면서, 기술 발전의 놀라운 속도를 다시 한번 실감하게 됩니다.