목차
논문을 읽을 때 자주 등장하는 기초 개념 중, 이번 글에서는 reconstruction loss와 Kullback-Leibler divergence loss에 대해 알아보려 한다.
Kullback-Leibler Divergence Loss
간단히 소개하자면, KL divergence loss는 두 분포가 서로 가까운지를 측정하는 개념이다. Mean Squared Error (MSE) loss는 실제 값과 예측 값 사이의 거리를 loss로 계산한 것이라면, KL divergence loss는 두 분포의 거리를 loss로 나타낸 개념이라고 생각하면 된다.
당연히 값이 낮을수록 두 분포는 비슷한 분포이다.
Kullback-Leibler Divergence
주어진 random variable
이때
KL divergence는 아래와 같은 특징이 있다.
: 교환 법칙이 성립하지 않는다. : 항상 0 이상의 값을 갖는다. (위에서 말했듯이, 거리 개념이기 때문이다.)
논문에서도 위 표현대로 두 분포
Loss Function of VAE
VAE에서의 loss를 reconstruction loss와 KL divergence를 통해 알아보자.
Reconstruction Loss

Reconstruction loss란, (Variational) Auto-Encoder(AE)에서 input과 최종 생성된 output 사이의 차이를 말한다.
Autoencoder는 encoder와 decoder로 이루어지며, encoder는 input의 feature(latent variable
Decoder는 수학적으로 다음과 같이 encoder가 만든
: VAE 모델의 parameter
Maximum (log)Likelihood Estimation(MLE)를 통해 VAE의 파라미터를 추정하기 위해서는 다음과 같은 marginal log-likelihood
하지만, latent variable
베이즈 정리를 적용해보자.
베이즈 정리의 evidence term인
여기서, KL divergence
: Sampling trick (reparameterization trick) 사용하여 추정한다.- 이 term이 바로 input
와 reconstructed output 의 차이를 뜻하는 reconstruction loss이다.
- 이 term이 바로 input
: KL divergence term의 posterior인 가 Gaussian 분포를 따르면 closed-form solution을 갖는다. : 여전히 계산이 어렵지만, KL divergence term이므로 항상 0보다 크다.
최종 식을 보면, evidence를 likelihood와 posterior로 표현했음을 알 수 있다.
Loss function of VAE

VAE의 학습 과정을 다시 살펴보자. Encoder는 input
VAE 모델은 위에서 언급했던
GAN Loss (= min-max GAN loss)
GAN은 실제와 구별이 불가능하도록 가짜 데이터를 생성하는 generator와 실제와 가짜를 구분하는 discriminator가 서로 경쟁하며 학습하는 모델이다.
Loss function의 수식부터 살펴보자.
: real data 를 discriminator 에 입력했을 때 나오는 결과 관련 term : fake data 를 generator 에 입력했을 때 나오는 결과를 discriminator 에 넣었을 때 나오는 결과 관련 term
Discriminator와 generator 입장에서 각자 이상적인 경우를 생각해보며 loss function을 이해해보자.
Discriminator
이상적인 경우, 실제 데이터에 대해서
마찬가지로 이상적인 경우, 가짜 데이터에 대해서는
Generator
이상적인 경우,
최근댓글