cGAN

Nam Eun-Ji·2021년 3월 23일
0

Conditional Generative Adversarial Nets
만약 MNIST 데이터셋으로 학습한 모델에서 숫자 7을 생성해내고 싶다면, GAN은 숫자 7이 나올 때까지 계속 기다려야하는 문제점이 있다. 이런 GAN의 문제점을 보완하여 7을 생성하기 위해 특정 조건을 주어 내가 원하고자 하는 이미지를 생성하고자 하는 방법이 cGAN이다.





cGAN 목적함수

GAN 목적함수
minGmaxDV(D,g)=Ex pdata(x)[logD(x)]+Ez px(z)[log(1D(G(z)))]min_G max_D V(D,g) = E_{x~pdata(x)}[logD(x)]+E_{z~p_x(z)}[log(1-D(G(z)))]

cGAN 목적함수
minGmaxDV(D,g)=Ex pdata(x)[logD(xy)]+Ez px(z)[log(1D(G(zy)))]min_G max_D V(D,g) = E_{x~pdata(x)}[logD(x|y)]+E_{z~p_x(z)}[log(1-D(G(z|y)))]

GAN에서 달라진 것은 우변의 +를 기준으로 양쪽 항에 y가 추가되었다. 즉 G와 D의 입력에 특정 조건을 나타내는 정보인 y를 같이 입력한다는 것이다. 그 외는 동일하게 G(Generator)는 식을 최소화하고, D(Discriminator)는 식을 최대화하도록 학습시킨다.





profile
한 줄 소개가 자연스러워지는 그날까지

0개의 댓글