💡一句話定義
GAN(生成對抗網路)=兩個網路對抗:生成器從隨機雜訊產生假樣本、判別器分辨真假。兩者博弈,生成器逐漸學會產生以假亂真的資料。它是與 VAE、Diffusion 並列的三大生成模型之一。
🎮互動:拖動訓練回合
拖動下方滑桿看訓練進程:左邊生成器的輸出從雜訊 → 模糊特徵 → 逼真人臉;右邊判別器的指針從「一眼假」逐漸擺向中間 0.5(真假難辨=理想終點)。
⚔️ 生成對抗網路 (GAN) 互動演示
訓練回合 (Epoch): 0 / 100
拖動滑桿,觀察生成器 (Generator) 如何從雜訊中學會畫人臉。
Generator (生成器)
輸出:隨機雜訊
輸入:隨機向量 z
➡
Discriminator (判別器)
判斷:一眼假
D 對生成圖片的評分
(接近 0.5 代表無法分辨)
(接近 0.5 代表無法分辨)
🥷偽造者 vs 警察
| 角色 | 生成器 G | 判別器 D |
|---|---|---|
| 比喻 | 偽造者(造假鈔) | 警察(鑑定真偽) |
| 輸入 | 隨機向量 z(雜訊) | 真實圖片 + G 的假圖 |
| 目標 | 騙過 D(讓假圖被判真) | 準確分辨真假 |
| 進步方式 | 被抓後改進造假 | 被騙後提升鑑別 |
🧮Min-Max 目標
$$ \min_G \max_D V(D,G) = \mathbb{E}_{x}[\log D(x)] + \mathbb{E}_{z}[\log(1 - D(G(z)))] $$
maxD:D 希望 D(x)→1(真圖判真)、D(G(z))→0(假圖判假)。 minG:G 希望 D(G(z))→1(假圖被判真、成功騙過 D)。
兩邊目標相反、輪流最佳化,這就是「對抗」的由來。
📈訓練三階段
🌫️初期(0–20)
G 輸出雜訊,D 一眼識破,評分趨近 0。
G 輸出雜訊,D 一眼識破,評分趨近 0。
🌀中期(20–70)
G 學到眼睛、臉型但模糊,D 開始猶豫。
G 學到眼睛、臉型但模糊,D 開始猶豫。
✨後期(80–100)
G 生成逼真圖,D 評分停在 0.5(納許均衡)。
G 生成逼真圖,D 評分停在 0.5(納許均衡)。
⚠️模式崩潰與訓練不穩
模式崩潰(mode collapse):G 只學會產生少數幾種能騙過 D 的樣本、失去多樣性(例如只生成一種臉)。訓練不穩:兩網路同時更新、目標相反,容易震盪不收斂。常用平衡兩者學習率、WGAN + 梯度懲罰、特徵匹配等技巧穩定。
⚖️三大生成模型比較
| 模型 | 機制 | 特性 |
|---|---|---|
| GAN | 生成器 vs 判別器對抗 | 影像銳利,但訓練不穩、易崩潰 |
| VAE | 編碼解碼 + 機率分布 | 較穩、可取樣,但偏模糊 |
| Diffusion | 逐步去噪還原 | 品質高、多樣,但取樣較慢 |
🎯應用場景
① StyleGAN 人臉生成:NVIDIA 的 StyleGAN 生成肉眼難辨真偽的人臉,還能調年齡、性別、髮型等風格。
② 超解析度/修復:把模糊舊照變清晰、去馬賽克或遮擋。
③ 資料增強:醫療影像(罕病 X 光)不足時,用 GAN 生成合成資料訓練診斷模型。
② 超解析度/修復:把模糊舊照變清晰、去馬賽克或遮擋。
③ 資料增強:醫療影像(罕病 X 光)不足時,用 GAN 生成合成資料訓練診斷模型。
✅自我檢測
Q1. GAN 的基本架構是什麼?
兩個網路對抗:生成器從隨機雜訊產生假樣本、判別器分辨真假。兩者博弈,生成器逐漸學會產生以假亂真的資料。
Q2. GAN 訓練目標是什麼?
判別器學把真判真、假判假;生成器學騙過判別器。理想收斂時判別器難以分辨(機率約 0.5),生成分布逼近真實分布。
Q3. 什麼是模式崩潰(mode collapse)?
生成器只學會產生少數幾種能騙過判別器的樣本、失去多樣性(例如只生成一種臉),是 GAN 常見且棘手的問題。
Q4. GAN 和 VAE、擴散模型差在哪?
都是生成模型:GAN 靠對抗、影像較銳利但訓練不穩;VAE 靠編碼解碼加機率、較穩但偏模糊;擴散靠去噪、品質高但取樣慢。
🎯重點整理
- 本質:生成器 vs 判別器的對抗博弈。
- 目標:min-max,G 騙過 D、D 抓假。
- 終點:D 評分 0.5(納許均衡),以假亂真。
- 痛點:模式崩潰、訓練不穩。
- 定位:三大生成模型之一,影像銳利。