? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 生成式對抗網(wǎng)絡(luò)
友情提示:
<生成式對抗網(wǎng)絡(luò)>論文筆記 & 代碼解析可參考如下網(wǎng)址
http://blog.csdn.net/wspba/article/details/54582391
摘要
我們提出了一個通過對抗過程估計生成模型的新框架,在新框架中我們同時訓(xùn)練兩個模型:一個用來捕獲數(shù)據(jù)分布的生成模型G,和一個用來估計樣本來自訓(xùn)練數(shù)據(jù)而不是G的概率的判別模型D,G的訓(xùn)練過程是最大化D產(chǎn)生錯誤的概率。這個框架相當(dāng)于一個極小化極大的雙方博弈。在任意函數(shù)G和D的空間中存在唯一的解,其中G恢復(fù)訓(xùn)練數(shù)據(jù)分布,并且D處處都等于1/2。在G和D由多層感知器定義的情況下,整個系統(tǒng)可以用反向傳播進(jìn)行訓(xùn)練。在訓(xùn)練或生成樣本期間不需要任何馬爾科夫鏈或展開的近似推理網(wǎng)絡(luò)。 實(shí)驗(yàn)通過對生成的樣品進(jìn)行定性和定量評估來展示這個框架的潛力。
1.引言
深度學(xué)習(xí)的任務(wù)是尋找豐富的層次模型,能夠在人工智能領(lǐng)域里用來表達(dá)各種數(shù)據(jù)的概率分布,例如自然圖像,包含語音的音頻波形和自然語言語料庫中的符號等。到目前為止,在深度學(xué)習(xí)領(lǐng)域,目前為止最成功的的模型之一就是判別式模型,通常它們將高維豐富的感知器輸入映射到類標(biāo)簽上。這些顯著的成功主要是基于反向傳播和丟棄算法來實(shí)現(xiàn)的,特別是具有特別良好梯度的分段線性單元。由于在最大似然估計和相關(guān)策略中出現(xiàn)的許多難以解決的概率計算的困難,以及很難利用在生成上下文中時使用分段線性單元的好處,深度生成模型的影響很小。我們提出一個新的生成模型估計程序,來分步處理這些難題。
在提到的對抗網(wǎng)絡(luò)框架中,生成模型對抗著一個對手:一個學(xué)習(xí)去判別一個樣本是來自模型分布還是數(shù)據(jù)分布的判別模型。生成模型可以被認(rèn)為是一個偽造團(tuán)隊(duì),試圖產(chǎn)生假幣并在不被發(fā)現(xiàn)的情況下使用它,而判別模型類似于警察,試圖檢測假幣。在這個游戲中的競爭驅(qū)使兩個團(tuán)隊(duì)改進(jìn)他們的方法,直到真假難分為止。
這個框架可以針對多種模型和優(yōu)化算法提供特定的訓(xùn)練算法。在這篇文章中,我們探討了生成模型通過將隨機(jī)噪聲傳輸?shù)蕉鄬痈兄獧C(jī)來生成樣本的特例,同時判別模型也是通過多層感知機(jī)實(shí)現(xiàn)的。我們稱這個特例為對抗網(wǎng)絡(luò)。在這種情況下,我們可以僅使用非常成熟的反向傳播和丟棄算法訓(xùn)練兩個模型,生成模型在生成樣本時只使用前向傳播算法。并且不需要近似推理和馬爾可夫鏈作為前題。
2.相關(guān)工作
含隱變量的有向圖模型可以由含隱變量的無向圖模型替代,例如受限制波茲曼機(jī)(RBMs),深度波茲曼機(jī)(DBMs)和它們很多的變種。這些模型之間的相互影響可以被表達(dá)為非標(biāo)準(zhǔn)化的勢函數(shù)的乘積,再通過隨機(jī)變量的所有狀態(tài)的全局整合來標(biāo)準(zhǔn)化。這個數(shù)量(配分函數(shù))和它的梯度的估算是很棘手的,盡管他們能夠依靠馬爾可夫鏈和蒙特卡羅(MCMC)算法來估計,同時依靠MCMC的學(xué)習(xí)算法的混合也會引發(fā)一個嚴(yán)重的問題。
深度信念網(wǎng)絡(luò)(DBNs)是一個包含一個無向?qū)雍腿舾捎邢驅(qū)拥幕旌夏P?。?dāng)使用一個快速近似的逐層訓(xùn)練法則時,DBNs 會引發(fā)無向模型和有向模型相關(guān)的計算難題。
不受對數(shù)似然函數(shù)估計或約束的替代準(zhǔn)則已經(jīng)被提出來了,例如分?jǐn)?shù)匹配和噪音壓縮評估(NCE)。這些都需要先驗(yàn)概率密度來分析指定一個規(guī)范化的常量。應(yīng)該注意的是許多有趣的帶有一些隱層變量的生成模型(如DBNs和DBMs),它們甚至不需要一些難以處理的非標(biāo)準(zhǔn)化的概率密度先驗(yàn)知識。一些模型如自動編碼降噪機(jī)和壓縮編碼的學(xué)習(xí)準(zhǔn)則與分?jǐn)?shù)匹配在RBMs上的應(yīng)用非常相似。在NCE中,as in this work,使用一個判別訓(xùn)練準(zhǔn)則來擬合一個生成模型。然而,生成模型常常被用來判別從一個固定噪音分布中抽樣生成的數(shù)據(jù),而不是擬合一個獨(dú)立的判別模型。由于NCE使用一個固定的噪音分布,僅僅是從觀測變量的一個小子集中學(xué)習(xí)到一個大致正確的分布后,模型的學(xué)習(xí)便急劇減慢。
最后,一些技術(shù)并沒有用來明確定義概率分布,而是用來訓(xùn)練一個生成器來從期望的分布中擬合出樣本。這個方法優(yōu)勢在于這些生成器能夠被設(shè)計使用反向傳播算法訓(xùn)練。這個領(lǐng)域最近比較突出的工作包含生成隨機(jī)網(wǎng)絡(luò)(GSN)框架,它擴(kuò)展了廣義的除噪自動編碼器:兩者都可以看作是定義了一個參數(shù)化的馬爾可夫鏈,即一個通過執(zhí)行生成馬爾科夫鏈的一個步驟來學(xué)習(xí)生成器參數(shù)的算法。同GSNs相比,對抗網(wǎng)絡(luò)框架不需要使用馬爾可夫鏈來采樣。由于對抗網(wǎng)絡(luò)在生成階段不需要循環(huán)反饋信息,它們能夠更好的利用分段線性單元,這可以提高反向傳播的效率,但當(dāng)使用循環(huán)反饋時卻存在不受控激活的問題。大部分利用反向傳播算法來訓(xùn)練生成器的例子包括變分貝葉斯自動編碼和隨機(jī)反向傳播。
3.對抗網(wǎng)絡(luò)
當(dāng)模型都是多層感知器時,對抗模型框架是最直接應(yīng)用的。為了學(xué)習(xí)生成器關(guān)于數(shù)據(jù)x上的分布Pg, 我們定義輸入噪聲的先驗(yàn)變量Pz(z),然后使用G(z;θg)來代表數(shù)據(jù)空間的映射,這里G是一個由含有參數(shù)θg 的多層感知機(jī)表示的可微函數(shù)。我們再定義了一個多層感知機(jī)D(x;θd)用來輸出一個單獨(dú)的標(biāo)量。D(x) 代表x來自于真實(shí)數(shù)據(jù)分布而不是Pg的概率。我們訓(xùn)練D來最大化分配正確標(biāo)簽給來自于訓(xùn)練樣例和由G生成的樣例的概率。我們同時訓(xùn)練G來最小化log(1?D(G(z))):
換句話說,D和G的訓(xùn)練是關(guān)于值函數(shù)V(G,D)的極小化極大的二人博弈問題:

