文/張倩宇 宋彩芳
GAN的基本思想就是兩個(gè)網(wǎng)絡(luò)互相博弈,一個(gè)生成器網(wǎng)絡(luò)G和一個(gè)判別器網(wǎng)絡(luò)D。生成器網(wǎng)絡(luò)G和判別器網(wǎng)絡(luò)D本質(zhì)上都是函數(shù)。生成器G的目標(biāo)是學(xué)習(xí)到輸入數(shù)據(jù)的分布從而生成非常真實(shí)的圖像,而判別器D的目標(biāo)是正確辨別出真實(shí)圖片和G生成的圖片直接的差異。生成器G和判別器D都有各自的網(wǎng)絡(luò)結(jié)構(gòu)和不同的輸入,其中生成器G的輸出,即生成樣本也是D的輸入之一,而判別器D則會(huì)為G提供梯度進(jìn)行權(quán)重的更新。這兩個(gè)網(wǎng)絡(luò)通過(guò)不斷的改善和優(yōu)化來(lái)提高自身網(wǎng)絡(luò)的生成能力和判別能力。
GAN是作為一種圖像生成建模技術(shù),在圖像生成任務(wù)上有廣泛的應(yīng)用,主要在于:
(1)能訓(xùn)練有效的無(wú)條件圖像生成器;
(2)一種能用于不同域之間無(wú)監(jiān)督圖像轉(zhuǎn)換的方法;
(3)一種有效的感知式圖像損失函數(shù)(如Pix2pix)。
GAN有明顯的優(yōu)勢(shì),固然也有一些關(guān)鍵的劣勢(shì):
(1)GAN很難訓(xùn)練,具體表現(xiàn)包括訓(xùn)練過(guò)程非常不穩(wěn)定、訓(xùn)練容易導(dǎo)致模式崩潰以及對(duì)超參數(shù)極為敏感;
(2)GAN有模式丟失問(wèn)題—只能建模目標(biāo)分布的某些模式而非所有模式。
1.2.1 DCGAN
DCGAN是用一定程度改進(jìn)的CNN取代了GAN中的生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò),該算法將有監(jiān)督學(xué)習(xí)中的CNN和無(wú)監(jiān)督學(xué)習(xí)中的GAN結(jié)合,為GAN的訓(xùn)練提供了很好的網(wǎng)絡(luò)結(jié)構(gòu),同時(shí)提高了訓(xùn)練過(guò)程的穩(wěn)定性和生成結(jié)果的質(zhì)量。該模型還實(shí)現(xiàn)了通過(guò)特征學(xué)習(xí)或是特征向量計(jì)算得到一個(gè)穩(wěn)定的向量來(lái)進(jìn)行特定變換。
1.2.2 WGAN及WGAN-GP
WGAN從損失函數(shù)的角度對(duì)GAN進(jìn)行了改進(jìn),主要解決了一下三方面的問(wèn)題:
(1)不再需要精心平衡生成器和判別器的訓(xùn)練程度,且效果更穩(wěn)健,不依賴于過(guò)于精心設(shè)計(jì)的結(jié)構(gòu);
(2)基本解決了模型崩塌問(wèn)題,確保了生成樣本的多樣性;
(3)訓(xùn)練過(guò)程中有了一個(gè)像交叉熵、準(zhǔn)確率這樣的數(shù)值來(lái)指示訓(xùn)練的進(jìn)程,這個(gè)數(shù)值越小代表GAN訓(xùn)練得越好,代表生成器產(chǎn)生的圖像質(zhì)量越高。
WGAN-GP是針對(duì)WGAN存在的問(wèn)題提出來(lái)的,使用了梯度懲罰的替換,采用Lipschitz約束方法代替WGAN中的加權(quán)剪枝。實(shí)驗(yàn)結(jié)果表明此方法生成的樣本質(zhì)量高于WGAN,提供穩(wěn)定的訓(xùn)練,幾乎不需要超參數(shù)調(diào)整,并成功訓(xùn)練各種GAN架構(gòu)進(jìn)行生成任務(wù)。
1.2.3 EBGAN
EBGAN與WGAN基于樣本間的距離度量不同,EBGAN是從能量模型的角度對(duì)GAN進(jìn)行了改進(jìn)。該模型將判別器看做一個(gè)能量函數(shù),在真實(shí)數(shù)據(jù)范圍內(nèi)該能量函數(shù)的能量值會(huì)減小,在非真實(shí)數(shù)據(jù)(即它認(rèn)為是生成數(shù)據(jù))范圍內(nèi)能量值會(huì)增大。這樣一來(lái)生成器的目標(biāo)就是產(chǎn)生能量值足夠小的樣本,而判別器則是以對(duì)生成的樣本賦高的能量值以及對(duì)真實(shí)樣本賦低的能量值為目的。EBGAN的意義在于它給予GAN一種不同于其他模型通過(guò)距離度量定義損失函數(shù)的能量模型的定義,也為我們開(kāi)辟了一條新的道路,GAN模型具有更寬泛的結(jié)構(gòu)和更多樣的損失函數(shù)類型的訓(xùn)練。
1.2.4 其他模型
Bojanowski等提出的GLO是將訓(xùn)練圖像嵌入到一個(gè)低維空間中,并在該嵌入向量輸入到一個(gè)聯(lián)合訓(xùn)練的深度生成器時(shí)重建它們。GLO的優(yōu)勢(shì)有:
(1)無(wú)模式丟失地編碼整個(gè)分布;
(2)學(xué)習(xí)得到的隱含空間能與圖像的形義屬性相對(duì)應(yīng),即隱含編碼之間的歐幾里得距離對(duì)應(yīng)于形義方面的含義差異。
但GLO有一個(gè)關(guān)鍵缺點(diǎn),即沒(méi)有一種從嵌入空間采用新圖像的原則性方法。盡管GLO的提出者建議用一個(gè)高斯分布來(lái)擬合訓(xùn)練圖像的隱編碼,但這會(huì)導(dǎo)致圖像合成質(zhì)量不高。
Li and Malik 提出的IMLE訓(xùn)練生成模型的方式是從一個(gè)任意分布采樣大量隱含編碼,使用一個(gè)訓(xùn)練后的生成器將每個(gè)編碼映射到圖像域中并確保對(duì)于每張訓(xùn)練圖像都存在一張相近的生成圖像。IMLE的采樣很簡(jiǎn)單,而且沒(méi)有模式丟失問(wèn)題。類似于其它最近鄰方法,具體所用的指標(biāo)對(duì)IMLE影響很大,尤其是當(dāng)訓(xùn)練集大小有限時(shí)。雖然經(jīng)典的Cover-Hart結(jié)果啟示我們最近鄰分類器的誤差率漸進(jìn)地處于貝葉斯風(fēng)險(xiǎn)的二分之一范圍內(nèi),但當(dāng)我們使用有限大小的示例樣本集時(shí),選擇更好的指標(biāo)能讓分類器的表現(xiàn)更好。當(dāng)使用L2損失直接在圖像像素上訓(xùn)練時(shí),IMLE合成的圖像是模糊不清的。
盡管wasserstein距離極大地提升了GAN的效果,但仍在理論上存在訓(xùn)練不穩(wěn)定和模式丟失的問(wèn)題。Facebook的兩位研究者融合了兩種非對(duì)抗方法的優(yōu)勢(shì),并提出了一種名為生成式隱含最近鄰GLANN(Generative Latent Nearest Neighbors)的新技術(shù)。該方法首次使用了GLO來(lái)嵌入訓(xùn)練圖像,從而克服了IMLE的指標(biāo)問(wèn)題。由GLO為隱含空間引入的線性特性能讓歐幾里得度量在隱含空間Z中具有形義含義。GLANN方法集中了IMLE和GLO的雙重優(yōu)勢(shì):易采樣、能建模整個(gè)分布、訓(xùn)練穩(wěn)定且能合成銳利的圖像。該方法經(jīng)過(guò)使用已確立的指標(biāo)評(píng)估發(fā)現(xiàn)其顯著優(yōu)于其它的非對(duì)抗方法,同時(shí)其表現(xiàn)也比當(dāng)前的基于GAN的模型更優(yōu)或表現(xiàn)相當(dāng)。GLANN也在高分辨率圖像生成和3D生成上得到了出色的結(jié)果。
圖像風(fēng)格遷移就是把圖像從一種風(fēng)格轉(zhuǎn)換到另一種風(fēng)格。深度學(xué)習(xí)最早是基于CNN框架?chē)L試進(jìn)行圖像風(fēng)格遷移。該模型有兩大劣勢(shì):
(1)對(duì)訓(xùn)練樣本要求較高,需要在成對(duì)的數(shù)據(jù)上訓(xùn)練,實(shí)際我們并沒(méi)有這樣完美的成對(duì)的訓(xùn)練數(shù)據(jù);
(2)訓(xùn)練速度慢,每一次生成都相當(dāng)于重新訓(xùn)練一個(gè)模型。后來(lái),GAN在圖像風(fēng)格遷移方面有了突出表現(xiàn),用較小的數(shù)據(jù)集完成GAN的無(wú)監(jiān)督訓(xùn)練,然后以此來(lái)生成更多與數(shù)據(jù)樣本相類似的圖像而不是去耗費(fèi)人力物力采集樣本,可節(jié)約大量成本。
Santana等人實(shí)現(xiàn)了利用GAN的輔助自動(dòng)駕駛。首先,生成與真實(shí)交通場(chǎng)景圖像分布一致的圖像,然后,訓(xùn)練一個(gè)基于循環(huán)神經(jīng)網(wǎng)絡(luò)的轉(zhuǎn)移模型來(lái)預(yù)測(cè)下一個(gè)交通場(chǎng)景。另外,GAN還可以用于對(duì)抗神經(jīng)機(jī)器翻譯,將神經(jīng)機(jī)器翻譯作為GAN的生成器,采用策略梯度方法訓(xùn)練判別器,通過(guò)最小化人類翻譯和神經(jīng)機(jī)器翻譯的差別生成高質(zhì)量的翻譯。
Mathieu等人首先將GAN訓(xùn)練應(yīng)用于視頻幀預(yù)測(cè),即生成器根據(jù)前面一系列幀,生成視頻最后一幀,判別器對(duì)該幀進(jìn)行判斷。除最后一幀外的所有幀都是真實(shí)的圖片,這樣的好處是判別器能有效利用時(shí)間維度的信息,同時(shí)也有助于使生成的幀與前面的所有幀保持一致。實(shí)驗(yàn)結(jié)果表明,通過(guò)對(duì)抗訓(xùn)練生成的幀比其他算法更加清晰。
此外,Vondrick[2]等人在視頻領(lǐng)域也取得了巨大進(jìn)展,他們生成32幀分辨率為64×64的逼真視頻,描繪的內(nèi)容包括高爾夫球場(chǎng)、沙灘、火車(chē)站以及新生兒。經(jīng)過(guò)測(cè)試,20%的標(biāo)記員無(wú)法識(shí)別這些視頻的真?zhèn)巍?/p>
GAN能夠在圖像數(shù)據(jù)集上經(jīng)過(guò)訓(xùn)練生成與真實(shí)分布相似的分布,如GAN在人臉數(shù)據(jù)集上經(jīng)過(guò)訓(xùn)練,生成人分辨不出真假的人臉圖像。這些都是直接學(xué)習(xí)特征再生成分布。
從文本到圖像的生成難度大且限制多,相反,根據(jù)給定圖像生成文字描述比較容易,經(jīng)過(guò)訓(xùn)練,機(jī)器能夠簡(jiǎn)單描述圖像內(nèi)容,但如何讓機(jī)器像人類一樣看圖說(shuō)話,寫(xiě)出文章?文獻(xiàn)[3]提出一種半監(jiān)督的段落生成框架,它通過(guò)對(duì)局部語(yǔ)義區(qū)域進(jìn)行推理和利用語(yǔ)言知識(shí)合成語(yǔ)義連貫的段落描述。文中提出的循環(huán)主題轉(zhuǎn)換生成對(duì)抗網(wǎng)絡(luò)(RTT-GAN)構(gòu)建了一個(gè)結(jié)構(gòu)化段落生成器和多級(jí)段落識(shí)別器之間的對(duì)抗框架。段落發(fā)生器通過(guò)在每個(gè)步驟中引入基于區(qū)域的視覺(jué)和語(yǔ)言注意機(jī)制來(lái)循序地產(chǎn)生句子。
GAN由于其強(qiáng)大的生成能力,正被廣泛地研究與關(guān)注。目前,在學(xué)術(shù)領(lǐng)域,GAN訓(xùn)練指標(biāo),模式坍塌以及模型的生成能力的可解釋性正受廣泛的關(guān)注。最后,在拓展應(yīng)用領(lǐng)域,由于生成的圖片有較高的噪音,如何提高數(shù)據(jù)(圖片或視頻)也是研究的一大熱點(diǎn)。此外,GAN作為一種深度模型,也是解決自然語(yǔ)言處理天然的良好模型。如何將GAN應(yīng)用在NLP領(lǐng)域也是下一步要解決的問(wèn)題。