Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Tags
more
Archives
Today
Total
관리 메뉴

statduck

GAN 본문

Machine Learning

GAN

statduck 2023. 1. 6. 22:23

Generative Model이란?: 결국 데이터를 생성하는 모형이다. 데이터 생성은 결국 특정 분포를 따르는 확률변수에서 값들을 샘플링 하는 것과 같은 작업이라고 볼 수 있다. 과거의 데이터들이 어떤 분포를 따르는지 추정해서, 데이터들을 추가로 뽑는다고 생각하자.

여기서 중요한건 우리가 가진 데이터들의 분포를 제대로 알아내는 것, 학습하는 것이다. 

 

예를 들어 https://arxiv.org/pdf/1406.2661.pdf 이 논문을 왜 썼는지 히스토리를 알아보자.

Discriminative Model

기존에는 backpropagation, dropout 등의 테크닉으로 딥러닝에서 성공을 거두었다. Backpropagation은 목적함수를 최적화 하기 위해서 미분값들이 업데이트 되는 것이고 dropout은 오버피팅 방지를 위해 유닛들을 몇 가지 제거하는 것이다. 여기에는 어디에도 분포 가정이 없다. 데이터가 특정 분포에서 왔다라는 가정이 없는 것이다. 우리가 가진 데이터들로 그래디언트를 계산하며 목적함수를 최적화하는 것에 가깝다.

 

Generative Model

1) MLE 계산에서 Intractable Probabilistic Computation 문제 발생으로 우리는 분포가정을 깔지 않았다.

-> Tractable은 결국 Closed Form(유한한 연산자로 표현가능한 꼴)으로 계산되는 경우를 의미한다. 베이지안에서 Posterior Predictive distrubiton $p(\hat{y}|y)$를 구하기 위해서 적분이 필요한데, closed-form으로 계산이 안되는 경우가 있다.

 

더보기

* In Bayes statistics, $p(\theta|D)$ is usually not solved in closed-form, so we usually approximate the posterior inerence.

  • Grid Approximation
  • Laplace Approximation

다음과 같이 Posterior를 라플라스 꼴로 생각을 하고 지수부분을 테일러로 전개해주는 방식이다.

$p(\theta|D) = \dfrac{1}{Z} e^{-\varepsilon(\theta)}, \; where \; \varepsilon(\theta) = -log p(\theta,D), \; Z=p(D)$

$\varepsilon(\theta) \sim \varepsilon(\hat{\theta})+(\theta-\hat{\theta})^Tg + dfrac{1}{2}(\theta-\hat{\theta})^TH(\theta-\hat{\theta})$

$\hat{p}(\theta,D)=e^{\varepsilon(\theta)}exp\Big[-\dfrac{1}{2}(\theta-\hat{\theta})^TH(\theta-\hat{\theta})\Big]$

$\hat{p}(\theta|D)=\dfrac{1}{Z}\hat{p}(\theta,D)=N(\theta|\hat{\theta}, H^{-1}), \; Z=e^{-\varepsilon(\hat{\theta})}(2\pi)^{D/2}|H|^{-1/2}$

 

Mode는 극값의 역할을 하여 gradient=0이므로 Hessian도 쉽게 구할 수 있다. 사후분포를 근사해서 찾았으니 최적화 활용해서 MAP도 찾을 수 있다. 하지만 이런 방식의 단점은 바로 정규가정은 결국 분포가 대칭이라는 이야기인데 여기서 사후분포는 skewed돼있다는 것이다.

 

  • VAE ($q^*=argmin_{q \in Q} D(p,q)$)

 키 아이디어는 $p(\theta||D)$를 우리가 알고있는 분포인 $q(\theta)$로 근사시키는 것이다. 그리고 근사시키는 분포 q를 찾기위해서 최적화를 이용하겠다는것이다. Multivariate Gaussian과 같이 우리가 계산할 수 있는 form의 family로 Q를 구성하자. 그리고 D를 KL divergence로 정의하면 log martginal likelihood의 하한(ELBO - Evidence Lower Bound)을 구할 수 있다. 그리고 ELBO를 최대화하면서 사후분포 추정의 성능을 개선할 수 있다. VAE도 식에서 보면 알 수 있듯이 결국 최적화 방식이다

 

-MCMC

 VAE는 결국 Q가 어떻게 구성되어있냐에 따라서 사후분포 추정이 달라지기 때문에 조금 더 유연한 방식으로 MCMC를 이용할 수 있다. 결국 샘플링을 하겠다는건데, 고차원에서는 시간도 오래걸리고 VAE가 더 좋을 수 있다. 

 

 

 

2) Piecewise Linear 장점을 활용하기 힘들었다

 

이 두가지 배경에서 저자는 Advarsary Network을 이용한다.

해당 모형은 결국 '우리 데이터가 우리가 가정한 모형의 분포에서 왔니? 혹은 데이터의 분포에서 왔니?'를 판단해주는 것이다.

 

Directed Graphical Models With Latent Variables 대안 Undirected 

- Restriced Boltzman Machines(RBM): https://angeloyeo.github.io/2020/10/02/RBM.html

- DBMs(Deep Boltzman machines)

 

 

 

 

 

 

 

 

Comments