Generative Adversarial Nets(譯)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 生成式對(duì)抗網(wǎng)絡(luò)

友情提示:

<生成式對(duì)抗網(wǎng)絡(luò)>論文筆記 & 代碼解析可參考如下網(wǎng)址

http://blog.csdn.net/wspba/article/details/54582391

摘要

我們提出了一個(gè)通過(guò)對(duì)抗過(guò)程估計(jì)生成模型的新框架,在新框架中我們同時(shí)訓(xùn)練兩個(gè)模型:一個(gè)用來(lái)捕獲數(shù)據(jù)分布的生成模型G,和一個(gè)用來(lái)估計(jì)樣本來(lái)自訓(xùn)練數(shù)據(jù)而不是G的概率的判別模型D,G的訓(xùn)練過(guò)程是最大化D產(chǎn)生錯(cuò)誤的概率。這個(gè)框架相當(dāng)于一個(gè)極小化極大的雙方博弈。在任意函數(shù)G和D的空間中存在唯一的解,其中G恢復(fù)訓(xùn)練數(shù)據(jù)分布,并且D處處都等于1/2。在G和D由多層感知器定義的情況下,整個(gè)系統(tǒng)可以用反向傳播進(jìn)行訓(xùn)練。在訓(xùn)練或生成樣本期間不需要任何馬爾科夫鏈或展開(kāi)的近似推理網(wǎng)絡(luò)。 實(shí)驗(yàn)通過(guò)對(duì)生成的樣品進(jìn)行定性和定量評(píng)估來(lái)展示這個(gè)框架的潛力。

1.引言

深度學(xué)習(xí)的任務(wù)是尋找豐富的層次模型,能夠在人工智能領(lǐng)域里用來(lái)表達(dá)各種數(shù)據(jù)的概率分布,例如自然圖像,包含語(yǔ)音的音頻波形和自然語(yǔ)言語(yǔ)料庫(kù)中的符號(hào)等。到目前為止,在深度學(xué)習(xí)領(lǐng)域,目前為止最成功的的模型之一就是判別式模型,通常它們將高維豐富的感知器輸入映射到類標(biāo)簽上。這些顯著的成功主要是基于反向傳播和丟棄算法來(lái)實(shí)現(xiàn)的,特別是具有特別良好梯度的分段線性單元。由于在最大似然估計(jì)和相關(guān)策略中出現(xiàn)的許多難以解決的概率計(jì)算的困難,以及很難利用在生成上下文中時(shí)使用分段線性單元的好處,深度生成模型的影響很小。我們提出一個(gè)新的生成模型估計(jì)程序,來(lái)分步處理這些難題。

在提到的對(duì)抗網(wǎng)絡(luò)框架中,生成模型對(duì)抗著一個(gè)對(duì)手:一個(gè)學(xué)習(xí)去判別一個(gè)樣本是來(lái)自模型分布還是數(shù)據(jù)分布的判別模型。生成模型可以被認(rèn)為是一個(gè)偽造團(tuán)隊(duì),試圖產(chǎn)生假幣并在不被發(fā)現(xiàn)的情況下使用它,而判別模型類似于警察,試圖檢測(cè)假幣。在這個(gè)游戲中的競(jìng)爭(zhēng)驅(qū)使兩個(gè)團(tuán)隊(duì)改進(jìn)他們的方法,直到真假難分為止。

這個(gè)框架可以針對(duì)多種模型和優(yōu)化算法提供特定的訓(xùn)練算法。在這篇文章中,我們探討了生成模型通過(guò)將隨機(jī)噪聲傳輸?shù)蕉鄬痈兄獧C(jī)來(lái)生成樣本的特例,同時(shí)判別模型也是通過(guò)多層感知機(jī)實(shí)現(xiàn)的。我們稱這個(gè)特例為對(duì)抗網(wǎng)絡(luò)。在這種情況下,我們可以僅使用非常成熟的反向傳播和丟棄算法訓(xùn)練兩個(gè)模型,生成模型在生成樣本時(shí)只使用前向傳播算法。并且不需要近似推理和馬爾可夫鏈作為前題。

2.相關(guān)工作

