六種改進均未超越原版:谷歌新研究對GAN現狀提出質疑

機器之心發表於2017-11-30

令人沮喪的結果:儘管目前很多 GAN 的衍生演算法都聲稱自己要比原版 GAN 更強大,谷歌大腦的新研究卻對這種主張持否定態度。生成對抗網路(GAN)自 Ian Goodfellow 等人於 2014 年提出以來已成為機器學習界最火熱的討論話題,各種在它之上的改進型層出不窮。然而谷歌的論文指出,原版 GAN 在多種任務中的表現與其他模型相當,而在 CIFAR-10 上甚至有著最高的 FID 成績。在社交網路上有人對此評價道:或許我們應該把目光轉向到開發新架構上了。此論文已在 reddit 上引起了激烈的討論,包括 WGAN-GP 作者也參與其中。

生成對抗網路(GAN)是生成模型的一個重要子類別,並已成功應用於影象生成和編輯、半監督學習和域適應等任務中。在 GAN 框架下,模型學習一個簡單分佈 p_z 的決定性變換 G,目標是匹配資料分佈 p_d。這一學習問題可被視為生成器和判別器之間的雙人遊戲——其中生成器提交儘可能接近真資料的內容,而判別器需要學習如何辨別真資料與假資料。這兩個玩家都傾向於用盡量小的成本解決當前問題,博弈的解是納什均衡,最終雙方都不能單方面提高成本。

2014 年 GAN 被 Ian Goodfellow 等人提出以後,很多研究者在其之上提出了各種各樣不同的改進型,現在我們能看到完全無監督的(GAN、Wasserstein GAN、BE-GAN、改進型 Wasserstein GAN),和有條件的(Conditional GAN、Auxiliary Classifier GAN)。雖然這些模型在特定領域上的結果看起來很好,但我們對於哪種 GAN 演算法在客觀上要比其他更好並沒有達成明確的共識。部分原因在於缺乏穩健而有一致性的評判指標,以及我們很少會以同樣的尺度——包括使用同樣的計算成本搜尋所有超引數——來對不同的 GAN 進行比較。但是,對目前業內的 GAN 演算法進行比較是非常重要的一件事,首先,我們需要為從業者找到廣義上最優的演算法;其次,比較也可以推動人們對於演算法的理解,有利於技術發展——我們需要知道哪些改進是決定性的,哪些改進只能停留在論文上,而在實踐中意義不大。

評估的主要問題在於我們無法明確地計算概率 p_g(x)。這意味著我們不能在測試集上評估諸如對數似然這樣的經典度量資料。作為補救措施,此前的很多研究者會把重點放在定性資料的比較上,如 GAN 輸出圖片的視覺質量(如:萌物生成器:如何使用四種 GAN 製造貓圖)。但是,這種方法是主觀的,可能會具有誤導性。

谷歌的研究人員在一篇新的論文《Are GANs Created Equal? A Large-Scale Study》中採用了兩種更加客觀的 GAN 效能評測方法,兩者都假設已有預訓練的分類器。初始得分(Inception Score,IS)是基於這樣一個事實:好模型生成的樣本應該是當分類器進行評估時,樣本的類別分佈的熵較低。同時,它也應該生產覆蓋所有類別的樣本。與之相反,Frechet 初始距離(Frechet Inception Distance,FID)通過衡量真資料與假資料的嵌入差異進行計算。假設編碼層遵循多變數高斯分佈,則分佈之間的距離會減小到相應高斯之間的 Frechet 距離。

谷歌研究人員稱,該工作做出了以下貢獻:

1. 對所有目前業內最先進的 GAN 進行了公平而全面的比較,實驗結果證明在給定足夠計算資源的情形下,幾乎所有的 GAN 變體都實現了相似的 FID 值。

2. 通過實踐提供了強有力的證據表明 GAN 變體橫向對比需要結果分佈的總結報告,而非簡單的最佳結果對比,因為優化過程具有隨機性,同時各類模型不甚穩定。

