본문 바로가기
AC-GAN/이전 논문

[이전 논문] CGAN

by kkkkk1023 2024. 11. 12.

CGAN이란?

 

 
CGAN(Conditional GAN)은 생성 모델 G와 감별 모델 D의 입력에 조건 C를 추가하였다.
 
C는 클래스 레이블, 속성 정보 등 데이터 생성에 필요한 추가 정보로, 생성 모델 G는 노이즈 z와 조건 C를 함께 입력받아 C에 맞는 데이터를 생성한다. 감별 모델 D는 입력 데이터가 진짜인지 가짜인지 판단한다이렇게 CGAN은 조건에 따라 데이터를 생성하도록 설정함으로써 GAN의 출력을 제어할 수 있게 된다."
 

💡C를 통해서 어떻게 조건부 생성을 할 수 있게 되는 것인가?

 

 
위 이미지로  설명을 해보겠다. 
 
우선 C라는 조건은 노이즈 벡터를 샘플링할 때와 이미지 셋에서 샘플링할 때 주어진다. z는 C라는 정보를 토대로 샘플링을 하겠지만 원할하게 하지 못한다.
 
하지만 이미지 셋에서 샘플링할 때는 C라는 정보를 토대로 이미지가 샘플링되어 진짜 이미지라는 판단을 받아내기 때문에 G에서도 결국 C클래스 이미지의 특징을 학습해서 G(z)에서는 C 클래스와 비슷한 이미지를 생성해서 진짜 이미지라고 판단하게 만든다. 
 
즉, C를 기반으로 샘플링된 x를 학습하기 위해서 z에서는 x의 분포를 학습해서 x의 분포에 맞는 이미지를 생성한다.
 
 
 
 

CGAN의 목적함수

 
 
클래스가 C일 때 Discriminator는 생성된 데이터 x와 가짜 데이터 G(z)를 잘 맞추도록 학습이 되고,
클래스가 C일 때 Generator는 가짜 데이터 G(z)를 잘 맞추지 못하도록 학습이 되는 것이다.
 
 
 
 
 


 

CGAN의 한계

C의 충분하지 못한 활용

C라는 조건을 통해서 이미지를 생성해내지만, C라는 조건을 잘 맞춰서 이미지가 생성된지에 대한 확인은 할 수 없다.
따라서, C라는 조건에 맞춰서 이미지를 생성하지 못하는 경우도 생긴다.
 
 
 

'AC-GAN > 이전 논문' 카테고리의 다른 글

[이전 논문] GAN  (0) 2024.11.12