含隱變量的有向圖模型可以由含隱變量的無(wú)向圖模型替代,例如受限制波茲曼機(jī)(RBMs),深度波茲曼機(jī)(DBMs)和它們很多的變種。這些模型之間的相互影響可以被表達(dá)為非標(biāo)準(zhǔn)化的勢(shì)函數(shù)的乘積,再通過(guò)隨機(jī)變量的所有狀態(tài)的全局整合來(lái)標(biāo)準(zhǔn)化。這個(gè)數(shù)量(配分函數(shù))和它的梯度的估算是很棘手的,盡管他們能夠依靠馬爾可夫鏈和蒙特卡羅(MCMC)算法來(lái)估計(jì),同時(shí)依靠MCMC的學(xué)習(xí)算法的混合也會(huì)引發(fā)一個(gè)嚴(yán)重的問(wèn)題。

深度信念網(wǎng)絡(luò)(DBNs)是一個(gè)包含一個(gè)無(wú)向?qū)雍腿舾捎邢驅(qū)拥幕旌夏P?。?dāng)使用一個(gè)快速近似的逐層訓(xùn)練法則時(shí),DBNs 會(huì)引發(fā)無(wú)向模型和有向模型相關(guān)的計(jì)算難題。

不受對(duì)數(shù)似然函數(shù)估計(jì)或約束的替代準(zhǔn)則已經(jīng)被提出來(lái)了,例如分?jǐn)?shù)匹配和噪音壓縮評(píng)估(NCE)。這些都需要先驗(yàn)概率密度來(lái)分析指定一個(gè)規(guī)范化的常量。應(yīng)該注意的是許多有趣的帶有一些隱層變量的生成模型(如DBNs和DBMs),它們甚至不需要一些難以處理的非標(biāo)準(zhǔn)化的概率密度先驗(yàn)知識(shí)。一些模型如自動(dòng)編碼降噪機(jī)和壓縮編碼的學(xué)習(xí)準(zhǔn)則與分?jǐn)?shù)匹配在RBMs上的應(yīng)用非常相似。在NCE中,as in this work,使用一個(gè)判別訓(xùn)練準(zhǔn)則來(lái)擬合一個(gè)生成模型。然而,生成模型常常被用來(lái)判別從一個(gè)固定噪音分布中抽樣生成的數(shù)據(jù),而不是擬合一個(gè)獨(dú)立的判別模型。由于NCE使用一個(gè)固定的噪音分布,僅僅是從觀測(cè)變量的一個(gè)小子集中學(xué)習(xí)到一個(gè)大致正確的分布后,模型的學(xué)習(xí)便急劇減慢。

最后,一些技術(shù)并沒(méi)有用來(lái)明確定義概率分布,而是用來(lái)訓(xùn)練一個(gè)生成器來(lái)從期望的分布中擬合出樣本。這個(gè)方法優(yōu)勢(shì)在于這些生成器能夠被設(shè)計(jì)使用反向傳播算法訓(xùn)練。這個(gè)領(lǐng)域最近比較突出的工作包含生成隨機(jī)網(wǎng)絡(luò)(GSN)框架,它擴(kuò)展了廣義的除噪自動(dòng)編碼器:兩者都可以看作是定義了一個(gè)參數(shù)化的馬爾可夫鏈,即一個(gè)通過(guò)執(zhí)行生成馬爾科夫鏈的一個(gè)步驟來(lái)學(xué)習(xí)生成器參數(shù)的算法。同GSNs相比,對(duì)抗網(wǎng)絡(luò)框架不需要使用馬爾可夫鏈來(lái)采樣。由于對(duì)抗網(wǎng)絡(luò)在生成階段不需要循環(huán)反饋信息,它們能夠更好的利用分段線性單元,這可以提高反向傳播的效率,但當(dāng)使用循環(huán)反饋時(shí)卻存在不受控激活的問(wèn)題。大部分利用反向傳播算法來(lái)訓(xùn)練生成器的例子包括變分貝葉斯自動(dòng)編碼和隨機(jī)反向傳播。

3.對(duì)抗網(wǎng)絡(luò)

