本文來自《Wasserstein GAN》,時間線為2017年1月,本文可以算得上是GAN發展的一個里程碑文獻了,其解決了以往GAN訓練困難,結果不穩定等問題。
1 引言
本文主要思考的是半監督學習。當我們說學習概率分布,典型的思維是學習一個概率密度。這通常是通過定義一個概率密度的參數化族\((P_{\theta})_{\theta\in R^d}\),然后基於樣本最大似然:如果當前有真實樣本\(\{x^{(i)}\}_{i=1}^m\),那么是問題轉換成:
如果真實數據分布\(P_r\)有密度函數,且\(\mathbb{P}_{\theta}\)是參數化后密度\(P_{\theta}\)的分布。那么,理論上,就是最小化對應的KL散度\(KL(\mathbb{P}_r||\mathbb{P}_{\theta})\)。
基於上述描述,我們需要模型密度\(P_{\theta}\)是存在的。而在處理低維度流行支撐的分布時候,情況並非如我們所願,此時模型流形和真實分布的支撐集可能沒有不可忽略的交集部分[1],這也意味着KL距離是未定義的(簡單說是無窮)。
一個簡單的方法就是在模型分布上增加噪音項。這就是為什么在經典機器學習文獻中所有的生成模型都會包含噪音項。在最簡單的情況下,我們認為具有相對高帶寬的高斯噪聲可以覆蓋所有示例。而在圖像生成任務的模型下,這種噪聲會降低樣本質量並使其模糊。我們可以在最近的論文[23]中看到,當像素已經被標准化為在[0,1]范圍內時,對於生成的圖像中每個像素而言,最大似然的時候,加到模型上的噪音的最優標准差約為0.1。這是一個非常大量的噪音,當文獻描述他們模型的樣本時,他們不會增加噪音項到他們描述的似然數上。換句話說,對於該問題,增加噪音項明顯是不正確的,但是的確需要讓最大似然能夠work。(增加了噪音,導致結果模糊,不增加又會讓模型整體不work)。
不選擇評估\(\mathbb{P}_r\)的密度(因為他可能並不存在),而是定義一個有着固定的分布\(p(z)\)的隨機變量\(Z\),並將其傳遞給一個參數化函數\(g_{\theta}:\mathcal{Z}\rightarrow \mathcal{X}\)(比如一種神經網絡),直接基於一種具體分布\(\mathbb{P}_{\theta}\)生成樣本。通過改變\(\theta\),可以改變該分布,並讓它接近真實的數據分布\(\mathbb{P}_r\)。這有2個優勢:
- 不同於密度,該方法可以表示局限於低維流形的分布;
- 容易生成樣本的能力通常比知道密度的數值更有用(例如,需要基於給定輸入圖像基礎上讓輸出圖像具有條件分布的圖像超分辨率或者語義分割等任務)。
通常,在給定任意高維密度的情況下生成樣本的任務在計算上是困難的。
變分自動編碼器(Variational Auto-Encoders,VAE)和GAN是解決該方法很好的例子。因為VAE關注於樣本的近似似然,它們共享標准模型的限制並需要使用額外的噪音項。GAN在定義目標函數的時候會更靈活,如Jensen-Shannon,和所有的f-散度[17],還有一下其他奇怪的組合[6]。另一方面,訓練GAN是眾所周知的困難和不穩定。
本文的關注點在各種方法去測量模型分布於真實分布之間的距離,或者說各種方法去定義距離或者散度\(\rho(\mathbb{P}_{\theta},\mathbb{P}_r)\)。這些距離之間最基本的不同就是它們對概率分布序列的收斂的影響。一個分布序列\((\mathbb{P}_t)_{t\in \mathbb{N}}\)有且僅有 存在另一個分布\(\mathbb{P}_{\infty}\),且\(\rho(\mathbb{P}_t,\mathbb{P}_{\infty})\)趨近於0時才收斂,而這有時候取決於距離\(\rho\)定義的准確與否。通俗的說,當距離\(\rho\)讓分布序列更容易收斂的同時,也暗示這該距離會導致一個更弱的拓撲(更具體的說,就是當基於\(\rho\)的收斂序列是基於\(\rho'\)收斂序列的超集,那么就認為\(\rho\)表示的拓撲要弱於\(\rho'\)表示的拓撲)。
為了最優化參數\(\theta\),當然希望我們的模型分布\(\mathbb{P}_{\theta}\)定義能讓映射\(\theta\rightarrow \mathbb{P}_{\theta}\)是連續的。連續意味着當一個參數序列\(\theta_t\)收斂到\(\theta\),分布\(\mathbb{P}_{{\theta}_t}\)同樣收斂於\(\mathbb{P}_{\theta}\)。然而,分布\(\mathbb{P}_{{\theta}_t}\)收斂的概念依賴於計算分布之間的距離方式。距離越弱,就越容易定義一個連續的映射,將\(\theta\)空間映射到\(\mathbb{P}_{\theta}\)空間,因為該分布越容易收斂。我們關心映射\(\theta\rightarrow \mathbb{P}_{\theta}\)是連續的主要原因如下:
- 如果\(\rho\)是兩個分布之間的距離,那么期望能夠有個loss函數\(\theta\rightarrow \rho(\mathbb{P}_{\theta},\mathbb{P}_t)\)是連續的,這等效於讓映射\(\theta\rightarrow \mathbb{P}_{\theta}\)連續。
本文貢獻:
- 提供一個完整的理論分析,關於Earth Mover(EM)距離與其他流行的概率距離和散度在分布學習的過程中行為上的差異;
- 定義一種GAN形式,叫做Wassertein-GAN,其能最小化一個合理的有效的EM距離的近似,並理論上分析對應的最優問題的解決方案;
- 實驗分析WGAN能夠解決GAN訓練的主要問題。具體的,訓練WGAN不續約維護一個小心的關於生成器和判別器之間的平衡,也不需要網絡結構的精心設計。GAN中常見的mode dropping現象也急劇下降。WGAN最具競爭力的是可以通過將判別器訓練到最優來連續的評估EM距離。畫出這些曲線不止對調試和超參數搜索有用,而且與觀察到的樣本質量相關。
2 不同的距離
令\(\mathcal{X}\)是一個緊湊的度量集(a compact metric set)(如圖像\([0,1]^d\)的空間),\(\Sigma\)表示所有\(\mathcal{X}\)的Borel子集的集合。令\(Prob(\mathcal{X})\)表示定義在\(\mathcal{X}\)的概率測度空間。可以定義兩個分布\(\mathbb{P}_r,\mathbb{P}_g\in Prob(\mathcal{X})\)之間的初始距離和散度:
- Total Variation(TV) 距離
- Kullback-Leibler(KL)散度
其中,\(\mathbb{P}_r\)和\(\mathbb{P}_g\)假設為完全連續,因此就關於定義在\(\mathcal{X}\)上同樣的測度\(\mu\)而言,有密度存在(記得一個概率分布\(\mathbb{P}_r\in Prob(\mathcal{X})\)有一個關於\(\mu\)的密度\(P_r(x)\),即\(\forall A\in \sum,\mathbb{P}_r(A)=\int_AP_R(x)d\mu(x)\),有且僅有關於\(\mu\)是完全連續的,即\(\forall A\in \sum,\mu(A)=0\Rightarrow \mathbb{P}_r(A)=0\))。KL散度是當存在滿足\(P_g(x)= 0\)且\(P_r(x)> 0\)的點時,KL是不對稱的,而且還可能值是無窮大。
- Jensen-Shannon(JS)散度
這里\(\mathbb{P}_m\)是\(\frac{\mathbb{P}_r+\mathbb{P}_g}{2}\),該散度是對稱的,且總是有定義的,因為可以選擇\(\mu=\mathbb{P}_m\)
- Earth-Mover(EM)距離或者稱其為Wasserstein-1
這里\(\prod(\mathbb{P}_r,\mathbb{P}_g)\)表示所有聯合分布\(\gamma(x,y)\)的集合,其邊緣分布為\(\mathbb{P}_r\)和\(\mathbb{P}_g\)。直觀的,\(\gamma(x,y)\)表示多少質量從\(x\)傳輸到\(y\),為了將分布\(\mathbb{P}_r\)變換成分布\(\mathbb{P}_g\)。EM距離是最優傳輸方案的cost
- 引用自知乎的文章:\(\Pi (P_r, P_g)\)是\(P_r\)和\(P_g\)組合起來所有可能聯合分布的集合,反過來說,\(\Pi (P_r, P_g)\)中每一個分布的邊緣分布都是\(P_r\)和\(P_g\)。對於每一個可能的聯合分布\(\gamma\)而言,可以從中采樣\((x, y) \sim \gamma\)得到一個真實樣本\(x\)和一個生成樣本\(y\),並算出這對樣本的距離\(||x-y||\),所以可以計算該聯合分布\(\gamma\)下樣本對距離的期望值\(\mathbb{E}_{(x, y) \sim \gamma} [||x - y||]\)。在所有可能聯合分布中能夠對這個期望值取到的下界\(\inf_{\gamma \sim \Pi (P_r, P_g)} \mathbb{E}_{(x, y) \sim \gamma} [||x - y||]\),就定義為Wasserstein距離。
直觀上可以把\(\mathbb{E}_{(x, y) \sim \gamma} [||x - y||]\)理解為在\(\gamma\)這個“路徑規划”下把\(P_r\)這堆“沙土”挪到\(P_g\)“位置”所需的“消耗”,而\(W(P_r, P_g)\)就是“最優路徑規划”下的“最小消耗”,所以才叫Earth-Mover(推土機)距離。
Wasserstein距離相比KL散度、JS散度的優越性在於,即便兩個分布沒有重疊,Wasserstein距離仍然能夠反映它們的遠近。WGAN本作通過簡單的例子展示了這一點。考慮如下二維空間中的兩個分布\(P_1\)和\(P_2\),\(P_1\)在線段AB上均勻分布,\(P_2\)在線段CD上均勻分布,通過控制參數\(\theta\)可以控制着兩個分布的距離遠近。
此時容易得到(讀者可自行驗證)
KL散度和JS散度是突變的,要么最大要么最小,Wasserstein距離卻是平滑的,如果我們要用梯度下降法優化\theta這個參數,前兩者根本提供不了梯度,Wasserstein距離卻可以。類似地,在高維空間中如果兩個分布不重疊或者重疊部分可忽略,則KL和JS既反映不了遠近,也提供不了梯度,但是Wasserstein卻可以提供有意義的梯度。
例子1(學習平行線)
令\(Z\sim U[0,1]\)表示單位間隔下的均勻分布,令\(\mathbb{P}_0\)是\((0,Z)\in\mathbb{R}^2\)的分布(0在x軸上,隨機變量\(Z\)在y軸上),在穿過原點的直線垂直線上均勻分布。現在令\(g_{\theta}(z)=(\theta,z)\)是關於\(\theta\)的一個單一實參數。很容易得到如下式子:
- \(W(\mathbb{P}_0,\mathbb{P}_{\theta})=|\theta|\)
- \(JS(\mathbb{P}_0,\mathbb{P}_{\theta})= \begin{cases} \log2, & if\, \theta \neq 0,\\ 0, & if \,\theta = 0, \end{cases}\)
- \(KL(\mathbb{P}_{\theta}||\mathbb{P}_0) = KL(\mathbb{P}_0||\mathbb{P}_{\theta})= \begin{cases} +\infty, & if \,\theta \neq 0,\\ 0, & if\, \theta = 0, \end{cases}\)
- \(\delta (\mathbb{P}_0,\mathbb{P}_{\theta})= \begin{cases} 1, & if \,\theta \neq 0,\\ 0, & if\, \theta = 0, \end{cases}\)
當\(\theta_t\rightarrow 0\),序列\((\mathbb{P}_{\theta_t})_{t\in\mathbb{N}}\)基於EM距離收斂到\(\mathbb{P}_0\),但是在JS,KL,逆KL,TV散度都不收斂。
圖1展示基於EM和JS距離下的結果。
例子1的情況是我們可以基於一個低維度流行,在EM距離上通過梯度下降方式學到一個概率分布。這不能用其他距離和散度學到是因為他們生成的loss函數不是連續的。雖然這個簡單的例子是基於不相交支撐集的特征分布,該結論在當支撐集包含相交部分但測度為0的集合上同樣適用,當兩個低維流形在一般位置相交時,恰好就是這種情況。
因為Wasserstein距離比JS距離要弱很多。現在有個疑問是:\(W(\mathbb{P}_r, \mathbb{P}_{\theta})\)是否是基於溫和假設下在\(\theta\)上的連續損失函數?結論是的。
理論1
令\(\mathbb{P}_r\)是在\(\mathcal{X}\)上的固定分布,\(Z\)是一個基於令一個空間\(\mathcal{Z}\)的隨機變量(如高斯),\(g:\mathcal{Z}\times \mathbb{R}^d\rightarrow \mathcal{X}\)是一個函數,\(g_{\theta}(z)\)中\(z\)表示坐標系第一個坐標,\(\theta\)表示第二個。令\(\mathbb{P}_{\theta}\)表示\(g_{\theta}(Z)\)的分布。然后:
- 如果\(g\)是在\(\theta\)上連續,則\(W(\mathbb{P}_r,\mathbb{P}_{\theta})\)也是;
- 如果\(g\)是局部Lipschitz,並且滿足正則假設1,那么\(W(\mathbb{P}_r,\mathbb{P}_{\theta})\)也是處處連續,並且幾乎處處可微;
- 假設1
令\(g:\mathcal{Z}\times\mathbb{R}^d\rightarrow \mathcal{X}\)是基於有限維度向量空間的局部Lipschitz。\(g_{\theta}(z)\)表示在坐標\((z,\theta)\)上的評估。我們說\(g\)在\(\mathcal{Z}\)上基於一個具體概率密度分布\(p\)滿足假設1,是如果存在一個局部Lipschitz常量\(L(\theta,z)\),且:
- 上述2條對於JS散度\(JS(\mathbb{P}_r,\mathbb{P}_{\theta})\)和所有KL都不成立
下面的推理告訴我們通過最小化EM距離可以讓NN的學習有意義(至少理論上是的)。
推理1
令\(g_{\theta}\)為任意前向神經網絡(前向NN就是由仿射函數和逐點非線性的Lipschitz函數(sigmoid,tanh,elu,softplus等等)組成的,雖然對recti er nonlinearities也成立,不過證明更講究技巧),參數為\(\theta\),\(p(z)\)為在\(z\)上的一個先驗,且\(\mathbb{E}_{z\sim p(z)}[||z||]<\infty\)(如,高斯,均勻分布等等)
因為假設1是滿足的,所以\(W(\mathbb{P}_r, \mathbb{P}_{\theta})\)是處處連續且幾乎處處可微。
所有這些都表明,對於我們的問題,EM是一個比至少Jensen-Shannon散度更好的cost函數。 下面的定理描述了由這些距離和散度引起的拓撲結構的相對強度,其中KL最強,其次是JS和TV,EM最弱。
理論2
令\(\mathbb{P}\)是一個基於緊密空間\(\mathcal{X}\)分布,\((\mathbb{P}_n)_{n\in\mathbb{N}}\)是在\(\mathcal{X}\)上的分布序列。然后,考慮所有的極限,如\(n\rightarrow \infty\)
- 1 下面2個是等效的
- \(\delta (\mathbb{P}_n,\mathbb{P})\rightarrow 0\),$\delta $是total variation距離;
- \(JS(\mathbb{P}_n,\mathbb{P})\rightarrow 0\),JS是JS散度;
- 2 下面2個是等效的
- \(W(\mathbb{P}_n,\mathbb{P})\rightarrow 0\);
- \(\mathbb{P}_n\,\,\underset{\rightarrow}{\mathcal{D}} \,\,\mathbb{P}\)其中\(\underset{\rightarrow}{\mathcal{D}}\)表示隨機變量的分布收斂;
- 3 \(KL(\mathbb{P}_n||\mathbb{P})\rightarrow 0\)or \(KL(\mathbb{P}||\mathbb{P}_n)\rightarrow 0\)暗示了1的結論;
- 4 1的結論暗示了2的結論。
上述理論說明了KL,JS,TV距離在基於低維度流行的支撐集進行分布學習的時候cost函數是不敏感的。然而EM距離是敏感的。所以接下來就是介紹優化EM距離的實用近似方法。
3 Wasserstein GAN
理論2表明的是\(W(\mathbb{P}_r,\mathbb{P}_{\theta})\)相比\(JS(\mathbb{P}_r,\mathbb{P}_{\theta})\)也許在優化上會有更好的特性。然而式子1中的下限很難處理。另一方面,Kantorovich-Rubinstein 二元性[22]告訴我們:
其上限在所有的1-Lipschitz函數\(f:\mathbb{X}\rightarrow\mathbb{R}\)之上。注意到如果我們將\(||f||_{L\leq 1}\)替換成\(||f||_{L\leq K}\)(某些常量K的K-Lipschitz),那么就得到\(K\cdot W(\mathbb{P}_r,\mathbb{P}_{\theta})\).因此,如果有一個參數化的函數族\(\{f_w\}_{w\in \mathcal{W}}\),那么對某些K的所有K-Lipschitz,可以解決下述問題:
如果式子2中的上線可以在某些\(w\in\mathcal{W}\)上貼近(一個非常強的假設,類似於證明估計量一致性時的假設),該過程會從\(W(\mathbb{P}_r,\mathbb{P}_{\theta})\)上升到一個乘法常量。而且,可以考慮通過評估\(\mathbb{E}_{z\sim p(z)}[\bigtriangledown _{\theta}f_w(g_{\theta}(z))]\)來bp式子2,達到微分\(W(\mathbb{P}_r,\mathbb{P}_{\theta})\)的目的(再次,上升到一個常量).不過這些都只是直觀猜測,需要下面的證明,證明這個過程是在最優性假設下完成的。
理論3
令\(\mathbb{P}_r\)表示任意分布,\(\mathbb{P}_{\theta}\)是關於\(g_{\theta}(Z)\)的分布,其中\(Z\)是一個密度為\(p\)的隨機變量,\(g_{\theta}\)是一個滿足假設1的函數。然后,存在一個解\(f:\mathcal{X}\rightarrow \mathbb{R}\) ,其問題為:
且,得到
這兩項都很好的被定義了。
現在的問題變成了找到函數\(f\)來解決式子2中的最大化問題。為了粗略逼近,我們能做的就是訓練一個NN,其權重為\(w\),且位於一個緊湊空間\(\mathcal{W}\)中,然后對\(\mathbb{E}_{z\sim p(z)}[\bigtriangledown _{\theta}f_w(g_{\theta}(z))]\)進行BP。和對傳統GAN做得一樣。注意到\(\mathcal{W}\)緊湊意味着所有的函數\(f_w\)對於某些K是K-Lipschitz,其只取決於\(\mathcal{W}\)而不是獨立的權重。因此,近似式子2 直到一個不相關的縮放因子和判別器\(f_w\)的能力范圍。為了讓參數\(w\)落在一個緊湊空間中,我們能做的簡單事情是每次迭代后將權重附到一個固定box(如\(\mathcal{W}=[-0.01,0.01]^l\))。WGAN的過程如算法1.
- 既然Wasserstein距離有如此優越的性質,如果我們能夠把它定義為生成器的loss,不就可以產生有意義的梯度來更新生成器,使得生成分布被拉向真實分布嗎?
沒那么簡單,因為Wasserstein距離定義(式子1)中的\(\inf_{\gamma \sim \Pi (P_r, P_g)}\)沒法直接求解,不過沒關系,作者用了一個已有的定理把它變換為如下形式
證明過程被作者丟到論文附錄中了,我們也姑且不管,先看看上式究竟說了什么。
首先需要介紹一個概念——Lipschitz連續。它其實就是在一個連續函數f上面額外施加了一個限制,要求存在一個常數K\geq 0使得定義域內的任意兩個元素x_1和x_2都滿足:
此時稱函數f的Lipschitz常數為\(K\)。
簡單理解,比如說\(f\)的定義域是實數集合,那上面的要求就等價於f的導函數絕對值不超過K。再比如說\(\log (x)\)就不是Lipschitz連續,因為它的導函數沒有上界。Lipschitz連續條件限制了一個連續函數的最大局部變動幅度。
公式13的意思就是在要求函數f的Lipschitz常數\(||f||_L\)不超過K的條件下,對所有可能滿足條件的\(f\)取到\(\mathbb{E}_{x \sim P_r} [f(x)] - \mathbb{E}_{x \sim P_g} [f(x)]\)的上界,然后再除以\(K\)。特別地,我們可以用一組參數w來定義一系列可能的函數\(f_w\),此時求解公式13可以近似變成求解如下形式
再用上我們搞深度學習的人最熟悉的那一套,不就可以把\(f\)用一個帶參數\(w\)的神經網絡來表示嘛!由於神經網絡的擬合能力足夠強大,我們有理由相信,這樣定義出來的一系列\(f_w\)雖然無法囊括所有可能,但是也足以高度近似公式13要求的那個\(sup_{||f||_L \leq K}\)了。
最后,還不能忘了滿足公式14中\(||f_w||_L \leq K\)這個限制。我們其實不關心具體的\(K\)是多少,只要它不是正無窮就行,因為它只是會使得梯度變大\(K\)倍,並不會影響梯度的方向。所以作者采取了一個非常簡單的做法,就是限制神經網絡\(f_\theta\)的所有參數\(w_i\)的不超過某個范圍[-c, c],比如\(w_i \in [- 0.01, 0.01]\),此時關於輸入樣本\(x\)的導數\(\frac{\partial f_w}{\partial x}\)也不會超過某個范圍,所以一定存在某個不知道的常數\(K\)使得\(f_w\)的局部變動幅度不會超過它,Lipschitz連續條件得以滿足。具體在算法實現中,只需要每次更新完\(w\)后把它clip回這個范圍就可以了。
**到此為止,我們可以構造一個含參數\(w\)、最后一層不是非線性激活層的判別器網絡\(f_w\),在限制\(w\)不超過某個范圍的條件下,使得
盡可能取到最大,此時\(L\)就會近似真實分布與生成分布之間的Wasserstein距離(忽略常數倍數\(K\))。注意原始GAN的判別器做的是真假二分類任務,所以最后一層是sigmoid,但是現在WGAN中的判別器\(f_w\)做的是近似擬合Wasserstein距離,屬於回歸任務,所以要把最后一層的sigmoid拿掉。
接下來生成器要近似地最小化Wasserstein距離,可以最小化\(L\),由於Wasserstein距離的優良性質,我們不需要擔心生成器梯度消失的問題。再考慮到L的第一項與生成器無關,就得到了WGAN的兩個loss。
公式15是公式17的反,可以指示訓練進程,其數值越小,表示真實分布與生成分布的Wasserstein距離越小,GAN訓練得越好**
權重裁剪是一種可怕的強制Lipschitz約束。如果裁剪參數很大,那么可以花較久的時間讓權重達到他們的限制,因而讓模型很難訓練判別器(critic)到最優。如果裁剪很小,當層數很多或者未用BN(如RNN)的時候很容易導致梯度消失。作者對這些都做了實驗(如將權重映射到一個球體),不過還是希望有其他方法能代替簡單的權重裁剪。
事實上,EM距離是連續且可微的,這意味着可以將判別器(critic)訓練到最優。參數也是很簡單的,我們越是訓練critic,那么可依賴的Wasserstein梯度就越多,而Wasserstein是幾乎處處可微的。對於JS,判別器越是好,但是真實梯度就越接近0,因為JS是局部飽和的,所以得到的就是梯度消失,如圖1一樣,還有和[1]中的理論2.4一樣。
圖2中,是該概念的一種證明,其中訓練一個GAN判別器和一個WGAN critic直到最優。判別器學的很快,很容易去識別fake和real,如期望的那樣,其沒法提供可靠的梯度信息。而critic沒飽和,其收斂到一個線性函數,並處處給出很明顯干凈的梯度。事實上,我們約束權重限制讓函數的增長盡可能都在空間不同部分的線性部分,強制最優critic有這樣的結果。
也許更重要的,我們可以訓練critic直到最優使得無法產生mode collapse。這是因為mode collapse來自這樣一個事實,即一個固定判別器對應的最優生成器是生成器賦予最高值那些點的deltas的和,如[4]中觀測的,和[11]中強調的。
令人拍案叫絕的Wasserstein GAN
上文說過,WGAN與原始GAN第一種形式相比,只改了四點:
- 判別器最后一層去掉sigmoid
- 生成器和判別器的loss不取log
- 每次更新判別器的參數之后把它們的絕對值截斷到不超過一個固定常數c
- 不要用基於動量的優化算法(包括momentum和Adam),推薦RMSProp,SGD也行
前三點都是從理論分析中得到的,已經介紹完畢;第四點卻是作者從實驗中發現的,屬於trick,相對比較“玄”。作者發現如果使用Adam,判別器的loss有時候會崩掉,當它崩掉時,Adam給出的更新方向與梯度方向夾角的cos值就變成負數,更新方向與梯度方向南轅北轍,這意味着判別器的loss梯度是不穩定的,所以不適合用Adam這類基於動量的優化算法。作者改用RMSProp之后,問題就解決了,因為RMSProp適合梯度不穩定的情況。
4 實驗結果
作者在圖像生成上使用本文的Waserstein-GAN算法,並發現相比標准GAN算法,有明顯的優勢:
- 一個有意義的loss指標可以預示生成器的收斂和樣本質量;
- 優化過程的穩定性的提升
4.1 實驗過程
作者在圖像生成上做了測試,要學習的目標分布是LSUN-Bedrooms數據集[24]-一個室內卧室的自然圖像集合。我們對標的baseline是DCGAN[18],是一個基於標准GAN流程訓練的卷積結構的GAN,使用的是\(-\log D\)trick[4]。生成的樣本是3-通道圖像,其size為64x64.使用算法權重的超參數方式。
4.2 有意義的loss指標
因為WGAN算法試圖在每次生成器更新(算法1中行10)前訓練判別器"critic" \(f\)(算法1中行2-8),當前loss函數是關於EM距離的評估。
令人拍案叫絕的Wasserstein GAN
作者第一個實驗揭示了該評估如何與生成樣本的質量很好地進行關聯(第一,判別器所近似的Wasserstein距離與生成器的生成圖片質量高度相關)。在卷積DCGAN結構的同時,其他對比實驗有:將生成器或者生成器和critic同時替換成一個有512個隱藏單元的4層ReLU-MLP。
圖3是所有三種結構在WGAN訓練上WGAN評估的EM距離演化。該圖清晰的顯示了這些曲線很好的與生成的樣本的可視化質量相關聯。這同時也是第一個loss函數可以顯示收斂特性的文獻。這些特性在做對抗網絡研究的時候十分有用,其不需要在生成的樣本上。
- 第二,WGAN如果用類似DCGAN架構,生成圖片的效果與DCGAN差不多:
但是厲害的地方在於WGAN不用DCGAN各種特殊的架構設計也能做到不錯的效果,比如如果大家一起拿掉Batch Normalization的話,DCGAN就崩了:
如果WGAN和原始GAN都使用多層全連接網絡(MLP),不用CNN,WGAN質量會變差些,但是原始GAN不僅質量變得更差,而且還出現了collapse mode,即多樣性不足:
- 第三,在所有WGAN的實驗中未觀察到collapse mode,作者也只說應該是解決了,
最后補充一點論文沒提到,但是我個人覺得比較微妙的問題。判別器所近似的Wasserstein距離能夠用來指示單次訓練中的訓練進程,這個沒錯;接着作者又說它可以用於比較多次訓練進程,指引調參,我倒是覺得需要小心些。比如說我下次訓練時改了判別器的層數、節點數等超參,判別器的擬合能力就必然有所波動,再比如說我下次訓練時改了生成器兩次迭代之間,判別器的迭代次數,這兩種常見的變動都會使得Wasserstein距離的擬合誤差就與上次不一樣。那么這個擬合誤差的變動究竟有多大,或者說不同的人做實驗時判別器的擬合能力或迭代次數相差實在太大,那它們之間還能不能直接比較上述指標,我都是存疑的。
評論區的知友@Minjie Xu
進一步指出,相比於判別器迭代次數的改變,對判別器架構超參的改變會直接影響到對應的Lipschitz常數K,進而改變近似Wasserstein距離的倍數,前后兩輪訓練的指標就肯定不能比較了,這是需要在實際應用中注意的。對此我想到了一個工程化的解決方式,不是很優雅:取同樣一對生成分布和真實分布,讓前后兩個不同架構的判別器各自擬合到收斂,看收斂到的指標差多少倍,可以近似認為是后面的\(K_2\)相對前面\(K_1\)的變化倍數,於是就可以用這個變化倍數校正前后兩輪訓練的指標。
總結:
WGAN本作引入了Wasserstein距離,由於它相對KL散度與JS散度具有優越的平滑特性,理論上可以解決梯度消失問題。接着通過數學變換將Wasserstein距離寫成可求解的形式,利用一個參數數值范圍受限的判別器神經網絡來最大化這個形式,就可以近似Wasserstein距離。在此近似最優判別器下優化生成器使得Wasserstein距離縮小,就能有效拉近生成分布與真實分布。WGAN既解決了訓練不穩定的問題,也提供了一個可靠的訓練進程指標,而且該指標確實與生成樣本的質量高度相關。作者對WGAN進行了實驗驗證。
4.2 提高穩定性
5 相關工作
reference:
[1] Martin Arjovsky and Leon Bottou. Towards principled methods for training generative adversarial networks. In International Conference on Learning Rep- resentations, 2017. Under review.
[2] Gintare Karolina Dziugaite, Daniel M. Roy, and Zoubin Ghahramani. Training generative neural networks via maximum mean discrepancy optimization. CoRR, abs/1505.03906, 2015.
[3] Aude Genevay, Marco Cuturi, Gabriel Peyre, and Francis Bach. Stochastic optimization for large-scale optimal transport. In D. D. Lee, M. Sugiyama, U. V. Luxburg, I. Guyon, and R. Garnett, editors, Advances in Neural Information Processing Systems 29, pages 3440{3448. Curran Associates, Inc., 2016.
[4] Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde- Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. Generative adversarial nets. In Advances in Neural Information Processing Systems 27, pages 2672{2680. Curran Associates, Inc., 2014.
[5] Arthur Gretton, Karsten M. Borgwardt, Malte J. Rasch, Bernhard Scholkopf, and Alexander Smola. A kernel two-sample test. J. Mach. Learn. Res., 13:723{ 773, 2012.
[6] Ferenc Huszar. How (not) to train your generative model: Scheduled sampling, likelihood, adversary? CoRR, abs/1511.05101, 2015.
[7] Shizuo Kakutani. Concrete representation of abstract (m)-spaces (a characterization of the space of continuous functions). Annals of Mathematics, 42(4):994{ 1024, 1941.
[8] Diederik P. Kingma and Jimmy Ba. Adam: A method for stochastic optimization. CoRR, abs/1412.6980, 2014.
[9] Diederik P. Kingma and MaxWelling. Auto-encoding variational bayes. CoRR, abs/1312.6114, 2013.
[10] Yujia Li, Kevin Swersky, and Rich Zemel. Generative moment matching networks. In Proceedings of the 32nd International Conference on Machine Learn- ing (ICML-15), pages 1718{1727. JMLR Workshop and Conference Proceedings, 2015.
[11] Luke Metz, Ben Poole, David Pfau, and Jascha Sohl-Dickstein. Unrolled generative adversarial networks. Corr, abs/1611.02163, 2016.
[12] Paul Milgrom and Ilya Segal. Envelope theorems for arbitrary choice sets. Econometrica, 70(2):583{601, 2002.
[13] VolodymyrMnih, Adria Puigdomenech Badia, Mehdi Mirza, Alex Graves, Timothy P. Lillicrap, Tim Harley, David Silver, and Koray Kavukcuoglu. Asynchronous methods for deep reinforcement learning. In Proceedings of the 33nd International Conference on Machine Learning, ICML 2016, New York City, NY, USA, June 19-24, 2016, pages 1928{1937, 2016.
[14] Gregoire Montavon, Klaus-Robert Muller, and Marco Cuturi. Wasserstein training of restricted boltzmann machines. In D. D. Lee, M. Sugiyama, U. V. Luxburg, I. Guyon, and R. Garnett, editors, Advances in Neural Information Processing Systems 29, pages 3718{3726. Curran Associates, Inc., 2016.
[15] Alfred Muller. Integral probability metrics and their generating classes of functions. Advances in Applied Probability, 29(2):429{443, 1997.
[16] Radford M. Neal. Annealed importance sampling. Statistics and Computing, 11(2):125{139, April 2001.
[17] Sebastian Nowozin, Botond Cseke, and Ryota Tomioka. f-gan: Training generative neural samplers using variational divergence minimization. pages 271{279, 2016.
[18] Alec Radford, Luke Metz, and Soumith Chintala. Unsupervised representation learning with deep convolutional generative adversarial networks. CoRR, abs/1511.06434, 2015.
[19] Aaditya Ramdas, Sashank J. Reddi, Barnabas Poczos, Aarti Singh, and Larry Wasserman. On the high-dimensional power of linear-time kernel two-sample testing under mean-dierence alternatives. Corr, abs/1411.6314, 2014.
[20] Dougal J Sutherland, Hsiao-Yu Tung, Heiko Strathmann, Soumyajit De, Aaditya Ramdas, Alex Smola, and Arthur Gretton. Generative models and model criticism via optimized maximum mean discrepancy. In International Confer- ence on Learning Representations, 2017. Under review.
[21] T. Tieleman and G. Hinton. Lecture 6.5|RmsProp: Divide the gradient by a running average of its recent magnitude. COURSERA: Neural Networks for Machine Learning, 2012.
[22] Cedric Villani. Optimal Transport: Old and New. Grundlehren der mathematischen Wissenschaften. Springer, Berlin, 2009.
[23] Yuhuai Wu, Yuri Burda, Ruslan Salakhutdinov, and Roger B. Grosse. On the quantitative analysis of decoder-based generative models. CoRR, abs/1611.04273, 2016.
[24] Fisher Yu, Yinda Zhang, Shuran Song, Ari Se, and Jianxiong Xiao. LSUN: Construction of a large-scale image dataset using deep learning with humans in the loop. Corr, abs/1506.03365, 2015.
[25] Junbo Zhao, Michael Mathieu, and Yann LeCun. Energy-based generative adversarial network. Corr, abs/1609.03126, 2016.