生成對抗網路:兩個 AI 如何互相欺騙

artificial%20intelligence%20concept%2C%20digital%2...
發表時間:2026 年 10 月 21 日 | 更新日期:2026 年 10 月 21 日 | 編輯:雅寶社區編輯團隊
生成對抗網路:兩個 AI 如何互相欺騙 - 雅寶社區 · 頂客論壇

minG maxD V(D, G) = Ex~pdata[log D(x)] + Ez~pz[log(1 − D(G(z)))]

這個式子看起來嚇人,但拆開來讀其實很直白。第一項是判別器對真實樣本的判斷:希望 D(x) 越接近 1 越好。第二項是判別器對生成樣本的判斷:希望 D(G(z)) 越接近 0 越好,也就是 log(1 − D(G(z))) 越大越好。判別器的目標是「最大化」整條式子。而生成器的目標剛好相反:它要「最小化」第二項,也就是讓 D(G(z)) 越接近 1 越好,讓判別器誤以為假貨是真貨。

2.1 訓練迴圈的實際樣貌

實作上,這是一場交替進行的拉鋸戰。一個完整的訓練迭代通常長這樣:

從真實資料集抽出一批樣本(例如 64 張真實人臉)。

從雜訊分布抽出同樣數量的雜訊向量,丟進生成器,得到 64 張假影像。

