Deep Learning

Deep Learning Study (16) / 24.12.03

JHDeveloper 2024. 12. 3. 09:58

CycleGAN

 

1. (GAN의) Mode Collapse 현상과 loss와의 연관성 파악하기

  • Mode Collapse : happens when the generator focuses on producing a limited set of data patterns that deceive the discriminator. (local minimum = get stuck producing data in one mode) / discriminator & generator 각각 따로 학습을 하는데, 한쪽이 너무 학습 속도가 빨라서 더 빠르게 멈춰버리게 되면 서로 성능을 더 향상할 수 없게 됨. → 회사 모델의 모드 붕괴 = 다양하게 이미지를 생성하지 못함 (bone위치나 병명이 있는 것이 들어왔을 때 그에 맞게 생성하지 못함)

(*Mode = 데이터 분포에서 관측치가 높은 부분)

⇒ Discriminator가 너무 잘 학습될 때 loss function에서 기울기가 0인 곳에 쉽게 도달하게 되고, 이때 Generator는 아직 학습이 잘 안된 상태에서 Discriminator가 분류를 너무 잘하게 되서 발생함. (local minimum)

https://medium.com/@miraytopal/what-is-mode-collapse-in-gans-d3428a7bd9b8

 

WHAT IS MODE COLLAPSE IN GANS?

In my first article about GANs, we explored how Generative Adversarial Networks (GANs) functioned and their potential for generating…

medium.com

 

 

2. (GAN 또는 CycleGAN의) Generator, Discriminator의 loss 값 분석

 

- Discriminator

 

- Generator

 

 

GAN이 잘 동작하고 있다 = Generator는 Discriminator가 (Generator와 Discriminator 간의 적대적 학습이 기본이기 때문에 Generator가 데이터를 완벽히 생성하면, Discriminator는 진짜와 가짜를 구별할 수 없게 되고, **Discriminator의 정확도는 50%**에 수렴)

 

*Discriminator의 정확도가 0%라면 Discriminator가 모든 입력을 "가짜"로 판단하는 상태 (진짜도 가짜로 판단) ⇒ Discriminator의 학습이 제대로 진행되지 않은 것

*Discriminator의 정확도가 100%라면 Generator가 mode collapse에 빠질 가능성이 높은 상태 ⇒ Generator 학습이 제대로 진행되지 않은 것

 

 


 

정리

CycleGAN의 loss 정확도에 따른 학습 상태

  • 0% 정확도: Discriminator가 모두 가짜로 구분 → Discriminator가 학습되지 않은 상태
  • 100% 정확도: Discriminator가 Generator를 완벽히 이김 → Generator가 mode collapse에 빠질 가능성.
  • 50% 정확도: GAN 훈련이 균형을 이루는 상태 → Discriminator와 Generator 모두 잘 작동하고 있음.