翻譯博客:GAN?—?Why it is so hard to train Generative Adversarial Networks!
通常情況下垄开,識(shí)別莫奈的繪畫(huà)要比模仿莫奈的繪畫(huà)更容易膘滨。在GAN中也是同樣的道理吱涉,生成模型(創(chuàng)造數(shù)據(jù))要比判別模型(處理數(shù)據(jù))難很多蓖墅。通過(guò)研究,我們了解了在訓(xùn)練GAN過(guò)程中遇到的一些基本問(wèn)題勺择。我們將研究一些分歧贰锁,以便指明我們的研究方向。在研究這些問(wèn)題之前固以,我們回顧一下GAN方程式墩虹。
GAN
GAN采用標(biāo)準(zhǔn)或均勻分布來(lái)提供噪聲,并利用深度網(wǎng)絡(luò)生成模型來(lái)創(chuàng)建圖像憨琳。
在GAN中诫钓,我們?cè)黾恿伺袆e器來(lái)區(qū)分判別器的輸入是來(lái)自于真實(shí)數(shù)據(jù)還是生成的數(shù)據(jù)。輸出值來(lái)估計(jì)是真的概率栽渴。
目標(biāo)函數(shù)與梯度
GAN定義了通過(guò)極小極大化游戲尖坤,其目標(biāo)函數(shù)為:
以下圖標(biāo)總結(jié)了我們?nèi)绾问褂孟鄳?yīng)的梯度來(lái)訓(xùn)練判別器和生成器
GAN問(wèn)題
許多GAN模型面臨以下幾個(gè)主要問(wèn)題:
1.不收斂:模型參數(shù)震蕩,動(dòng)搖闲擦,不收斂慢味。
2.模式崩潰:有限的樣本導(dǎo)致生成器崩潰场梆。
3.梯度弱化:判別器太成功了,生成器梯度消失纯路,什么也沒(méi)學(xué)到或油。
生成器和辨別器不平衡導(dǎo)致過(guò)擬合,高度敏感的超參選擇驰唬。
模型
真實(shí)數(shù)據(jù)分布具有多模態(tài)性顶岸。例如,MNIST有10個(gè)模型從數(shù)字‘0’到數(shù)字‘9’叫编。以下樣本由兩個(gè)不同的GAN產(chǎn)生辖佣。上面一行生成了10個(gè)模型而下面一行只創(chuàng)建了一個(gè)模型(數(shù)字‘6’)。該問(wèn)題屬于模式崩潰當(dāng)只有少量的模型數(shù)據(jù)被生成搓逾。
納什均衡
GAN是基于零和非合作游戲The zero-sum non-cooperative game卷谈。如果一方贏則另一方輸。零和游戲也叫極小極大化游戲霞篡。你的對(duì)手想要最大化它的行為世蔗,但是你的行為是將他們最小化。在博弈過(guò)程中朗兵,當(dāng)判別模型和生成模型達(dá)到了納什均衡時(shí)GAN模型收斂污淋。這也是下面公式的最優(yōu)解:
因?yàn)殡p方都想破壞對(duì)方,所以當(dāng)一方無(wú)論對(duì)手可能做什么都不會(huì)改變其動(dòng)作時(shí)余掖,就會(huì)發(fā)生納什均衡寸爆。考慮兩個(gè)對(duì)手A和B盐欺,分別控制和值而昨。A想最大化值而B(niǎo)想最小化它。
則納什均衡為找田。這也是唯一狀態(tài)你的對(duì)手的任何行為都無(wú)關(guān)緊要了。對(duì)手的任何狀態(tài)都不會(huì)改變游戲的結(jié)果着憨。
那么是否可以通過(guò)梯度下降方法找到納什均衡呢墩衙?我們更新參數(shù)和基于值函數(shù)的梯度。
其中是學(xué)習(xí)率甲抖。當(dāng)將漆改,和的訓(xùn)練過(guò)程圖示出來(lái),我們意識(shí)到我們的解永遠(yuǎn)不會(huì)收斂准谚。
如果我們?cè)黾訉W(xué)習(xí)率或者訓(xùn)練模型的長(zhǎng)度挫剑,我們發(fā)現(xiàn)參數(shù)和非常不穩(wěn)定。
我們的例子充分展示了一些代價(jià)函數(shù)不會(huì)因?yàn)樘荻认陆祵?dǎo)致收斂柱衔,特別是對(duì)于非凸函數(shù)樊破。我們可以直觀地看待這個(gè)問(wèn)題:你的對(duì)手總是對(duì)你的行為采取對(duì)策愉棱,這使得模型更難以收斂。
基于KL-Divergence的生成模型
為了理解GAN中的收斂問(wèn)題哲戚,我們將研究KL-divergence和JS-divergence奔滑。在提出GAN之前,很多生成模型創(chuàng)建模型來(lái)最大化最大似然估計(jì)MLE顺少。例如朋其,找到最好的模型參數(shù)適合大部分的訓(xùn)練數(shù)據(jù)。
這與最小化KL-divergence相同脆炎,其測(cè)量概率分布(估計(jì)分布)如何偏離預(yù)期概率分布(實(shí)際分布)梅猿。
KL-divergence是非對(duì)稱(chēng)的
對(duì)于區(qū)域,下降到0秒裕。例如袱蚓,在下面的圖右中,紅色的曲線對(duì)應(yīng)簇爆。當(dāng)其中接近0時(shí)癞松,紅色曲線下降到0。
這有什么含義入蛆?當(dāng)它失去圖像中的一些模型時(shí)响蓉,KL-divergence可以懲罰生成器:當(dāng)但是時(shí),懲罰率高哨毁。但是枫甲,它會(huì)接受一些看起來(lái)非真實(shí)的圖像。當(dāng)但是時(shí)扼褪,懲罰率低想幻。(更好的質(zhì)量但是更少的樣本)。
一些生成模型采用MLE來(lái)生成模型话浇。最初認(rèn)為KL-divergence導(dǎo)致交叉的圖像質(zhì)量(模糊圖像)脏毯。但要注意的是,一些經(jīng)驗(yàn)實(shí)驗(yàn)可能會(huì)對(duì)這一說(shuō)法提出異議幔崖。
JS-Divergence
JS-divergence的定義如下:
JS-divergence是對(duì)稱(chēng)的食店。與KL-divergence不同,它將懲罰不良的圖片(當(dāng)且)赏寇。在GAN中吉嫩,如果判別器是最優(yōu)的(在區(qū)分圖片時(shí)具有良好的性能),生成模型的目標(biāo)函數(shù)變?yōu)椋?/p>
因此嗅定,優(yōu)化生成模型被視為對(duì)JS-divergence進(jìn)行優(yōu)化自娩。在實(shí)驗(yàn)中,與使用KL-divergence的其它生成模型相比渠退,GAN能夠產(chǎn)生更好的圖像忙迁。因此脐彩,早期研究者設(shè)想優(yōu)化JS-divergence而不是KL-divergence來(lái)創(chuàng)建質(zhì)量高的但是缺乏多樣性的圖像。但是动漾,一些研究者已經(jīng)質(zhì)疑了這類(lèi)說(shuō)法丁屎,因?yàn)槭褂肕LE的GAN實(shí)驗(yàn)產(chǎn)生的圖像質(zhì)量相似但仍然存在圖像多樣性問(wèn)題。但是旱眯,在正對(duì)GAN訓(xùn)練中JS-divergence所面臨的缺陷方面晨川,已經(jīng)做了許多努力。無(wú)論辯論如何删豺,這些成功都非常重要共虑。因此,接下來(lái)我們將深入探討JS-divergence的問(wèn)題呀页。
JS-Divergence中的梯度消失
當(dāng)判別器最優(yōu)時(shí)妈拌,生成模型的目標(biāo)函數(shù)為:
當(dāng)生成的圖像的數(shù)據(jù)分布與真實(shí)圖像的數(shù)據(jù)分布不匹配時(shí),JS-divergence梯度會(huì)發(fā)生什么蓬蝶?考慮一個(gè)例子尘分,和服從高斯分布,且的均值為0丸氛。.考慮不同均值下的來(lái)研究的梯度培愁。
這里,我們給出了和之間的JS-divergence,其中的均值在0到30之間。如下圖所示肩钠,JS-divergence的梯度消失了從到。當(dāng)這些區(qū)域的代價(jià)飽和時(shí)输瓜,GAN的生成器的學(xué)習(xí)會(huì)極其緩慢。特別是在早期訓(xùn)練中,和是非常不同的,并且生成器學(xué)習(xí)的非常慢倡鲸。
不穩(wěn)定的梯度
由于梯度消失,原始GAN論文提出了另一種代價(jià)函數(shù)來(lái)解決梯度消失問(wèn)題黄娘。
根據(jù)Arjovsky的另一篇論文旦签,相應(yīng)的梯度為:
它包括了一個(gè)反向KL-divergence項(xiàng),Arjovsky使用它來(lái)解釋為什么GAN與基于KL-divergence的生產(chǎn)模型相比具有更高的質(zhì)量但多樣性少的圖像寸宏。但同樣的分析聲稱(chēng)梯度波動(dòng)并導(dǎo)致模型不穩(wěn)定。為了說(shuō)明這一點(diǎn)偿曙,Arjovsky凍結(jié)生產(chǎn)器并持續(xù)訓(xùn)練判別器氮凝。隨著更大的變體,生成器的梯度開(kāi)始增加望忆。
上面的實(shí)驗(yàn)不是我們?nèi)绾斡?xùn)練GAN罩阵。然而竿秆,在數(shù)學(xué)上,Arjovsky顯示第一個(gè)GAN生成器的目標(biāo)函數(shù)具有消失的梯度稿壁,而替代代價(jià)函數(shù)具有波動(dòng)的梯度幽钢,導(dǎo)致模型的不穩(wěn)定性。自最初的GAN以來(lái)傅是,尋找新的代價(jià)函數(shù)匪燕,如LSGAN,WGAN喧笔,WGAN-GP帽驯,BEGAN等。有些方法基于新的數(shù)學(xué)模型书闸,其他方法基于直覺(jué)通過(guò)實(shí)驗(yàn)備份尼变。目標(biāo)是找到具有更平滑和非消失梯度的代價(jià)函數(shù)。
然而浆劲,2017年谷歌大腦論文“GAN創(chuàng)建平等嫌术?”聲稱(chēng):最終,我們沒(méi)有發(fā)現(xiàn)任何經(jīng)過(guò)測(cè)試的算法始終由于原始算法的證據(jù)牌借。
如果任何新提出的代價(jià)函數(shù)在提高圖像質(zhì)量方面取得了巨大成功度气,我們就不會(huì)有這種爭(zhēng)論。關(guān)于Arjovsky數(shù)學(xué)模型中原始代價(jià)函數(shù)的的世界末日?qǐng)D片也沒(méi)有完全實(shí)現(xiàn)走哺。但我會(huì)謹(jǐn)慎地提醒讀者過(guò)早的斷言代價(jià)函數(shù)并不重要蚯嫌。我認(rèn)為訓(xùn)練GAN容易失敗,不應(yīng)該在一開(kāi)始時(shí)嘗試許多成本函數(shù)丙躏,而是應(yīng)該在隨機(jī)嘗試代價(jià)函數(shù)之前調(diào)試設(shè)計(jì)和代碼择示。接下來(lái)嘗試調(diào)整超參數(shù),因?yàn)镚AN模型對(duì)它們很敏感晒旅。
為什么GAN中模式會(huì)崩潰栅盲?
模式崩潰是GAN中最難解決的問(wèn)題之一。徹底崩潰不常見(jiàn)废恋,但經(jīng)常發(fā)生部分崩潰谈秫。下面帶有相同下劃線顏色的圖像看起來(lái)相似,模式開(kāi)始崩潰鱼鼓。
讓我們來(lái)觀察它會(huì)發(fā)生什么拟烫。GAN生成器的目標(biāo)是創(chuàng)建可以最大程度地欺騙判別器D的圖像。
但是我們來(lái)考慮一個(gè)極端情況迄本,其中G被廣泛訓(xùn)練而沒(méi)有對(duì)D進(jìn)行更新硕淑。生成的圖像將會(huì)收斂找到最佳的圖像,該圖像能夠糊弄D,從判別器角度看是最逼真的圖像置媳。在這個(gè)極端情況下于樟,將獨(dú)立于。
模式崩潰為單點(diǎn)拇囊。與相關(guān)的梯度接近0迂曲。
當(dāng)我們?cè)谂袆e器中重新開(kāi)始訓(xùn)練時(shí),檢測(cè)生成圖像的最有效方法是檢測(cè)這種單一模型寥袭。由于生成器已經(jīng)對(duì)的影響不敏感路捧,因此來(lái)自判別器的梯度可能會(huì)將單點(diǎn)推到下一個(gè)最脆弱的模式。生成器在訓(xùn)練中產(chǎn)生這種不平衡的模式纠永,這會(huì)降低其檢測(cè)其它模型的能力△蕹ぃ現(xiàn)在,兩個(gè)網(wǎng)絡(luò)都過(guò)于適應(yīng)利用短期對(duì)手的弱點(diǎn)尝江。這變成了貓捉老鼠游戲涉波,模型不會(huì)收斂。
在下圖中炭序,Unroll GAN設(shè)法生成所有8種預(yù)期的數(shù)據(jù)模式啤覆。第二行顯示另一個(gè)GAN,當(dāng)判別器趕上時(shí)惭聂,模式崩潰并旋轉(zhuǎn)到另一個(gè)模式窗声。
在訓(xùn)練期間,不斷更新判別器以檢測(cè)對(duì)手辜纲。因此笨觅,生成器不太可能過(guò)度擬合。在實(shí)踐中耕腾,我們對(duì)模式崩潰的理解仍然有限见剩。我們上面的直觀解釋可能過(guò)于簡(jiǎn)單了。通過(guò)經(jīng)驗(yàn)實(shí)驗(yàn)開(kāi)發(fā)并驗(yàn)證了緩解方法扫俺。然而苍苞,GAN訓(xùn)練仍然是一個(gè)啟發(fā)式過(guò)程。部分崩潰仍然很常見(jiàn)狼纬。
但是模式崩潰并不都是壞消息羹呵。在使用GAN的樣式遷移中,我們很樂(lè)意將一個(gè)圖像轉(zhuǎn)換為一個(gè)好的圖像疗琉,而不是找到所有變體冈欢。實(shí)際上,局部模式崩潰的專(zhuān)業(yè)性有時(shí)會(huì)產(chǎn)生更高質(zhì)量的圖像盈简。
超參和訓(xùn)練
如果沒(méi)有合適的超參凑耻,沒(méi)有代價(jià)函數(shù)可以工作犯戏,調(diào)整它們需要時(shí)間和耐心。新的成本函數(shù)可能會(huì)引入具有敏感性能的超餐數(shù)拳话。
平衡判別器和生成器
不收斂以及模式崩潰經(jīng)常被解釋為判別器和生成器不平衡。顯而易見(jiàn)的解決方案是平衡它們的訓(xùn)練避免過(guò)擬合种吸。然而弃衍,很少取得進(jìn)展,但并非因?yàn)槿狈L試坚俗。一些研究人員認(rèn)為镜盯,這不是一個(gè)可行或理想的目標(biāo),因?yàn)榱己玫呐袆e器可以提供良好的反饋猖败。因此速缆,一些注意力轉(zhuǎn)移到具有非消失梯度的成本函數(shù)。
代價(jià)VS圖像質(zhì)量
在判別模型中恩闻,損失函數(shù)測(cè)量預(yù)測(cè)的準(zhǔn)確性艺糜,我們使用它來(lái)監(jiān)控訓(xùn)練的進(jìn)度。但是幢尚,GAN的損失函數(shù)測(cè)量我們比對(duì)手相比的表現(xiàn)破停。通常情況下,生成器代價(jià)會(huì)增加尉剩,但圖像質(zhì)量實(shí)際上正在提高真慢。我們回過(guò)頭來(lái)手動(dòng)檢查生成的圖像以驗(yàn)證進(jìn)度。這使得模型比較更加困難理茎,從而導(dǎo)致難以在一次運(yùn)行中選擇最佳模型黑界。這也使調(diào)優(yōu)過(guò)程變得復(fù)雜。