🍕
AI Paper Study
  • AI Paper Study
  • Computer Vision
    • SRCNN(2015)
      • Introduction
      • CNN for SR
      • Experiment
      • 구현해보기
    • DnCNN(2016)
      • Introduction
      • Related Work
      • DnCNN Model
      • Experiment
      • 구현해보기
    • CycleGAN(2017)
      • Introduction
      • Formulation
      • Results
      • 구현해보기
  • Language Computation
    • Attention is All You Need(2017)
      • Introduction & Background
      • Model Architecture
      • Appendix - Positional Encoding 거리 증명
  • ML Statistics
    • VAE(2013)
      • Introduction
      • Problem Setting
      • Method
      • Variational Auto-Encoder
      • 구현해보기
      • Appendix - KL Divergence 적분
  • 직관적 이해
    • Seq2Seq
      • Ko-En Translation
Powered by GitBook
On this page
  • 정규분포의 크로스 엔트로피
  • KLD 계산하기

Was this helpful?

  1. ML Statistics
  2. VAE(2013)

Appendix - KL Divergence 적분

DKL(qϕ(z∣x(i))∣∣pθ(z))D_{KL}(q_{\bm \phi}(\bold z|\bold x^{(i)})||p_{\bm \theta}(\bold z))DKL​(qϕ​(z∣x(i))∣∣pθ​(z)) 를 풀어 쓰면

∫−∞∞qϕ(z∣x(i))log⁡qϕ(z∣x(i))dz−∫−∞∞qϕ(z∣x(i))log⁡pθ(z)dz⋯(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))logqϕ​(z∣x(i))dz−∫−∞∞​qϕ​(z∣x(i))logpθ​(z)dz⋯(1)

이 적분을 구하기 위해서 어느 정도 정리가 필요하다.

정규분포의 크로스 엔트로피

평균과 분산이 μ,σ\mu, \sigmaμ,σ인 정규분포함수를 Nμ,σ(x)\mathrm N_{\mu,\sigma}(x)Nμ,σ​(x)로 나타내자. 여기서, 음의 크로스 엔트로피를 구해보자.

∫−∞∞Nμ1,σ1(x)log⁡Nμ2,σ2(x)dx=∫−∞∞Nμ1,σ1(x)(−log⁡(2πσ2)−(x−μ2)22σ22)dx\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)logNμ2​,σ2​​(x)dx=∫−∞∞​Nμ1​,σ1​​(x)(−log(2π​σ2​)−2σ22​(x−μ2​)2​)dx
=−log⁡(2πσ2)−∫−∞∞(x−μ2)22σ22Nμ1,σ1(x)dx⋯(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σ22​(x−μ2​)2​Nμ1​,σ1​​(x)dx⋯(2)

이 식의 두 번째 항을 계산하면,

12σ22(∫−∞∞x2Nμ1,σ1(x)dx−2μ2∫−∞∞xNμ1,σ1(x)dx+μ22∫−∞∞Nμ1,σ1(x)dx){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σ22​1​(∫−∞∞​x2Nμ1​,σ1​​(x)dx−2μ2​∫−∞∞​xNμ1​,σ1​​(x)dx+μ22​∫−∞∞​Nμ1​,σ1​​(x)dx)
=12σ22E[x2]−μ2σ22E[x]+μ222σ22={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σ22​1​E[x2]−σ22​μ2​​E[x]+2σ22​μ22​​

σ2=E[x2]−(E[x])2\sigma^2=\mathrm E[x^2]-(\mathrm E[x])^2σ2=E[x2]−(E[x])2이고 E[x]=μ\mathrm E[x]=\muE[x]=μ이므로

=(μ1−μ2)2+σ122σ22⋯(3)={(\mu_1-\mu_2)^2+\sigma_1^2\over 2\sigma_2^2 } \qquad\cdots(3)=2σ22​(μ1​−μ2​)2+σ12​​⋯(3)

(3)을 이용하면 (2)는

−log⁡(2πσ2)−(μ1−μ2)2+σ122σ22⋯(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σ22​(μ1​−μ2​)2+σ12​​⋯(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 zz 의_ _차원 JJJ 에 대해 식 (1)은 다음과 같이 나타낼 수 있다.

∑j=1J[∫−∞∞Nμj,σj(z)log⁡Nμj,σj(z)dz−∫−∞∞Nμj,σj(z)log⁡N0,1(z)dz]⋯(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)logNμj​,σj​​(z)dz−∫−∞∞​Nμj​,σj​​(z)logN0,1​(z)dz]⋯(5)

식 (4)를 이용해 (5)에 적용하면,

∑j=1J[(−log⁡(2πσj)−12)−(−log⁡(2π)−μj2+σj22)]\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​)−21​)−(−log(2π​)−2μj2​+σj2​​)]
=−12∑j=1J(1+log⁡σj2−μj2−σj2)=-\frac 1 2\sum^J_{j=1}\left(1+\log\sigma_j^2 -\mu_j^2-\sigma_j^2 \right)=−21​j=1∑J​(1+logσj2​−μj2​−σj2​)

따라서,

DKL(qϕ(z∣x)∣∣pθ(z))=−12∑j=1J(1+log⁡σj2−μj2−σj2)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)DKL​(qϕ​(z∣x)∣∣pθ​(z))=−21​j=1∑J​(1+logσj2​−μj2​−σj2​)
Previous구현해보기NextSeq2Seq

Last updated 3 years ago

Was this helpful?