본문 바로가기
Data Science & AI Theories

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

by Oliver J 2023. 8. 19.
반응형
  • 적대적생성신경망(GAN, Generative Adversarial Networks)
    • 딥러닝을 이용한 가상 이미지 생성 알고리즘으로써 생성된 이미지가 실제적 이미지와 통계적으로 거의 구분되지 않도록 강제하여 아주 실제 같은 합성이미지를 생성
    • 생성자 네트워크 : Random vector를 입력받아 이를 합성된 이미지로 디코딩하여 판별자를 속이도록 훈련
    • 판별자(Discriminator) 네트워크(or 적대적 네트워크) : 이미지를 입력받아 훈련세트에서 온 이미지인지, 생성자 네트워크가 만든 이미지인지 판단하는 역할
      • 진위 판별 목적으로 자신이 학습하면 안된다. 따라서 판별자가 얻은 가중치는 생성자로 넘겨주어 생성자가 업데이트된 이미지를 만들도록 해야 한다.
      • (Python) Discriminator.trainable = False
    • 변이형 오토인코더(VAE)와 달리 이 잠재공간은 의미 있는 구조를 보장하지 않는다. 특히 이 공간은 연속적이지 않다.
    • 최대/최소가 고정값이 아님.  ==>> 두 힘(생성자와 판별자) 간의 평형점을 찾는 과정이다.
      • 훈련동안 무작위성을 주입하면 여러 방식으로 갇힐(경사하강법 같은..) 것을 방지하는데 좋다. 이를 위해 판별자에게 Noise를 추가한다.
    • 균등분포보다 정규분포를 사용한다.
    • 희소한 Gradient는 GAN 훈련에 방해될 수 있다. 즉, GAN에는 희소성이 바람직하지 않다.
      • Gradient를 희소하게 하는 것은 MaxPooling과Relu활성화 같은 것이다. 그래서 stride를 사용하여 DownSampling
        • Relu 대신 Leaky Relu 사용하여 음수의 활성화값을 조금 허용함으로써 희소성을 약화시키는 역할
    • 생성자에서 pixel 공간을 균일하게 다루지 못하여 종종 생성이미지에 체스판 모양이 나타난다. 이를 해결하기 위해 생성자와 판별자에게 stride Conv2DTranspose나 Conv2D를 사용할 경우 Stride크기로 나누어질 수 있는 커널 크기를 사용

GAN Basic Process

반응형
  • 종류(그 외에 도 많음..)
    • DeepDream – Input Space에서 경사상승법(Gradient ascent)을 적용하여 ConvNet층 활성화를 최대화하는 식으로 동작하는 것(참고: https://www.tensorflow.org/tutorials/generative/deepdream?hl=ko)
    • Style Transfer 알고리즘 경사하강법을 통하여 Contents ImageStyle Image를 연결하여 Contents Image의 고수준 특성과 Image의 국부적인 특징을 가진 이미지를 생성
    • 시계열 적대적생성 네트워크(Time Series GAN) - https://oliverhouse.tistory.com/13
 

딥드림 (DeepDream)  |  TensorFlow Core

PaLM API 및 MakerSuite Explore Generative AI를 사용 하여 Google의 대규모 언어 모델을 사용해 보세요. 딥드림 (DeepDream) 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

www.tensorflow.org

 

728x90
반응형