DCGAN
초기 GAN의 성능은 좋지 않았는데 그 이유는 Fully-Connected 되어 있는 구조이기 때문이다.
이에 Facebook은 Fully-Connected 구조를 CNN으로 바꾸어 GAN의 성능 향상을 도모했고, 이 모델을 DCGAN이라 한다.
G: Transposed Convolutioinal Network를 사용해 Up-sampling하여 원하는 사이즈의 이미지를 생성
D: 단순 CNN을 사용
*Transposed Convolutioinal Network란?
기존의 CN처럼 줄어드는 것이 아닌 확대되는 것.
[최적의 결과를 위한 DCGAN 모델 생성방법]
1. pooling layer 제거 -> Convolution layer로 대체 (pooling layer는 미분이 불가능하기 때문)
2. BatchNormalization 추가
3. fully connected hidden layer 제거
4. 생성자 모델의 activation fun: ReLU, 출력의 activation fun: Tanh 사용
5. 판별자의 모든 레이어에 Leaky ReLU를 적용
CGAN
GAN에 레이블이라는 추가적인 정보를 주어서 성능을 향상 시킨 모델이다.
condition을 나타내는 변수를 추가하여 임의의 노이즈가 주어졌을 때 원하는 출력을 가능하게 한 모델이다.
-> CGAN모델도 convolution layer와 사용한다.
라벨을 28*28*1크기의 벡터로 embedding하여 이미지와 동일한 크기의 텐서로 변환한다.
레이블과 이미지를 연결해 28*28*2가 input이 되게 한다.
'GAN' 카테고리의 다른 글
SQ-AGGAN (0) | 2022.12.21 |
---|---|
GAN 코드 분석 (0) | 2022.11.16 |
GAN에 대한 정리 (2) (0) | 2022.11.09 |
GAN에 대한 정리 (1) (0) | 2022.11.09 |