BigGAN高保真自然圖像合成的大規模GAN訓練

BigGAN-LARGE SCALE GAN TRAINING FOR HIGH FIDELITY NATURAL IMAGE SYNTHESIS

原文:https://arxiv.org/abs/1809.11096

作者:來自DeepMind & Heriot-Watt University

譯者:Tony

時長:3K字,約10分鐘

摘要

作者提出了一種大規模GAN(參數大、批量大),即BigGAN,分析了大規模GAN訓練不穩定因素,通過正交正則化平衡保真度和多樣性。在類條件圖像合生中取得了最先進水平:ImageNet中128*128像素的圖像上,IS(越大越好)從52.52提高到166.3,FID(越小越好)從18.65下降到9.6。

1 引言

GAN首次是在2014年提出來的,目前最好的GAN是2018年提出的SAGAN,其IS是52.5,但相比真實圖像的IS 233,差距還是很大。為了進一步提高保真度和多樣性,作者做了三個項工作:

一是通過將模型參數擴大2-4倍、將批量大小擴大8倍、以及修改正則方案來提高模型性能。

二是通過Truncation Trick技術平衡樣本的多樣性和保真度。

三是發現了大規模GAN的不穩定因素,通過新穎的和現有的技術減少不穩定性,但是保證模型的訓練穩定性會給模型的性能帶來損失。

2 背景

GAN包含一個Generator (G)網絡和一個Discriminator (D) 網絡,其目標是一個納什均衡:

BigGAN高保真自然圖像合成的大規模GAN訓練

其中,z來自p(z)分佈,通常是正態分佈N(0, I)或均衡分佈U[-1, 1],G和D通常是卷積神經網絡。若沒有輔助的穩定性技術,訓練過程是不穩定的,則需要微調超參和架構來保證模型正常工作。

許多近期研究聚焦在調整vanilla GAN,以便獲取穩定性:一部分工作是調整目標函數,以便加速收斂;另一部分工作是通過歸一化或梯度懲罰來限制D。

與BigGAN相關的工作有兩個:一是譜歸一化(Spectral Normalization);二是架構選擇,例如SA-GAN、ProGAN、Conditional GAN。

BigGAN使用IS和FID評估GAN網絡性能。

模型架構如下圖15所示:

BigGAN高保真自然圖像合成的大規模GAN訓練

3 SCALING UP GANS

作者通過如下方法擴大GAN網絡:

使用SA-GAN作為基準模型,SA-GAN採用hinge loss目標函數。通過類條件批歸一化(BatchNorm)將類信息輸入到G中,通過投影(Projection )將類信息輸入到D中。在G中引入譜範數(Spectral Norm),將學習率降半,每G步兩D步。為了評估,G權重採用滑動平均,衰減係數為0.9999。使用正交初始化,而不是正態分佈N(0, 0.02I)。每個模型在Google TPU v3 Pod上訓練,並計算G上所有設備上批歸一化(BatchNorm)。

作者增大基準模型的batch大小,效果明顯,擴大8倍後,IS提升了46%,如表1第1-4行所示。作者推測,這是因為每個batch覆蓋了更多modes,為G和D提供了更好的梯度。但是存在一個問題,模型訓練變得不穩定,會出現爆炸,在第4節中,作者分析了原因並給出瞭解決方案。

作者在每層中增加了50%的通道數,即大約增加了2倍參數,效果也很明顯,IS提升了21%。作者推測是因為增加模型容量,模擬更復雜情況。

作者將模型深度加深2倍,性能卻在降低。

作者在所有的conditional BatchNorm 層中使用一個共享嵌入(shared embedding),線性投影到每層。這樣可以減少參數,降低計算和內存消耗,將訓練速度提升37%。另外,引入hierarchical latent spaces,噪聲向量z輸入到G中多層,而不是初始層,將性能提升了4%,訓練速度提升了18%。

BigGAN高保真自然圖像合成的大規模GAN訓練

3.1 通過TRUNCATION TRICK權衡多樣性和保真度

