[논문 리뷰 - DCGAN] Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks (ICLR 2016)

2025. 2. 5. 12:45·Generative Models
728x90
반응형

본 논문은 ICLR 2016에 게재된 논문이다. (저자 소속: Indico & Facebook AI Research)

논문 링크: https://arxiv.org/abs/1511.06434

 

1. DCGAN Architecture

기존 GAN 모델은 Generator와 Discriminator가 모두 fully-connected layer로 되어 있었다.

당연하게도, 공간 정보를 잘 캡처하기 위해서 fc layer보단 convolutional layer가 더 좋을 것이다.

저자들은 기존 GAN에 Convolution 개념을 적용한 DCGAN 이라는 모델을 제안한다.

엄청 테크니컬한 기술이 들어간 것이 아니라서 모델 구조를 간단하게 요약해볼 수 있다.

  • Generator에서는 fractional-strided, Discriminator에서는 strided 컨볼루션을 사용한다.
  • Batch normalization 이 모든 레이어에 적용된다. (Generator의 output과 Discriminator의 input은 제외)
  • 모든 fc layer들을 삭제했다.
  • Generator의 모든 layer에서 ReLU 함수를 사용한다. (output에서는 Tanh)
  • Discriminator의 모든 layer에서 sigmoid 함수를 사용한다.

사실 이렇게만 정리했을 때 너무 간단해서 와닿지 않았습니다.

그래서 코드와 함께 모델을 조금 더 공부해봤습니다.

 

 

2. Generator

왼쪽 사진과 함께 코드를 보겠습니다.

앞에서 언급한 것처럼 fractional-strided convolution을 사용합니다.

이것은 달리 말해 Transposed convolution, 즉 사영된 이미지를 다시 upsampling 하는 covolution을 의미합니다.

 

마찬가지로, 모든 레이어에서 batch normalization과 ReLU 함수를 사용하다가

마지막 레이어에서만 Tanh 함수만을 사용하는 것을 확인할 수 있습니다.

 

 

3.  Discriminator

Discriminator에서는 (빨간색으로 표시한) stride가 2로 설정된 covolution을 이용합니다.

마찬가지로, batch normlization과 LeakyReLU를 사용했으며, 마지막 레이어에서는 sigmoid 함수를 적용해서 Real or Fake 에 대한 확률을 생성합니다.

 

 

4.  Details of adversarial training

사용한 데이터셋

  • LSUN bedrooms dataset (3M)
  • ImageNet (1K)
  • Faces(350,000 faces from 3M images)

Batch size: 128

Optimization: Adam (momentum constant = 0.5)

Initialization: N(0, 0.02)

 

 

5. Experimental Results

Walking in the Latent Space

Generator의 입력으로 들어가는 latent vector z 값을 조금씩 증감시켰을 때, 

생성되는 이미지도 점진적으로 변하는 것을 알 수 있습니다.

우리는 이러한 사실을 통해 Generator가 입력의 feature를 잘 포착한다는 것을 알 수 있습니다.

 

Visualizing the Discriminator Features

 

Guided Backpropagation 방법을 사용하여  Discriminator의 필터가 활성화되는 영역을 시각화한 결과입니다.

LSUN 데이터셋에서 주로 창문과 침실 사진이 많이 포함되어 있는데, 

Trained filters에서 이와 같은 물체들을 잘 포착하고 있다는 것을 알 수 있습니다.

 

 

Manipulating the Generator Representation – Vector Arithmetic on Face Samples

 

저자들은 NLP 작업에서 수행되는 vector 산술연산과 비슷한 실험을 진행했습니다.

man with glasses, man without glasses, woman without glasses를 표현하는 사징 세장씩을 골라서 연산한 결과입니다.

 

오른쪽 9장 이미지들 중에서 중심 사진이 output vector로 만들어진 이미지 입니다.

예상했던 결과대로 안경을 쓴 여성의 사진이 생성되었습니다.

output vector에 uniform noise (+-0.25)를 추가한 경우에도 비슷한 이미지가 생성되는 것으로 보아 vector arithmetic 연산이 NLP 뿐만 아니라 CV 에서도 적용될 수 있음을 시사합니다.

 

개인적으로 아주 재밌게 읽은 부분이었고, 관련 연구가 많이 진행되었으리라 추측합니다.

 


 

저의 글이 언제나 여러분께 도움이 되길 바라겠습니다. 👍

궁금한 내용 댓글 남겨주시면 빠르게 답변해 드리도록 하겠습니다. 😍

728x90
반응형

'Generative Models' 카테고리의 다른 글

[논문 리뷰 - Cycle GAN] Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks (ICCV 2017)  (2) 2025.02.06
[논문리뷰 - Pix2pix] Image-to-Image Translation with Conditional Adversarial Networks (CVPR 2017)  (3) 2025.02.05
[논문 리뷰 - cGAN] Conditional Generative Adversarial Nets (2014)  (3) 2025.02.05
[이미지 생성 모델] Autoencoder, VAE, GAN 설명  (0) 2025.02.05
'Generative Models' 카테고리의 다른 글
  • [논문 리뷰 - Cycle GAN] Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks (ICCV 2017)
  • [논문리뷰 - Pix2pix] Image-to-Image Translation with Conditional Adversarial Networks (CVPR 2017)
  • [논문 리뷰 - cGAN] Conditional Generative Adversarial Nets (2014)
  • [이미지 생성 모델] Autoencoder, VAE, GAN 설명
View synthesis 공부하는 대학원생
View synthesis 공부하는 대학원생
AI - view synthesis에 대해 공부하고 있으며, AI 공부하시는 분들과 함께 소통하고 싶습니다 😍
  • View synthesis 공부하는 대학원생
    Happy Support's Blog
    View synthesis 공부하는 대학원생
  • 전체
    오늘
    어제
    • 분류 전체보기 (63)
      • View synthesis (3)
      • Backbone (5)
      • Generative Models (5)
      • On-device AI (3)
      • ML (2)
      • DL (1)
      • LLM (2)
      • 코딩테스트 (25)
      • 에러 해결 모음집 (12)
      • 기타 (4)
  • 링크

  • 인기 글

  • 최근 댓글

  • 최근 글

  • 250x250
    반응형
  • hELLO· Designed By정상우.v4.10.3
View synthesis 공부하는 대학원생
[논문 리뷰 - DCGAN] Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks (ICLR 2016)
상단으로

티스토리툴바