這篇文章基本上延續了《GAN系列文(2)–Generative Adversarial Nets》對於 GAN 這個模型的研究。先稍微對 GAN 的幾個重要結論做個小複習:
GAN 的目標函數是:
— (1)
而最佳的 discriminator 是:
— (2)
當手上握有那麼好的 discriminator 時,Generator 的目標就是去最小化 和 的 JS divergence。又理想上,最小值發生在當
— (3)
以及 GAN 的演算法:
本篇的主軸會放在回答那一篇文章最後提問的, GAN 在理論上似乎可行,但在實務上卻有很多困難:
- 訓練困難、不穩定。也就是 discriminator 跟 generator 學習的速度如果不好好控制,就會失控。〈Train 不起來〉
- Discriminator 和 Generator 的 loss 沒有辦法充分顯示訓練到底進行得如何了。
- Generator 產生的樣本雖然真實,但缺乏多樣性,也就是當生成很多很多圖片後,會發現有某一些是非常像。