GAN Family · DCGAN · WGAN · StyleGAN
原始 GAN 會了「對抗」,但訓練不穩、會模式崩潰、也控制不了生成內容。後續三個里程碑各補一塊:DCGAN 給它卷積骨架、WGAN 換了更穩的損失、StyleGAN 讓潛在空間變得可控可插值。這裡用兩個互動小實驗,親手感受 WGAN 與 StyleGAN 的關鍵想法。
原始 GAN 解決「能不能生成」;DCGAN 解決「用什麼網路生成」;WGAN 解決「怎麼穩定地訓練」;StyleGAN 解決「怎麼控制生成什麼」。四步剛好對應:目標 → 架構 → 損失 → 可控性。
想看原始 GAN 的對抗訓練本身(模式崩潰、決策邊界演化),請看另一頁「GAN · 對抗訓練實驗室」。這頁專講它的三個後代。
原始 GAN 用 JS 散度衡量真假分佈的差距。當兩個分佈幾乎不重疊(訓練初期常見),JS 散度飽和成常數 → 判別器太完美 → 傳給生成器的梯度趨近 0,生成器學不動。WGAN 改用 Wasserstein 距離,就算不重疊也給出平滑、有意義的梯度。
把 θ 拉大(分佈分開)→ 看右圖:GAN 梯度崩到 0,而 WGAN 梯度維持恆定。這就是 WGAN 能穩定訓練的核心。
評論家(critic)須滿足 1-Lipschitz(斜率有上限),WGAN 用權重裁剪、WGAN-GP 用梯度懲罰來達成。
分佈分開時,GAN 梯度幾乎為 0(生成器學不動);WGAN 仍給出穩定梯度,把生成分佈平順地拉向真實。
StyleGAN 先把雜訊 z 映射到「風格空間 W」,再逐層注入到生成過程。低層決定粗略特徵(臉形、姿態),高層決定細節特徵(膚色、光澤)。因此可以「A 的姿態 + B 的顏色」。下面用程序化肖像示範同樣的分層概念。
拖動 α,看肖像從 A 平滑變到 B。潛在空間是連續的,中間每一點都是合理的臉 → 這就是「可插值」。
真正的 StyleGAN 生成的是照片級人臉;這裡用可解釋的程序化肖像,重點在示範「潛在向量連續、風格可分層控制」這兩個概念。
插值結果(A 與 B 的混合)