Appendix - KL Divergence 적분 D K L ( q ϕ ( z ∣ x ( i ) ) ∣ ∣ p θ ( z ) ) D_{KL}(q_{\bm \phi}(\bold z|\bold x^{(i)})||p_{\bm \theta}(\bold z)) D K L ( q ϕ ( z ∣ x ( i ) ) ∣∣ p θ ( z )) 를 풀어 쓰면
∫ − ∞ ∞ q ϕ ( z ∣ x ( i ) ) log q ϕ ( z ∣ x ( i ) ) d z − ∫ − ∞ ∞ q ϕ ( z ∣ x ( i ) ) log p θ ( z ) d z ⋯ ( 1 ) \int_{-\infty}^\infty q_{\bm \phi}(\bold z|\bold x^{(i)})\log q_{\bm \phi}(\bold z|\bold x^{(i)}) d \bold z- \int_{-\infty}^\infty q_{\bm \phi}(\bold z|\bold x^{(i)})\log {p_{\bm \theta}(\bold z)} d \bold z\qquad\cdots(1) ∫ − ∞ ∞ q ϕ ( z ∣ x ( i ) ) log q ϕ ( z ∣ x ( i ) ) d z − ∫ − ∞ ∞ q ϕ ( z ∣ x ( i ) ) log p θ ( z ) d z ⋯ ( 1 ) 이 적분을 구하기 위해서 어느 정도 정리가 필요하다.
정규분포의 크로스 엔트로피
평균과 분산이 μ , σ \mu, \sigma μ , σ 인 정규분포함수를 N μ , σ ( x ) \mathrm N_{\mu,\sigma}(x) N μ , σ ( x ) 로 나타내자. 여기서, 음의 크로스 엔트로피를 구해보자.
∫ − ∞ ∞ N μ 1 , σ 1 ( x ) log N μ 2 , σ 2 ( x ) d x = ∫ − ∞ ∞ N μ 1 , σ 1 ( x ) ( − log ( 2 π σ 2 ) − ( x − μ 2 ) 2 2 σ 2 2 ) d x \int_{-\infty}^\infty \mathrm N_{\mu_1,\sigma_1}(x)\log \mathrm N_{\mu_2,\sigma_2}(x)dx=\int_{-\infty}^\infty \mathrm N_{\mu_1,\sigma_1}(x)\left(-\log(\sqrt{2\pi}\sigma_2)-{{(x-\mu_2)^2}\over {2\sigma_2^2}}\right)dx ∫ − ∞ ∞ N μ 1 , σ 1 ( x ) log N μ 2 , σ 2 ( x ) d x = ∫ − ∞ ∞ N μ 1 , σ 1 ( x ) ( − log ( 2 π σ 2 ) − 2 σ 2 2 ( x − μ 2 ) 2 ) d x = − log ( 2 π σ 2 ) − ∫ − ∞ ∞ ( x − μ 2 ) 2 2 σ 2 2 N μ 1 , σ 1 ( x ) d x ⋯ ( 2 ) =-\log(\sqrt{2\pi}\sigma_2)-\int_{-\infty}^\infty {{(x-\mu_2)^2}\over {2\sigma_2^2}}\mathrm N_{\mu_1,\sigma_1}(x)dx\qquad \cdots(2) = − log ( 2 π σ 2 ) − ∫ − ∞ ∞ 2 σ 2 2 ( x − μ 2 ) 2 N μ 1 , σ 1 ( x ) d x ⋯ ( 2 ) 이 식의 두 번째 항을 계산하면,
1 2 σ 2 2 ( ∫ − ∞ ∞ x 2 N μ 1 , σ 1 ( x ) d x − 2 μ 2 ∫ − ∞ ∞ x N μ 1 , σ 1 ( x ) d x + μ 2 2 ∫ − ∞ ∞ N μ 1 , σ 1 ( x ) d x ) {1\over 2\sigma_2^2}\left(\int_{-\infty}^\infty x^2\mathrm N_{\mu_1,\sigma_1}(x)dx-2\mu_2\int_{-\infty}^\infty x \mathrm N_{\mu_1,\sigma_1}(x)dx+\mu_2^2\int_{-\infty}^\infty \mathrm N_{\mu_1,\sigma_1}(x)dx\right) 2 σ 2 2 1 ( ∫ − ∞ ∞ x 2 N μ 1 , σ 1 ( x ) d x − 2 μ 2 ∫ − ∞ ∞ x N μ 1 , σ 1 ( x ) d x + μ 2 2 ∫ − ∞ ∞ N μ 1 , σ 1 ( x ) d x ) = 1 2 σ 2 2 E [ x 2 ] − μ 2 σ 2 2 E [ x ] + μ 2 2 2 σ 2 2 ={1 \over 2\sigma_2^2}\mathrm E[x^2]-{\mu_2 \over \sigma_2^2}\mathrm E[x]+{\mu_2^2 \over 2\sigma_2^2} = 2 σ 2 2 1 E [ x 2 ] − σ 2 2 μ 2 E [ x ] + 2 σ 2 2 μ 2 2 σ 2 = E [ x 2 ] − ( E [ x ] ) 2 \sigma^2=\mathrm E[x^2]-(\mathrm E[x])^2 σ 2 = E [ x 2 ] − ( E [ x ] ) 2 이고 E [ x ] = μ \mathrm E[x]=\mu E [ x ] = μ 이므로
= ( μ 1 − μ 2 ) 2 + σ 1 2 2 σ 2 2 ⋯ ( 3 ) ={(\mu_1-\mu_2)^2+\sigma_1^2\over 2\sigma_2^2 } \qquad\cdots(3) = 2 σ 2 2 ( μ 1 − μ 2 ) 2 + σ 1 2 ⋯ ( 3 ) (3)을 이용하면 (2)는
− log ( 2 π σ 2 ) − ( μ 1 − μ 2 ) 2 + σ 1 2 2 σ 2 2 ⋯ ( 4 ) -\log(\sqrt{2\pi}\sigma_2)-{(\mu_1-\mu_2)^2+\sigma_1^2\over 2\sigma_2^2 } \qquad \cdots (4) − log ( 2 π σ 2 ) − 2 σ 2 2 ( μ 1 − μ 2 ) 2 + σ 1 2 ⋯ ( 4 ) KLD 계산하기
확률분보다 다변량이므로, 엔트로피는 각 성분의 합이다. 정규분포가 diagonal covariance를 가지므로, 성분별로 계산할 수 있다.
q ϕ ( z ∣ x ( i ) ) q_{\bm \phi}(\bold z|\bold x^{(i)}) q ϕ ( z ∣ x ( i ) ) 는 평균과 diagonal 공분산을 가지는 정규분포이고, p θ ( z ) p_{\bm \theta}(\bold z) p θ ( z ) 는 영벡터를 평균으로 하고 단위행렬을 공분산으로 하는 정규분포이다. 따라서 평균 벡터 j번째 성분과 공분산 j번째 대각 성분, z \bold z z 의_ _차원 J J J 에 대해 식 (1)은 다음과 같이 나타낼 수 있다.
∑ j = 1 J [ ∫ − ∞ ∞ N μ j , σ j ( z ) log N μ j , σ j ( z ) d z − ∫ − ∞ ∞ N μ j , σ j ( z ) log N 0 , 1 ( z ) d z ] ⋯ ( 5 ) \sum^J_{j=1}\left[\int_{-\infty}^\infty \mathrm N_{\mu_j,\sigma_j}(z)\log \mathrm N_{\mu_j,\sigma_j}(z)d z- \int_{-\infty}^\infty \mathrm N_{\mu_j,\sigma_j}(z)\log \mathrm N_{0,1}(z)d z\right] \qquad\cdots(5) j = 1 ∑ J [ ∫ − ∞ ∞ N μ j , σ j ( z ) log N μ j , σ j ( z ) d z − ∫ − ∞ ∞ N μ j , σ j ( z ) log N 0 , 1 ( z ) d z ] ⋯ ( 5 ) 식 (4)를 이용해 (5)에 적용하면,
∑ j = 1 J [ ( − log ( 2 π σ j ) − 1 2 ) − ( − log ( 2 π ) − μ j 2 + σ j 2 2 ) ] \sum^J_{j=1}\left[\left(-\log(\sqrt{2\pi}\sigma_j)-\frac 1 2 \right) -\left(-\log(\sqrt{2\pi}) -\frac{\mu_j^2+\sigma_j^2}{2} \right)\right] j = 1 ∑ J [ ( − log ( 2 π σ j ) − 2 1 ) − ( − log ( 2 π ) − 2 μ j 2 + σ j 2 ) ] = − 1 2 ∑ j = 1 J ( 1 + log σ j 2 − μ j 2 − σ j 2 ) =-\frac 1 2\sum^J_{j=1}\left(1+\log\sigma_j^2 -\mu_j^2-\sigma_j^2 \right) = − 2 1 j = 1 ∑ J ( 1 + log σ j 2 − μ j 2 − σ j 2 ) 따라서,
D K L ( q ϕ ( z ∣ x ) ∣ ∣ p θ ( z ) ) = − 1 2 ∑ j = 1 J ( 1 + log σ j 2 − μ j 2 − σ j 2 ) D_{KL}(q_{\bm \phi}(\bold z|\bold x)||p_{\bm \theta}(\bold z))=-\frac 1 2\sum^J_{j=1}\left(1 +\log\sigma_j^2 -\mu_j^2-\sigma_j^2 \right) D K L ( q ϕ ( z ∣ x ) ∣∣ p θ ( z )) = − 2 1 j = 1 ∑ J ( 1 + log σ j 2 − μ j 2 − σ j 2 )