Transformer 기본 구조
1. 서론
Transformer는 2017년 Vaswani et al.의 논문 *“Attention is All You Need”*에서 제안된 모델로, Self-Attention 메커니즘을 통해 RNN이나 CNN 없이도 시퀀스 데이터를 병렬적으로 처리할 수 있는 구조를 갖는다.
이후 BERT, GPT, T5 등 다양한 모델의 기반이 되었으며, 자연어 처리뿐 아니라 비전, 멀티모달 분야까지 확장되었다.
2. 전체 구조
Transformer는 크게 Encoder와 Decoder 블록으로 구성된다.
- 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 블록
각 층은 다음 요소로 구성된다:
- Multi-Head Self-Attention
- Feed-Forward Network
- 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: 순서 정보를 제공하기 위해 사인/코사인 함수를 이용한 위치 벡터를 추가.
4. Self-Attention 메커니즘
입력 벡터 (X)로부터 Query, Key, Value를 생성한다:
Attention 계산식:
- Scaling: 로 나누어 안정화.
- Multi-Head Attention: 여러 head에서 병렬적으로 attention을 수행 후 concat.
5. Feed-Forward Network
각 위치별로 독립적으로 적용되는 2층 MLP:
6. Residual Connection & Layer Normalization
- Residual: 입력을 출력에 더해 gradient 흐름을 원활히 함.
- LayerNorm: 학습 안정화 및 수렴 속도 향상.
7. 학습 및 손실 함수
- Teacher Forcing: Decoder 입력에 정답 시퀀스를 제공.
- Cross-Entropy Loss: 예측 분포와 실제 분포 간 차이를 최소화.
8. 주요 특징
- 혁신성: RNN/CNN 없이 Attention만으로 시퀀스 처리.
- 장점: 병렬화 가능[학습 속도 향상], 장기 의존성 처리 우수.
- 한계: 입력 길이에 따라 메모리/계산량이 로 증가.
- 후속 연구: 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 변형 구조를 기반으로 하며, 연구 및 실무에서 필수적인 기본 지식이다.