Perplexity / BLEU
Perplexity(PPL), BLEU(Bilingual Evaluation Understudy)에 대해 자세히 알아봅시다.
Perplexity / BLEU
Perplexity(PPL)
1. PPL (Perplexity)의 개념과 구조
1.1 기본 개념
PPL은 언어 모델의 예측 성능을 평가하는 지표로, 모델이 얼마나 자연스럽게 다음 단어를 예측하는지를 측정합니다. 핵심 아이디어는 다음과 같습니다.
- 모델의 불확실성 정도를 수치화
- 다음 단어 예측의 평균적인 난이도 측정
- 낮은 PPL일수록 더 좋은 모델을 의미
1.2 구성 요소
- 조건부 확률 \(P(w_i\|w_{1:i-1})\)
- 문장의 전체 확률
- 기하평균을 통한 정규화
2. 수학적 정의
2.1 기본 수식
PPL은 다음과 같이 정의됩니다.
\[PPL(W) = \exp(-\frac{1}{N}\sum_{i=1}^{N}\log P(w_i|w_1,...,w_{i-1}))\] \[(N: \text{전체 단어의 수})\] \[(w_i: \text{i번째 단어})\] \[(P(w_i|w_{1:i-1}): \text{이전 단어들이 주어졌을 때 현재 단어의 조건부 확률})\]2.2 Cross Entropy와의 관계
2.2.1 수학적 관계
Cross Entropy (\(H\))와 Perplexity (PPL)는 다음 관계를 가집니다.
\[PPL = 2^{H}\]2.2.2 의미 해석
Cross Entropy: 평균 정보량(bits) 측정
- 더 낮은 값 = 더 좋은 예측
- 단위: bits per word/character
PPL: Cross Entropy의 지수화된 버전
- 실제 선택 가능한 단어 수의 기하평균으로 해석
- 더 낮은 값 = 더 좋은 예측
2.2.3 변환 관계
bits 단위 사용시,
\[H = -\frac{1}{N}\sum_{i=1}^{N}\log_2 P(w_i|w_{1:i-1})\]자연로그 사용시,
\[H = -\frac{1}{N}\sum_{i=1}^{N}\ln P(w_i|w_{1:i-1})\]3. 상세 계산 예시
문장: “I love machine learning”
3.1 단계별 계산
Step 1: 각 단어의 조건부 확률 계산
1
2
3
4
P("I") = 0.1 # 문장 시작 단어로서의 확률
P("love"|"I") = 0.2 # "I" 다음에 "love"가 올 확률
P("machine"|"I love") = 0.15 # "I love" 다음에 "machine"이 올 확률
P("learning"|"I love machine") = 0.3 # "I love machine" 다음에 "learning"이 올 확률
Step 2: 로그 확률 계산
1
2
3
4
log P("I") = log(0.1) = -2.303
log P("love"|"I") = log(0.2) = -1.609
log P("machine"|"I love") = log(0.15) = -1.897
log P("learning"|"I love machine") = log(0.3) = -1.204
Step 3: 평균 로그 확률 계산
1
평균 = (-2.303 - 1.609 - 1.897 - 1.204) / 4 = -1.753
Step 4: 최종 PPL 계산
\[PPL = \exp(1.753) \approx 5.77\]4. PPL의 해석
4.1 수치 해석
1
2
3
4
PPL = 5.77의 의미
- 모델이 각 시점에서 평균적으로 5.77개의 선택지 중에서 고민
- 낮을수록 더 확신을 가지고 예측함을 의미
- 일반적으로 인간 수준의 모델은 PPL이 20~60 정도
5. PPL의 특징
5.1 장점
- 도메인에 구애받지 않는 평가 가능
- 모델의 전반적인 성능을 단일 숫자로 표현
- 다른 모델과의 직접적인 비교 가능
- 실시간 학습 과정에서의 성능 모니터링 용이
5.2 한계점
- 문맥의 의미적 적절성을 완벽히 반영하지 못함
- 도메인별 특수성을 고려하지 못함
- 희귀 단어나 신조어에 대해 불리한 평가
- 문장의 문법적 정확성을 직접적으로 평가하지 못함
- OOV(Out of Vocabulary) 문제에 취약
BLEU
1.BLEU Score
1.1 기본 개념
BLEU는 기계 번역 시스템의 출력을 평가하기 위한 자동 평가 지표입니다. 핵심 아이디어는 다음과 같습니다:
- 기계 번역문과 참조 번역문 간의 n-gram 일치도 측정
- 여러 n-gram (보통 1~4-gram)을 동시에 고려
- 번역문의 길이를 고려한 페널티 적용
1.2 구성 요소
- N-gram Precision (\(p_n\))
- Brevity Penalty (BP)
- 기하평균을 통한 최종 점수 계산
2. 수학적 정의
2.1 N-gram Precision
n-gram 정밀도는 다음과 같이 계산됩니다.
\[p_n = \frac{\sum_{ngram \in C} Count_{clip}(ngram)}{\sum_{ngram \in C} Count(ngram)}\] \[(Count_{clip}: \text{참조문에서의 최대 등장 횟수로 제한된 카운트})\] \[(Count: \text{생성문에서의 실제 등장 횟수})\]2.2 Brevity Penalty
\[BP = \begin{cases} 1 & \text{if } c > r \ e^{1-r/c} & \text{if } c \leq r \end{cases}\] \[(c: \text{생성된 번역문의 길이})\] \[(r: \text{참조 번역문의 길이})\]2.3 최종 BLEU 점수
\[BLEU = BP \cdot \exp(\sum_{n=1}^{N}w_n\log p_n)\] \[(w_n: \text{각 n-gram의 가중치, 보통 균등하게 } \frac{1}{N} \text{사용})\]3. 상세 계산 예시
참조 번역: “The cat sits on the mat” 생성된 번역: “The cat sat on the mat”
3.1 N-gram 분석
1-gram (unigram) 계산 *(‘the’는 두번 등장=> 각각 count):
1
2
3
4
5
참조문 단어: {the(2), cat(1), sits(1), on(1), mat(1)}
생성문 단어: {the(2), cat(1), sat(1), on(1), mat(1)}
Count_clip 합계: 2(the) + 1(cat) + 0(sits) + 1(on) + 1(mat) = 5
전체 생성 단어 수: 6
p₁ = 5/6 ≈ 0.833
2-gram 계산:
1
2
3
4
5
참조문 2-grams: {"the cat"(1), "cat sits"(1), "sits on"(1), "on the"(1), "the mat"(1)}
생성문 2-grams: {"the cat"(1), "cat sat"(1), "sat on"(1), "on the"(1), "the mat"(1)}
Count_clip 합계: 1("the cat") + 0("cat sat") + 0("sat on") + 1("on the") + 1("the mat") = 3
전체 생성 2-gram 수: 5
p₂ = 3/5 = 0.6
3-gram 계산:
1
2
3
4
5
참조문 3-grams: {"the cat sits"(1), "cat sits on"(1), "sits on the"(1), "on the mat"(1)}
생성문 3-grams: {"the cat sat"(1), "cat sat on"(1), "sat on the"(1), "on the mat"(1)}
Count_clip 합계: 0("the cat sat") + 0("cat sat on") + 0("sat on the") + 1("on the mat") = 1
전체 생성 3-gram 수: 4
p₃ = 1/4 = 0.25
3.2 BP 계산
- c (생성문 길이) = 6
- r (참조문 길이) = 6
- BP = 1 (같은 길이이므로)
3.3 최종 BLEU 점수 계산
균등 가중치 사용 (w₁ = w₂ = w₃ = 1/3),
\[BLEU = 1 \cdot \exp(\frac{1}{3}(\log(0.833) + \log(0.6) + \log(0.25)))\] \[= \exp(-0.606) \approx 0.545\]4. BLEU Score의 특징
4.1 장점
- 자동화된 평가 가능
- 여러 n-gram을 고려하여 문장 구조 평가
- 계산이 빠르고 비용 효율적
4.2 한계점
- 의미적 유사성 고려 못함
- 동의어 처리의 한계
- 문법적 정확성 평가의 한계
This post is licensed under CC BY 4.0 by the author.