Transformer 기본 구조

study note

Transformer 기본 구조

1. 서론

Transformer는 2017년 Vaswani et al.의 논문 *“Attention is All You Need”*에서 제안된 모델로, Self-Attention 메커니즘을 통해 RNN이나 CNN 없이도 시퀀스 데이터를 병렬적으로 처리할 수 있는 구조를 갖는다.
이후 BERT, GPT, T5 등 다양한 모델의 기반이 되었으며, 자연어 처리뿐 아니라 비전, 멀티모달 분야까지 확장되었다.


2. 전체 구조

Transformer는 크게 EncoderDecoder 블록으로 구성된다.

  • Encoder: 입력 시퀀스를 받아 의미적 표현(embedding)을 생성.
  • Decoder: Encoder의 출력을 참조하며 목표 시퀀스를 생성.

각 블록은 Multi-Head Self-Attention + Feed-Forward Network + Residual Connection + Layer Normalization으로 이루어진 층을 여러 번 쌓아 구성된다.

flowchart TD subgraph Encoder E1[Input Embedding + Positional Encoding] E2[Multi-Head Self-Attention] E3[Add & Norm] E4[Feed Forward Network] E5[Add & Norm] end subgraph Decoder D1[Masked Multi-Head Self-Attention] D2[Add & Norm] D3[Encoder-Decoder Attention] D4[Add & Norm] D5[Feed Forward Network] D6[Add & Norm] end E1 --> E2 --> E3 --> E4 --> E5 D1 --> D2 --> D3 --> D4 --> D5 --> D6 E5 --> D3 D6 --> Output[Final Linear + Softmax]

2-1. Encoder 블록

각 층은 다음 요소로 구성된다:

  1. Multi-Head Self-Attention
  2. Feed-Forward Network
  3. Residual Connection + Layer Normalization

2-2. Decoder 블록

Encoder블록과 유사, 이에 추가적으로 Masked Self-Attention, Encoder-Decoder Attention추가:

  • Masked Self-Attention: 미래 단어를 보지 못하도록 마스킹
  • Encoder-Decoder Attention: Decoder가 Encoder 출력을 참조하여 생성

2-3. 데이터 흐름

  • 입력 문장이 임베딩 + 위치 인코딩으로 변환됨
  • Encoder 블록을 거쳐 의미적 표현 생성
  • Decoder는 Encoder 출력을 받아 Self-Attention과 Encoder-Decoder Attention을 수행
  • 최종적으로 Softmax를 통해 단어 분포를 출력

3. 입력 표현 (Input Representation)

  • Embedding: 단어를 고차원 벡터로 매핑.
  • Positional Encoding: 순서 정보를 제공하기 위해 사인/코사인 함수를 이용한 위치 벡터를 추가.
    [PE(pos,2i)=sin(pos100002i/dmodel),PE(pos,2i+1)=cos(pos100002i/dmodel)][ PE_{(pos,2i)} = \sin\left(\frac{pos}{10000^{2i/d_{model}}}\right), \quad PE_{(pos,2i+1)} = \cos\left(\frac{pos}{10000^{2i/d_{model}}}\right) ]

4. Self-Attention 메커니즘

입력 벡터 (X)로부터 Query, Key, Value를 생성한다: [Q=XWQ,K=XWK,V=XWV][ Q = XW^Q, \quad K = XW^K, \quad V = XW^V ]

Attention 계산식: [Attention(Q,K,V)=softmax(QKTdk)V][ \text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V ]

  • Scaling: (dk)(\sqrt{d_k})로 나누어 안정화.
  • Multi-Head Attention: 여러 head에서 병렬적으로 attention을 수행 후 concat.
    [MultiHead(Q,K,V)=Concat(head1,,headh)WO][ \text{MultiHead}(Q,K,V) = \text{Concat}(head_1, \dots, head_h)W^O ]

5. Feed-Forward Network

각 위치별로 독립적으로 적용되는 2층 MLP: [FFN(x)=max(0,xW1+b1)W2+b2][ FFN(x) = \max(0, xW_1 + b_1)W_2 + b_2 ]


6. Residual Connection & Layer Normalization

  • Residual: 입력을 출력에 더해 gradient 흐름을 원활히 함.
  • LayerNorm: 학습 안정화 및 수렴 속도 향상.
    [y=LayerNorm(x+SubLayer(x))][ y = \text{LayerNorm}(x + \text{SubLayer}(x)) ]

7. 학습 및 손실 함수

  • Teacher Forcing: Decoder 입력에 정답 시퀀스를 제공.
  • Cross-Entropy Loss: 예측 분포와 실제 분포 간 차이를 최소화.

