λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
😎AI/Terminology

[Notable] GANs 의 μ£Όμš” 문제점: Mode Collapse 와 Training Instability

by SolaKim 2025. 2. 4.

 

 

βœ… 1. Mode Collapse (λͺ¨λ“œ λΆ•κ΄΄)

🚩 Mode Collapseλž€?

Mode CollapseλŠ” GAN의 μƒμ„±μž(Generator)κ°€ λ°μ΄ν„°μ˜ λ‹€μ–‘ν•œ νŒ¨ν„΄μ„ ν•™μŠ΅ν•˜μ§€ λͺ»ν•˜κ³ , μ œν•œλœ νŒ¨ν„΄λ§Œ 반볡적으둜 μƒμ„±ν•˜λŠ” ν˜„μƒμ„ μ˜λ―Έν•©λ‹ˆλ‹€.

  • μ˜ˆμ‹œ:
    고양이 사진 λ°μ΄ν„°μ…‹μœΌλ‘œ ν•™μŠ΅μ‹œμΌ°λ‹€λ©΄ λ‹€μ–‘ν•œ 고양이 이미지λ₯Ό 생성해야 ν•©λ‹ˆλ‹€.
    κ·ΈλŸ¬λ‚˜ Mode Collapseκ°€ λ°œμƒν•˜λ©΄ μƒμ„±μžλŠ” "ν•œ 가지 고양이 μœ ν˜•"만 반볡적으둜 μƒμ„±ν•˜κ²Œ λ©λ‹ˆλ‹€.

πŸ” μ™œ λ°œμƒν• κΉŒ?

GAN은 μƒμ„±μž(Generator)와 νŒλ³„μž(Discriminator)κ°€ κ²½μŸν•˜λŠ” κ΅¬μ‘°μž…λ‹ˆλ‹€. 이 κ³Όμ •μ—μ„œ:

  1. μƒμ„±μžκ°€ μš°μ—°νžˆ νŒλ³„μžλ₯Ό 잘 μ†μ΄λŠ” νŠΉμ • νŒ¨ν„΄μ„ λ°œκ²¬ν•©λ‹ˆλ‹€.
  2. 이 νŒ¨ν„΄μ„ λ°˜λ³΅ν•΄μ„œ μ‚¬μš©ν•˜λ©΄ νŒλ³„μžλ₯Ό 속일 수 μžˆλ‹€κ³  ν•™μŠ΅ν•©λ‹ˆλ‹€.
  3. κ²°κ΅­ λ°μ΄ν„°μ˜ 닀양성이 사라지고 νŠΉμ • λͺ¨λ“œ(νŒ¨ν„΄)μ—λ§Œ μ§‘μ€‘ν•˜κ²Œ λ©λ‹ˆλ‹€.

⚑️ μˆ˜ν•™μ  관점:

GAN의 λͺ©μ μ€ μ‹€μ œ 데이터 뢄포 pdata와 생성 데이터 뢄포 pgλ₯Ό μΌμΉ˜μ‹œν‚€λŠ” κ²ƒμž…λ‹ˆλ‹€.

ν•˜μ§€λ§Œ 이 μ΅œμ ν™” κ³Όμ •μ—μ„œ, μƒμ„±μž Gκ°€ pdata의 일뢀 λͺ¨λ“œλ§Œ 근사해도 νŒλ³„μž Dλ₯Ό 속일 수 μžˆμŠ΅λ‹ˆλ‹€.
이둜 인해 λ°μ΄ν„°μ˜ λ‹€μ–‘ν•œ νŒ¨ν„΄μ„ ν•™μŠ΅ν•˜μ§€ λͺ»ν•˜κ³  λͺ¨λ“œ λΆ•κ΄΄κ°€ λ°œμƒν•©λ‹ˆλ‹€.

πŸš€ ν•΄κ²° 방법:

  • Mini-batch Discrimination: 배치 λ‚΄ μƒ˜ν”Œ κ°„μ˜ 닀양성을 ν‰κ°€ν•˜μ—¬ μƒμ„±μžκ°€ λ‹€μ–‘ν•œ 좜λ ₯을 μƒμ„±ν•˜λ„λ‘ μœ λ„ν•©λ‹ˆλ‹€.
  • Unrolled GAN: νŒλ³„μžμ˜ μ—…λ°μ΄νŠΈ 과정을 더 길게(미리 μ—¬λŸ¬ 단계) κ³ λ €ν•˜μ—¬ μƒμ„±μžκ°€ κ³Όλ„ν•œ μ΅œμ ν™”μ— 빠지지 μ•Šλ„λ‘ ν•©λ‹ˆλ‹€.
  • Wasserstein GAN (WGAN): μƒμ„±λœ 데이터와 μ‹€μ œ 데이터 κ°„μ˜ 거리(metric)λ₯Ό λ³€κ²½ν•˜μ—¬ 더 μ•ˆμ •μ μœΌλ‘œ 뢄포λ₯Ό 맞μΆ₯λ‹ˆλ‹€.

 


 

βœ… 2. Training Instability (ν•™μŠ΅ λΆˆμ•ˆμ •μ„±)

🚩 Training Instabilityλž€?

GAN은 ν•™μŠ΅ 과정이 λΆˆμ•ˆμ •ν•˜κ²Œ μ§„λ™ν•˜κ±°λ‚˜ μˆ˜λ ΄ν•˜μ§€ μ•ŠλŠ” 문제λ₯Ό κ²ͺ을 수 μžˆμŠ΅λ‹ˆλ‹€. 이둜 인해:

  • λͺ¨λΈμ΄ μˆ˜λ ΄ν•˜μ§€ μ•Šκ±°λ‚˜
  • 생성 ν’ˆμ§ˆμ΄ κ°‘μžκΈ° λ‚˜λΉ μ§€κ±°λ‚˜
  • νŒλ³„μžκ°€ λ„ˆλ¬΄ κ°•ν•΄μ§€κ±°λ‚˜ μ•½ν•΄μ§€λŠ” ν˜„μƒμ΄ λ°œμƒν•©λ‹ˆλ‹€.