固定生成器參數,用「真樣本標為 1、假樣本標為 0」的目標訓練判別器,更新 D 的權重。

  • 固定判別器參數,把一批新的雜訊丟進生成器,算出假影像被 D 判為真的機率,據此更新 G 的權重(讓假影像更容易被判為真)。
  • 重複以上步驟數萬到數十萬次。

    值得注意的是,訓練生成器時,梯度必須「穿過」判別器才能回傳到生成器。這代表兩個網路在計算圖上是串接的:訊號從 G 的輸出進入 D 的輸入,再由 D 的損失函數反向傳播回 G。這種耦合讓 GAN 的訓練比一般分類模型複雜得多,也埋下了後面要談的各種不穩定問題。

    2.2 訓練過程中的四個階段

    如果把訓練過程攤開來看,通常會觀察到四個階段:

    階段

    判別器的狀態

    生成器的狀態

    肉眼觀察到的現象

    第一階段

    輕鬆分辨真假

    輸出雜訊或色塊

    生成影像是無意義的糊狀物

    第二階段

    開始需要看細節

    抓到顏色與粗略構圖

    出現模糊的人形或物件輪廓

    第三階段

    準確率接近隨機猜測

    紋理與結構逐漸成形

    遠看很真,近看有破綻

    第四階段

    難以分辨,甚至被騙

    輸出高度逼真

    需要放大檢視才能找出瑕疵

    理想狀況下,訓練會停在第三到第四階段之間,此時判別器的準確率大約在 50% 上下,代表它已經無法穩定區分真假。但實務上,這個平衡非常脆弱,一不小心就會倒向某一邊。

    2.3 納許均衡與理想終點

    從賽局理論的角度看,GAN 訓練的終點是一個「納許均衡」:生成器生成的分佈與真實資料分佈完全一致,此時判別器對任何輸入都只能輸出 0.5,因為它真的分不出來。理論上,這個均衡點是存在的,Goodfellow 在原始論文中也證明了:當生成器完美複製真實分佈時,判別器的最優策略就是隨機猜測。

    但理論與實務之間有一道鴻溝。真實資料的分佈極其複雜(一張 1024×1024 的彩色影像位於三百萬維的空間中),而生成器只是個有限容量的網路,它永遠只能逼近、無法真正等同。此外,梯度下降法在這種兩人零和賽局中並不保證收斂到均衡點,反而常常在均衡點附近震盪。這就是為什麼 GAN 的訓練被戲稱為「藝術而非科學」。

    三、GAN 的演化譜系:從樸素對抗到風格控制

    原始的 GAN 只是個概念驗證,用全連接層生成 28×28 的 MNIST 數字。但它的潛力很快被看見,接下來十多年,研究者提出了數十種變體,主要圍繞三個方向:穩定訓練、提升解析度、精細控制。以下挑幾個關鍵節點來看。

    3.1 DCGAN:卷積帶來的第一次穩定化

    2015 年的 DCGAN(Deep Convolutional GAN)是 GAN 真正起飛的起點。它做了一件當時看似簡單卻很關鍵的事:把生成器與判別器都改用卷積神經網路,並整理出一套「能穩定訓練」的架構準則,例如生成器使用轉置卷積逐步放大、判別器使用步長卷積逐步縮小、移除全連接層、使用批次正規化、生成器輸出用 tanh、判別器用 LeakyReLU 等。

    這些設計讓 GAN 第一次能穩定生成 64×64 的彩色影像,也讓「潛在空間」這個概念變得可操作。研究者發現,如果在生成器的輸入雜訊上做向量運算,例如「戴眼鏡的男人」減「男人」加「女人」,輸出會變成「戴眼鏡的女人」。這種語意方向的存在,暗示生成器學到了一種結構化的表徵,也為後來的可控生成鋪路。

    3.2 WGAN 與 Wasserstein 距離:換一把尺量距離

    原始 GAN 的損失函數本質上是在最小化真實分佈與生成分佈之間的 Jensen-Shannon 散度。問題是,當兩個分佈幾乎沒有重疊時(訓練初期很常見),JS 散度會飽和成常數,梯度消失,生成器就學不動了。WGAN 提出改用「Earth Mover's Distance」(又稱 Wasserstein 距離)來衡量兩個分佈的差異,並用 Kantorovich-Rubinstein 對偶把它轉換成可訓練的形式,同時加上 Lipschitz 約束(後來發展成梯度懲罰 WGAN-GP)。

    這個改動的效果相當顯著:WGAN 的損失值第一次有了「意義」,數值越小代表生成品質越好,訓練曲線不再像雲霄飛車,模式崩潰的問題也大幅緩解。時至今日,多數 GAN 的實作仍然會借用 WGAN-GP 的概念。

    3.3 條件式生成與 StyleGAN:從「隨便生」到「照要求生」

    條件式 GAN(cGAN)讓生成器除了雜訊之外,再多收一個條件訊號,例如類別標籤、文字描述或另一張影像。這開啟了兩個重要分支:一是 Pix2Pix 與 CycleGAN 這類「影像對影像翻譯」,二是 StyleGAN 這種「精細風格控制」。

    CycleGAN 最為人津津樂道的是它不需要成對資料:你給它一堆馬的照片與一堆斑馬的照片,它就能學會把馬變成斑馬、把斑馬變回馬,過程中不需要任何一張「同一匹馬同時是馬又是斑馬」的對照圖。它靠的是「循環一致性」約束:轉過去再轉回來,應該要回到原樣。

    而 2018 年的 StyleGAN 則是 GAN 史上的另一個里程碑。它把生成過程拆成「風格」與「內容」兩條路徑,透過 AdaIN(自適應實例正規化)在不同解析度層級注入風格向量,實現了從粗到細的分層控制。StyleGAN 生成的人臉逼真程度,讓「thispersondoesnotexist.com」這類網站一度成為話題。後續的 StyleGAN2、StyleGAN3 更進一步解決了水滴狀瑕疵與紋理黏附問題,也讓 GAN 成為可控人臉生成與編輯的主流工具。

    3.4 擴散模型的崛起與 GAN 的定位轉變

    2020 年之後,擴散模型(Diffusion Model)快速崛起。它不靠對抗訓練,而是透過「逐步加噪、再逐步去噪」的過程學習資料分佈,訓練目標穩定、樣本多樣性高,代表性成果包括 DALL·E 2、Stable Diffusion、Midjourney 等。一時間,「GAN 是不是要被取代了」成了熱門討論。

    平心而論,兩者各有擅場。GAN 的優勢在於「一次前向傳播就能生成」,推理速度極快,適合即時應用與邊緣裝置;擴散模型則需要數十到數百步去噪,雖然品質與多樣性出色,但成本高。此外,GAN 在「特定領域的極致逼真度」上仍有優勢,例如人臉、特定工業瑕疵、醫學影像。因此近年的趨勢並非取代,而是分工與混合。

    四、應用現場:GAN 在真實世界的落點

    談完原理與演化,我們來看看 GAN 到底被用在哪些地方。很多人以為 GAN 只是「生成假圖」,但實際上它在產業中的角色,往往更像一個「資料放大器」與「品質修復器」。

    4.1 影像修復、超解析度與去噪

    當你把手機裡一張模糊的舊照片放大,軟體卻能「補」出清晰的細節,這類技術通常源自超解析度 GAN(如 SRGAN、ESRGAN)。判別器在訓練時學到「自然影像該有的紋理統計」,於是生成器在放大時不會只做平滑插值,而會重建出合理的邊緣與細節。同樣的技術也用在醫學影像增強、衛星影像解析度提升、老電影修復。

    另一個常見應用是「影像填補」(inpainting):把照片中不想要的物件塗掉,讓模型根據周圍脈絡補回背景。這背後有 EdgeConnect 等基於 GAN 的方法,先預測邊緣結構,再填色,避免補出模糊的鬼影。

    4.2 資料增強與合成資料

    在工業檢測、醫療診斷這類「真實資料取得困難」的場景,GAN 可以生成罕見案例的合成樣本。例如瑕疵檢測中,良品一大堆、瑕疵品卻寥寥無幾,模型很難學。這時可以用 GAN 生成各種型態的瑕疵影像來擴增訓練集。NVIDIA 也曾展示用 GAN 生成合成駕駛場景,用於自駕車模擬訓練,大幅降低實車資料採集成本。

    不過這裡有個關鍵前提:合成資料的品質與多樣性必須被嚴格驗證,否則模型學到的可能是「GAN 的偏誤」而非真實世界的規律。這也是近年「合成資料治理」成為研究熱點的原因。

    4.3 生成設計與創意產業

    在建築、工業設計、時尚領域,GAN 被用來做「設計空間探索」。設計師輸入粗略草圖,模型生成多種風格變體;或是用條件式生成,在給定尺寸、材質、功能約束下產生候選方案。這類工具不會取代設計師,而是把「發散階段」的成本大幅降低。

    遊戲產業也是重災區受益者:貼圖生成、角色立繪輔助、地形與植被生成、動作補間,都能看到 GAN 或其變體的身影。

    4.4 語音、音樂與跨模態應用

    GAN 不只處理影像。在語音領域,語音轉換(voice conversion)、語音增強、去噪,都曾大量使用對抗訓練。音樂方面,MuseGAN 等模型嘗試生成多軌音樂;在跨模態上,GAN 也曾被用來做「文字轉影像」的早期嘗試(如 StackGAN),雖然後來被擴散模型超越,但其中的條件生成與對齊思路影響深遠。

    五、訓練 GAN 的實務難題:模式崩潰、震盪與評估

    如果說 GAN 的理論很漂亮,那它的實務就是一部血淚史。幾乎每個動手訓練過 GAN 的人,都經歷過「生成器突然只會畫同一張臉」或「損失曲線像心電圖」的崩潰時刻。以下整理三個最常見的坑。

    5.1 模式崩潰(Mode Collapse)

    模式崩潰是指生成器放棄多樣性,只專注生成少數幾種「最容易騙過判別器」的樣本。例如訓練人臉 GAN 時,生成器可能發現只要一直輸出「金髮、微笑、正面」的臉,判別器就很難分辨,於是它乾脆無視輸入雜訊,每次都吐類似的臉。

    這個現象的根源在於賽局結構:生成器的最佳策略不一定是「覆蓋整個分佈」,而是「找到判別器最弱的幾個點猛攻」。常見的緩解方法包括:改用 WGAN-GP 損失、加入小批次多樣性(mini-batch discrimination)讓判別器能察覺「這批樣本太像了」、使用 unrolled GAN 或歷史平均(historical averaging),以及在架構上引入更強的雜訊注入。

    5.2 訓練不穩定與震盪

    另一個經典問題是兩個網路的「實力失衡」。如果判別器太強,生成器拿到的梯度幾乎為零,學不動;如果判別器太弱,生成器又得不到有意義的回饋,開始亂生。這種動態平衡很難用單一超參數搞定。

    實務上的常見對策包括:

  • 兩時間尺度更新(TTUR):讓判別器的學習率略高於生成器,或反過來,視情況調整。
  • 標籤平滑(label smoothing):把真實樣本的標籤從 1 改成 0.9,避免判別器過度自信。
  • 頻譜歸一化(spectral normalization):限制判別器的 Lipschitz 常數,穩定訓練。
  • 梯度懲罰(gradient penalty):在真假樣本之間插值取點,懲罰過大的梯度。
  • 架構對稱與正規化:生成器與判別器的容量不宜差距過大。

    即便用了這些技巧,GAN 的訓練仍然需要大量實驗與監控。這也是為什麼在很多產業場景中,工程團隊會選擇更穩定的擴散模型,只在推論速度或特定品質要求下才回頭考慮 GAN。

    5.3 如何評估「生成得好不好」

    GAN 還有一個根本性難題:我們很難客觀衡量生成品質。因為生成模型要做的是「逼近整個分佈」,而不是「預測一個正確答案」,傳統的準確率、均方誤差都不適用。目前常用的指標有幾種:

    指標

    衡量什麼

    優點

    盲點

    Inception Score(IS)

    生成影像的清晰度與類別多樣性

    計算簡單、直覺

    無法反映與真實分佈的距離,對人臉等非物件類別不適用

    FID(Fréchet Inception Distance)

    生成分佈與真實分佈在特徵空間的距離

    與人類感知相關性較高,已成為主流

    依賴 Inception 網路,樣本數少時不穩定

    Precision / Recall

    分別衡量「逼真度」與「覆蓋率」

    能拆解品質與多樣性

    需要大量樣本,計算成本高

    實務上,負責任的團隊不會只看單一指標,而會結合 FID、視覺抽樣檢查、以及在特定下游任務上的表現(例如用生成資料訓練分類器的準確率)來綜合判斷。

    六、風險與治理:深偽、偏見與倫理邊界

    GAN 之所以引發廣泛討論,不只是技術本身,而是它把「製造逼真內容」的門檻降到了前所未有的低點。這帶來的好處與風險同樣巨大。

    6.1 深偽技術與資訊信任

    深偽(Deepfake)是 GAN 最為人熟知的陰暗面。透過人臉替換、表情驅動、語音克隆,任何人都能製作出一段「某人說了某句話」的影片,肉眼幾乎無法辨識。這對政治、金融詐騙、名譽侵害都構成實質威脅。近年已出現多起利用深偽進行視訊詐騙的案例,企業的內控流程因此被迫加入「視訊身分驗證」的環節。

    對抗深偽是一場軍備競賽。目前的主流防禦包括:被動偵測(用模型找出生成痕跡,如頻域異常、眨眼頻率不自然)、主動浮水印(在生成或拍攝時嵌入不可見簽章)、以及內容來源認證(如 C2PA 標準)。但沒有任何一種方法是絕對可靠的,最終仍需搭配媒體識讀與平台治理。

    6.2 資料偏見的放大

    GAN 的生成結果高度依賴訓練資料。如果訓練集以某族群、某性別、某地區為主,生成器就會把這些偏見固化,甚至放大。早期的人臉 GAN 就曾被批評「生成的人臉幾乎都是白人」。這種偏見不只出現在人臉,也可能出現在醫療影像(某些膚色下的病灶辨識率較低)或招聘輔助工具中。

    治理方式包括:資料集層級的多樣性審計、在損失函數中加入公平性約束、以及生成結果的族群分佈監測。這些工作在學術上已有不少方法,但在產業落地時仍常被忽略。

    6.3 防禦機制與法規趨勢

    各國對生成式內容的監管正在快速成形。歐盟的《人工智慧法案》將深偽相關應用列為需揭露或高風險的類別;美國多州已立法要求政治廣告中的 AI 生成內容必須標註;亞洲多國也在研擬相關規範。對開發者而言,最務實的做法是:預設加入內容標記、保留生成日誌、建立濫用回報機制,並且在產品設計階段就納入風險評估。

    七、未來展望:GAN 會被取代嗎?

    「GAN 是不是過時了?」這個問題在 2023 年之後被問了無數次。比較準確的說法是:GAN 從「生成模型的主角」,轉變為「特定場景的專才」。

    7.1 與擴散模型、Transformer 的競合

    擴散模型在影像品質與多樣性上確實取得了優勢,尤其是在文字導向的生成任務上。GAN 的判別器思路則被廣泛借用:例如擴散模型中的對抗式蒸餾(adversarial distillation),就是試圖用 GAN 的框架把多步去噪壓縮成少步,以換取推理速度。反過來,也有研究把擴散模型的訓練穩定性引入 GAN 的生成器設計中。

    另一方面,自迴歸的 Transformer 在影像生成上(如影像 token 化)也開始嶄露頭角。未來的生成模型生態,很可能不是「一種方法通吃」,而是「依任務特性選擇最合適的架構」:即時生成選 GAN、極致品質選擴散、需要與語言模型深度整合選 Transformer。

    7.2 混合架構與新方向

    近年的研究熱點包括:對抗訓練與擴散結合的混合模型、用 GAN 做資料蒸餾(把大型資料集壓縮成少量合成樣本)、以及 3D 生成(如 EG3D、GIRAFFE 等以 GAN 為基礎的輻射場生成)。此外,GAN 在「模擬真實感測器資料」「生成對抗樣本以強化模型魯棒性」這類非傳統用途上,仍有難以取代的價值。

    可以預期的是,GAN 不會消失,而是沉入基礎設施層,成為許多系統背後看不見的元件。

    八、給初學者的入門路線圖

    如果你讀到這裡,想動手試試看,以下是一條相對務實的學習路徑:

  • 先補基礎:理解神經網路、反向傳播、卷積、損失函數。沒有這些,看 GAN 的程式碼會像看天書。
  • 從 DCGAN 開始:用官方或教學範例,在 MNIST 或 CIFAR-10 上跑一次,觀察生成器如何從雜訊變成數字。重點是「看懂訓練迴圈」而不是「跑出漂亮結果」。
  • 動手改損失函數:把標準 GAN 換成 WGAN-GP,比較訓練曲線與生成品質的差異,這會讓你真正理解「損失函數設計」的重要性。
  • 玩條件式生成:試著用標籤或簡單的文字條件控制生成結果,體驗「可控性」的價值。
  • 研究評估:實作 FID 計算,理解為什麼「看起來很真」不等於「分佈對」。
  • 關注倫理與治理:在動手生成人臉之前,先想清楚資料來源、使用目的與可能的濫用風險。
  • 工具方面,PyTorch 是目前最主流的選擇,社群資源豐富;想快速實驗的話,Hugging Face 與 GitHub 上有大量預訓練模型與範例程式碼可以直接借用。

    結語:欺騙是手段,創造才是目的

    回頭看 GAN 這個名字,「對抗」與「欺騙」聽起來充滿火藥味,但它真正教會我們的事情其實很溫柔:智慧可以透過競爭被激發出來。生成器與判別器都不是什麼邪惡的角色,它們只是在一個精心設計的遊戲裡,被迫變得更聰明。生成器學會了世界長什麼樣子,判別器學會了什麼叫做「不對勁」,而兩者的拉鋸,最終把我們帶到了今天這些令人驚豔的生成能力面前。

    當然,能力越強,責任越重。當「眼見為憑」不再成立,社會需要的不只是更好的模型,還有更成熟的媒體識讀、更透明的內容來源標記,以及更清楚的法規邊界。對技術人而言,理解 GAN 不只是理解一組演算法,更是理解一種「用對抗換取進步」的思維方式——而這套思維,在可見的未來仍會持續影響 AI 的發展方向。

    下次當你看到一張「不存在的人臉」,或是一段被完美修復的老照片,不妨想想背後那兩個還在互相較勁的神經網路。它們從未見過彼此,卻在無數次交手中,聯手創造出了某種接近真實的東西。

    ```

    🏠 返回首頁