[DL Basic] Generative Models

Jeonghyun·2022년 10월 7일
0

DL basic

목록 보기
6/6

Generative model, Latent variable model(VAE, GAN)

Generative model

target 이미지가 있을 때

  • Generation : target과 비슷한 새로운 sample xx를 만듦

  • Density estimation : p(x)p(x)에 어떤 이미지를 집어넣었을 때 target과 얼마나 유사한지. 유사할수록 값이 높아짐

    • explicit model : 확률값을 얻을 수 있는 모델
  • Basic discrete distributions

    • Bernoulli distribution : 1개의 parameter
      ex) coin flip
    • Categorical distribution : m-1개의 parameters, 나머지 1개는 자동으로 결정. i=1mpi=1\sum_{i=1}^m p_i = 1
      ex) m-sided dice, modeling single pixel of RGB

Structure through independence

Binary image에서 모든 픽셀이 independent하다면 possible state 수는 2n2^n이지만 distribution을 표현하기 위한 parameter 수는 n개.

Conditional independence

Fully Dependent(너무 많은 parameter)와 independent(표현할 수 있는 이미지가 적음)의 중간 모델을 찾아야한다.

  • three important rules
    • chain rule
    • bayes' rule
    • conditional independence
      if xyzx \perp y | z, then p(xy,z)=p(xz)p(x|y,z) = p(x|z)
  • Markov assumption
    현재 상태를 바로 이전의 상태만을 활용하여 정의
    p(x1,,xn)=p(x1)p(x2x1)p(x3x2)p(xnxn1)p\left(x_{1}, \ldots, x_{n}\right)=p\left(x_{1}\right) p\left(x_{2} \mid x_{1}\right) p\left(x_{3} \mid x_{2}\right) \cdots p\left(x_{n} \mid x_{n-1}\right)
    • parameter의 수 : 2n - 1

chain rule 적용 후 Markov assumption을 가하면, conditional independence를 활용해서 2n12^n - 1개의 parameter가 2n12n - 1개로 감소

Auto-regressive model

conditional independencychain rule를 잘 활용한 모델

  • 28*28 binary pixel에 대한 확률분포 p(x)p(x)의 표현 방법
    : joint distribution에 chain rule을 적용
    p(x1:784)=p(x1)p(x2x1)p(x3x2)...p(x_{1:784}) = p(x_1)p(x_2|x_1)p(x_3|x_2)...
  • 이런식으로 순차적으로 정의되는 모델이 auto-regressive model
  • 임의의 방법으로 2차원 혹은 3차원의 이미지를 한 줄로 펴는 방법

NADE : Neural Autoregressive Density Estimator

  • 주어진 input에 대한 density를 계산할 수 있는 explicit model
  • density 계산
    • n개의 binary pixel이 주어졌다고 가정
    • joint distribution을 chain rule을 통해 conditional distribution으로 표현
      -> p(xix1:i1)p(x_i|x_{1:i-1})각각을 independent하게 계산하여 확률 구함
    • continuous random variable일 경우 gaussian mixture 활용
      -> continuous한 distribution을 만듦

Latent Variable Models

Variational Autoencoder

autoencoder는 generative model인가

  • autoencoder는 input이 단순히 latent space를 거쳐 output으로 나옴

Variational Inference(VI)

  • Variational Inference의 목적은 posterior distribution을 찾기 위해 variational distribution으로 근사하여 최적화하는 것
    • posterior distribution : 관심있는 random variable의 확률분포
      계산하는게 불가능할 때가 많음
    • variational distribution : 상대적으로 간단하지만 최적화할 수 있는 분포

Variational Gap을 최소화하는게 목적.
하지만 q of p를 건드릴 수 없기 때문에 ELBO(Evidence Lower Bound)를 최대화함으로써 상대적으로 줄여서 variational distribution을 posterior와 근사

Generative Adversarial Network

  • DiscriminatorGenerator 두 개의 네트워크
  • Discriminator network는 생성된 이미지가 Generator가 학습한건지 원래 데이터인지 구분하는 역할
  • Generator는 Discriminator를 속이는 역할

GAN Objective

  • Discriminator
    maxDV(G,D)=Expdata [logD(x)]+ExpG[log(1D(x))]\max _{D} V(G, D)=E_{\mathbf{x} \sim p_{\text {data }}}[\log D(\mathbf{x})]+E_{\mathbf{x} \sim p_{G}}[\log (1-D(\mathbf{x}))]
    discriminator을 최적화시키는 식

    • genrator가 fix되어있을 때의 optimal discriminator
      : DG(x)=pdata (x)pdata (x)+pG(x)D_{G}^{*}(\mathbf{x})=\frac{p_{\text {data }}(\mathbf{x})}{p_{\text {data }}(\mathbf{x})+p_{G}(\mathbf{x})}
  • Generator
    minGV(G,D)=Expdata [logD(x)]+ExpG[log(1D(x))]\min _{G} V(G, D)=E_{\mathbf{x} \sim p_{\text {data }}}[\log D(\mathbf{x})]+E_{\mathbf{x} \sim p_{G}}[\log (1-D(\mathbf{x}))]

  • optimal discriminator을 plugging 했을 때 :
    → 2개의 Jenson-Shannon Divergence(JSD)가 나옴(Generator와 Discriminator 사이의 JSD)

Diffusion Models

: noise로부터 이미지를 조금씩 변경시켜가면서 만드는것

  • Forward(diffusion) process : 이미지의 noise를 집어넣어 noise화 시키는 것
  • reverse process : 이미지 복원 학습

ex) DALL-E2




출처 - 부스트캠프 AI tech 교육자료


[부스트캠프 AI Tech] Week 3 - Day 3

0개의 댓글