瓦瑟施泰因生成對抗網路 是什麼?

Wasserstein GAN:瓦瑟施泰因生成對抗網路 的完整解釋

使用瓦瑟施泰因距離作為損失函數的 GAN 變體,提供更穩定的梯度信號,減輕訓練不穩定性和模式崩潰問題。

核心概念

瓦瑟施泰因生成對抗網路(Wasserstein GAN, WGAN)的核心創新在於改變了衡量生成分佈與真實分佈距離的方式。傳統 GAN 使用 Kullback-Leibler(KL)散度或 Jensen-Shannon(JS)散度,但這些度量有一些問題:當兩個分佈沒有重疊時,KL 散度為無窮,JS 散度為常數 log2,無法提供有用的梯度信息。

WGAN 引入瓦瑟施泰因距離(Wasserstein Distance),也稱為最優傳輸距離或地球移動距離(Earth Mover Distance, EMD)。直觀上,瓦瑟施泰因距離衡量的是將一個分佈「運輸」到另一個分佈所需的最小成本。想象兩堆土壤的分佈,瓦瑟施泰因距離就是將一堆運輸到另一堆配置所需的最小成本。

瓦瑟施泰因距離的定義為: W(Pr, Pg) = inf_{γ ∈ Π(Pr, Pg)} E[||x - y||] 其中 Π(Pr, Pg) 是所有邊際分佈為 Pr 和 Pg 的聯合分佈,γ 表示一個轉移方案。

瓦瑟施泰因距離有幾個關鍵優勢。首先,即使兩個分佈沒有重疊,瓦瑟施泰因距離仍然提供有意義的度量和非零的梯度。其次,瓦瑟施泰因距離更平滑,通常提供更好的梯度信息。第三,瓦瑟施泰因距離滿足三角不等式,是真正的度量。

運作原理

WGAN 的實現涉及計算瓦瑟施泰因距離的一個可計算的形式。直接計算瓦瑟施泰因距離在計算上是困難的,但根據 Kantorovich-Rubinstein 對偶形式,可以將其近似為: W(Pr, Pg) ≈ max_||f||_L ≤ 1 E_xPr[f(x)] - E_xPg[f(x)] 其中 f 是一個 1-Lipschitz 函數。

WGAN 用判別器(也稱為評論家或批評家,Critic)來近似這個 1-Lipschitz 函數 f。判別器不再輸出二元的真假判斷(0 或 1),而是輸出一個實數,衡量輸入的「真實性」。

WGAN 的損失函數為: L = E_xPg[D(x)] - E_xPr[D(x)]

生成器的目標是最小化 E_x~Pg[D(x)],判別器的目標是最大化整個表達式。

為了保證判別器是 1-Lipschitz 的,WGAN 原始論文使用權重裁剪(Weight Clipping)。在每次判別器更新後,將判別器的所有權重裁剪到 [-c, c] 範圍內。這強制判別器的梯度有界。

後續的改進版本 WGAN-GP(Gradient Penalty)用梯度懲罰代替權重裁剪,更加高效。梯度懲罰在損失函數中添加一項: L = E_xPg[D(x)] - E_xPr[D(x)] + λ E_x~Px[||∇_x D(x)||_2 - 1]² 其中 Px 是真實和生成分佈之間的混合,λ 是懲罰係數。

實際應用

WGAN 在圖像生成領域取得了巨大成功。相比傳統 GAN,WGAN 訓練更穩定,生成圖像質量更好,並且不容易出現模式崩潰。許多後續的先進圖像生成模型(如 Progressive GAN、StyleGAN)都採納了 WGAN 的思想。

在人臉生成中,WGAN 能生成高質量的多樣化人臉圖像,在 CelebA 和其他基準測試中達到了當時最先進的結果。

在風格轉換和圖像翻譯應用中,WGAN 的穩定性使得模型能夠更好地學習複雜的圖像轉換。

在超解析度(Super-Resolution)任務中,WGAN 被用於生成高解析度的細節,相比 L2 損失能產生更清晰的結果。

在醫學影像生成中,WGAN 被用於生成合成的醫學影像用於數據增強和算法測試,利用其穩定性和高質量的優勢。

WGAN 的思想也被應用於其他生成任務,如點雲生成、3D 形狀生成和時間序列生成。

常見誤區

一個常見的誤區是認為 WGAN 完全解決了 GAN 的所有問題。雖然 WGAN 大幅改進了訓練穩定性,但模式多樣性問題可能仍然存在,特別是在高維數據上。WGAN 只是改進了梯度信號,並不能保證完美的訓練。

另一個誤區是認為 WGAN 必須使用梯度懲罰。實際上,權重裁剪仍然有效,只是 WGAN-GP 的效率更高。不同的情況下,兩種方法可能有不同的性能。

還有人誤以為瓦瑟施泰因距離對所有類型的數據都最優。在某些情況下,對於特定領域的問題(如離散數據),其他距離度量可能更合適。

與相關技術的比較

WGAN 與傳統 GAN(使用 JS 散度)相比,主要區別在於損失函數的定義。WGAN 提供更好的梯度信息和更穩定的訓練,這是一個明確的改進。

與 VAE 相比,WGAN 基於對抗原則,可以生成更清晰的圖像,但訓練可能仍然複雜。VAE 的訓練更直接,但生成質量可能不如 WGAN。

與擴散模型相比,WGAN 是一種較舊的方法。現代擴散模型在圖像生成質量上已經超越 WGAN,但 WGAN 的對抗框架仍然有其價值,特別是在需要快速采樣的應用中。

與能量模型相比,WGAN 直接訓練生成器和判別器,而能量模型學習一個能量函數。兩者都有各自的優勢和應用場景。

常見問題