우리가 일반적으로 Generative Model을 생각하면 바로 GAN 이 떠오를 것이다. 번역을 하면 생성모델이긴 하지만 이 모델은 단순히 이미지를 생성만 하는 것이 아니라 다른 작업도 수행할 수 있다. 예를들어 다음과 같은 강아지 이미지가 있다고 생각해보자. 우리는 이 강아지와 유사한 이미지를 생성해낼수도 있고, 새로운 이미지가 들어왔을 때 이 이미지와 강아지 간의 확률값을 통해서 강아지인지 혹은 강아지가 아닌지 annomaly dectection도 수행할 수 있다.
Density estimation처럼 어떤 이미지가 들어왔을 때 기존 이미지와 얼마나 유사한가 확률값을 출력해내는 모델을 Explicit model이라고 부르고, 단순히 이미지 생성만 할 수 있는 GAN과 같은 모델은 implicit model이라고 부른다.

위 처럼 확률값(
예를들어 (r, g, b)를 가지는 이미지의 Category의 개수는 몇개가 될까? r, g, b는 각각 256개의 값을 가질 수 있기 때문에 이 경우 256x256x256개가 생긴다. 그렇다면 이때의 parameter수는 몇개가 될까? bernoulli의 경우를 보면 2-1개의 변수가 필요하다. 그러므로 총 256x256x256 -1 개의 parameter 가 필요하다.
흑백 사진이(binary image) n개 있다고 가정하면, 이때 필요한 parameter수는 총
우리는 이렇게 많은 parameter수를 줄이기 위해 모든 이미지들이 independent하다는 가정을 하기 시작했다. 사실상 이미지 내의 한 pixel에 대해서 인접한 pixel은 dependent하기 때문이다. 위 가정을 하게되면 possible state는
fully dependent한 상태로 이미지를 분석하려고하니 parameter수가 너무 많고, independent하다는 가정하에 이미지를 분석하려고 하면 parameter수가 너무 줄어들어 이 모델이 표현할 수 있는 이미지에 너무 제한적이게 된다. 이 중간에 어떠한 것을 찾기 위해서 다음과 같은 트릭을 시행한다.
1. Chain rule
2. Bayes' rule
3. Conditional independence
위의 Chain rule과 Bayes' rule는 exact한 방법이지만 마지막 Conditional independence는 가정이다.
Auto-regressive Model
MNIST 데이터가 있을때(28x28) Auto_regressive model을 활용해 parameter를 줄여보자.
우리가 하려고 하는 것은
어떤 데이터에 auto-regressive model을 적용 시키기 위해서는 ordering을 해주어야 한다. 왜냐하면 Chain rule을 적용시키기 위해서는 1부터 n까지의 순서가 있어야하기 때문이다. 이미지의 경우 2차원 공간인데 순서는 1차원 수준으로 매기기 때문에 가로, 세로, 대각선 등 다양한 순서를 매기는 방법에 따라서 성능이 달라질 수 있고, 방법론이 달라질 수 있다. auto-regressive model은 이전 한 정보만 고려할수도 있고, 3개 5개 등 갯수를 정할 수 있기 때문에 n개를 고려할 경우 AR(n) model이라고 부른다.
'Deep Learning > GAN' 카테고리의 다른 글
[GAN] Variants of GAN - DCGAN, LSGAN, SGAN (0) | 2021.10.30 |
---|---|
[GAN] Probability Distribution (0) | 2021.10.30 |
[GAN] Generative Adversarial Networks(GAN) - (StarGAN, fusionGAN) (0) | 2021.09.08 |