이번 포스팅에는 Pre-knowledges for Generative Models (1) 글에 이어 Monte Carlo Estimation에 대해 다뤄보려 한다.
Pre-knowledges for Generative Models (1) - KL-divergence, Maximum likelihood
목차 이번 포스팅에서는 딥러닝 기반의 generative model의 학습 과정을 배우기 위해 필요한 기초 지식들을 정리해보려 한다. 이제까지
jjuke-brain.tistory.com
Learning Density Estimation
Monte Carlo Estimation
Monte Carlo estimation은 random sampling을 여러 번 하여 기댓값 계산을 근사하기 위해 사용한다. 딥러닝의 Stochastic Gradient Descent처럼 데이터를 여러 번 샘플링하는 개념으로 볼 수 있다.
먼저, 관심있는 quantity를 random variable의 기댓값으로 표현한다.
Distribution
여기서 sample들은 서로 독립적이며,
큰 수의 법칙에 의해,
이렇게 근사하게 되면 두 가지 특징을 갖게 된다.
- Unbiased :
- Variance reduction :
Monte Carlo Estimation and Maximum Likelihood
Biased coin을 던지는 sinvle variable 예시를 들어보자. 가능한 결과는 heads(H)나 tails(T)이고 (
우선
여기서 log를 취하면 log-likelihood를 다음과 같이 구할 수 있다.
Maximum likelihood estimation(MLE)의 목표는
이를 autoregressive representation에 적용시켜보자.
Training data
여기서 MLE를 적용하려면, 우선 likelihood function을 분해(decompose)해야 한다.
여기에 log를 취하면,
이제
- Initialization :
을 랜덤하게 initialize - Back propgation :
계산 - Weight update :
Weight update 과정을 수식으로 나타내면 다음과 같다.
만약
여기서 Monte Carlo estimation을 통해 다음과 같이 근사할 수 있다.
최근댓글