심층 학습/GAN (Generative Adversarial Network)

1538 단어 GAN심층 학습

1. 소개



이번에는 GAN에 대해 간단히 정리합니다.

2.GAN에 대하여




GAN은 생성기(Generator)와 식별자(Discriminator)라는 두 가지 경쟁 모델로 구성됩니다. Generator는 노이즈 z를 입력으로 하여 새로운 데이터 G(z)를 생성·출력합니다. Discriminator는 주어진 데이터가 학습 데이터인지 Generator가 생성했는지를 식별합니다.

두 모델을 교대로 학습시킴으로써 Generator는 한없이 학습 데이터에 가까운 분포의 데이터를 생성하고 Discriminator는 그러한 데이터에 대한 식별 제도를 높이려고 하는 것입니다. 이러한 네트워크는 생성 네트워크가 적대자와의 경쟁하에 놓이는 게임 이론적 상황에 근거하고 있습니다.

학습이 진행되고 Generator와 Discriminator 각각이 이상적인 성능을 갖게 되면 Generator가 생성하는 데이터 분포 𝑝𝑔와 훈련 데이터 분포 𝑝𝑑𝑎𝑡𝑎이 일치하기 때문에 𝐷(𝒙)=0.

3.GAN의 손실 함수




GAN의 손실 함수는 위와 같습니다. GAN의 학습에 두고, Discriminator는 학습 데이터 x, 생성 데이터 G(z) 각각에 대해 학습 데이터 및 생성 데이터라고 올바르게 판정할 확률을 최대화하려고 합니다. Generator는 Discriminator가 생성 데이터를 학습 데이터로 잘못 판단할 확률을 극대화(생성 데이터를 가짜라고 판단할 확률을 최소화)하려고 시도합니다.

4.DCGAN 특징



GAN(Deep Convolutional Generative Adversarial Network)의 포인트를 간단히 정리해 둡니다. 
1) Batch Normalization 사용
2) Discriminator에서는 pooling 대신 stride = 2의 컨벌루션 사용
3) Generator에서 deconvolution 사용
4) FC층을 없애고 Global Average Pooling 사용
5) Discriminator에서는 Leaky ReLU (α = 0.2)를 사용합니다.
6) Generator는 기본적으로 ReLU를 사용하고 출력 레이어 만 Tanh를 사용합니다.

좋은 웹페이지 즐겨찾기