Pointer Network, GPT, BERT 한눈에 이해하기
지목 vs 생성 vs 이해 — 대표적인 NLP 구조 3종 비교 분석
1. Pointer Network (포인터 네트워크)
개념 요약
Pointer Network는 모델이 입력 내에서 정답을 "선택"하는 구조입니다.
즉, 출력을 새로 생성하는 게 아니라, 입력의 특정 부분을 복사하거나 지목합니다.
대표 예시
Q: Where is the Eiffel Tower located?
Input: The Eiffel Tower is located in Paris, France.
Answer: Paris, France ← 입력에서 그대로 추출!
주요 특징
- Extractive 방식: 생성이 아니라 복사
- 정답이 입력 어딘가에 존재해야 함
- 계산 효율이 높고 복잡도 낮음
사용 분야
- 기계 독해(Machine Reading)
- 질의응답(QA)
- 발췌형 요약 (Extractive Summarization)
2. Unidirectional Representation (단방향 표현)
개념 요약
Unidirectional은 입력을 한쪽 방향(보통 왼쪽 → 오른쪽)으로만 처리합니다.
현재 단어는 앞쪽 단어들만을 참고하여 예측됩니다.
대표 예시: GPT
"I love" → 다음 단어 예측: you, chocolate, this movie 등
제약 사항
- 뒤쪽 문맥은 참조 불가
- 예: "I watched a movie ___" → 뒤에 나오는 “which was amazing”은 볼 수 없음
사용 분야
- 텍스트 생성 (챗봇, 스토리 생성)
- 다음 문장 예측
- Zero-shot/Few-shot 학습
3. Bidirectional Representation (양방향 표현)
개념 요약
Bidirectional은 입력 문장의 양쪽 문맥을 모두 활용해 각 단어를 이해합니다.
이로 인해 단어의 의미를 정확히 파악할 수 있죠.
대표 예시: BERT
"The bank was crowded with people."
→ 앞뒤 문맥을 보고 'bank'를 '은행'으로 정확히 해석 (강둑으로 해석 안함)
사용 분야
- 문장 분류, 감정 분석
- 개체명 인식(NER)
- 마스크된 단어 예측 (MLM)
요약 비교표
| 항목 | Pointer Network | GPT (Unidirectional) | BERT (Bidirectional) |
|---|
| 처리 방향 | - | 왼쪽 → 오른쪽 | 양방향 |
| 주요 역할 | 입력 내 정답 선택 | 문장 생성 | 문맥 이해 |
| 생성 능력 | ❌ 없음 | ✅ 강함 | ❌ 제한적 |
| 문맥 활용 | 🔵 낮음 | ⚪️ 중간 | 🟢 높음 |
| 대표 모델 | PointerNet, SQuAD | GPT-2/3/4 | BERT, RoBERTa, ALBERT |
| 한계점 | 정답 생성 불가 | 뒤 문맥 참조 불가 | 문장 생성 어려움 |
장단점 비교
Pointer Network
| 장점 | 단점 |
|---|
| 입력에서 정확한 정답 추출 가능 | 정답이 입력에 없으면 처리 불가 |
| 계산 효율성 높고 출력 공간이 작음 | 추론이나 새로운 문장 생성에는 부적합 |
| QA, 발췌형 요약에 특화 | 창의적 생성 태스크에 사용 어려움 |
GPT 계열 (Unidirectional)
| 장점 | 단점 |
|---|
| 자연스러운 텍스트 생성 가능 | 단어 의미 해석 시 뒤 문맥 참조 불가 |
| 학습 구조가 단순하고 구현 쉬움 | 문장 중간 삽입, 수정에는 부적합 |
| 다양한 태스크에 Zero-shot 적용 가능 | 정밀한 문맥 이해에 한계 있음 |
BERT 계열 (Bidirectional)
| 장점 | 단점 |
|---|
| 단어의 의미를 문맥적으로 정밀하게 이해 가능 | 생성 태스크에 직접 활용 어려움 (양방향 구조이기 때문) |
| NER, 문장 분류, QA 등 이해 중심 태스크에 매우 강력 | 실시간 반응이나 속도 면에서 느림 |
| 높은 정확도 달성 가능 | 텍스트 생성에는 encoder-decoder 구조 필요 (ex. BART 등) |
정리 한마디
- Pointer Network: 입력에 정답이 있을 때 복사해서 선택!
- GPT (Unidirectional): 앞만 보고 다음 단어 생성!
- BERT (Bidirectional): 양방향 문맥을 보고 정확히 이해!