[19.07.03]
- http://incredible.ai/artificial-intelligence/2017/04/15/GAN/
- https://m.blog.naver.com/PostView.nhn?blogId=laonple&logNo=221195944242&proxyReferer=https%3A%2F%2Fwww.google.com%2F
Discriminator와 Generator를 정확히 구분하기에 좋은 표인 것 같다.
그리고 Generator는 최대한 진짜같은 가짜를 만들어 내는 것이 목표이며, Discriminator는 최대한 진짜들 사이에서 가짜를 구분해내는 것이 목표이다.
GAN tutorial에서는 생성 모델을 위와 같이 분류하였는데, Maximum Likelihood를 기반에서 Explicit density와 Implicity density로 나눌 수 있다. Explicit density 는 1차원 데이터에 대해서는 모델 분포를 쉽게 구하지만, 이미지와 같은 다차원 공간에 대한 모델 분포를 구하기는 어렵다.
DCGAN(Deep Convolutional GAN)은 GAN의 구조를 발전시켜 최초로 고화질의 영상을 생성시킬 수 있는 알고리즘으로, 2015년 발표되어 2년만에 1000회 이상 인용이 되었다.
개인적으로 Generator의 입력 잡음으로 사용되는 z에 대한 의문이 있었는데, DCGAN에서는 z에 대한 의미를 발견하여, 이를 살짝 바꾸면 생성되는 이미지가 그것에 감응하여 살짝 변하게 되는 vector arithmetic의 개념을 찾아냈다.
# DCGAN의 5가지 변경 사항
1. Max-pooling layer를 없애고, strided convolution이나 fractional-strided convolution을 사용하여 feature-map의 크기 조절
2. Batch normalization 적용
3. Fully connected hidden layer 제거
4. Generator의 출력단의 활성 함수로 Tanh를 사용하고, 나머지 layer는 ReLU를 사용
5. Discriminator의 활성함수로 LeakyReLU를 사용
# latent variable : 잠재 변수, 여기서는 입력 잡음 z
'인공지능 > 인공지능 기초 정리' 카테고리의 다른 글
[독학] Maximum Likelihood 란 무엇인가? (0) | 2019.07.17 |
---|---|
[독학] Transpose Convolution(Conv2DTranspose) 이해하기 (0) | 2019.07.04 |
주피터 노트북 설치 (0) | 2019.01.17 |
텐서플로 예제 다운받고 실행해보기 (0) | 2019.01.17 |
윈도우 버전 git 설치하기 (0) | 2019.01.17 |