[논문 준비] - GAN 이해

egy·2022년 9월 19일
0

논문 준비

목록 보기
1/4
post-thumbnail

📌 GAN

  • GAN(Generative Adversarial Network, 적대적 생성 신경망)
  • Discriminator(판별기)와 Generator(생성기)를 경쟁적으로 대립시켜 학습 시키는 신경망을 말한다.

GAN은 두 가지 모델이 결합된 모델이다.

1. Generator (생성자)

  • 새로운 이미지를 만들어내는 모델
  • Discriminator가 구분하지 못할 정도로 실제 데이터와 유사한 데이터를 만드는 것이 목표이다.

2. Discriminator (판별자)

  • 생성자가 만든 이미지가 진짜인지 가짜인지 판별하는 모델
  • Generator가 만든 것과 실제 데이터를 잘 구분해 내는 것이 목표이다.

즉, 생성자는 판별자를 속이기 위해 더 정교하게 이미지를 만들어내고,판별자는 생성자에게 속지 않기 위해 이미지를 더 정교하게 검증한다. 학습을 거듭하면서 생성자와 판별자 모두점점 성능이 발전하게 된다.

  • x는 진짜 데이터, G(z)는 G가 z를 가지고 만든 가짜 데이터

    기본 개념
    log(1) = 0
    log(0) = -∞

판별자 Objective function

  • D의 목적은 V(D, G) 가 최대가 되도록 하는 것을 의미한다.
  • 판별자는 가짜 데이터에는 0을 출력하고, 진짜 데이터에는 1을 출력해야 한다.
  • 따라서, D는 오른쪽 수식 중, D(x) = 1이 되어야 하며, D(G(z))는 0 이 되도록 하는 것이 최대 목표이다.
  • 1이 아닌 0이 최대라는게 헷갈릴수도 있지만 이는 상대적으로 볼 때 D가 V(D, G)를 최대화하기 위해 노력한 값이라서 max D로 표현한 것이다.

생성자 Objective function

  • G의 목적은 V(D, G) 가 최소가 되도록 하는 것을 의미한다.
  • G는 D가 가짜 데이터에 대해 1을 출력하게 해야 한다.
  • D가 진짜 데이터를 제대로 구별하는지 아닌지는 별로 상관이 없다.
  • D(G(z))는 1 이 되도록 해야 하며 해당 값은 -∞를 향하게 된다.
  • 따라서 G가 원하는 최적의 상황은 매우 매우 작은 음의 무한대가 되는 방향이 되는 것이다.

참조

https://lifeignite.tistory.com/53
https://m.blog.naver.com/euleekwon/221557899873

0개의 댓글