[Deep Learning] 생성적 적대 신경망(GAN)

less than 1 minute read


생성적 적대 신경망(Generative Adversarial Network, GAN)

상반된 목적의 두 신경망 모델이 경쟁을 통해 학습하고 결과물을 생성하는 신경망


앞서 배운 AE와 VAE를 이미지 데이터를 입력으로 다시 설명하면

AE는 원본 이미지를 재구성하여 원본과 동일한 이미지를 생성하도록 학습했고

VAE는 원본 이미지로부터 원본과는 조금 다른 유사한 이미지를 생성하도록 학습했다.


AE와 VAE는 인코더를 사용하여 표현 벡터를 만들고, 디코더를 통해 표현벡터 값으로부터 이미지를 생성했다.

인코더와 디코더가 협력적으로 결과물을 생성했다고 볼 수 있다.


AE, VAE와 달리

GAN은 생성자, 판별자 두 개의 모델로 구성되어 있고 두 모델은 반대의 목적을 가지고 경쟁적으로 동작한다.


GAN


1) 생성자(Generator)

  • 랜덤 데이터를 기반으로 실제 데이터 같은 거짓 데이터를 생성
  • 판별자를 속이지 못한 데이터를 입력받아 학습을 반복함

2) 판별자(Discriminator)

  • 생성자가 만든 데이터가 실제인지 거짓인지 판별하도록 학습(이진 분류)
  • 생성자에게 속은 데이터를 입력받아 학습을 반복함


GAN


두 모델은 동시에 학습되지 않고 번갈아 가면서 학습한다(.trainable = False).


생성자와 판별자에 CNN이 적용된 DCGAN(Deep Convolutional GAN)이 있다.

References

  • https://itwiki.kr/w/GAN

Leave a comment