상세 컨텐츠

본문 제목

[Advanced ML & DL Week6] GAN 모델 구현 및 DCGAN

심화 스터디/Advanced ML & DL paper review

by avril22 2022. 11. 24. 00:51

본문

작성자: 15기 우명진

 

지난주에 GAN 논문에 대해서 리뷰를 진행했습니다. 

 

이후 Deep Convolutional Generative Adversarial Networks(DCGAN)이라고 하여 GAN에서 파생된 모델이 있다는 것을 알게 되어 추가적인 공부를 진행해보았습니다. 

 

GAN의 단점으로는 구조가 불안정하고, NN이 가진 한계점('어떠한 과정을 거쳐서 이런 결과가 나오는건가'에 대한 설명)을 지녔습니다. 

 

DCGAN의 가장 큰 차이점은 Generator와 Discriminator에서 convolution(합성곱 신경망)convolution-transpose(전치 합성곱 신경망)을 사용했다는 점입니다. 

 

구체적으로는, 

Discriminator에서는 convolution 계층, batch norm 계층, LeakyReLU 활성함수를 사용합니다. 

입력값과 출력값은 GAN과 동일하게 각각 3x64x64와 입력 데이터가 실제 데이터일 확률값인 0~1 사이값입니다. 

  • stride가 있는 conv 계층을 사용하면 신경망 내에서 스스로 pooling 함수를 학습하기 때문에 데이터를 처리하는 과정에서 직접적으로 풀링계층(MaxPool, AvgPool)을 사용하는 것보다 더 유리합니다. 
  • batch norm와 leakyrelu함수는 학습과정에서 더 효과적인 경사도(gradient)를 얻을 수 있습니다.

 

Generator에서는 convolution-transpose 계층, batch norm 계층, ReLU 활성함수를 사용합니다. 

입력값과 출력값은 GAN과 동일하게 각각 잠재공간 벡터 z와 3x64x64 RGB입니다. 

  • stride=2인 convT 계층을 이어서 구성. 각 convT 하나당 2차원 batchnorm와 relu 활성함수 사용
  • tanh 함수를 통과하여 출력값을 [-1,1]로 조정

*convolution-transpose(전치 합성곱 신경망)은 latent vector z가 이미지와 같은 차원을 갖도록 변환시켜주는 역할

 

 

DCGAN을 통해 

1. 안정적으로 학습이 가능한 GAN을 구축합니다. 

2. 학습이 된 Discriminator가 이미지 분류에서 다른 비지도 알고리즘과 비교했을 때 대등한 성능을 보입니다.

3. DCGAN이 학습한 filter들을 visualize하고, 특정 filter가 특정 object도 생성할 수 있습니다.  →GAN의 한계 극복 

4. DCGAN은 벡터 산술 연산이 가능한 성질을 갖습니다.


 

예시)

사람 얼굴을 학습한 Generator에 [(안경 쓴 남자를 출력하는 noise를 찾아서 평균을 취한 것) - (안경이 없는 남자를 출력하는 noise를 찾아서 평균을 취한 것) + (안경 없는 여자를 출력하는 noise의 평균)]의 연산을 수행하여 Generator에 입력해주면 '안경 쓴 여자'를 출력

 

 

 

 

 

참고 링크:

https://tutorials.pytorch.kr/beginner/dcgan_faces_tutorial.html

 

DCGAN 튜토리얼

저자: Nathan Inkawhich, 번역: 조민성,. 개요: 본 튜토리얼에서는 예제를 통해 DCGAN을 알아보겠습니다. 우리는 실제 유명인들의 사진들로 적대적 생성 신경망(GAN)을 학습시켜, 새로운 유명인의 사진을

tutorials.pytorch.kr

https://memesoo99.tistory.com/32

 

[GAN] DCGAN - 논문 리뷰, Paper Review, 설명 (1)

오늘 다룰 논문은 2016년에 발표된 DCGAN -Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks에 대한 리뷰입니다. 논문에 흥미로운 Figure들이 많아 재미있게 읽은 논문입니다. DCGA

memesoo99.tistory.com

https://memesoo99.tistory.com/33 

 

[GAN] DCGAN - 논문 리뷰, Paper Review, 설명 (2)

오늘은 1편에 이어 2016년에 발표된 DCGAN -Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks에 대한 리뷰입니다. 논문에 흥미로운 Figure들이 많아 읽은 논문입니다. DCGAN에 앞서

memesoo99.tistory.com

 

관련글 더보기

댓글 영역