Generative model

Generative model


참고자료 - https://deepgenerativemodels.github.io/

Auto-regressive Model

image.png

우선 28x28 binary pixels이 있다고 가정하자. 우리의 목표는 $x ∈ \{0,1\}^{784}$에서 $p(x) = p(x_{1},...,x_{784})$를 배우는 것이다. 우리는 어떻게 $p(x)$을 표현 할 수 있을까?

우리는 현재 픽셀은 그 전 픽셀들에 영향을 받는다고 가정을 해보자. $p(x_{1})$은 그대로 이고 $x_{2}$는 $x_{1}$에 영향을 받으므로 $p(x_{2}|x_{1})$이라 표현 가능하다. 또 $x_{3}$는 $x_{2}$와$x_{1}$에 영향을 받으므로 $p(x_{3}|x_{1:2})$로 표현 가능하다. chain rule을 적용해 보면 아래와 같다.

$p(x_{1:784})=p(x_{1})p(x_{2}|x_{1})p(x_{3}|x_{1:2})$

이것을 autoregressive model이라 부른다.



NADE: Neural Autoregressive Density Estimator

image.png

NADE는 주어진 입력에 밀도 함수를 계산할 수 있는 explicit model이다.

우리는 pixel을 만들어 낼때 다음 식을 고려한다.
NxN RGB이미지에 대해서,

image.png

ordering을 어떻게 하느냐에 따라서 2가지 모델로 나뉜다.

image.png

image.png

그림으로 보면 아이디어는 간단하다. 도둑이 위조 지폐를 잘 만들고 싶어 하는데 위조 지폐를 잘 분별할 수 있는 경찰이 있다. 먼저 도둑이 만든 위조 지폐를 경찰이 분별하고 그 분별한걸 바탕으로 도둑은 더 정교한 위조지폐를 만들고를 반복하게 된다. 궁극적으로 성능을 높이는게 목적이다. 수식으로 보면 아래와 같다.

image.png

image.png

generatordiscriminator사이의 minmax game을 하는 것과 같다.


For discriminator:

image.png G를 제외하고 D만 본것이다. 여기서 최적의 discriminator는 아래와 같은 식이다.


image.png


For generator:

image.png

discriminator가 최적이라고 가정했을때 다음 식을 유도할 수 있다. image.png

그리고 여러가지 종류의 GAN이 있다. 필요하다면 찾아서 이용해 보자.

  • DCGAN
  • Info-GAN
  • Text2Image
  • Puzzle-GAN
  • CycleGAN
  • star-GAN
  • Progressive-GAN

'AI > 이론' 카테고리의 다른 글

LSTM and GRU  (0) 2021.02.16
RNN and Language modeling  (0) 2021.02.16
Bag of Words  (0) 2021.02.15
Word Embedding  (0) 2021.02.15
Transformer - Sequential Models  (0) 2021.02.04
RNN - Sequential Models  (0) 2021.02.04
RNN 맛보기  (0) 2021.02.04
Computer Vision Applications  (0) 2021.02.03

+ Recent posts