社群計算機視覺課程文件
生成對抗網路
加入 Hugging Face 社群
並獲得增強的文件體驗
開始使用
生成對抗網路
簡介
生成對抗網路(GANs)是由Ian Goodfellow及其同事於2014年提出的一類深度學習模型。GANs的核心思想是訓練一個生成器網路來生成與真實資料無區分的資料,同時訓練一個判別器網路來區分真實資料和生成資料。
- 架構概述: GANs由兩個主要元件組成:
生成器和判別器。 - 生成器: 生成器以隨機噪聲作為輸入,並生成合成資料樣本。它的目標是建立足夠逼真的資料來欺騙判別器。
- 判別器: 判別器類似於偵探,評估給定的樣本是真實的(來自實際資料集)還是偽造的(由生成器生成)。其目標是提高區分真實樣本和生成樣本的準確性。
一個常見的線上類比是藝術贗造者/畫家(生成器)試圖偽造畫作,而藝術調查員/評論家(判別器)則試圖檢測限制。

GANs vs VAEs
GANs和VAEs都是機器學習中流行的生成模型,但它們有不同的優點和缺點。哪個“更好”取決於具體的任務和要求。以下是它們的優缺點細分。
- 影像生成
- GANs
- 優點: 生成更高質量的影像,特別是對於具有銳利細節和真實紋理的複雜資料。
- 缺點: 訓練難度更大,容易出現不穩定性。
- 示例: GAN生成的臥室影像可能與真實影像無法區分,而VAE生成的臥室可能顯得模糊或具有不真實的照明。

- VAEs
- 優點: 比GANs更容易訓練,更穩定。
- 缺點: 可能生成模糊、細節較少、特徵不真實的影像。
- GANs
- 其他任務
- GANs
- 優點: 可用於超解析度和影像到影像轉換等任務。
- 缺點: 對於需要資料點之間平滑過渡的任務可能不是最佳選擇。
- VAEs
- 優點: 廣泛用於影像去噪和異常檢測等任務。
- 缺點: 對於需要高質量影像生成的任務可能不如GANs有效。
- GANs
下表總結了主要區別
| 特性 | GANs | VAEs |
|---|---|---|
| 影像質量 | 更高 | 更低 |
| 訓練難度 | 更難 | 更容易 |
| 穩定性 | 更不穩定 | 更穩定 |
| 應用 | 影像生成、超解析度、影像到影像轉換 | 影像去噪、異常檢測、訊號分析 |
最終,最佳選擇取決於具體的需要和優先順序。如果需要高質量影像用於生成逼真的人臉或風景等任務,那麼GAN可能是更好的選擇。但是,如果需要一個更容易訓練且更穩定的模型,那麼VAE可能是更好的選擇。
訓練GANs
訓練GANs涉及一個獨特的對抗過程,其中生成器和判別器玩著貓捉老鼠的遊戲。
- 對抗訓練過程: 生成器和判別器同時訓練。生成器旨在生成與真實資料無區分的資料,而判別器則努力提高區分真實樣本和偽造樣本的能力。
- 目標函式: 訓練過程由一個最小-最大博弈型目標函式指導,該函式用於最佳化生成器和判別器。生成器旨在最小化判別器正確將生成樣本分類為偽造的機率,而判別器則力求最大化此機率。此目標函式表示為這裡,判別器試圖最大化此損失函式,而生成器則試圖最小化它,從而形成對抗性質。
- 迭代改進: 隨著訓練的進行,生成器變得擅長生成逼真樣本,判別器也變得更具辨別力。這種對抗迴圈持續進行,直到生成器生成的資料幾乎與真實資料無法區分。
參考文獻:
- Lilian Weng關於GANs的精彩部落格
- GAN — 什麼是生成對抗網路
- 用於影像生成的VAE和GAN之間根本區別是什麼?
- GAN和VAE模型的問題
- VAE 與 GAN 影像生成對比
- 擴散模型 vs. GANs vs. VAEs:深度生成模型比較