◾VAE와 GANs의 차이

- VAE의 생성 방식 : 입력 분포를 근사하는 과정에서 regularization을 주어 입력한 잠재변수와 크게 다르지 않은 데이터를 생성한다.
- GANs의 생성 방식 : 생성된 데이터와 실제 데이터를 판별하고 속이는 과정을 거치며 생성 모델을 학습시키기 때문에 구조적인 trick이나 복잡한 목적 함수 없이도, 모델은 실제로 생성하는 과정을 학습한다.
◾GAN
- 데이터를 생성하는 Generator와 데이터의 진위를 판별하는 Discriminator로 구성된다.
- 생성 모델 : 임의의 노이즈를 입력받아 생성된 데이터를 출력
- 판별 모델 : 생성된 데이터를 입력으로 받아 실제 데이터인지 여부를 출력 (Real, Fake)
🔸Objective function
$$
\min_G\max_DV(D,G)=\mathbb{E}{x\sim p{data}(x)}[\log D(x)]+\mathbb{E}{x\sim p{z}(x)}[\log(1-D(G(z)))]
$$
- $\mathbb{E}{x\sim p{data}(x)}[\log D(x)]$ : 입력 데이터에 대한 판별 모델의 출력에 대한 항이다.
- $\mathbb{E}{x\sim p{z}(x)}[\log(1-D(G(z)))]$
- $\log(1-D(G(z)))$ : D(G(z))의 값이 커져야, 즉 generator가 더 진짜같은 이미지를 만들수록 값이 커진다. 생성 모델 입장에서는 G(z)가 작아져야 $\log(1-D(G(z)))$가 커진다.
- 위 목적 함수는 $p_z\approx p_{data}$ , 생성 모델의 분포와 실제 데이터 분포가 유사해질 때 최적이 된다.
🔸Training
![[https://arxiv.org/abs/1406.2661]](attachment:2e2ef774-88a1-418f-9d91-1e4b56739477:image.png)
[https://arxiv.org/abs/1406.2661]
◾조건부 GANs