728x90
반응형

데이터셋 

  • Google의 Quick, Draw! 데이터셋 사용
  • 28 x 28픽셀 크기의 흑백 낙서 이미지로 주제별로 레이블되어 있다.
  • 한 온라인 게임으로부터 수집

 

 

GAN 정의

gan = GAN(input_dim = (28,28,1)
        , discriminator_conv_filters = [64,64,128,128]
        , discriminator_conv_kernel_size = [5,5,5,5]
        , discriminator_conv_strides = [2,2,2,1]
        , discriminator_batch_norm_momentum = None
        , discriminator_activation = 'relu'
        , discriminator_dropout_rate = 0.4
        , discriminator_learning_rate = 0.0008
        , generator_initial_dense_layer_size = (7, 7, 64)
        , generator_upsample = [2,2, 1, 1]
        , generator_conv_filters = [128,64, 64,1]
        , generator_conv_kernel_size = [5,5,5,5]
        , generator_conv_strides = [1,1, 1, 1]
        , generator_batch_norm_momentum = 0.9
        , generator_activation = 'relu'
        , generator_dropout_rate = None
        , generator_learning_rate = 0.0004
        , optimiser = 'rmsprop'
        , z_dim = 100
        )

 

 

판별자

  • 판별자의 목표는 이미지가 진짜인지 가짜인지 예측하는 것
  • 지도 학습 분야의 이미지 분류 문제
  • 원본 논문에서는 합성곱 층 대신 완전 연결 층을 사용했지만, 합성곱 층이 판별자의 예측 성능을 크게 높여 준다고 한다.

 

GAN의 판별자 구조

[그림1] GAN의 판별자

 

 

생성자

  • GAN의 생성자는 VAE의 디코더와 정확히 동일한 목적을 수행한다.

 

 

GAN의 생성자 구조

[그림2] GAN의 생성자 구조 구조

 

업샘플링(upsampling)

  • GAN에서는 케라스의 UpSampling2D 층을 사용해 텐서의 너비와 높이를 두 배로 늘린다.
  • 단순히 입력의 각 행과 열을 반복해 크기를 두 배로 만든다.
  • 다음 스트라이드 1인 보통의 합성곱 층을 사용해 합성곱 연산을 수행한다.

 

GAN 훈련

  • GAN의 핵심은 훈련 과정을 이해하는 것
  • 훈련 세트에서 진짜 샘플을 랜덤하게 선택하고 생성자의 출력을 합쳐서 훈련 세트를 만들어 판별자를 훈련한다.
  • 진짜 이미지의 타깃은 1이고 생성된 이미지의 타깃은 0이다.
  • 입력은 랜덤하게 생성한 100차원 잠재 공간 벡터이고 출력은 1인 훈련 배치를 만들어 전체 모델을 훈련한다.
    • 출력을 1로 지정한 이유는 판별자가 진짜라고 생각할 수 있는 이미지를 생성자가 만드는 것이 목표이기 때문
  • 손실 함수는 단순하게 판별자의 출력과 타깃 1 사이의 이진 크로스엔트로피 손실

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

http://www.yes24.com/Product/Goods/81538614?OzSrank=1

 

미술관에 GAN 딥러닝 실전 프로젝트 - YES24

창조에 다가서는 GAN의 4가지 생성 프로젝트 이 책은 케라스를 사용한 딥러닝 기초부터 AI 분야 최신 알고리즘까지 설명한다. 기계 스스로 그림을 그리고, 글을 쓰고, 음악을 작곡하고, 게임을 하

www.yes24.com

 

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기