8. 주요 특징

  • 혁신성: RNN/CNN 없이 Attention만으로 시퀀스 처리.
  • 장점: 병렬화 가능[학습 속도 향상], 장기 의존성 처리 우수.
  • 한계: 입력 길이에 따라 메모리/계산량이 (O(n2))(O(n^2))로 증가.
  • 후속 연구: Efficient Transformers (Linformer, Performer, Longformer 등).

9. Transformer 구조 변형 및 주요 사용처

1. Encoder-Decoder 구조 (원래 Transformer)

  • 특징
    • 입력 시퀀스를 Encoder가 의미적 표현으로 변환
    • Decoder가 Encoder 출력을 참조하여 목표 시퀀스를 생성
    • Attention 메커니즘으로 입력과 출력 간 관계를 학습
  • 주요 사용처
    • 기계 번역 (Machine Translation) → 원문 → 번역문
    • Text-to-Text 변환 (예: Summarization, Question Answering)
    • 멀티모달 변환 (예: 이미지 캡셔닝: 이미지 → 텍스트)

2. Encoder-only 구조

  • 특징
    • 입력을 인코딩하여 의미적 표현을 생성
    • Decoder 없음 → 주로 입력 이해/분류에 사용
    • Self-Attention으로 문맥적 의미를 포착
  • 주요 사용처
    • BERT, RoBERTa, DistilBERT 등 → 문장 분류, 감정 분석, NER
    • CV 분야: Vision Transformer (ViT) → 이미지 분류
    • HAR(Human Action Recognition): 포즈 시퀀스 인코딩 후 행동 분류

3. Decoder-only 구조

  • 특징
    • 입력을 순차적으로 받아 다음 토큰을 예측
    • Masked Self-Attention으로 미래 토큰을 차단
    • 생성 중심 구조
  • 주요 사용처
    • GPT 계열 (GPT-2, GPT-3, GPT-4 등) → 텍스트 생성, 대화 모델
    • Code generation, Story generation
    • Game AI: NPC 대화 엔진 (Persona Chat Engine) → 대화 응답 생성
    • Domain-specific LLM → 검색 기반 응답, SaaS 챗봇

4. 주요 도메인 적용 사례

🔹 NLP

  • Encoder-only: 문장 이해, 분류, 검색
  • Decoder-only: 텍스트 생성, 대화, 요약
  • Encoder-Decoder: 번역, 질의응답, 요약

🔹 CV (Computer Vision)

  • Encoder-only: Vision Transformer (ViT), 이미지 분류
  • Encoder-Decoder: DETR (Detection Transformer) → 객체 탐지
  • Decoder-only: 이미지 생성 모델 (예: GPT-like Vision Decoder)

🔹 Game AI

  • Decoder-only: NPC 대화 생성 (Persona Chat Engine)
  • Encoder-only: 게임 상태 인코딩, 행동 분류
  • Encoder-Decoder: 게임 이벤트 → 대화/행동 변환

🔹 HAR (Human Action Recognition)

  • Encoder-only: 포즈 시퀀스 인코딩 후 행동 분류
  • Encoder-Decoder: 멀티모달 입력(포즈+이미지) → 행동 라벨 생성
  • 응용: 안전 행동 인식, 위험 행동 탐지

🔹 기타 도메인 특화 모델

  • 검색 기반 SaaS (Pragmatic Search LLM) → Decoder-only (RAG 구조)
  • 멀티모달 모델 (HAR Safety AI) → Encoder-Decoder (포즈+이미지 융합)
  • 게임 서버 연동 AI → Decoder-only (대화 생성) + Encoder-only (상태 인코딩)

5. 요약 비교 표

구조특징대표 모델주요 사용처
Encoder-Decoder입력→출력 변환Transformer, T5번역, 요약, QA
Encoder-only입력 이해BERT, ViT분류, 검색, HAR
Decoder-only생성 중심GPT, LLaMA대화, 텍스트 생성, Game AI
  • Encoder-only → 입력 이해/분류 중심 (NLP, CV, HAR)
  • Decoder-only → 생성 중심 (LLM, Game AI, SaaS 챗봇)
  • Encoder-Decoder → 입력→출력 변환 (번역, 멀티모달 변환, 행동 인식)
  • 도메인 특화 모델(Game AI, HAR, SaaS)도 Transformer 변형 구조를 목적에 맞게 선택하여 적용한다.

10. 결론

Transformer는 Self-Attention 기반 병렬 처리 구조로 NLP와 AI 전반에 혁신을 가져왔다.
현재 대부분의 대규모 모델은 Transformer 변형 구조를 기반으로 하며, 연구 및 실무에서 필수적인 기본 지식이다.