📘 1. Machine Translation (기계 번역)
✅ 개념 설명
Machine Translation은 한 언어로 된 문장을 다른 언어로 자동으로 번역하는 자연어 처리 기술입니다.
예:
I am a student. ⟶ Je suis étudiant.
✅ 특징
- 입력과 출력 시퀀스의 길이가 다를 수 있음
- Seq2Seq 구조를 기반으로 함
- 대규모 병렬 코퍼스(Parallel Corpus)로 학습
- 평가 지표로 BLEU Score 사용
✅ 관련 기술
- RNN / LSTM / GRU
- Attention Mechanism
- Teacher Forcing
📘 2. Sequence-to-Sequence (Seq2Seq)
✅ 정의
Seq2Seq는 입력 시퀀스를 하나의 벡터로 인코딩하여, 출력 시퀀스를 생성하는 딥러닝 구조입니다.
예:
입력: I am a student
⟶ [Encoder] ⟶ Context Vector ⟶ [Decoder] ⟶ Je suis étudiant
✅ 구조 요약
| 구성 요소 | 설명 |
|---|
| Encoder | 입력 문장을 순차적으로 처리하여 context vector 생성 |
| Decoder | context vector를 바탕으로 출력 시퀀스를 생성 |
| Context Vector | 입력 전체 정보를 요약한 은닉 상태 벡터 |
| Teacher Forcing | 학습 시 정답 시퀀스를 Decoder에 입력 |
✅ 수식
디코더의 매 시점 예측:
y^t=Softmax(Wht+b)
여기서,
- ht: 디코더 RNN의 은닉 상태
- W,b: 학습 파라미터
📘 3. Decoding 기법 – Beam Search
✅ Greedy Decoding (기본 방식)
- 각 시점마다 가장 확률 높은 단어 선택
- 빠르지만 전체 문장 품질은 떨어질 수 있음
✅ Beam Search
Beam Search는 후보 문장 여러 개를 유지하면서 누적 확률이 높은 Top-k 경로만을 선택합니다.
예시
<sos> → I (0.4), You (0.3), He (0.3)
→ 다음 단어들을 각각 확장
→ 누적 확률이 높은 상위 k개만 유지
→ <eos>까지 반복
✅ 장단점
| 장점 | 단점 |
|---|
| 더 자연스러운 문장 생성 | 속도 느림 |
| 탐색 폭 넓음 | 하이퍼파라미터 k 설정 필요 |
📘 4. BLEU Score
✅ 정의
BLEU(Bilingual Evaluation Understudy)는 기계 번역된 문장이 정답 문장과 얼마나 유사한지 평가하는 자동 지표입니다.
✅ 수식
BLEU Score는 다음과 같이 계산됩니다:
BLEU=BP⋅exp(n=1∑Nwnlogpn)
- pn: n-gram precision
- wn: 가중치 (보통 frac1N)
- BP: Brevity Penalty
✅ Brevity Penalty (BP)
BP=⎩⎪⎪⎨⎪⎪⎧1e(1−cr)if c>rif c≤r
- c: 생성된 문장 길이
- r: 참조 문장 길이
예시
Reference: I am a student
Candidate: I am student
→ "a student" 2-gram이 빠져서 점수 감소