Auto-regressive Model¶
우선 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¶
NADE는 주어진 입력에 밀도 함수를 계산할 수 있는 explicit model이다.
우리는 pixel을 만들어 낼때 다음 식을 고려한다.
NxN RGB이미지에 대해서,
ordering을 어떻게 하느냐에 따라서 2가지 모델로 나뉜다.
그림으로 보면 아이디어는 간단하다. 도둑이 위조 지폐를 잘 만들고 싶어 하는데 위조 지폐를 잘 분별할 수 있는 경찰이 있다. 먼저 도둑이 만든 위조 지폐를 경찰이 분별하고 그 분별한걸 바탕으로 도둑은 더 정교한 위조지폐를 만들고를 반복하게 된다. 궁극적으로 성능을 높이는게 목적이다. 수식으로 보면 아래와 같다.
generator와 discriminator사이의 minmax game을 하는 것과 같다.
For discriminator:
G를 제외하고 D만 본것이다. 여기서 최적의 discriminator는 아래와 같은 식이다.
For generator:¶
discriminator가 최적이라고 가정했을때 다음 식을 유도할 수 있다.
그리고 여러가지 종류의 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 |