當(dāng)模型都是多層感知器時(shí),對(duì)抗模型框架是最直接應(yīng)用的。為了學(xué)習(xí)生成器關(guān)于數(shù)據(jù)x上的分布Pg, 我們定義輸入噪聲的先驗(yàn)變量Pz(z),然后使用G(z;θg)來(lái)代表數(shù)據(jù)空間的映射,這里G是一個(gè)由含有參數(shù)θg 的多層感知機(jī)表示的可微函數(shù)。我們?cè)俣x了一個(gè)多層感知機(jī)D(x;θd)用來(lái)輸出一個(gè)單獨(dú)的標(biāo)量。D(x) 代表x來(lái)自于真實(shí)數(shù)據(jù)分布而不是Pg的概率。我們訓(xùn)練D來(lái)最大化分配正確標(biāo)簽給來(lái)自于訓(xùn)練樣例和由G生成的樣例的概率。我們同時(shí)訓(xùn)練G來(lái)最小化log(1?D(G(z))):

換句話說(shuō),D和G的訓(xùn)練是關(guān)于值函數(shù)V(G,D)的極小化極大的二人博弈問(wèn)題:

公式1

在下一節(jié)中,我們提出了對(duì)抗網(wǎng)絡(luò)的理論分析,基本上表明基于訓(xùn)練準(zhǔn)則可以恢復(fù)數(shù)據(jù)生成分布,因?yàn)镚和D被給予足夠的容量,即在非參數(shù)極限。如圖1展示了該方法的一個(gè)非正式卻更加直觀的解釋。實(shí)際上,我們必須使用迭代數(shù)值方法來(lái)實(shí)現(xiàn)這個(gè)過(guò)程。在訓(xùn)練的內(nèi)部循環(huán)中優(yōu)化D到完成的計(jì)算是禁止的,并且有限的數(shù)據(jù)集將導(dǎo)致過(guò)擬合。相反,我們?cè)趦?yōu)化D的k個(gè)步驟和優(yōu)化G的一個(gè)步驟之間交替。只要G變化足夠慢,就可以保證D保持在其最佳解附近。該過(guò)程如算法1所示。

實(shí)際上,方程1可能無(wú)法為G提供足夠的梯度來(lái)學(xué)習(xí)。訓(xùn)練初期,當(dāng)G的生成效果很差時(shí),D會(huì)以高置信度來(lái)拒絕生成樣本,因?yàn)樗鼈兣c訓(xùn)練數(shù)據(jù)明顯不同。在這種情況下,log(1?D(G(z)))飽和。因此我們選擇最大化logD(G(z))而不是最小化log(1?D(G(z))) 來(lái)訓(xùn)練G,該目標(biāo)函數(shù)使G和D的動(dòng)力學(xué)穩(wěn)定點(diǎn)相同,并且在訓(xùn)練初期,該目標(biāo)函數(shù)可以提供更強(qiáng)大的梯度。

圖1:訓(xùn)練對(duì)抗式生成網(wǎng)絡(luò)時(shí),同時(shí)更新判別分布(D,藍(lán)色虛線)使D能區(qū)分?jǐn)?shù)據(jù)生成分布Px(黑色虛線)中的樣本和生成分布Pg (G,綠色實(shí)線) 中的樣本。下面的水平線為均勻采樣z的區(qū)域,上面的水平線為x的部分區(qū)域。朝上的箭頭顯示映射x=G(z)如何將非均勻分布Pg作用在轉(zhuǎn)換后的樣本上。G在Pg高密度區(qū)域收縮,且在Pg的低密度區(qū)域擴(kuò)散。(a)考慮一個(gè)接近收斂的對(duì)抗的模型對(duì):Pg與Pdata相似,且D是個(gè)部分準(zhǔn)確的分類器。(b)算法的內(nèi)循環(huán)中,訓(xùn)練D來(lái)判別數(shù)據(jù)中的樣本,收斂到:D?(x)=Pdata(x) /(Pdata(x)+Pg(x))。(c)在G的1次更新后,D的梯度引導(dǎo)G(z)流向更可能分類為數(shù)據(jù)的區(qū)域。(d)訓(xùn)練若干步后,如果G和D性能足夠,它們接近某個(gè)穩(wěn)定點(diǎn)并都無(wú)法繼續(xù)提高性能,因?yàn)榇藭r(shí)Pg=Pdata。判別器將無(wú)法區(qū)分訓(xùn)練數(shù)據(jù)分布和生成數(shù)據(jù)分布,即D(x)=1/2。

4.理論結(jié)果

當(dāng)z~Pz時(shí),獲得樣本G(z),生成器G隱式的定義概率分布Pg為G(z)獲得的樣本的分布。因此,如果模型容量和訓(xùn)練時(shí)間足夠大時(shí),我們希望算法1收斂為Pdata的良好估計(jì)量。本節(jié)的結(jié)果是在非參數(shù)設(shè)置下完成的,例如,我們通過(guò)研究概率密度函數(shù)空間中的收斂來(lái)表示具有無(wú)限容量的模型。