在下一節(jié)中,我們提出了對抗網(wǎng)絡(luò)的理論分析,基本上表明基于訓(xùn)練準(zhǔn)則可以恢復(fù)數(shù)據(jù)生成分布,因?yàn)镚和D被給予足夠的容量,即在非參數(shù)極限。如圖1展示了該方法的一個非正式卻更加直觀的解釋。實(shí)際上,我們必須使用迭代數(shù)值方法來實(shí)現(xiàn)這個過程。在訓(xùn)練的內(nèi)部循環(huán)中優(yōu)化D到完成的計算是禁止的,并且有限的數(shù)據(jù)集將導(dǎo)致過擬合。相反,我們在優(yōu)化D的k個步驟和優(yōu)化G的一個步驟之間交替。只要G變化足夠慢,就可以保證D保持在其最佳解附近。該過程如算法1所示。
實(shí)際上,方程1可能無法為G提供足夠的梯度來學(xué)習(xí)。訓(xùn)練初期,當(dāng)G的生成效果很差時,D會以高置信度來拒絕生成樣本,因?yàn)樗鼈兣c訓(xùn)練數(shù)據(jù)明顯不同。在這種情況下,log(1?D(G(z)))飽和。因此我們選擇最大化logD(G(z))而不是最小化log(1?D(G(z))) 來訓(xùn)練G,該目標(biāo)函數(shù)使G和D的動力學(xué)穩(wěn)定點(diǎn)相同,并且在訓(xùn)練初期,該目標(biāo)函數(shù)可以提供更強(qiáng)大的梯度。

