< 목차 >
- 용어정의
- 요약
- 학습방법
- 결과
- 출처
1. 용어정의
- 피드백 후 작성예정입니다.
2. 요약
Generative Adversarial Nets(GAN)은 실제데이터를 통해 모조데이터를 생성하는 Generative model (Generator) 과 이 두 가지 데이터를 구별하는 Discriminative model(Discriminator)로 구성된다.
그리고 충분히 학습된 Generator 가 생성한 데이터를 Discriminator가 실제데이터와 구분할 수 없도록 만드는 것이 연구목표이다.
3. 학습방법
우선 Generator(G)에서 생성된 Noise z (Latent sample)을 이용해서 모조데이터 생성하고, Discriminative model(Discriminator, D)이 모조데이터를 실제와 구분할 수 없을 확률을 최대화하는 원리로, D와 G의 대립적 (Adversarial) 관계를 아래 수식을 통해 설명할 수 있다.
mini-max game을 따라, 식별하는 입장에서는 D의 모조 식별력을 최대화하기 위해서 실제데이터에 대해 D(x) 가 1이 되고 생성된 모조데이터 D(G(z))에 대해서는 0 이 되어야하며, 반대로 모조데이터를 실제데이터와 유사하게 생성하려는 입장에서는 D(G(z))가 1이 되어야한다.
즉, 이론적으로는 충분한 학습 뒤에 D(x)와 D(G(z))의 확률분포가 0.5으로 수렴하게 될 것을 의미하고, 이는 G가 실제데이터와 유사한 데이터를 생성해낼 수 있다는 것을 나타낸다.
4. 결과
28 x 28 이미지크기의 숫자 손글자 MNIST 데이터셋을 통해서 GAN 을 100 에포크까지 학습시켜 보았고, 블러링과 노이즈가 간간이 존재하긴 하지만 실제 MNIST 데이터셋와 유사한 숫자 손글씨 이미지데이터를 생성해내는 것을 볼 수 있다. 아마 학습 파라미터와 에포크 수를 조절하면 성능은 더 좋아질 것으로 예상된다.
(구현코드는 다른 사이트에도 GAN 튜토리얼로 워낙 많이 나와있기 때문에 참고하면 될 것 같으나, 말씀주시면 올려놓도록 하겠습니다.)
5. 출처
'인공지능 > 컴퓨터비전' 카테고리의 다른 글
Loss functions for Image Transformation (1) | 2021.04.20 |
---|---|
EdgeConnect: Generative Image Inpainting with Adversarial Edge Learning (0) | 2021.04.19 |
Partial Convolution based Padding (0) | 2021.04.19 |
Image Inpainting for Irregular Holes Using Partial Convolutions (0) | 2021.04.16 |
Deep Convolutional Generative Adversarial Nets(DCGANs) (0) | 2021.04.14 |