近日,加拿大猶太綜合醫院Lady Davis Institute的生物統計學家Alexia Jolicoeur-Martineau發表了一篇令人矚目的論文,引起“GAN之父”Ian Goodfellow的注意。在論文中,她指出現有的標準GAN(SGAN)還缺少一個基本屬性,即訓練生成器時,我們不僅應該提高偽數據是真實數據的概率,還應該降低實際數據是真實數據的概率。這個屬性是一個重要基礎,它也是所有GAN都應該遵守的。
在標準生成對抗網絡(SGAN)中,判別器負責估計輸入數據是真實數據的概率,根據這個數值,我們再訓練生成器以提高偽數據是真實數據的概率。但本文認為,判別器在提高“偽數據為真”的概率的同時,也應該降低“實際數據為真”的概率,原因有三:
mini-batch中一半的數據是偽數據,這個先驗會帶來不合邏輯的結果;
在最小化散度(divergence minimization)的過程中,兩個概率不是同步變化;
實驗證實,經過相對判別器誘導,SGAN的性能可以媲美基于IPM的GAN(WGAN、WGAN-GP等),而后者實際上已經具有相對判別器的雛形,因此也更穩定。
本文提出相對GAN(RGAN),并在它的基礎上又提出了一個變體——相對均值GAN(RaGAN),變體用平均估計計算判別器概率。此外,論文還顯示基于IPM的GAN其實是RGAN的子集。
通過比較,文章發現:(1)相比非相對GAN,RGAN和RaGAN更穩定,產出的數據樣本質量更高;(2)在RaGAN上加入梯度懲罰后,它能生成比WGAN-GP質量更高的數據,同時訓練時長僅為原先的1/5;(3)RaGAN能夠基于非常小的樣本(N = 2011)生成合理的高分辨率圖像(256x256),撇開做不到的GAN和LSGAN,這些圖像在質量上也明顯優于WGAN-GP和SGAN生成的歸一化圖像。
背景簡介
GAN是Ian Goodfellow等人在2014年提出的新型神經網絡,它一經面世就收獲大量關注,并在學界持續發酵。本文把最原始的GAN稱為標準GAN,也就是SGAN,它由一個生成器G和一個判別器D構成,前者負責生成偽圖像,后者負責評估這個偽圖像是真實圖像的概率,然后輸出結果幫助生成器繼續訓練,直到最后生成判別器都難辨真假的偽圖。
從計算角度看,GAN的生成器和判別器如下所示。其中f1,f2, g1, g2都是輸入標量-輸出標量的函數,P表示真實數據分布(xr實際數據),Q表示偽數據分布(xf偽數據),Pz是以0為中心的多元正態分布,方差為1,D(x)是判別器在x出的評估值。
一般形式
獨立形式:谷歌論文Are GANs Created Equal?
對于生成器,SGAN提出了兩種損失函數:saturating和non-saturating。其中前者不穩定,后者較穩定。如果GAN能100%分類真偽數據,那saturating函數的梯度是0,non-saturating的梯度雖然不為0,但它是易變的(volatile)。這意味著如果學習率過高,判別器很可能會“放棄”學習,導致模型性能很差,這種現象在高維數據中尤為明顯。
雖然近幾年許多研究人員提出了很多新的損失函數,但它們相比SGAN沒有太多根本上的進展,因此大多數GAN可以用non-saturating和saturating函數簡單地分成兩類:g1=? f1and g2=? f2,saturating;g1=f1and g2=f2,non-saturating。從本質上來說,它們有一定的相通之處,為了后面方便對比,本文假設所有GAN都用non-saturating損失函數。
另外,一些研究人員發現把IPM(Integral probability metrics積分概率指標)用于GAN可以大幅提高最終結果,但至于IPM為什么能得到這樣的效果,他們并沒有給出說明。而根據本文的研究,IPM GAN背后起作用的正是相對判別器。
SGAN遺漏的關鍵元素
本文論證的過程分為兩塊,一是直接分析“降低實際圖像是真實圖像概率”的必要性,二是用提出的RGAN和RaGAN和上述GAN做對比。本章是第一部分。
先驗知識
這塊內容比較簡單。經過足夠訓練后,判別器如果性能過關,那它就應該能正確區分大多數圖像的真偽性,把實際圖像歸類為真實圖像,把偽圖像歸類為非真實圖像。而生成器的目標是“愚弄”判別器,讓后者把更多的偽圖像分類為真實圖像,所以它會把一半實際圖像和一半偽圖像輸入判別器,期待從中學到更多真實圖像的分布。
雖然聽起來很有道理,但這是不合邏輯的。如果實際數據和偽數據看起來差不多,那大多數圖像的評估都符合C(xf) ≈ C(xr)。這時,如果判別器事先知道輸入圖像中一半真一半假,那它會認為每張圖像為真的概率是0.5;如果判別器事先不知道,那它很可能就直接輸出D(x) ≈ 1。
如果生成器的學習率設得很高/迭代次數很多,再加上判別器輸出了個約等于1的概率,這時生成器“眼里”的實際數據和偽數據是不平等的,它會認為偽數據更真實,C(xf) > C(xr)。而如果是堅信有一半偽數據的判別器,它會被迫把實際圖像分類成偽數據,背離正確分類的目標。
最小化散度
在SGAN中,我們認為判別器損失函數等于Jensen-Shannon散度(JSD)。因此,計算JSD可以等同為計算這個式子的最大值:
對于xr∈P和xf∈Q,如果D(xr) = D(xf) = 0.5,JSD最小化;如果D(xr) = 1,D(xf) = 0,JSD最大化。
如果我們想在JSD的最大值和最小值之間得出一個最小化的散度,這相當于D(xr)的閾值是(0.5, 1),D(xf)的閾值是(0, 0.5)。但如下圖所示,當我們執行最小化時,變化的只有D(xf),而對實際圖像計算出的概率D(xr)卻沒有發生改變,這不合理。
梯度
下面是SGAN和IPM GAN的損失函數對比:
SGAN
基于IPM的GAN
從這幾個方程可以看出,當同時滿足以下幾點時,SGAN和 IPM GAN的結果是差不多的:
SGAN的判別器:D(xr) = 0,D(xf) = 1;
SGAN的生成器:D(xf) = 0;
C(x)∈F。
換句話說,如果生成器能直接影響判別器,那SGAN和基于IPM的GAN可以性能相近。對于后者,GAN在計算判別器損失函數梯度時會同時考慮實際數據和偽數據,但SGAN的D(xr)是不會隨著D(xf)變化而變化的,它會停止學習,轉而更關注偽數據。另一方面,如果D(xr)會隨D(xf)的上升而下降,這就意味著真實數據會被納入梯度計算中,這也是基于IPM的GAN更穩定,而SGAN更容易崩潰的原因。
實驗對比
簡而言之,相對的GAN和普通GAN的區別如下所示。
標準GAN(SGAN)的判別器:
相對標準GAN(RSGAN)的判別器:
相對均值標準GAN(RaSGAN)的判別器:
翻譯后的論文圖
CIFAR-10上的FID值對比,RSGAN表現出眾
在LSGAN中引入相對判別器后生成的128×128貓圖,FID值僅為15.85
WGAN-GP生成的256×256貓圖,FID>100
-
GaN
+關注
關注
19文章
1948瀏覽量
73728
原文標題:相對的判別器:現有GAN存在關鍵屬性缺失
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論