부스트 캠프 ai tech 4주 5일차 DL Basic (9)


GAN

  • 적대적 생성모델
  • 노이즈로부터 데이터를 생성하는 Generator와 데이터가 진짜 데이터인지 생성된 데이터인지를 판단하는 Discriminator 2개의 구조로 이루어져 있다
  • Generator와 Discriminator는 서로의 Loss값을 최대로 하는 방향으로 학습을 하려 한다
    • Generator는 Discriminator의 판단한 결과로 실제 데이터와 유사하게 학습하는 방향으로 학습한다
    • Discriminator는 이진분류기로 실제데이터와 생성데이터를 분류한다
  • GAN을 아래와 같이 표현이 가능하다.
    $$
    min_G, max_D, V(D,G) = \mathbf{E}{x\sim p{data}(x)}[\operatorname{log}D(x)] + \mathbf{E}{z \sim p{z}(z)}[\operatorname{log}(1 - D(G(z)))]
    $$

GAN & VAE

  • VAE
    • 학습이 안정적이다
    • 결과물이 흐릿하게 나올 확률이 높다
    • 학습 데이터에 있는 데이터와 비슷하게 나온다
      • 새로운것을 만들어내지는 못함
  • GAN
    • 학습이 불안전하다
    • 출력물이 뚜렷한 편이다
      • 새로운 분포를 만들 수 있다
  • 최근에는 VAE또한 많이 발전해서 output이 GAN 이상의 것들을 보여준다

    reference

  • Naver Connect Boostcamp - ai tech

부스트 캠프 ai tech 4주 4일차 DL Basic (8)


Generative Model

  • 생성모델은 아래와 같은 특징을 가진다
  • Generatation
    • 기존의 데이터 확률분포 $p(x)$ 에 속하는 $x_new$를 만들어 낸다
  • Density estimation
    • data $x$가 기존의 데이터와 비슷하면 확률분포 $p(x)$상에 존재할 가능성이 높다.
    • anomaly detection 이상치 탐지
    • 설명 가능한 모델 등이 있다

Variaty Autoencoder

  • Latent Space로 부터 데이터를 생성해내는 모델을 말한다
  • Encoder와 Decoder 2부분으로 이루어져 있다
    • Encoder에서는 기존의 Dataset으로 부터 Latent Space를 생성한다
      • $x \rightarrow p(x)$
    • Decoder는 Latent Space로부터 역으로 Data를 생성한다
      • $p(x) \rightarrow x$
  • 그래서 Encoder에서는 Dataset으로 Latent Space의 확률분포를 근사하고
    • $q_\phi$(z|x)
  • Decoder에서는 Latent Space에서 기존 Dataset의 확률분포로 이동을 시켜준다
    • $p_\theta(x)$
    • 하지만 위의 확률분포는 우리가 알 방법이 없다
  • 그래서 이것을 근사하기 위해 VAE에서 사용된 2가지 기법에 대해서 간략하게 설명한다

Variaty Inference

  • $q_\phi(z|x)$와 $p_\theta(z|x)$의 차이($D_{KL}$)를 줄이는것이 궁극적인 목표이다

    • 하지만 $p_\theta(z|x)$은 우리가 알 수가 없다
  • 그래서 Maximum Likehood를 변형시켜서 학습에 이용한다

  • $\mathcal{L}(\theta, \phi ; x)$ : Evidence Lower Bound (ELBO)
    $$
    \begin{aligned}
    log(p_\theta (x)) &= \int_z q_\phi(z|x)log(p_\theta(x))\\
    &= \mathcal{L}(\theta, \phi ; x) + D_{KL}(q_\phi(z|x)||p_\theta(z|x))
    \end{aligned}
    $$

  • $D_{KL}$는 항상 1보다 크기때문에 위의 식은 다음과 같이 나타낼 수 있다.

$$
log(p_\theta (x)) \geq \mathcal{L}(\theta, \phi ; x)
$$

  • 여기서 ELBO를 크게 하는 쪽으로 학습을 하게되면 $D_{KL}$은 줄어들게 된다.

Reparametrization Trick

  • 학습과정 중간에 Sampling이 들어가서 미분이 되지 않는것을 해결하기 위한 Trick
  • sampling 한 값 $z$가 $\mu_q + \sigma_q \cdot \epsilon$ 과 같다고 생각하고 기존에 없던 $z$에 대해서 미분이 가능하게 바꾸었다.

reference