【論文閱讀】相對鑑賞器:標準GAN缺失的關鍵元素

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. 簡介

2. 背景

2.1 生成對抗網絡

2.2 積分可能性量度

3 SGAN的遺失特性

3.1 遺失特性

3.2 先驗知識

3.3 收斂最小化判據

3.4 梯度判據

4 方法

4.1 相對標準GAN

4.2   相對的GAN

4.3 相對平均GAN

5 實驗

 

5.1 訓練步驟和訓練細節總結(譯者注)

 


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表示爲:

\tilde f_{1},\tilde f_{2},\tilde g_{1},\tilde g_{2}是特定函數,\mathbb P是真實數據的分佈,\mathbb P_{z}是多元歸一化分佈,期望爲0。

大多數的GAN能夠被分爲兩類。一類是非飽和的,一類是飽和的損失函數對於飽和函數的GAN,有\tilde g_{1}=- \tilde f_{1},\tilde g_{2}=-\tilde f_{2}, 而對於非飽和GAN,\tilde g_{1}= \tilde f_{1},\tilde g_{2}=\tilde f_{2}飽和的GAN是最直觀的因爲它們能夠被解釋爲損失函數最大值最小值之間的跳變。在將D網絡優化至最佳之後,損失函數是收斂的。例如:

表 1:損失函數和收斂方式對比
損失函數 收斂方式
SGAN JSD
F-GANs f-divergence
WGAN Wassertein distance

因此,訓練G網絡來最小化L_{G}可以被解釋爲最小化差異近似值。在另一方面,非飽和的GAN可以被認爲是優化相同的損失函數,但是將真實的數據替換爲虛假的數據。本文章中,我們認爲所有GAN採用非飽和的損失。

SGAN採用一個交叉熵損失,即\tilde{f}(D(x))=-\log(D(x)),\tilde{f}(D(x))=-\log(1-D(x)),這裏D(x)=sigmoid(C(x)),C(x)是非變換的鑑賞器輸出。在大多數GAN中,C(x)可以被解釋爲輸入數據有多真實。一個正數表示這是一個真數據,而一個負數表示這是一個假數據。

2.2 積分可能性量度

IPM 的數學形式爲:

                                                              $$IPM_{F}(\mathbb P||\mathbb Q) = \underset{C\in F} {sup} \mathbb E_{x\sim \mathbb P}[C(x)] - \mathbb E_{x\sim \mathbb Q}[C(x)]$$

F是一類真值函數。sup 表示上確界的意思。

基於IPM的GAN能被定義爲使用公式1,2 假設 \tilde{f_{1}}(D(x))= \tilde{g_{2}}(D(x))=-D (x),\tilde{f_{2}}(D(x))= \tilde{g_{1}}(D(x))=-D (x),並且D(x)=C(x)。能夠發現鑑賞器和生成器都是無界的並且直接優化可以到負無窮大。然而,IPM假設鑑賞器是一類並不增長太快的函數,這會防止損失函數發散。每一個IPM都運用了一種不同的約束到鑑賞器上。

 

3 SGAN的遺失特性

3.1 遺失特性

我們認爲,真實數據是真的可能性應該在假的數據是真的可能性增加的情況下減少。

3.2 先驗知識

這種表現是在考慮先驗知識——一個mini-batch半數的樣本是假的。

圖 1:期望的鑑賞器輸出 A)爲直接的Jensen-Shannon 收斂最小化,B)實際的生成器訓練過程。C)理想的訓練過程

總結之,通過在D(x_{f})減少下不減少D(x_{r})。SGAN完全地忽視了一個先驗知識,那就是半數的mini-batch是假的。除非讓鑑賞器的工作更加困難(使用正則化或者更低的學習率),否則鑑賞器不能作出合理的預測。在另一方面,基於IPM的GAN模糊的解釋了一些樣本一定是假的因爲它們表徵真數據與假數據相比有多“真”。SGAN既要依賴真數據,又要依賴假數據。

3.3 收斂最小化判據

