Monthly Seminar

DCGAN 논문 리뷰

KAU-Deeperent 2020. 5. 6. 14:18

----출석관리팀

1. Introduction

2. Related Work

3. Appproach and model architecture

 

----감정인식팀

4.Details of adversarial training

 

논문의 저자들은 DCGAN을 총 세 가지 데이터 셋(LSUN, Face, Imagenet-1K)을 이용해 학습을 진행했다. LSUN(Large-scale Scene Understanding) 데이터 셋은 침실 사진들을 모은 데이터 셋, Face는 웹에서 랜덤하게 현대에 태어난 사람들의 얼굴을 모은 데이터 셋, 그리고 IMAGENET-1K는 이미지 분류뿐만 아니라 object detection, pose estimation, segmentation 등 다양한 컴퓨터 비전 문제에 활용되는 CNN backbone 모델 학습에 활용되어 온 자연 이미지 데이터 셋이다.

 

이미지에 대해서는 별도의 전처리를 하지 않았고, 이미지 값을 [-1, 1]의 범위로 scaling하여 사용하였다. 학습은 배치 사이즈가 128Mini-batch SGD, 가중치는 평균이 0, 표준편차가 0.02인 정규분포를 갖도록 초기화하였다. Adam Optimizer를 사용하였고, 학습률은 0.0002, 모멘텀은 학습의 안정화를 위해 0.5로 설정하였다.

 

먼저 침실 데이터 셋인 LSUN에 대해 DCGAN을 이용해 학습을 진행하였는데, 이 데이터 셋을 통해 Generator가 단순히 Overfittingmemorization(기억)을 통해서 이미지를 생성해내는 것이 아님을 설명하게 된다. 여기에서 Deduplication(중복데이터 제거)이라는 memorization 문제를 피하기 위한 방법이 사용되는데, 이 방법을 통해 비슷한 이미지를 많이 제거할 수 있었다고 한다. Deduplication은 이미지들을 Autoencoder를 이용하여 짧은 code로 변환할 수 있도록 학습한 후 이 code들에 근사한 값들을 제거했다고 하는데, 비슷한 이미지들을 약 275,000개 제외할 수 있었다고 한다.

 

Figure 23300만장이 조금 넘는 LSUN dataset을 이용해 학습시키고 생성해낸 결과로, figure 2는 상기한 Memorization 문제가 일어나지 않았다는 것을 검증하기 위해서 네트워크에 학습 데이터를 1 epoch만 진행한 결과를 보여준다. 학습률도 작게 설정하고, mini bath SGD1 epoch만을 진행했기 때문에 Generator가 학습 이미지를 기억할 수 없는 것은 확실하며, 이미지에서 약간 조잡한 부분들이 눈에 띄기는 하지만 큰 문제없이 이미지를 스스로 잘 만들어냈다는 것을 확인할 수 있다. 5 epoch를 거친 다음에는 한결 나아진 것을 figure 3에서 확인할 수 있다. 5 epoch의 경우 논문에서는 overfitting이 아니라 오히려 underfitting이 일어났다고 말하면서 그 증거로 침대의 머리 부분에 약간의 노이즈 질감이 반복되는 것을 볼 수 있다고 주장하고 있다.

 

Figure 2. 1 epoch 결과
Figure 3. 5 epoch 결과

 

5. Empirical validation of DCGANs capabilities

 

DCGAN의 성능을 검증하기 위해 논문의 저자들은 GANFeature Extractor로 사용하는 실험을 진행하였다. Discriminator는 입력 이미지의 특징을 파악할 수 있도록 필터가 학습되는데, Discriminator가 얼마나 이 특징을 잘 학습했는지 알아보는 대표적인 방법 중 하나는 이 필터들을 이용해 지도학습을 진행한 결과를 보는 것이라고 한다.

 

논문의 저자들은 CIFAR-10 데이터셋에 대해 실험을 진행하였다. 먼저 DCGANImagenet-1K 데이터셋으로 학습시키고(train), 학습된 Discriminatorfeature를 가져다가 CIFAR-10 데이터로 K-means classification (test)을 한 결과를 보여준다, 테스트 결과 82.8%의 정확도를 보였고, 정통 CNN으로 분류한 성능(84.3%)과 비교해도 크게 뒤지지 않는 성능을 보여주었다. 이는 특징 추출(Feature Extractor)로써의 역할을 DCGAN이 잘 해줄 수 있다는 점을 시사한다.

 

그 다음으로는 Label된 데이터가 부족한 편인 SVHN (Street View House Number) 문제에도 CIFAR-10때와 동일한 방식을 적용하였다. 결과적으로 22.48% test error를 보였고, CNN을 변형한 여타 모델들보다 나은 성능을 보였다. 추가적으로 논문의 저자들은 DCGAN과 동일한 architecture를 갖는 purely supervised CNN모델을 만들어 비교함으로써 DCGAN에서 사용한 CNN architecture가 성능 개선의 핵심 역할을 하는 것이 아님을 증명하였다.

Images from SVHN
Generated by DCGAN

[Reference]

Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks - Alec Radford el ec, 2016

초짜 대학원생의 입장에서 이해하는 Deep Convolutional Generative Adversarial Network (DCGAN) (1)

초짜 대학원생의 입장에서 이해하는 Deep Convolutional Generative Adversarial Network (DCGAN) (2)

 

----강화학습팀

6.Investigating and visualizing the internals of the networks

7.Conclusion and future work 

 

----코드리뷰 노신영