4.理論結(jié)果
當(dāng)z~Pz時,獲得樣本G(z),生成器G隱式的定義概率分布Pg為G(z)獲得的樣本的分布。因此,如果模型容量和訓(xùn)練時間足夠大時,我們希望算法1收斂為Pdata的良好估計量。本節(jié)的結(jié)果是在非參數(shù)設(shè)置下完成的,例如,我們通過研究概率密度函數(shù)空間中的收斂來表示具有無限容量的模型。
我們將在4.1節(jié)中顯示,這個極小極大問題的全局最優(yōu)解為Pg=Pdata。我們將在4.2節(jié)中展示使用算法1來優(yōu)化等式1,從而獲得期望的結(jié)果。
算法1.生成對抗網(wǎng)絡(luò)的minibatch隨機(jī)梯度下降訓(xùn)練。判別器的訓(xùn)練步數(shù),k是一個超參數(shù)。在我們的試驗(yàn)中使用k=1,使消耗最小。

4.1全局最優(yōu):Pg=Pdata
首先任意給定生成器G,考慮最優(yōu)判別器D。
命題1.固定G,最優(yōu)判別器D為:

證明.給定任意生成器G,判別器D的訓(xùn)練標(biāo)準(zhǔn)為最大化目標(biāo)函數(shù)V(G,D)數(shù)量

對于任意的(a,b)∈R^2?{0,0},函數(shù)y→alog(y)+blog(1?y)在[0,1]中的a/(a+b) 處達(dá)到最大值。無需在Supp(Pdata)∪Supp(Pg)外定義判別器,證畢。
注意到,判別器D的訓(xùn)練目標(biāo)可以看作為條件概率P(Y=y|x)的最大似然估計,當(dāng)y=1時,x來自于Pdata;當(dāng)y=0時,x來自Pg。公式1中的極小化極大問題可以變形為:

定理1.當(dāng)且僅當(dāng)Pg=Pdata時,C(G)達(dá)到全局最小。此時,C(G)的值為?log4。
證明.Pg=Pdata時,D?G(x)=1/2(公式2)。再根據(jù)公式4可得,當(dāng)D?G(x)=1/2時,C(G)=log1/2+log1/2=?log4。為了看僅當(dāng)Pg=Pdata時C(G)是否是最優(yōu)的,觀測:

然后從C(G)=V(D?G,G)減去上式,可得:

其中KL為Kullback–Leibler散度。我們在之前的表達(dá)式中識別出了模型分布和數(shù)據(jù)生成過程之間的Jensen–Shannon散度:

由于兩個分布之間的Jensen–Shannon散度總是非負(fù)的,并且當(dāng)兩個分布相等時,值為0。因此C?=?log(4)為C(G)的全局極小值,并且唯一解為Pg=Pdata,即生成模型能夠完美的復(fù)制數(shù)據(jù)的生成過程。
4.2算法1的收斂性
命題2.如果G和D有足夠的性能,對于算法1中的每一步,給定G時,判別器能夠達(dá)到其最優(yōu),并且通過更新Pg來提高這個判別準(zhǔn)則,則Pg收斂于Pdata。


