CNN을 활용한 분류 모델을 어느 정도 공부하고 난 후, 관심 분야인 GAN에 대해 공부하기 시작했습니다. 블로그에 올라오는 글들은 원 논문 및 논문 관련 설명들을 참고하여 작성한 것입니다. GAN은 딱히 코드를 구현하지 않고 논문 분석에 많이 집중을 했습니다. 설명에 틀린 부분이 있을 수 있습니다. 정중하게 지적해주시면 참고하겠습니다.
원 논문: https://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf
* 이미지 데이터는 다차원 특징 공간의 한 점으로 표현되며, 우리는 이미지의 분포를 근사하는 모델을 학습시킬 수 있다.
* 사람의 얼굴에는 통계적인 평균치가 있을 수 있는데, 모델은 이를 수치적으로 표현할 수 있게 된다.
* 이미지 데이터에 대한 확률 분포: 이미지에서의 다양한 특징들이 각각의 확률 변수가 되는 분포, 즉 다변수 확률 분포 중 하나.
* 다변수 확률 분포의 예시는 다음과 같다.
* 코의 길이와 눈의 모양을 특징으로 하는 이변수 확률 분포. 확률 값이 높은 가운데로 갈수록 더 정교한 얼굴, 확률 값이 낮은 가장 자리로 갈수록 더 어색한 얼굴을 가질 수 있을 것이라 예상 가능하다.
* GAN은 이러한 이미지 데이터의 확률 분포를 학습하여 마치 진짜 같은 가짜 이미지를 생성한다.
참고 자료 (위에 두 개는 수식을 이용한 자세한 증명):
http://jaejunyoo.blogspot.com/2017/01/generative-adversarial-nets-2.html
http://jaejunyoo.blogspot.com/2017/01/generative-adversarial-nets-1.html
https://pathmind.com/kr/wiki/generative-adversarial-network-gan
https://www.notion.so/GAN-DCGAN-6a7f50f92fca49bda73ecf301d9a8de8
저자 코드:
https://github.com/goodfeli/adversarial/blob/master/__init__.py
참고할 만한 코드:
<파이토치>
https://github.com/Yangyangii/GAN-Tutorial/blob/master/MNIST/VanillaGAN.ipynb
<케라스>
https://github.com/eriklindernoren/Keras-GAN/blob/master/gan/gan.py
<김태영 이사님 블로그>
https://tykimos.github.io/2018/10/10/Understanding_Generative_Adversarial_Nets/
'딥러닝 & 머신러닝 > 논문 리뷰' 카테고리의 다른 글
[논문 리뷰] GAN - cGAN (arxiv 2014) (0) | 2020.04.19 |
---|---|
[논문 리뷰] GAN - DCGAN (arxiv 2015) (0) | 2020.04.13 |
[논문 리뷰] CNN - SENet (CVPR 2018) (0) | 2020.04.13 |
[논문 리뷰] CNN - SqueezeNet (ICLR 2017) (0) | 2020.04.13 |
[논문 리뷰] CNN – MobileNet (CVPR 2017) (0) | 2020.04.12 |