Perplexity
20 Feb 2023
Language Model의 성능을 측정할 때 자주 쓰이는 perplexity에 대해 유도하는 식을 정리해보고자 한다.
Perplexity는 Language Model을 평가하기 위한 평가 지표이다. 보통 줄여서 PPL이라고 부른다. PPL이 낮을 수록 좋은 모델이다.
perplexity=2cross−entropy=2−∑nt=1p(xt)log2q(xt)Perplexity의 수식은 위와 같다., p(xt)는 real distribution이고, q(xt)는 prediction이다. 위의 식은 다시 자연상수를 이용해 다음과 같이 작성할 수 있고, 모든 단어는 같은 frequency를 갖고 있다고 가정해보면 마지막 항 처럼 작성 할 수 있다.
Equation(1):2−∑nt=1p(xt)log2q(xt)=e−∑ntp(xt)ln(q(xt)=e−∑nt1nln(q(xt)Equation(1)의 마지막 항의 summation을 전개해보자.
Equation(2):e−∑nt1nln(q(xt)=q(x1)−1nq(x2)−1n...q(xn)−1n=Πnt=1q(xt)−1n다시 Equation(2)의 마지막 항을 전개하면 우리가 아는 perplexity의 형태이다. 각 단어들은 독립이기 때문에 마지막 항 처럼 유도할 수 있다.
Equation(3):Πnt=1q(xt)−1n=n√1q(x1)...q(xn)=n√1q(x1,...,xn)Equation(1)의 마지막 항에서 chain rule을 이용하여 다음과 같이 다른 형태로 전개할 수 있다.
Equation(4):e−∑nt1nln(q(xt)=e−1nln(q(x1,...,xn)=e−1nln(Πnt=1q(xt∣xt−1,...,x1))=e−1n∑nt=1ln(q(xt∣xt−1,...,x1)