【GAN优化】GAN训练的几个问题
從今天開(kāi)始,我們將關(guān)注訓(xùn)練GAN時(shí)產(chǎn)生的問(wèn)題,作為第一篇文章,首先從幾個(gè)方面來(lái)分析一下實(shí)際訓(xùn)練的GAN和理論模型上的GAN不同之處以及實(shí)踐中出現(xiàn)的問(wèn)題。第一個(gè)部分將介紹最優(yōu)判別器引發(fā)的梯度消失問(wèn)題,第二部分使用一個(gè)例子介紹距離計(jì)算時(shí)的問(wèn)題,接著第三部分將介紹優(yōu)化問(wèn)題的困惑以及給出模式崩潰一個(gè)簡(jiǎn)單解釋,最后一部分簡(jiǎn)單談一下參數(shù)空間的問(wèn)題。
作者&編輯 | 小米粥
GAN模型在理論上非常優(yōu)美,它訓(xùn)練完成后的愿景是:生成器的隱式概率分布完全等于數(shù)據(jù)集的真實(shí)概率分布,判別器也無(wú)法對(duì)任意一個(gè)樣本點(diǎn)做出區(qū)分,而只能給出概率0.5。但是,實(shí)際上,這樣的結(jié)果是不太可能達(dá)到的。
1 梯度消失問(wèn)題
在早期的GAN中,有一條經(jīng)驗(yàn):不要把判別器訓(xùn)練得太好,以避免后期梯度消失導(dǎo)致無(wú)法訓(xùn)練生成器。在第三期中,我們?cè)務(wù)撨^(guò)類似的問(wèn)題,只不過(guò)是從f-divergence的角度來(lái)探討的,簡(jiǎn)而言之,判別器的任務(wù)是輔助學(xué)習(xí)數(shù)據(jù)集的本質(zhì)概率分布和生成器定義的隱式概率分布之間的某種距離,生成器的任務(wù)是使該距離達(dá)到最小甚至為0。但是當(dāng)兩個(gè)概率分布沒(méi)有重合或者重合部分可忽略時(shí),其f散度值為常數(shù);當(dāng)兩者完全重合時(shí),f散度值突變成0。可以發(fā)現(xiàn)f散度距離無(wú)法為生成器提供可以減少損失函數(shù)的梯度信息,生成器無(wú)法獲得優(yōu)化方向。
這次我們從GAN的訓(xùn)練過(guò)程的角度再一次來(lái)談?wù)撨@個(gè)問(wèn)題。通過(guò)理論和大量的實(shí)踐,我們幾乎可以認(rèn)為數(shù)據(jù)集的本質(zhì)概率分布和生成器定義的隱式概率分布均是高維數(shù)據(jù)空間中的低維流形,幾乎不存在重疊部分(重疊部分的測(cè)度為0),可以證明此時(shí)必然存在一個(gè)最優(yōu)判別器D*可以將兩個(gè)分布完全分開(kāi),它在數(shù)據(jù)集的分布上置1而在生成分布上置0,即:
而且在x的鄰域內(nèi),其導(dǎo)數(shù)為0,即
遺憾的是,此時(shí)我們無(wú)法使用反向傳播算法來(lái)使生成器進(jìn)行學(xué)習(xí),因?yàn)槲覀兛梢宰C明出:
即不斷訓(xùn)練判別器D(x)使其逼近最優(yōu)判別器的代價(jià)是:梯度消失!梯度一旦消失,生成器無(wú)法獲得任何信息來(lái)進(jìn)行更新,兩個(gè)分布之間的距離并沒(méi)有被縮小,判別器無(wú)法更新,之后的迭代過(guò)程變成無(wú)用的循環(huán)過(guò)程。
2. 采樣計(jì)算距離問(wèn)題
WGAN是解決上述梯度消失問(wèn)題的一個(gè)好辦法, 現(xiàn)在我們來(lái)看在實(shí)際訓(xùn)練GAN時(shí)候的第二個(gè)問(wèn)題:
首先來(lái)看一個(gè)小例子,我們定義一個(gè)標(biāo)準(zhǔn)的正態(tài)分布:
然后,從該分布中采樣出m個(gè)(有限個(gè))樣本組成一個(gè)均勻分布:
那么有一個(gè)結(jié)論:
也就是說(shuō),在有限個(gè)采樣個(gè)數(shù)的情況下(實(shí)際中樣本數(shù)m足夠大是不可能成立的),由樣本構(gòu)成的“采樣分布”并不能簡(jiǎn)單地等同于源分布,兩者還有一定的“距離”。更進(jìn)一步地講,對(duì)于兩個(gè)正態(tài)分布,很可能“采樣分布”之間距離并不等于兩個(gè)分布之間的真實(shí)距離。
實(shí)際的結(jié)論確實(shí)如此:對(duì)于兩個(gè)標(biāo)準(zhǔn)正態(tài)分布 μ 和 υ 以及兩個(gè)分別從中采樣得到的樣本構(gòu)成的均勻分布,有非常大的概率認(rèn)為:
在GAN中,我們也是通過(guò)采樣來(lái)近似計(jì)算分布之間的距離的,最理想下?tīng)顟B(tài),兩個(gè)概率分布之間的距離等于兩個(gè)“采樣”分布的距離,或者相差很小:
但考慮到上述簡(jiǎn)單的正態(tài)分布的例子中尚且存在這樣的問(wèn)題,有理由認(rèn)為在GAN中,依靠采樣來(lái)估計(jì)的分布之間的距離并不等于兩個(gè)分布的真實(shí)的距離。如果指導(dǎo)生成器進(jìn)行學(xué)習(xí)的距離信息是有偏差的,則很可能無(wú)法將生成器定義的隱式概率分布逼近到數(shù)據(jù)集的本質(zhì)概率分布。
3. minmax問(wèn)題
GAN的訓(xùn)練模式是這樣的:固定生成器G,迭代k次訓(xùn)練判別器D;然后固定判別器D,訓(xùn)練生成器G,兩者依次交替使用梯度下降法進(jìn)行更新。但是這里會(huì)造成一種困惑,我們到底是在解決一個(gè)minmax問(wèn)題還是maxmin問(wèn)題?因?yàn)檫@兩個(gè)問(wèn)題通常情況下并不一樣:
在maxmin的角度來(lái)看,GAN的訓(xùn)練過(guò)程會(huì)產(chǎn)生模式崩潰(mode collapse)問(wèn)題,就是指生成器生成的樣本有大量的重復(fù),多樣性非常差(這是一個(gè)在實(shí)踐中經(jīng)常出現(xiàn)的問(wèn)題,在之后的文章中,我們將花許多精力來(lái)介紹mode collapse問(wèn)題的解決方案)。
現(xiàn)在,我們通過(guò)一個(gè)粗略的例子,來(lái)簡(jiǎn)單介紹一下模式崩潰問(wèn)題的產(chǎn)生原因。真實(shí)數(shù)據(jù)集的本質(zhì)概率密度函數(shù)通常是多峰函數(shù),也就是具有很多模式(mode),假設(shè)真實(shí)數(shù)據(jù)集的本質(zhì)概率密度函數(shù)有3個(gè)峰。首先,對(duì)于固定的判別器D,生成器面臨min問(wèn)題,會(huì)努力將概率集值中放置到一個(gè)或幾個(gè)高概率的點(diǎn)(mode)上,例如x=5.0,希望以這種“偷懶”的方式來(lái)欺騙判別器D。
接著,固定生成器,判別器面對(duì)是一個(gè)max問(wèn)題,對(duì)其進(jìn)行更新,根據(jù)最優(yōu)判別器的表達(dá)式:
更新后D(x)為:
可以看出,訓(xùn)練后的D會(huì)對(duì)x=5.0及其周圍點(diǎn)的“極其不信任”。接下來(lái)再更新生成器時(shí),為了取得最小值,生成器只得“偷懶”而將概率放置到其他的高概率的、判別器信任的模式上,例如x=0,即:
再次更新判別器D(x),其函數(shù)圖像為:
這時(shí)判別器識(shí)別降低了x=0的信任程度,但是同時(shí)又恢復(fù)了對(duì)x=5.0的信任程度,那么接下來(lái)再更新生成器時(shí),生成器其又會(huì)將高概率點(diǎn)放置在x=-5.0或者x=5.0的點(diǎn)周圍,如此往復(fù)······
在實(shí)踐中,我們發(fā)現(xiàn)生成器往往不能涵蓋所有的模式,通常只包含部分模式。在訓(xùn)練過(guò)程中,生成器的概率放置不斷地從一個(gè)模式轉(zhuǎn)換到另一個(gè)模式中,不斷往復(fù),這樣訓(xùn)練結(jié)束后,生成器產(chǎn)生的樣本必定有大量的重復(fù)。
3. 參數(shù)空間與函數(shù)空間問(wèn)題
理論上,GAN確實(shí)可以收斂,但是該優(yōu)化過(guò)程是在函數(shù)空間中完成的。實(shí)踐操作中,我們的優(yōu)化操作是在神經(jīng)網(wǎng)絡(luò)的權(quán)值構(gòu)成的參數(shù)空間中進(jìn)行的,理論上的保證在現(xiàn)實(shí)中并不成立。另外,有證明表示當(dāng)參數(shù)的個(gè)數(shù)有限時(shí),GAN的平衡狀態(tài)很可能是不存在的。
[1]?Arora, Sanjeev , et al. "Generalization and Equilibrium in Generative Adversarial Nets (GANs)." (2017).
[2]?Arjovsky, Martin , and Bottou, Léon. "Towards Principled Methods for Training Generative Adversarial Networks."?Stat(2017).
總結(jié)
這篇文章簡(jiǎn)單介紹了實(shí)際訓(xùn)練GAN的一些基本問(wèn)題,下一期將利用微分方程從動(dòng)力學(xué)的角度討論一下訓(xùn)練收斂性的問(wèn)題,將給出一個(gè)比較直觀的展示。
下期預(yù)告:從動(dòng)力學(xué)視角看GAN的訓(xùn)練
小通知:高溫假來(lái)襲,停更一期
GAN群
有三AI建立了一個(gè)GAN群,便于有志者相互交流。感興趣的同學(xué)也可以微信搜索xiaozhouguo94,備注"加入有三-GAN群"。
知識(shí)星球推薦
有三AI知識(shí)星球由言有三維護(hù),內(nèi)設(shè)AI知識(shí)匯總,AI書籍,網(wǎng)絡(luò)結(jié)構(gòu),看圖猜技術(shù),數(shù)據(jù)集,項(xiàng)目開(kāi)發(fā),Github推薦,AI1000問(wèn)八大學(xué)習(xí)板塊。
【知識(shí)星球】超3萬(wàn)字的網(wǎng)絡(luò)結(jié)構(gòu)解讀,學(xué)習(xí)必備
【知識(shí)星球】數(shù)據(jù)集板塊重磅發(fā)布,海量數(shù)據(jù)集介紹與下載
轉(zhuǎn)載文章請(qǐng)后臺(tái)聯(lián)系
侵權(quán)必究
往期精選
【GAN優(yōu)化】GAN優(yōu)化專欄上線,首談生成模型與GAN基礎(chǔ)
【GAN的優(yōu)化】從KL和JS散度到fGAN
【GAN優(yōu)化】詳解對(duì)偶與WGAN
【GAN優(yōu)化】詳解SNGAN(頻譜歸一化GAN)
【GAN優(yōu)化】一覽IPM框架下的各種GAN
【GAN優(yōu)化】GAN優(yōu)化專欄欄主小米粥自述,腳踏實(shí)地,莫問(wèn)前程
【技術(shù)綜述】有三說(shuō)GANs(上)
【模型解讀】歷數(shù)GAN的5大基本結(jié)構(gòu)
總結(jié)
以上是生活随笔為你收集整理的【GAN优化】GAN训练的几个问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: AI修行三十篇文章到不惑,已经掌握了什么
- 下一篇: 【图像分割应用】设备自动化(一)——自动