實(shí)際上,對抗網(wǎng)絡(luò)通過函數(shù)G(z;θg)表示一個有限的Pg分布族,我們優(yōu)化θg而不是Pg本身。使用多層感知器來定義G引入?yún)?shù)空間中的多個關(guān)鍵點(diǎn)。然而,多層感知器在實(shí)踐中的優(yōu)異表現(xiàn)表明,盡管缺乏理論保證,它們?nèi)允且粋€合理的可用模型。
5.實(shí)驗(yàn)
我們在一系列包括MNIST、多倫多面孔數(shù)據(jù)庫(TFD)和CIFAR-10的數(shù)據(jù)集上來訓(xùn)練對抗網(wǎng)絡(luò)。生成器網(wǎng)絡(luò)使用的激活函數(shù)包括修正線性激活(ReLU)和sigmoid 激活,而判別器網(wǎng)絡(luò)使用maxout激活。Dropout被用于訓(xùn)練判別器網(wǎng)絡(luò)。雖然我們的理論框架可以在生成器的中間層使用dropout和其他噪聲,但是這里僅在生成器網(wǎng)絡(luò)的最底層使用噪聲輸入。
我們通過對G生成的樣本應(yīng)用高斯Parzen窗口并計算此分布下的對數(shù)似然,來估計測試集數(shù)據(jù)的概率。高斯的σ參數(shù)通過對驗(yàn)證集的交叉驗(yàn)證獲得。Breuleux等人引入該過程且用于不同的精確似然難以處理的生成模型上。結(jié)果顯示在表1中。該方法估計似然的方差較大且在高維空間中表現(xiàn)不好,但據(jù)我們所知卻是目前最有效的辦法。生成模型的優(yōu)點(diǎn)是可采樣而不直接估計似然,從而促進(jìn)了對如何評估該模型的進(jìn)一步研究。

訓(xùn)練后的生成樣本如下圖2、圖3所示。雖然未聲明該方法生成的樣本優(yōu)于其它方法生成的樣本,但我們相信這些樣本至少和文獻(xiàn)中更好的生成模型相比依然具有競爭力,也突出了對抗框架的潛力。


6.優(yōu)點(diǎn)和缺點(diǎn)
這個新框架相比以前的建??蚣苡衅鋬?yōu)缺點(diǎn)。缺點(diǎn)主要是Pg(x)的隱式表示,而且在訓(xùn)練期間,D和G必須很好地同步(特別地,不更新D時G不必過度訓(xùn)練,為避免“Helvetica情景”。否則,x值相同時G丟失過多z值以至于模型Pdata多樣性不足,正如玻爾茲曼機(jī)的負(fù)向鏈在學(xué)習(xí)步驟間的必須持續(xù)不斷地更新。其優(yōu)點(diǎn)是無需馬爾科夫鏈,僅用反向傳播來獲得梯度,學(xué)習(xí)間無需推理,且模型中可融入多種函數(shù)。表2總結(jié)了生成對抗網(wǎng)絡(luò)與其他生成建模方法的比較。

7.結(jié)論與未來工作
該框架允許許多直接的擴(kuò)展:
1.條件生成模型p(x∣c)可以通過將c作為G和D的輸入來獲得。
2.給定x,可以通過訓(xùn)練一個輔助網(wǎng)絡(luò)來學(xué)習(xí)近似推理以預(yù)測z。這和wake-sleep算法訓(xùn)練出的推理網(wǎng)絡(luò)類似,但是它具有一個優(yōu)勢,就是在生成器網(wǎng)絡(luò)訓(xùn)練完成后,這個推理網(wǎng)絡(luò)可以針對固定的生成器網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
3.能夠用來近似模擬所有的條件概率p(xS∣xS?),其中S是通過訓(xùn)練共享參數(shù)的條件模型簇的關(guān)于x索引的一個子集。本質(zhì)上,可以使用生成對抗網(wǎng)絡(luò)來隨機(jī)拓展確定的MP-DBM。
4.半監(jiān)督學(xué)習(xí):當(dāng)標(biāo)簽數(shù)據(jù)有限時,判別網(wǎng)絡(luò)或推理網(wǎng)絡(luò)的特征會提高分類器效果。
5.效率改善:為協(xié)調(diào)G和D設(shè)計更好的方法或訓(xùn)練期間確定更好的分布來采樣z,能夠極大的加速訓(xùn)練。
本文已經(jīng)展示了對抗建??蚣艿目尚行裕砻鬟@些研究方向是有用的。