πŸ” μ™œ λ°œμƒν• κΉŒ?

  1. Gradient Vanishing (기울기 μ†Œμ‹€):
    νŒλ³„μžκ°€ λ„ˆλ¬΄ κ°•ν•˜λ©΄ μƒμ„±μžλŠ” 더 이상 μœ μš©ν•œ ν”Όλ“œλ°±(기울기)을 받을 수 μ—†μŠ΅λ‹ˆλ‹€.
    μ΄λŠ” μƒμ„±μžμ˜ ν•™μŠ΅ 속도λ₯Ό κ·Ήλ„λ‘œ μ €ν•˜μ‹œν‚΅λ‹ˆλ‹€.
  2. Non-Convergence (λΉ„μˆ˜λ ΄ 문제):
    GAN의 λ―Έλ‹ˆλ§₯슀(minimax) μ΅œμ ν™”λŠ” 본질적으둜 μ–΄λ €μš΄ λ¬Έμ œμž…λ‹ˆλ‹€.
    μƒμ„±μžμ™€ νŒλ³„μžκ°€ λ™μ‹œμ— ν•™μŠ΅λ˜λ―€λ‘œ, μ΅œμ ν™”κ°€ κ· ν˜•μ„ μžƒκΈ° μ‰½μŠ΅λ‹ˆλ‹€.
  3. Oscillations (진동 ν˜„μƒ):
    μƒμ„±μžμ™€ νŒλ³„μžκ°€ μ„œλ‘œμ˜ λ³€ν™”λ₯Ό λ”°λΌμž‘μ§€ λͺ»ν•˜κ³  계속 μ§„λ™ν•˜κ²Œ λ©λ‹ˆλ‹€.
    이둜 인해 λͺ¨λΈμ΄ μΌμ •ν•œ ν’ˆμ§ˆμ— λ„λ‹¬ν•˜μ§€ λͺ»ν•©λ‹ˆλ‹€.

⚑️ μˆ˜ν•™μ  관점:

GAN은 Saddle Point Optimization(μ•ˆμž₯점 μ΅œμ ν™”) 문제둜, 맀우 λ―Όκ°ν•œ ν•™μŠ΅ ν™˜κ²½μ„ κ°€μ§‘λ‹ˆλ‹€.

  • 이 μ΅œμ ν™” λ¬Έμ œλŠ” μƒμ„±μž G와 νŒλ³„μž κ°€ μ„œλ‘œ λ°˜λŒ€ λ°©ν–₯으둜 μ›€μ§μ΄λŠ” κ΅¬μ‘°μ΄λ―€λ‘œ, ν•™μŠ΅μ΄ μ‰½κ²Œ λ°œμ‚°ν•˜κ±°λ‚˜ 진동할 수 μžˆμŠ΅λ‹ˆλ‹€.

πŸš€ ν•΄κ²° 방법:

  • Wasserstein GAN (WGAN): κΈ°μ‘΄ GAN의 ꡐ차 μ—”νŠΈλ‘œν”Ό 손싀 λŒ€μ‹  Wasserstein 거리λ₯Ό μ‚¬μš©ν•˜μ—¬ 더 λΆ€λ“œλŸ¬μš΄ 기울기 ν”Όλ“œλ°±μ„ μ œκ³΅ν•©λ‹ˆλ‹€.
  • Gradient Penalty: 기울기의 크기λ₯Ό μ œν•œν•˜μ—¬ ν•™μŠ΅μ΄ κΈ‰κ²©νžˆ λ°œμ‚°ν•˜λŠ” 것을 λ°©μ§€ν•©λ‹ˆλ‹€.
  • Spectral Normalization: νŒλ³„μžμ˜ κ°€μ€‘μΉ˜λ₯Ό μ •κ·œν™”ν•˜μ—¬ ν•™μŠ΅μ˜ μ•ˆμ •μ„±μ„ λ†’μž…λ‹ˆλ‹€.
  • Two Time-Scale Update Rule (TTUR): μƒμ„±μžμ™€ νŒλ³„μžμ˜ ν•™μŠ΅ 속도λ₯Ό λ‹€λ₯΄κ²Œ μ‘°μ ˆν•˜μ—¬ μ•ˆμ •μ„±μ„ κ°œμ„ ν•©λ‹ˆλ‹€.

 

 


 

 

  • Mode CollapseλŠ” λ‹€μ–‘μ„±μ˜ λ¬Έμ œμž…λ‹ˆλ‹€.
  • Training InstabilityλŠ” ν•™μŠ΅ κ³Όμ •μ˜ λ¬Έμ œμž…λ‹ˆλ‹€.

 

 

ν•΄λ‹Ή 글은 ChatGPT 의 도움을 λ°›μ•„ μž‘μ„±λœ κΈ€μž…λ‹ˆλ‹€.

 

 

'😎AI > Terminology' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Notable] Low Temperature Samples  (0) 2025.02.05
[Notable] Evaluation Metrics  (0) 2025.02.04
[Notable] Explicit Representation VS Implicit Representation  (0) 2025.01.31
[Notable] Differentiable image parameterization, DIP  (0) 2025.01.21
[Notable] NeRF vs Voxel vs Mesh  (0) 2025.01.21