GAN 구조

train 과정

- 검정 점선: 실제(진짜) 데이터
- 초록 선: generator가 생성한 가짜 데이터
- 파랑 점선: discriminator의 real/fake 판단
✔️ 처음에는 Generator의 성능이 좋지 않아 Discriminator의 정답률이 높은데, 점점 Generator가 생성한 가짜 데이터가 실제 데이터와 유사해지면서 Discriminator의 성능이 1/2로 수렴한다.
Value function
minGmaxDV(D,G)=Ex pdata(x)[logD(x)]+Ez pz(z)[log(1−(G(z))]
- -∞ ~ 0
- Discriminator는 V(D, G)를 maximize해야 함
- 진짜 데이터 x일 때 D(x) = 1이 되도록
- 생성한 가짜 데이터 G(z)일 때 (D(G(z)) = 0이 되도록
- Generator는 V(D, G)를 minimize해야 함
Experiment
- Generator 128 - 256 - 512 - 1024 - 1024
- Discriminator 512 - 256 - 1
- Cross entropy loss
- Adam optimizer
- Epoch 10
Loss

Result images


