DCGAN (Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks)

Mini's Place·2022년 2월 2일
0

먼저 읽어보면 좋아요


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

DCGAN (By Ishango)

File


Unsupervise Representation Learning with Deep Convolutional Generative Adversarial Networks.pdf

Abstract + 배경


  • GAN의 발표 이후 GAN의 구조적 불안정성을 해결하기 위해 여러 논문들이 다양한 접근을 통해 해결하고자 했다.
  • DCGAN도 이러한 논문 중 하나인데 엄청난 결과물을 보이며 이후 나오는 논문에서 말하는 GAN의 구조는 DCGAN의 구조를 많이 사용했다고 한다.
  • CNN을 활용한 Supervised learning은 Computer vision에 많이 적용되었어나, Unsupervised Learning에는 그렇지 않았다.
  • DCGAN을 한마디로 요약하면 CNN을 GAN에 녹여 넣었다고 할 수 있다.

기존 GAN의 한계 (해결하고자 하는 문제)


  1. 생성 영상의 해상도

    • 기존 GAN은 MNIST와 같이 비교적 단순한 이미지는 괜찮은 이미지를 생성하였지만, CIFAR-10과 같은 복잡한 영상에 대해서는 그렇게 좋은 이미지 생성 x

      → 이전에 높은 품질의 이미지 생성이 가능한 GAN 모델은 LAPGANs가 유일

      → LAPGANs의 문제: 구조로부터 기인하는 노이즈로 인해 물체들이 흔들린 듯한 형체로 생성

  2. 결과의 불안정성

    • 학습 시 안정성이 떨어짐
    • CNN을 적용하기 위해 다양한 구조에 대한 실험 끝에 최적의 구조 → DCGAN
  3. Measure for sample evaluation → DCGAN이 해결했거나 하려는 문제는 아님.

    • Generator의 성능을 판단하는 기준이 모호 → 잘했는지 못했는지 정량적으로 평가 불가

    • 맞는 측정 방법 또한 주관적인 판단에 가까움

    • 아직 많은 연구가 필요한 부분

    • DCGAN 논문에서는 측정방법을 사용하지 않아도 최소한 생성 모델(Generator)이 학습이 잘 되었다는 것을 어떻게 보여줄 수 있는지 잘 분석해있음

      → 이미지를 외워서 보여주는 것이 아니란 것을 확인시켜야함

      → Generator의 Input 공간인 Latent Space에서 움직일때 급작스러운 변화가 아닌 부드러운 변화를 보여줘야함.

DCGAN 구조


image 5

  1. Max Pooling 같이 미분되지 않는 부분을 Convolution으로 대체 → All convolutional net 사용

  2. Generator와 Discriminator에 BatchNorm 추가

    → Generator의 Output Layer와 Discriminator의 Input Layer에는 BN을 추가하지 않음

    → GAN의 고질적인 문제인 Mode Collapsing 문제를 어느정도 완화

  3. Fully connected Layers를 쓰지않고 제거

  4. Tanh를 사용하는 Output layer을 제외한 모든 Generator에 있는 Layer에 ReLU 사용

  5. Discriminator에 있는 모든 Layer에 LeakyReLU 사용

참고


0개의 댓글