알파카징징이 알파카징징이 코딩하는 알파카

10_DeepNoid GAN

» writing

DeepNoid 수업을 참고하여 작성하였습니다

GAN

정의


GAN

1. Supervised Learning
  : classification 이미지 클래스를 one-hot으로 분류

2. Genertation

3. Auto-Encoder
  : 이미지의 잠재 공간에서 샘플링하여 완전히 새로운 이미지를
  생성하거나 이미지를 변형하는 것
  : 입력 이미지와 동일한 이미지를 레이블로 사용하여 훈련
  : 원본 입력 이미지를 재구성하는 방법만을 학습
    -> 특별히 유용하거나 새로운 이미지를 만들지 못함
  : Original input -> Encoder -> compressed representation
  -> Decoder -> Reconstructed input

  - 입력층과 똑같은 크기의 출력층
  - 입력층보다 적은 수의 노드를 가진 층을 중간에
   은닉층을 넣어줌
  - Encoder : 차원이 줄어드는 과정에서 데이터의 특징추출
  - Decoder : 추출한 특징을 바탕으로 다시 데이터 복원

4. GAN vs CAE

5. VAE 
  : 딥러닝과 베이즈 추론의 아이디어를 혼합안 오토인코더
  1) 인코더 모듈이 입력 이미지를 잠재공간의 두 파라미터
  z_mean, z_log_var 로 변환
  2) 인코더 결과로 생성된 잠재 공간의 정규 분포에서 포인트 z를
  z = z_mean + exp(0.5*z_log_var) * epsilon 공식처럼
  무작위 샘플링
  3) 디코더 모듈은 이 잠재공간의 포인트를 원본입력 이미지로
  매핑하여 복원

  - VAE Loss function
    - Reconstruction loss : 디코딩된 샘플이 원본입력과
      동일하도록 만듬
    - Regularization loss : 잠재 공간을 잘 형성하고
      훈련 데이터에 과대적합을 줄임

6. GAN (생성적 적대 신경망)
  - Training with real image
  - Training with fake image
  1) discriminator를 실제 이미지로 학습시킨다
  2) generator로 가짜 이미지를 생선한 뒤 가짜 이미지를 Discriminator로 판단
  3) discriminator는 가짜 이미지를 판단한 뒤 결과를
    generator로 돌려준다
    이 과정에서 discriminator은 학습되지 않는다
  4) Generator은 discriminator을 속이기 위해서
    더 정교한 가짜 이미지를 만드는 방향으로 학습된다