The relativstic discriminator: a key element missing from standard GAN
論文地址:https://arxiv.org/abs/1807.00734
發表日期:10/9/2018
項目地址:https://github.com/AlexiaJM/RelativisticGAN{這裏給的一定是官方的}
目錄
The relativstic discriminator: a key element missing from standard GAN
1. 簡介
對於標準的GAN(SGAN),鑑賞家D估計輸入數據是真實的概率。而生成器G被訓練來增加以假亂真的能力。我們認爲需要同時減小假數據是真實的可能性因爲:1)這解釋了一個先驗的知識,那就是一個mini-batch有一半的數據是假的,2)收斂最小化過程中會觀察到這個現象,3)在優化設置中,SGAN等價於積分概率度量(IPM) GAN。
我們展示了這種屬性能夠通過使用一個“相對鑑賞器”,這定義了給定的真實數據比一個隨機假數據更真實的概率。我們也展示了一個變種,這定義了一個給定真實數據比一個一般假數據更真實的概率。我們稱之爲Relativistic GANs(RGANs)和FRelativistic average GANs(RaGANs)。
經驗性地,我們發現 1)RGANs和RaGANs明顯比它們的非相對化版本更加穩定一些。2)有梯度懲罰的標準的RaGAN產生的數據比WGAN質量更高,對於每輪生成器更新對應一輪鑑賞器更新。3)RaGAN能夠產生高分辨率圖片(256x256),只需要很少的數據量(N=2011),這些圖片的質量比由WGAN—GP和具有頻譜歸一化的SGAN質量更好。
2. 背景
2.1 生成對抗網絡
一種通用的GAN表示爲:
是特定函數,是真實數據的分佈,是多元歸一化分佈,期望爲0。
大多數的GAN能夠被分爲兩類。一類是非飽和的,一類是飽和的損失函數。對於飽和函數的GAN,有, 而對於非飽和GAN,。飽和的GAN是最直觀的因爲它們能夠被解釋爲損失函數最大值最小值之間的跳變。在將D網絡優化至最佳之後,損失函數是收斂的。例如:
損失函數 | 收斂方式 |
SGAN | JSD |
F-GANs | f-divergence |
WGAN | Wassertein distance |
因此,訓練G網絡來最小化可以被解釋爲最小化差異近似值。在另一方面,非飽和的GAN可以被認爲是優化相同的損失函數,但是將真實的數據替換爲虛假的數據。本文章中,我們認爲所有GAN採用非飽和的損失。
SGAN採用一個交叉熵損失,即這裏,C(x)是非變換的鑑賞器輸出。在大多數GAN中,C(x)可以被解釋爲輸入數據有多真實。一個正數表示這是一個真數據,而一個負數表示這是一個假數據。
2.2 積分可能性量度
IPM 的數學形式爲:
F是一類真值函數。sup 表示上確界的意思。
基於IPM的GAN能被定義爲使用公式1,2 假設 ,並且D(x)=C(x)。能夠發現鑑賞器和生成器都是無界的並且直接優化可以到負無窮大。然而,IPM假設鑑賞器是一類並不增長太快的函數,這會防止損失函數發散。每一個IPM都運用了一種不同的約束到鑑賞器上。
3 SGAN的遺失特性
3.1 遺失特性
我們認爲,真實數據是真的可能性應該在假的數據是真的可能性增加的情況下減少。
3.2 先驗知識
這種表現是在考慮先驗知識——一個mini-batch半數的樣本是假的。
總結之,通過在減少下不減少。SGAN完全地忽視了一個先驗知識,那就是半數的mini-batch是假的。除非讓鑑賞器的工作更加困難(使用正則化或者更低的學習率),否則鑑賞器不能作出合理的預測。在另一方面,基於IPM的GAN模糊的解釋了一些樣本一定是假的因爲它們表徵真數據與假數據相比有多“真”。SGAN既要依賴真數據,又要依賴假數據。
3.3 收斂最小化判據
在SGAN中,我們的鑑賞器損失函數與JSD相等。因此,計算JSD的公式如下:
當時,JSD有最小值0。當時有最大值log(2),因此,當我們從最大到最小直接最小化差異值時我們期望平滑地從1減到0.5,而平穩地從0增加到0.5。但是,在飽和的GAN中,我們只是增加(逼近1),沒有減少。
3.4 梯度判據
J代表Jaccobi行列式,我們有:
1. , ,SGAN的鑑賞器步驟
2. ,在SGAN的生成器步驟
3.
在IPM中,真實數據和假數據都對鑑賞器損失函數做貢獻相等。然而,在SGAN中,如果鑑賞器達到最優,梯度就會完全忽視真數據。這意味着如果當訓練鑑賞器減少,不會直接改變,鑑賞器會停止學習那些“真實”的數據,並且完全專注於假數據。在這種情況下,訓練會卡住。在另一個方面,如果一直減少而增加,真實的數據總是會被併入鑑賞器損失函數。
4 方法
4.1 相對標準GAN
鑑賞器估計了給定的真數據比一個隨機採樣的假數據更真實的概率。
我們定義爲給定的假數據比隨機採樣的真數據更真實的概率。我們不需要將包括在損失函數中,因爲我們有
4.2 相對的GAN
基於IPM的GAN是RGAN的一種特殊情況。。重要的是,通常被忽略,因爲它的梯度是0既然生成器不會影響它。然而,在RGAN中,被假數據影響,因此被生成器影響。因而,通常有非0的梯度,需要在生成器中被指定,生成器被訓練來最小化設想的整個損失函數而不是它的一半。
RGAN的公式可以被簡化爲以下形式:
4.3 相對平均GAN
儘管相對的鑑賞器提供了我們需要的遺失特性,它的解釋還是與標準的GAN不同。不是量度“輸入的數據真實”的概率,而是量度“輸入數據比隨機採樣相反類型數據更真實的概率”(如輸入假數據比真實數據更真實的概率)。
對於D的損失函數爲:
主要的問題是: 需要找到一個mini-batch所有真數據和假數據的可能組合。這會使得算法的空間複雜度由O(m)到O(m^2),m是batch size。因此我們不採用這種方法。
創新地,我們提出相對平均鑑賞器(RaD):
其中,
RaD相比於相對鑑賞器更接近於標準的鑑賞器 。通過RaD,鑑賞器估計了給定數據比假數據更真實的概率,平均上。最終的損失函數可以表示爲:
5 實驗
5.1 訓練步驟和訓練細節總結(譯者注)
非飽和的RaGANs訓練:設有D輪迭代,batchsize爲m 。
首先,在每一個迭代的過程中,對每一個mini-batch,採樣輸入數據x和噪聲z,分別服從和分佈。計算輸入數據的均值,以及生成器 輸出均值 。按照下述公式進行SGD(隨機梯度下降):
循環上述步驟,直至遍歷訓練集。w表示權重的意思。
再將每一個mini-batch,採樣輸入數據x和噪聲z,分別服從和分佈。計算輸入數據的均值,以及生成器 輸出均值 。按照下述公式進行SGD:
循環之(包括小循環),直到所有參數被優化。注意和在兩個公式相反。
訓練細節:
lr = 2e-4, (每次生成器更新對應的鑑賞器更新次數), Adam優化器參數,使用批歸一化和譜歸一化。
LSGAN爲最小二乘GAN (https://arxiv.org/abs/1611.04076) ,Hinge loss(https://en.wikipedia.org/wiki/Hinge_loss),有興趣的童鞋瞭解下,可見將前人的成果加以利用可以得到比較好的結果。論文的附錄裏直接給出了一些流行GAN的損失函數(在我的博文可以看到),可以說損失函數數學表達就是一個GAN的核心。