일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- gradient descent
- vapnik chervonenkis
- VC dimension
- Linear algebra
- elimination
- machine learning
- neural network
- matrix multiplication
- backpropagation
- Today
- Total
AI / ML
[GM] 두 가우스 분포간의 KL Divergence 유도 본문
1. Motivation
Variational Auto-Encoder(VAE)에서 KL Divergence가 Loss term에 있는데,
이것을 이해하기 위해 공부를 시작했습니다.
본 포스팅에서는 1차원의 가우스 분포(univariate Gaussian distribution)를 다룹니다.
2. Definition
$$시작하기 \,앞서 \, P는\, \, 평균\, { \mu }_{ 1 }\, 과\, 분산\sigma _{ 1 }를 \,갖고 \,Q는 \,평균\, { \mu }_{ 2 }과 \,분산\sigma _{ 2 } 를 \,갖는 \,정규분포라고 \,가정을 \,합니다.$$
$$\begin{align*} KL(P||Q) &=\int p(x)\log \cfrac { p(x) }{ q(x) } \, dx \\ &=\int p(x)(\log p(x)-\log q(x))\, dx\\ &=\int p(x)(-\log { \sqrt { 2\pi } { \sigma }_{ 1 } } -\cfrac { (x-{ \mu }_{ 1 })^{ 2 } }{ 2{ { \sigma }_{ 1 } }^{ 2 } } +\log { \sqrt { 2\pi } { \sigma }_{ 2 } } +\cfrac { (x-{ \mu }_{ 2 })^{ 2 } }{ 2{ { \sigma }_{ 2 } }^{ 2 } } )\, dx\\ &=\int p(x)(\log { \cfrac { { \sigma }_{ 2 } }{ { \sigma }_{ 1 } } } -\cfrac { (x-{ \mu }_{ 1 })^{ 2 } }{ 2{ { \sigma }_{ 1 } }^{ 2 } } +\cfrac { (x-{ \mu }_{ 2 })^{ 2 } }{ 2{ { \sigma }_{ 2 } }^{ 2 } } )\, dx\\ &= { E }_{ x\sim p(x) }[\log { \cfrac { { \sigma }_{ 2 } }{ { \sigma }_{ 1 } } } -\cfrac { (x-{ \mu }_{ 1 })^{ 2 } }{ 2{ { \sigma }_{ 1 } }^{ 2 } } +\cfrac { (x-{ \mu }_{ 2 })^{ 2 } }{ 2{ { \sigma }_{ 2 } }^{ 2 } } ]\\ &=\log { \cfrac { { \sigma }_{ 2 } }{ { \sigma }_{ 1 } } } -\cfrac { 1 }{ 2{ { \sigma }_{ 1 } }^{ 2 } } { E }_{ x\sim p(x) }[(x-{ \mu }_{ 1 })^{ 2 }]+\cfrac { 1 }{ 2{ { \sigma }_{ 2 } }^{ 2 } } { E }_{ x\sim p(x) }[(x-{ \mu }_{ 2 })^{ 2 }]\\ &=\log { \cfrac { { \sigma }_{ 2 } }{ { \sigma }_{ 1 } } } -\cfrac { 1 }{ 2{ { \sigma }_{ 1 } }^{ 2 } } { { \sigma }_{ 1 } }^{ 2 }+\cfrac { 1 }{ 2{ { \sigma }_{ 2 } }^{ 2 } } { E }_{ x\sim p(x) }[(x-{ \mu }_{ 1 }+{ \mu }_{ 1 }-{ \mu }_{ 2 })^{ 2 }]\\ &=\log { \cfrac { { \sigma }_{ 2 } }{ { \sigma }_{ 1 } } } -\cfrac { 1 }{ 2 } +\cfrac { 1 }{ 2{ { \sigma }_{ 2 } }^{ 2 } } { E }_{ x\sim p(x) }[(x-{ \mu }_{ 1 })^{ 2 }+2({ \mu }_{ 1 }-{ \mu }_{ 2 })(x-{ \mu }_{ 1 })+({ \mu }_{ 1 }-{ \mu }_{ 2 })^{ 2 }]\\ &=\log { \cfrac { { \sigma }_{ 2 } }{ { \sigma }_{ 1 } } } -\cfrac { 1 }{ 2 } +\cfrac { 1 }{ 2{ { \sigma }_{ 2 } }^{ 2 } } ({ { \sigma }_{ 1 } }^{ 2 }+0+({ \mu }_{ 1 }-{ \mu }_{ 2 })^{ 2 })\\ &=\log { \cfrac { { \sigma }_{ 2 } }{ { \sigma }_{ 1 } } } -\cfrac { 1 }{ 2 } +\cfrac { { { \sigma }_{ 1 } }^{ 2 }+({ \mu }_{ 1 }-{ \mu }_{ 2 })^{ 2 } }{ 2{ { \sigma }_{ 2 } }^{ 2 } } \end{align*}$$
4. KL Divergence in VAE
$$ \begin{align*}KL(P||Q) &=\log { \cfrac { { \sigma }_{ 2 } }{ { \sigma }_{ 1 } } } - \cfrac { 1 }{ 2 } + \cfrac { { { \sigma }_{ 1 } }^2 + ({\mu}_{1} - {\mu}_{2})^{2}}{2 { {\sigma}_{2}^{2}}}\\ &=\log{ \cfrac {1}{ {\sigma}_{1} }} - \cfrac { 1 }{ 2 } + \cfrac { {{ \sigma }_{ 1 }}^2 + { {\mu}_{1} }^2 } {2} \\ &= \cfrac{ 1 }{ 2 } ({{\mu}_{1}}^2 +{{\sigma}_{1}}^2-\log{ {{\sigma}_{1}}^2} -1 ) \end{align*} $$