3. 研究人員評估了 FID 對 mode dropping 的魯棒性,使用了不同的編碼網路,同時對各方法在經典資料集上的 FID 最佳可實現成績進行了評估。

4. 引入了一系列難度遞增的測試任務,可以實現精準客觀的度量。

5. 谷歌將在近期開源該研究的實驗設定和模型實現。

論文:Are GANs Created Equal?A Large-Scale Study

六種改進均未超越原版:谷歌新研究對GAN現狀提出質疑

論文連結:https://arxiv.org/abs/1711.10337

摘要:生成對抗網路(GAN)是生成模型的一個重要子類別。儘管大量研究帶來了很多有趣的 GAN 演算法,我們仍然很難評估哪種演算法更好。因此,我們對頂尖模型和評估度量進行了一箇中立、多面性的大規模實證研究。研究發現大部分模型在有足夠的超引數優化和隨機重啟(random restart)時得分相似。這表明演算法改進的原因是更高的計算量和基礎演算法改變之外的調整。為了克服當前度量的侷限性,我們還提出了能夠計算查準率和查全率的多個資料集。我們的實驗結果表明未來的 GAN 研究應該基於更系統、客觀的評估流程。最後,我們沒有找到證據證明任何一個測試演算法一致優於原版演算法。

3. 生成對抗網路的變體

該研究中,谷歌大腦團隊著眼於無條件生成對抗網路,因此他們僅使用未標註資料進行學習。此外,現有的訓練方法也導致了優化問題和以往不同,如 (i) 對判別器的輸出和對應損失的約束,梯度範數懲罰的出現和應用。

原版 GAN 公式 [8] 中一共提出了兩個損失函式。其一即極小極大 GAN 的判別器會輸出一個概率,而損失函式為二元分類任務中負的對數似然度(如表 1 MM GAN 所示)。在該原版模型中,生成器學習所要生成的樣本會有很低的概率會被判別為假。為了提升梯度所傳遞的資訊,作者還提出了一個非飽和損失函式(如表 1 NS GAN 所示),其中生成器旨在最大化生成樣本被判別為真的概率。

六種改進均未超越原版:谷歌新研究對GAN現狀提出質疑

表 1:各 GAN 變體的生成器和判別器損失函式。其中主要的區別即判別器輸出一個概率(MM GAN、NS GAN、DRAGAN)還是輸出一個無界實數(WGAN、WGAN GP、LS GAN、BEGAN),或者它們是否存在梯度罰項(WGAN GP、DRAGAN)與它們需要在哪一部分進行評估。我們主要根據各種變體的流行程度選擇需要對比的模型。

在 Wassersrein GAN[1] 中,判別器允許輸出一個實數,目標函式就等價於不帶 Sigmoid 的 MM GAN 損失函式(如表 1 WGAN 所示)。這篇論文的作者證明在最優判別器(Lipschitz 平滑)下,針對生成器極小化值函式將等同於極小化模型和資料分佈之間的 Wasserstein 距離。判別器的權重會截斷為一個非常小的絕對值以加強平滑度。為了提升訓練的穩定度,Gulrajani et al. [9] 在梯度的範數上增加一個軟約束以促使判別器為 1-Lioschitz 平滑。梯度範數是通過資料點和生成樣本之間的線性插值而得到的點估計,其中最優判別器應該為單位梯度範數 [9]。

梯度範數的罰項還可以新增到任何原版 GAN 損失函式(MM GAN 或 NS GAN)中,並在資料流形(如表 1 所示基於 NS GAN 的 DRAGAN)周圍進行評估。這促使判別器在資料流形的周圍呈分段線性。Fedus et al. [6] 展示了梯度範數罰項和非飽和 GAN(NS GAN)的結合是非常有好處的。

Mao et al. [15] 提出了判別器的最小二乘損失函式,並表示最小化對應目標函式(如表 1 所示 LS GAN)隱性地最小化了 Pearson X^2 散度。這篇論文因此主要提出了比原版 MM GAN 中使用的 Sigmoid 交叉熵損失函式更平滑的損失函式。

