Perplexity(PPL) / BLEU

임정민·2024년 10월 26일
1

딥러닝 개념

목록 보기
13/13
post-thumbnail

Perplexity(PPL)

1. PPL (Perplexity)의 개념과 구조

1.1 기본 개념

PPL은 언어 모델의 예측 성능을 평가하는 지표로, 모델이 얼마나 자연스럽게 다음 단어를 예측하는지를 측정합니다. 핵심 아이디어는 다음과 같습니다:

  • 모델의 불확실성 정도를 수치화
  • 다음 단어 예측의 평균적인 난이도 측정
  • 낮은 PPL일수록 더 좋은 모델을 의미

1.2 구성 요소

  • 조건부 확률 (P(wiw1:i1)P(w_i|w_{1:i-1}))
  • 문장의 전체 확률
  • 기하평균을 통한 정규화

2. 수학적 정의

2.1 기본 수식

PPL은 다음과 같이 정의됩니다:

PPL(W)=exp(1Ni=1NlogP(wiw1,...,wi1))PPL(W) = \exp(-\frac{1}{N}\sum_{i=1}^{N}\log P(w_i|w_1,...,w_{i-1}))
(N:전체 단어의 수)(N: \text{전체 단어의 수})
(wi:i번째 단어)(w_i: \text{i번째 단어})
(P(wiw1:i1):이전 단어들이 주어졌을 때 현재 단어의 조건부 확률)(P(w_i|w_{1:i-1}): \text{이전 단어들이 주어졌을 때 현재 단어의 조건부 확률})

2.2 Cross Entropy와의 관계

2.2.1 수학적 관계

Cross Entropy (HH)와 Perplexity (PPL)는 다음 관계를 가집니다:

PPL=2HPPL = 2^{H}

2.2.2 의미 해석

Cross Entropy: 평균 정보량(bits) 측정

  • 더 낮은 값 = 더 좋은 예측
  • 단위: bits per word/character

PPL: Cross Entropy의 지수화된 버전

  • 실제 선택 가능한 단어 수의 기하평균으로 해석
  • 더 낮은 값 = 더 좋은 예측

2.2.3 변환 관계

bits 단위 사용시:

H=1Ni=1Nlog2P(wiw1:i1)H = -\frac{1}{N}\sum_{i=1}^{N}\log_2 P(w_i|w_{1:i-1})

자연로그 사용시:

H=1Ni=1NlnP(wiw1:i1)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: 각 단어의 조건부 확률 계산

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: 로그 확률 계산

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: 평균 로그 확률 계산

평균 = (-2.303 - 1.609 - 1.897 - 1.204) / 4 = -1.753

Step 4: 최종 PPL 계산

PPL=exp(1.753)5.77PPL = \exp(1.753) \approx 5.77

4. PPL의 해석

4.1 수치 해석

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 (pnp_n)
  • Brevity Penalty (BP)
  • 기하평균을 통한 최종 점수 계산

2. 수학적 정의

2.1 N-gram Precision

n-gram 정밀도는 다음과 같이 계산됩니다:

pn=ngramCCountclip(ngram)ngramCCount(ngram)p_n = \frac{\sum_{ngram \in C} Count_{clip}(ngram)}{\sum_{ngram \in C} Count(ngram)}
(Countclip:참조문에서의 최대 등장 횟수로 제한된 카운트)(Count_{clip}: \text{참조문에서의 최대 등장 횟수로 제한된 카운트})
(Count:생성문에서의 실제 등장 횟수)(Count: \text{생성문에서의 실제 등장 횟수})

2.2 Brevity Penalty

BP={1if c>r e1r/cif crBP = \begin{cases} 1 & \text{if } c > r \ e^{1-r/c} & \text{if } c \leq r \end{cases}
(c:생성된 번역문의 길이)(c: \text{생성된 번역문의 길이})
(r:참조 번역문의 길이)(r: \text{참조 번역문의 길이})

2.3 최종 BLEU 점수

BLEU=BPexp(n=1Nwnlogpn)BLEU = BP \cdot \exp(\sum_{n=1}^{N}w_n\log p_n)
(wn:각 n-gram의 가중치, 보통 균등하게 1N사용)(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):

참조문 단어: {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 계산:

참조문 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 계산:

참조문 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=1exp(13(log(0.833)+log(0.6)+log(0.25)))BLEU = 1 \cdot \exp(\frac{1}{3}(\log(0.833) + \log(0.6) + \log(0.25)))
=exp(0.606)0.545= \exp(-0.606) \approx 0.545

4. BLEU Score의 특징

4.1 장점

  • 자동화된 평가 가능
  • 여러 n-gram을 고려하여 문장 구조 평가
  • 계산이 빠르고 비용 효율적

4.2 한계점

  • 의미적 유사성 고려 못함
  • 동의어 처리의 한계
  • 문법적 정확성 평가의 한계
profile
https://github.com/min731

0개의 댓글

관련 채용 정보