Super Kawaii Cute Cat Kaoani 딥러닝 수업정리) 13_Generative Adversarial Networks(GAN)

수업정리/딥러닝 이론

딥러닝 수업정리) 13_Generative Adversarial Networks(GAN)

치킨고양이짱아 2022. 12. 23. 18:14
728x90
728x90

1. Generative 이름의 의미

생성하는 모델!

→ 무엇을 생성하냐면

실제와 비슷한 분포를 가지는 그럴듯한 가짜 데이터를 생성한다!

(seed vector를 주면 그럴듯한 가짜 데이터를 생성해냄)

→ 랜덤하게 픽셀들 값 세팅한다고 언젠가 이미지가 되냐? 절대 아님!

실제 데이터와 랜덤 데이터는 분포가 다름

실제 데이터는 무언가 메커니즘에 의해 분포를 맞추면서 나타나진다.

seed vector의 분포를 실제 데이터와 비슷하게 맞추어 그 메커니즘을 따라해보자는거지

학습 진행 양상

GAN으로 만든 예시

💡
즉, GAN의 목적은 이 가짜 데이터를 만들어주는 Generator 함수를 찾는거!

Generator 함수 G

2. Adversarial 이름의 의미

adversarial: 적대적인 이라는 의미!

Generator와 Discriminator의 관계

generatordiscriminator의 관계가

위조지폐범 경찰의 관계와 비슷

Discriminator 함수 D

  • 학습 초반 & 학습 완료 비교
💡
이렇게 실제 데이터와 가짜 데이터에 대해 discriminator가 비슷한 값 뱉어낼 정도로 학습이 잘되면 → 학습을 중단시키고 generator를 사용하면 된다!

3. Network 이름의 의미

앞에 E[logD(x)] 이건 빼고, 뒤에 항의 값만 최소화하는거임

Quick preview of Algorithm

  • 그림으로 대략보면
💡
수렴조건: discriminator 실제 데이터와 가짜 데이터에 대해 비슷한 값을 내는거
  • 조금 더 엄밀하게 풀어보면

The Algorithm

예시

Decoder를 GAN에 사용할 수 있음!


Image Super-resolution with GAN

💡
GAN을 이용하여 선명한 이미지를 만드는것도 가능하다 → 이때는 Autoencoder 전체를 다 사용

Uploaded by N2T

728x90
728x90