我們將在4.1節(jié)中顯示,這個(gè)極小極大問(wèn)題的全局最優(yōu)解為Pg=Pdata。我們將在4.2節(jié)中展示使用算法1來(lái)優(yōu)化等式1,從而獲得期望的結(jié)果。

算法1.生成對(duì)抗網(wǎng)絡(luò)的minibatch隨機(jī)梯度下降訓(xùn)練。判別器的訓(xùn)練步數(shù),k是一個(gè)超參數(shù)。在我們的試驗(yàn)中使用k=1,使消耗最小。

4.1全局最優(yōu):Pg=Pdata

首先任意給定生成器G,考慮最優(yōu)判別器D。

命題1.固定G,最優(yōu)判別器D為:

公式2

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

公式3

對(duì)于任意的(a,b)∈R^2?{0,0},函數(shù)y→alog(y)+blog(1?y)在[0,1]中的a/(a+b) 處達(dá)到最大值。無(wú)需在Supp(Pdata)∪Supp(Pg)外定義判別器,證畢。

注意到,判別器D的訓(xùn)練目標(biāo)可以看作為條件概率P(Y=y|x)的最大似然估計(jì),當(dāng)y=1時(shí),x來(lái)自于Pdata;當(dāng)y=0時(shí),x來(lái)自Pg。公式1中的極小化極大問(wèn)題可以變形為:

公式4

定理1.當(dāng)且僅當(dāng)Pg=Pdata時(shí),C(G)達(dá)到全局最小。此時(shí),C(G)的值為?log4。

證明.Pg=Pdata時(shí),D?G(x)=1/2(公式2)。再根據(jù)公式4可得,當(dāng)D?G(x)=1/2時(shí),C(G)=log1/2+log1/2=?log4。為了看僅當(dāng)Pg=Pdata時(shí)C(G)是否是最優(yōu)的,觀測(cè):

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


公式5

其中KL為Kullback–Leibler散度。我們?cè)谥暗谋磉_(dá)式中識(shí)別出了模型分布和數(shù)據(jù)生成過(guò)程之間的Jensen–Shannon散度:


公式6

由于兩個(gè)分布之間的Jensen–Shannon散度總是非負(fù)的,并且當(dāng)兩個(gè)分布相等時(shí),值為0。因此C?=?log(4)為C(G)的全局極小值,并且唯一解為Pg=Pdata,即生成模型能夠完美的復(fù)制數(shù)據(jù)的生成過(guò)程。

4.2算法1的收斂性

命題2.如果G和D有足夠的性能,對(duì)于算法1中的每一步,給定G時(shí),判別器能夠達(dá)到其最優(yōu),并且通過(guò)更新Pg來(lái)提高這個(gè)判別準(zhǔn)則,則Pg收斂于Pdata。

實(shí)際上,對(duì)抗網(wǎng)絡(luò)通過(guò)函數(shù)G(z;θg)表示一個(gè)有限的Pg分布族,我們優(yōu)化θg而不是Pg本身。使用多層感知器來(lái)定義G引入?yún)?shù)空間中的多個(gè)關(guān)鍵點(diǎn)。然而,多層感知器在實(shí)踐中的優(yōu)異表現(xiàn)表明,盡管缺乏理論保證,它們?nèi)允且粋€(gè)合理的可用模型。

5.實(shí)驗(yàn)

我們?cè)谝幌盗邪∕NIST、多倫多面孔數(shù)據(jù)庫(kù)(TFD)和CIFAR-10的數(shù)據(jù)集上來(lái)訓(xùn)練對(duì)抗網(wǎng)絡(luò)。生成器網(wǎng)絡(luò)使用的激活函數(shù)包括修正線性激活(ReLU)和sigmoid 激活,而判別器網(wǎng)絡(luò)使用maxout激活。Dropout被用于訓(xùn)練判別器網(wǎng)絡(luò)。雖然我們的理論框架可以在生成器的中間層使用dropout和其他噪聲,但是這里僅在生成器網(wǎng)絡(luò)的最底層使用噪聲輸入。

