Computer/NLP
Perplexity in LM
hexists
2017. 1. 16. 18:15
뭔가 아는데, 설명을 못하는 상황이라서 개념 정리한 내용입니다.
지금 필요한 내용이 LM의 perplexity를 어떻게 계산할 것인지에 대한 내용이라 LM perplexity를 계산하는 관점에서 정리했습니다.
Perplexity란?
- 확률이 얼마나 샘플 데이터를 예측하고 있는지를 측정하는 방법
- perplexity is a measurement of how well a probability distribution or probability model predicts a sample.(https://en.wikipedia.org/wiki/Perplexity)
Perplexity
- 수식
설명
b : 보통 2를 사용(왜 2를 보통으로 사용하는지는 모르겠으나, 왠지 엔트로피를 구할 때 bits로 표현 가능한 정보량을 설명하는 것과 연관이 있을 것 같음)
N : 전체 test event 개수
q : 확률 모델, LM에서는 LM으로 구하는 확률을 의미
x : test event
- 의미
- q모델에서 test event를 표현하기 위해 필요한 평균 비트 수를 나타냄
- 기타
- cross entropy를 이용해서 구할 수도 있음
- cross entropy는 두 확률 모델간의 entropy를 나타낸다고 볼 수 있음
- 수식
설명
H : cross entropy
~p : n / N (n은 x가 나타난 횟수를 의미)
q : 확률 모델
- cross entropy를 이용해서 구할 수도 있음
LM에 대한 Perplexity
설명
w1 ... wN : N-gram
H() : entropy 계산
m() : 확률 모델
확률 모델을 LM에 맞춰 변경하면 됨
참고
- https://en.wikipedia.org/wiki/Perplexity
- https://courses.engr.illinois.edu/cs498jh/Slides/Lecture04.pdf