어떤 정보의 가치는 추상적인 개념이지만 정보를 수학적인 이론으로 다루기 위하여 정보의 가치를 실제 계산 가능한 수치로 표현한 것을 정보량이라고 한다. 구하기 힘든, 매우 드물게 발생하는 사건에 대한 정보의 가치는 높고, 흔한 사건에 대한 정보는 가치가 낮다고 할 때, 정보량(정보의 가치)는 해당 사건의 발생 확률에 반비례하며, 다음과 같이 정의할 수 있다.
로그를 사용한 이유는 해당 정보를 결국 어떤 방식으로 표현해야하기 때문이다. 로그의 밑이 2라면 해당 사건에 대한 정보량은 해당 사건을 2진수(bit)로 표현하기 위해 필요한 bit 수라고 할 수 있다. 예를 들어 26개의 알파벳 중 하나가 가려진 책에 적혀있다고 가정하자. 그렇다면 a가 적혀있는 사건에 대한 정보량은 이며 해당 사건을 기록하기 위하여 적어도 5개의 bit가 필요하다.
엔트로피(Entropy)는 어떤 사건이 발생하는 정보원(information source)이 가지는 평균 정보량을 의미한다. 위의 예시에서는 26개의 알파벳 중 하나가 적혀있는 책이 정보원이며, 엔트로피는 해당 책에 적혀있는 알파벳이 가지고 있을 평균적인 정보량이다. 따라서 a의 정보량, b의 정보량, ..., z의 정보량을 모두 종합하여 기대값을 구하게 되며, 다음과 같이 쓸 수 있다.
예를 들어 모두가 균등하게 1/26의 확률을 가지고 있다고 하며, 엔트로피는 4.7 정도가 되어 우리는 해당 책의 적혀있는 무엇인지 모를 알파벳을 기록하기 위해 평균적으로 4.7개의 비트를 준비해야 한다. 하지만, 만약 극단적으로 a가 99.9%의 확률로 나타난다고 하면, 엔트로피는 거의 0이 되어 해당 책을 받았을 때 알파벳을 표현하기 위해 비트가 필요하지 않으며, 그냥 무조건 a라고 말하면 된다. 따라서 사건들의 확률이 균등하게 분포했을 때 엔트로피가 높아지며, 우리가 준비해야하는 비트가 많아지게 된다.
엔트로피는 각 사건에 대한 정보량의 기대값이며, 발생가능한 사건을 표현하기 위한 최소의 비트수를 찾는다. 그 과정에서 와 같이 높은 확률의 사건에 대해서는 비트수를 낮추고 낮은 확률의 사건에 대해서는 비트수를 높이며, 최소의 비트수를 찾는다. 하지만 cross entropy는 다음과 같이 정의된다.
두 분포 p, q가 주어졌을 때, cross entropy는 위와 같이 정의되며, 두 분포가 동일할 경우 엔트로피 H(q)와 같아지지만, 다른 경우 원래 적은 비트수를 사용하는 높은 확률의 사건에 대해서 기존보다 더 많은 비트수가 할당되는 등 cross entropy값이 엔트로피 H(q)보다 커지게 된다. 따라서 해당 cross entropy는 두 분포 p, q가 유사할 경우 작은 값을, 다른 경우 높은 값을 가지게 되며, 딥러닝 등에서 loss 함수 등으로 사용될 수 있다.
Kullback-Leibler Divergence(KLD)는 두 확률 분포의 차이점을 표현하는 식이다. 이는 cross entropy에서 유도될 수 있다.
위의 식에서 cross entropy 는 entropy 에 무언가가 더해진 값이다. 즉, 추가된 term이 두 분포 사이의 정보량 차이이며, 이를 다음과 같이 KLD로 정의할 수 있다.
따라서 cross entropy를 최소화 하는 것은 KLD를 최소화하는 것과 같으며(는 보통 상수), cross entropy의 lower bound는 entropy이므로 KLD는 항상 0 보다 크거나 같다.
이는 Jensen’s inequality를 통해 증명할 수 있다.
Figure 1. Convex function
Convex function의 경우 항상 를 만족하며, 이는 두 점 사이의 임의의 점(두 점의 weighted sum)에 대한 함수 값이 주어진 두 점에 대한 함수값의 weighted sum(같은 비율)보다 작다는 것이며, 위 그림 처럼 두 점을 연결한 직선 아래로 볼록한 형태를 띄게 된다.
이러한 성질을 이용하면 확률에서는 와 같이 쓸 수 있으며, 다음과 같이 KLD가 항상 0보다 크거나 같음을 보일 수 있다.
이때, 주의할 점은 KLD는 asymmetric하므로 거리함수가 아니며, KL(p|q)와 KL(q|p)는 다른 값을 갖는다(Jensen-Shannon divergence를 통해 symmetric하게 만들어 줄 수도 있다).