我們通過(guò)對(duì)G生成的樣本應(yīng)用高斯Parzen窗口并計(jì)算此分布下的對(duì)數(shù)似然,來(lái)估計(jì)測(cè)試集數(shù)據(jù)的概率。高斯的σ參數(shù)通過(guò)對(duì)驗(yàn)證集的交叉驗(yàn)證獲得。Breuleux等人引入該過(guò)程且用于不同的精確似然難以處理的生成模型上。結(jié)果顯示在表1中。該方法估計(jì)似然的方差較大且在高維空間中表現(xiàn)不好,但據(jù)我們所知卻是目前最有效的辦法。生成模型的優(yōu)點(diǎn)是可采樣而不直接估計(jì)似然,從而促進(jìn)了對(duì)如何評(píng)估該模型的進(jìn)一步研究。

表1:基于Parzen窗口的對(duì)數(shù)似然估計(jì)。MNIST上報(bào)告的數(shù)字是測(cè)試集上的平均對(duì)數(shù)似然以及在樣本上平均計(jì)算的標(biāo)準(zhǔn)誤差。在TFD上,我們計(jì)算數(shù)據(jù)集的不同折之間的標(biāo)準(zhǔn)誤差,在每個(gè)折的驗(yàn)證集上選擇不同的σ。在TFD上,在每一個(gè)折上對(duì)σ進(jìn)行交叉驗(yàn)證并計(jì)算平均對(duì)數(shù)似然函數(shù)。對(duì)于MNIST,我們與真實(shí)值(而不是二進(jìn)制)版本的數(shù)據(jù)集的其他模型進(jìn)行比較。

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

圖2:來(lái)自模型的樣本可視化。最右邊的列示出了相鄰樣本的最近訓(xùn)練示例,以便證明該模型沒(méi)有記住訓(xùn)練集。樣本是完全隨機(jī)抽取,而并非精心挑選的。與其他大多數(shù)深度生成模型的可視化不同,這些圖像顯示來(lái)自模型分布的實(shí)際樣本,not conditional means given samples of hidden units.此外,這些樣本是不相關(guān)的,因?yàn)?,采樣過(guò)程并不依賴馬爾科夫鏈混合。a) MNIST;b) TFD;c) CIFAR-10(全連接模型);d) CIFAR-10(卷積判別器和“解卷積”生成器)


圖3:通過(guò)在完整模型的z空間的坐標(biāo)之間進(jìn)行線性內(nèi)插獲得的數(shù)字。

6.優(yōu)點(diǎn)和缺點(diǎn)

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

表2:生成建模中的挑戰(zhàn):對(duì)涉及模型的每個(gè)主要操作的深度生成建模的不同方法遇到的困難的總結(jié)。

7.結(jié)論與未來(lái)工作

該框架允許許多直接的擴(kuò)展:

1.條件生成模型p(x∣c)可以通過(guò)將c作為G和D的輸入來(lái)獲得。

2.給定x,可以通過(guò)訓(xùn)練一個(gè)輔助網(wǎng)絡(luò)來(lái)學(xué)習(xí)近似推理以預(yù)測(cè)z。這和wake-sleep算法訓(xùn)練出的推理網(wǎng)絡(luò)類似,但是它具有一個(gè)優(yōu)勢(shì),就是在生成器網(wǎng)絡(luò)訓(xùn)練完成后,這個(gè)推理網(wǎng)絡(luò)可以針對(duì)固定的生成器網(wǎng)絡(luò)進(jìn)行訓(xùn)練。

3.能夠用來(lái)近似模擬所有的條件概率p(xS∣xS?),其中S是通過(guò)訓(xùn)練共享參數(shù)的條件模型簇的關(guān)于x索引的一個(gè)子集。本質(zhì)上,可以使用生成對(duì)抗網(wǎng)絡(luò)來(lái)隨機(jī)拓展確定的MP-DBM。

4.半監(jiān)督學(xué)習(xí):當(dāng)標(biāo)簽數(shù)據(jù)有限時(shí),判別網(wǎng)絡(luò)或推理網(wǎng)絡(luò)的特征會(huì)提高分類器效果。

5.效率改善:為協(xié)調(diào)G和D設(shè)計(jì)更好的方法或訓(xùn)練期間確定更好的分布來(lái)采樣z,能夠極大的加速訓(xùn)練。

本文已經(jīng)展示了對(duì)抗建模框架的可行性,表明這些研究方向是有用的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容