在SGAN中,我們的鑑賞器損失函數與JSD相等。因此,計算JSD的公式如下:

                                  $$JSD_{(\mathbb P||\mathbb Q)} = \frac{1}{2} (\log (4) + \underset{D:X\rightarrow [0,1]}{max} \mathbb E_{x_{r}\sim \mathbb P}[\log (D(x_{r}))] + \mathbb E_{x_{f}\sim \mathbb Q}[\log (1-D(x_{f})])$$

D(x_{r}) = D(x_{f})時,JSD有最小值0。當D(x_{r}) =1, D(x_{f})=0時有最大值log(2),因此,當我們從最大到最小直接最小化差異值時我們期望D(x_{r})平滑地從1減到0.5,而D(x_{f})平穩地從0增加到0.5。但是,在飽和的GAN中,我們只是增加D(x_{f})(逼近1),沒有減少D(x_{r})

 

3.4 梯度判據

                           

J代表Jaccobi行列式,我們有:

1.  D(x_{r}) = 0D(x_{f}) = 1 ,SGAN的鑑賞器步驟

2.  D(x_{f}) = 0,在SGAN的生成器步驟

3.  C\in F

在IPM中,真實數據和假數據都對鑑賞器損失函數做貢獻相等。然而,在SGAN中,如果鑑賞器達到最優,梯度就會完全忽視真數據。這意味着如果當訓練鑑賞器減少D(x_{f})D(x_{r})不會直接改變,鑑賞器會停止學習那些“真實”的數據,並且完全專注於假數據。在這種情況下,訓練會卡住。在另一個方面,如果D(x_{r})一直減少而D(x_{f})增加,真實的數據總是會被併入鑑賞器損失函數。

 

4 方法

4.1 相對標準GAN

鑑賞器估計了給定的真數據比一個隨機採樣的假數據更真實的概率。

我們定義D_{rev}(\tilde{x}) = sigmoid(C(x_{f})-C(x_{r}))爲給定的假數據比隨機採樣的真數據更真實的概率。我們不需要將D_{rev}包括在損失函數中,因爲我們有1 - D_{rev}(\tilde x) = 1 - sigmoid(C(x_{f})-C(x_{r})) =sigmoid(C(x_{r})-C(x_{f}))= D_{rev}(\tilde x)

4.2   相對的GAN

 基於IPM的GAN是RGAN的一種特殊情況。\tilde g_{1}(y)= \tilde f_{1}(y)=-y,\tilde g_{2}(y)=\tilde f_{2}(y)=y。重要的是,\tilde g_{1}通常被忽略,因爲它的梯度是0既然生成器不會影響它。然而,在RGAN中,\tilde g_{1}被假數據影響,因此被生成器影響。因而,\tilde g_{1}通常有非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,分別服從PP_{z}分佈。計算輸入數據的均值\overline {C_{w}(x_{r})} = \frac{1}{m}\sum _{i=1}^{m}C_{w}(x^{i}),以及生成器 輸出均值 \overline {C_{w}(x_{f})} = \frac{1}{m}\sum _{i=1}^{m} C_{w} (G_{ \theta }(z^i))。按照下述公式進行SGD(隨機梯度下降):

 循環上述步驟,直至遍歷訓練集。w表示權重的意思。

再將每一個mini-batch,採樣輸入數據x和噪聲z,分別服從PP_{z}分佈。計算輸入數據的均值\overline {C_{w}(x_{r})} = \frac{1}{m}\sum _{i=1}^{m}C_{w}(x^{i}),以及生成器 輸出均值 \overline {C_{w}(x_{f})} = \frac{1}{m}\sum _{i=1}^{m} C_{w} (G_{ \theta }(z^i))。按照下述公式進行SGD:

 循環之(包括小循環),直到所有參數被優化。注意f_{1}f_{2}在兩個公式相反。

訓練細節:

lr = 2e-4, n_{D}=1(每次生成器更新對應的鑑賞器更新次數), Adam優化器參數\beta_{1} = .5,\beta_{2}=.999,使用批歸一化和譜歸一化。

LSGAN爲最小二乘GAN (https://arxiv.org/abs/1611.04076) ,Hinge loss(https://en.wikipedia.org/wiki/Hinge_loss),有興趣的童鞋瞭解下,可見將前人的成果加以利用可以得到比較好的結果。論文的附錄裏直接給出了一些流行GAN的損失函數(在我的博文可以看到),可以說損失函數數學表達就是一個GAN的核心。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章