GAN的p(z)可以選擇任何先驗概率分佈,BigGAN作者通過一些列比較,最終選擇了基於標準正態分佈N(0, I)的截斷正態分佈(Truncated Normal),稱作Truncation Trick,可以提升IS和FID。隨著截斷正態分佈的閾值越來越小,G生成的圖像的保真度越來越好,但多樣性越來越差,如圖2(a)所示。

BigGAN高保真自然圖像合成的大規模GAN訓練

作者認為可以選擇適當的截斷閾值,在保真度和多樣性之間取得平衡,但通過多樣性-保證度曲線圖可知,多樣性在開始時緩慢上升,然後急速下降,如果要保證一定的多樣性,飽和度會很差,如圖2(b)和圖16所示。

BigGAN高保真自然圖像合成的大規模GAN訓練

為了解決這個問題,作者增加了一個正交正則化,使得模型平滑。

BigGAN高保真自然圖像合成的大規模GAN訓練

其中,W為權重矩陣、 β是超參,1為全1矩陣。結果如表1所示,沒有正交正則化,16%的模型服從截斷,有了正交正則化,60%的模型服從截斷。

3.2 總結

作者發現,現有的GAN技術不適合大模型和大批量訓練,BigGAN可以取得最先進水平,即使是在512*512像素的圖像上。儘管如此,作者指出BigGAN中還出現訓練爆炸問題,在後續章節進行分析。

4 分析

4.1 解決G的不穩定性

為了找出訓練爆炸的原因,作者監控訓練過程中的權重、梯度、以及損失,發現權重矩陣最重要的三個奇異值σ0、σ1、σ2影響最大。如圖3所示,G的絕大部分層具有良好的譜範數(Spectral Norm),但一些層在訓練中出現爆炸。

BigGAN高保真自然圖像合成的大規模GAN訓練

為了確認這是不是訓練爆炸的原因,作者在G上利用額外的條件來消除譜爆炸:首先,正則第一個奇異值σ0,其中σclamp是σreg或者sg(σ1);其次,使用部分奇異值分解代替σ0。

BigGAN高保真自然圖像合成的大規模GAN訓練

結論是,譜歸一化可以提高性能,但是不能阻止訓練爆炸。

4.2 解決D的不穩定性

不同於G,D的權重譜有很多噪聲,σ0/σ1表現良好,隨著訓練,奇異值坍塌,而不是爆炸。D的權重譜顯示,D週期性地收到了大梯度,但弗羅貝尼烏斯範數(Frobenius Norm) 是平滑的,這種影響集中在頂層少量的奇異方向。作者假設,這些噪聲是訓練過程中優化帶來的影響,G週期性地產生的批量對D有影響。如果譜噪聲與不穩定性有影響,我們可以採用梯度懲罰,在D的Jacobian矩陣中加入正則項:

BigGAN高保真自然圖像合成的大規模GAN訓練

Γ=10時,G和D訓練過程變得穩定,譜變得平滑,但是性嚴重下降:IS減少了45%。即使Γ=1,未出現爆炸,IS也減少20%。使用其他的正則項也是一樣效果,例如正交正則化、DropOut、L2。

作者也發現,在訓練過程中D的Loss接近0,但在坍塌處出現急速向上跳躍。一種解釋是,D已經過擬合訓練數據集。

4.3 總結

不穩定性不是單獨來自G或D,而是來自G和D的交互對抗過程。嚴格限制D可以提高訓練穩定性,但是會降低性能。利用現有技術,放鬆條件可以獲得好性能,允許在後面階段出現訓練爆炸。

5 實驗

5.1 ImageNet評估

結果如表2所示:

BigGAN高保真自然圖像合成的大規模GAN訓練

5.2 JFT-300M評估

結果如表3所示:

BigGAN高保真自然圖像合成的大規模GAN訓練

6 總結

作者發現:1、增大GAN模型的規模,可以提高生成圖像的保真度和多樣性,取得了最先進水平;2、分析大規模GAN的訓練行為,通過權重矩陣的奇異值標識模型穩定性,並討論穩定性和性能相互作用。


分享到:


相關文章: