Opening
★ 페이스북 인공지능 연구팀의 리더이자 딥러닝의 아버지라 불리는 얀 르쿤(Yann LeCun) 교수는 GAN(Generative Adversarial Network)을 가리켜 최근 10년간 머신러닝 분야에서 가장 혁신적인 아이디어라고 말했습니다. 요즘 가장 주목받는 기술인 딥러닝 중에서도 GAN은 가장 많은 관심을 받고 있는 기술입니다. 아무래도 창조자의 영역에 가장 근접한 딥러닝 분야여서 그런지 매번 생성되는 결과물을 기다릴 때마다 설레는 마음이 드네요. 이번 시간에는 GAN으로 할 수 있는 다양한 분야가 어떤 것들이 있는지 파악하면서 시작하고자 합니다. GAN에는 어떤 종류들이 있는지 찾아보고 설명해 보시길 바랍니다.
[예시 답안]
- GAN(Generative Adversarial Network): https://arxiv.org/abs/1406.2661 실제 데이터 분포와 근사한 가짜 이미지를 생성하도록 생성자(Generator)와 구분자(Discriminator)를 경쟁을 붙여서 적대적으로 학습(Adversarial Training) 시키는 딥러닝 모델이다.
- DCGAN(Deep Convolution GAN): https://arxiv.org/abs/1511.06434 안정적인 학습을 가능하게 함으로써 GAN의 전성시대를 가져옴. 사용한 모델 구조는 아직도 새로운 GAN 모델을 설계할 때 베이스 모델이 되고 있다. 이미지를 생성하기 위해서는 위치 정보가 중요하기 때문에 선형 레이어와 풀링 레이어(Pooling Layer)를 최대한 배제하고 합성곱(Convolution)과 ‘Transposed Convolution(Fractional-Strided Convolution)’으로 네트워크 구조이다.
- cGAN(Conditional GAN): https://arxiv.org/abs/1611.07004 강력한 모델이지만 입력 이미지와 출력 이미지가 매칭된 데이터를 필요로 한다
- WGAN(Wasserstein GAN): https://arxiv.org/abs/1701.07875 GAN에서 실제 데이터 분포와 근사하는 분포가 얼마나 다른지 측정하는 거리 개념을 바꿔 안정적인 학습을 가능하게 만들었다
- EBGAN(Energy-based GAN): https://arxiv.org/abs/1609.03126 GAN을 에너지 관점에서 바라봄으로써 역시 더 안정적인 학습을 추구했다.
- BEGAN(Boundary Equilibrium GAN): https://arxiv.org/abs/1703.10717 WGAN과 EBGAN을 발전시켜 생성하는 이미지의 퀄리티를 획기적으로 높이고 이미지의 퀄리티와 다양성을 컨트롤할 수 있게 했다.
- CycleGAN: https://arxiv.org/abs/1703.10593, DiscoGAN: https://arxiv.org/abs/1703.05192 두 영역의 이미지 데이터셋이 매칭돼 있지 않아도 이미지 변형을 가능하게 하는 모델이다. 예를 들어 핸드백과 신발의 이미지 데이터셋이 있으면 이 두 영역 사이의 연결을 스스로 찾아내어 주어진 핸드백 이미지와 같은 스타일의 신발 이미지를 생성한다(CycleGAN과 DiscoGAN은 거의 동일한 구조를 갖고 있다). StarGAN: https://arxiv.org/abs/1711.09020 CycleGAN과 DiscoGAN 두 아이디어를 확장시켜 세 개 이상의 영역 사이의 이미지 변형을 시도했다.
- SRGAN(Super-Resolution GAN): https://arxiv.org/abs/1609.04802 사진의 해상도를 높여준다.
- SEGAN(Speech Enhancement GAN): https://arxiv.org/abs/1703.09452 음성 녹음에서 노이즈를 줄여준다.
Check-up 항목
★ Pix2Pix를 제안한 논문, Image-to-Image Translation with Conditional Adversarial Networks https://arxiv.org/pdf/1611.07004.pdf 을 살펴보면 다양한 Image-to-Image 응용 사례가 제시되고 있습니다. 앞으로 GAN으로 풀고 싶은 문제가 있다면 어떤 문제가 있는지 상상해 보시고, 어떤 데이터셋을 활용해서 결과물을 산출했는지 살펴보고, 본인이 만들고 싶은 분야에 적용해 보도록 합시다.
[예시 답안] Image-to-Image 응용사례들
- Labels to Street Scene
- Labels to Facade
- Aerial to Map
- BW to Color
- Day to Night
- Edges to Photo
- Sketch to Architect (추가 예시)
- Wire frame to Prototype (추가 예시)
- 2D Sketch to 3D Rendering (추가 예시)
Closing
★ 가장 최근에 출간된 GAN 논문을 찾아보고 어떤 도메인에 적용해서 결과를 만들었는지 살펴보고, 본인이 만들어보고 싶은 GAN 분야에 대해서 토론해 보세요.
[예시 답안]
- Generative Adversarial Nets [NIPS 2015]
- Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks [ICLR 2016]
- InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets [NIPS 2016]
- WassersteinGAN
- Improved Training of Wasserstein GANs [NIPS 2017]
- Least Squares Generative Adversarial Networks [ICCV 2017]
- Energy-based Generative Adversarial Network
- BEGAN: Boundary Equilibrium Generative Adversarial Networks
- Conditional Generative Adversarial Nets
- Image-to-Image Translation with Conditional Adversarial Networks (Pix2Pix) [CVPR 2017]
- Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks (CycleGAN) [ICCV 2017]
- Semantic Image Synthesis with Spatially-Adaptive Normalization (SPADE, GauGAN) [CVPR 2019]
- StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation [CVPR 2018]
- Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
- Spectral Normalization for Generative Adversarial Networks (SNGAN) [ICLR 2018]
- Self-Attention Generative Adversarial Networks
- Large Scale GAN Training for High Fidelity Natural Image Synthesis (BigGAN) [ICLR 2019]
- Progressive Growing of GANs for Improved Quality, Stability, and Variation (ProgressiveGAN) [ICLR 2018]
- A Style-Based Generator Architecture for Generative Adversarial Networks (StyleGAN) [CVPR 2019]
- Analyzing and Improving the Image Quality of StyleGAN [StyleGANv2]
딥러닝 GAN 튜토리얼 - 시작부터 최신 트렌드까지 GAN 논문 순서
GAN 적대적 생성 신경망과 이미지 생성 및 변환 기술 동향
참고자료
실험(Experiments)
Conditional GAN의 보편성을 테스트하기 위해, 다양하게 진행하였다.
Python, Machine & Deep Learning
'성장하기' 카테고리의 다른 글
[서평] 네이버 블로그&포스트 만들기 (2) | 2021.03.23 |
---|---|
[서평] 잘 팔리는 브랜드의 법칙 (2) | 2021.03.22 |
[E-19] BERT로 영화리뷰 감성분류하기 (0) | 2021.03.16 |
[E-18] 문자를 읽을 수 있는 딥러닝 (0) | 2021.03.11 |
[E-17] 다음에 볼 영화 예측하기 (0) | 2021.03.09 |
댓글