Kullback-Leibler divergence는 정보이론에서 두 분포간의 차이를 정량적인 지표로 통계적으로 측정해주는 지표이다.
어떻게 측정하는가 ?
KL divergence는 non-symmetric metric으로 상대적인 엔트로피(relative entropy)를 측정해주는 작업이다. 직관적으로 이해하기는, 서로 다른 두 데이터 분포 사이의 거리를 측정해주는 것으로 생각할 수 있지만, 상대적인 거리이기 때문에 어떤 분포를 기준으로 하느냐에 따라 값이 달라질 수 있다.
DKL(p(x)∣∣q(x))=∫−∞∞p(x)lnq(x)p(x)dx
위와 같이 나타낼 수 있고, discrete한 form은 아래와 같다.
DKL(p(x)∣∣q(x))=x∈X∑p(x)lnq(x)p(x)
KL loss 가 그러면 어디에 쓰이냐?
i.i.d data로부터의 확률 모델을 학습하는데 있어서 가장 기본적으로 제안되는 방법이, 바로 maximum likelihood estimation (MLE)방법이다. pθ(x)를 θ에 의해 parameterized된 확률 모델이라고 하고, pdata(x)를 데이터셋 분포라고 해보자. 우리는 데이터분포에 대한 log-likelihood의 기대값을 최대화 해주는 것으로 pθ(x)가 pdata(x)에 맞춰지도록 만들어줄 수 있다. 다시 말해, 아래 정의된 기대값을 최대화 해주는 θ를 찾으면 된다.
Ex∼pdata(x)[logpθ(x)]