最後,Berthelot et al. [4] 建議使用自編碼器作為判別器,並優化真實和生成資料之間自編碼器損失分佈的 Wasserstein 距離下界。他們引入了一個額外的超引數 γ 以控制生成器和判別器之間的平衡。

 

5. 度量法

該研究集中於兩種度量。首先從(度量本身)魯棒性的角度分析了最近提出的 FID,推斷它具備較好的效能,可用於實踐。但是,該度量和 Inception Score 一樣無法檢測過擬合:GAN 儲存所有訓練資料的記憶體在兩種度量中都可以取得滿分。基於這些缺點,谷歌大腦團隊提出一種對 GAN 查準率和查全率的近似,以及使用它量化過擬合程度的方法。研究者強調該方法應該作為 IS 或 FID 的補充,而不是替代。

對 FID 的樂觀性評估見表 2。研究者觀察到 FID 的偏差較高,方差較小。從這個角度,評估全協方差矩陣是不必要的,且可能產生反效果。約束協方差矩陣就足夠了。

六種改進均未超越原版:谷歌新研究對GAN現狀提出質疑

表 2:FID 的偏差和方差。如果資料分佈與模型分佈匹配,則 FID 的值應該為零。但是,研究者在 10,000 個樣本的資料中觀察到偏差和低方差。

圖 1 表示 FID 受到丟失的模式的顯著影響。

六種改進均未超越原版:谷歌新研究對GAN現狀提出質疑

圖 1:隨著樣本捕捉到的類別增多,資料集的 FID 下降。在模式 dropping 的情況下,FID 顯著上升。

六種改進均未超越原版:谷歌新研究對GAN現狀提出質疑

圖 4:最小 FID 作為計算量函式的執行。上圖展示了具備標準差區間的固定計算量的最小 FID 分佈。對於每個計算量,研究者使用從 100 次執行中進行的 5000 個 bootstrap 重取樣評估平均值和方差。在相對較低的計算量下(如少於 15 個超引數),所有模型的最小 FID 得分類似。此外,對於固定的 FID 而言,在具備足夠計算量的情況下,「壞」模型也可以優於「好」模型。研究者認為用於搜尋超引數的計算量是比較不同演算法的重要方面。

六種改進均未超越原版:谷歌新研究對GAN現狀提出質疑

圖 5:大量超引數搜尋(每個模型 100 個超引數樣本)。研究者發現 GAN 訓練對超引數設定極為敏感,沒有特別穩定的 GAN 模型。

六種改進均未超越原版:谷歌新研究對GAN現狀提出質疑

表 3:每個資料集上大規模超引數搜尋獲取的最優 FID。得分分兩步計算:首先,執行對大量超引數的大規模搜尋,選擇最優模型;然後,使用不同的初始種子對所選模型進行 50 次重執行訓練,來評估訓練的穩定性,並報告平均 FID 和標準差(異常值除外)。星號(*)表示嚴重異常值出現,通常是嚴重的模式崩潰或訓練失敗(** 表示 20% 的失敗率)。研究者觀察到每個模型的效能嚴重依賴資料集,沒有一個模型與其他模型相比有絕對優勢。由於生成影象不夠清晰,VAE 遭受了嚴重懲罰。注意這些結果都不是頂尖的:(1)大型架構可以改善所有模型;(2)作者通常報告最優 FID,從而開啟了隨機種子優化的大門。

六種改進均未超越原版:谷歌新研究對GAN現狀提出質疑

圖 6:F_1 得分隨著計算量的變化趨勢。上圖顯示具備 95% 的置信區間的計算量可達到的 F1 最大得分分佈。對於每個計算量,研究者使用從 100 次執行中進行的 5000 個 bootstrap 重取樣評估平均值和(平均)置信區間。對 F_1 得分進行優化時,NS GAN 和 WGAN 均具備高查準率和查全率。而 BEGAN 和 VAE 在該資料集度量上的平庸表現值得進一步研究。

相關文章