諶貴輝,劉會(huì)康,李忠兵,彭嬌,汪少天,林瑾瑜
(1.西南石油大學(xué)工程學(xué)院,四川南充 637001;2.西南石油大學(xué)電氣信息學(xué)院,成都 610500)
圖像的合成[1]是計(jì)算機(jī)視覺(jué)領(lǐng)域的一個(gè)重要的分支。由Goodfellow 等[2]提出的生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)極大地推動(dòng)了這一領(lǐng)域的發(fā)展。同時(shí)在最近幾年,運(yùn)用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[3]的監(jiān)督學(xué)習(xí)被廣泛運(yùn)用于計(jì)算機(jī)視覺(jué)的各個(gè)領(lǐng)域,因此將生成對(duì)抗網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合的網(wǎng)絡(luò)結(jié)構(gòu)也就應(yīng)運(yùn)而生。由Radford 等[4]提出的深度卷積生成對(duì)抗網(wǎng)絡(luò)(Deep Convolutional Generative Adversarial Network,DCGAN)正是將兩者結(jié)合的產(chǎn)物,該網(wǎng)絡(luò)模型進(jìn)一步提升了GAN 的學(xué)習(xí)能力,提高了所生成圖像的質(zhì)量。隨后,針對(duì)模型訓(xùn)練不穩(wěn)定、容易出現(xiàn)模型崩潰的問(wèn)題,Arjovsky 等[5-6]先后提出了WGAN(Wasserstein GAN)、WGAN-GP(Wasserstein GAN with Gradient Penalty),將Wasserstein 距離[7]的優(yōu)越性質(zhì)融入到了GAN 中,徹底解決了GAN 訓(xùn)練不穩(wěn)定以及模型容易崩潰的問(wèn)題,確保了生成樣本的多樣性。Zhang等[8]提出了將注意力機(jī)制[9-10]與GAN 融合的SAGAN(Self-Attention GAN),該改進(jìn)模型可以很好地處理長(zhǎng)范圍、多層次的依賴,生成更精細(xì)更協(xié)調(diào)的圖像。
但上述各個(gè)網(wǎng)絡(luò)大都存在兩個(gè)問(wèn)題:即在其對(duì)抗訓(xùn)練過(guò)程中生成器與鑒別器都是按照固定的順序進(jìn)行訓(xùn)練,模型訓(xùn)練不靈活,導(dǎo)致模型從數(shù)據(jù)集中學(xué)習(xí)的特征沒(méi)有得到更有效的運(yùn)用;同時(shí),其所使用的損失函數(shù)在優(yōu)化過(guò)程中缺乏靈活性,致使模型的收斂狀態(tài)不明確。因此針對(duì)這兩個(gè)問(wèn)題,本文提出了基于仲裁機(jī)制的生成對(duì)抗網(wǎng)絡(luò)改進(jìn)算法,該算法主要基于DCGAN,引入所提出的仲裁機(jī)制:度量分?jǐn)?shù)計(jì)算,訓(xùn)練規(guī)劃。引入仲裁機(jī)制的DCGAN 在每一輪對(duì)抗訓(xùn)練結(jié)束時(shí)會(huì)將經(jīng)過(guò)訓(xùn)練的生成器輸出的合成圖像與真實(shí)樣本導(dǎo)入仲裁器,通過(guò)仲裁器計(jì)算度量分?jǐn)?shù),并根據(jù)度量分?jǐn)?shù)以及訓(xùn)練規(guī)劃規(guī)則確定下一輪訓(xùn)練的次序。此時(shí)網(wǎng)絡(luò)模型能根據(jù)上一輪的訓(xùn)練結(jié)果靈活地調(diào)整下一輪的訓(xùn)練次序。同時(shí),通過(guò)調(diào)整模型中鑒別器的網(wǎng)絡(luò)結(jié)構(gòu)以及Sun 等[11]提出的Circle loss 函數(shù),將改進(jìn)模型與Circle loss 函數(shù)進(jìn)行了融合,使得改進(jìn)后的模型收斂狀態(tài)更明確,所生成圖像的效果得到提升。在LSUN(Largescale Scene Understanding)[12]以及CelebA[13]數(shù)據(jù)集上進(jìn)行大量對(duì)比實(shí)驗(yàn)驗(yàn)證了本文算法的有效性。本文的主要工作如下:
1)提出仲裁機(jī)制,提高了模型對(duì)抗訓(xùn)練的靈活性。
2)將Circle loss 函數(shù)融入生成模型,使得優(yōu)化過(guò)程更靈活,收斂狀態(tài)更明確。
生成對(duì)抗網(wǎng)絡(luò)(GAN)[2]成功地將博弈對(duì)抗[14]的理念運(yùn)用于深度學(xué)習(xí)領(lǐng)域,從結(jié)構(gòu)上來(lái)看,GAN 主要由兩個(gè)相互對(duì)抗競(jìng)爭(zhēng)的神經(jīng)網(wǎng)絡(luò)構(gòu)成:生成器(Generator)和鑒別器(Discriminator)。這種對(duì)抗競(jìng)爭(zhēng)機(jī)制有利于使網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)真實(shí)數(shù)據(jù)分布,并生成可以以假亂真的合成圖像。
生成對(duì)抗網(wǎng)絡(luò)中的生成器試圖捕捉學(xué)習(xí)數(shù)據(jù)集中的真實(shí)分布,而鑒別器則在與生成器的不斷對(duì)抗中提升自己辨別圖像真?zhèn)蔚哪芰ΑMㄋ讈?lái)說(shuō),生成器試圖生成與訓(xùn)練集的數(shù)據(jù)分布相似的樣本,鑒別器則試圖區(qū)分生成器所合成的內(nèi)容和訓(xùn)練集中的原始樣本。在一個(gè)訓(xùn)練周期內(nèi),生成器試圖更好地繞過(guò)鑒別器的篩查,而鑒別器試圖捕獲由生成器生成的合成圖像,因此這一過(guò)程被稱為對(duì)抗訓(xùn)練,其大致示意圖如圖1所示。
圖1 生成對(duì)抗網(wǎng)絡(luò)Fig.1 Generative adversarial network
生成對(duì)抗網(wǎng)絡(luò)(GAN)的目標(biāo)函數(shù)如式(1)所示:
通過(guò)圖1 可知,生成對(duì)抗網(wǎng)絡(luò)把一組隨機(jī)噪聲導(dǎo)入生成器并根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)通過(guò)反卷積上采樣生成與真實(shí)圖像xr同樣大小的合成圖像xf,并將合成圖像xf與其標(biāo)簽“0”以及真實(shí)圖像xr與其標(biāo)簽“1”導(dǎo)入到鑒別器中。根據(jù)式(1)可知訓(xùn)練鑒別器的過(guò)程中期望最大化目標(biāo)函數(shù)使Dθ(xr)輸出的概率值趨近于1,而使Dθ(xf)輸出概率值趨近于0,使鑒別器辨別圖像真?zhèn)蔚哪芰Φ玫綇?qiáng)化。當(dāng)對(duì)生成器進(jìn)行訓(xùn)練時(shí)期望最小化目標(biāo)函數(shù),即Dθ(xf)輸出概率值趨近于1,使生成器能生成鑒別器無(wú)法判別真?zhèn)蔚膱D像。最后將最大最小目標(biāo)函數(shù)的結(jié)果返回給生成對(duì)抗網(wǎng)絡(luò),并進(jìn)行下一次對(duì)抗訓(xùn)練。
當(dāng)對(duì)抗訓(xùn)練進(jìn)行到最后時(shí)鑒別器對(duì)合成圖像以及真實(shí)圖像的輸出概率值都接近于0.5。固定生成器,目標(biāo)函數(shù)會(huì)在式(2)條件下存在鑒別器最優(yōu)解。
此時(shí)鑒別器將無(wú)法判斷生成器所生成圖像的真?zhèn)?,生成?duì)抗網(wǎng)絡(luò)將可以很好地?cái)M合數(shù)據(jù)集的真實(shí)分布,生成可以以假亂真的圖像。
基于仲裁機(jī)制的生成對(duì)抗網(wǎng)絡(luò)主要在DCGAN 的基礎(chǔ)上引入了所提出的仲裁機(jī)制,旨在提升對(duì)抗訓(xùn)練過(guò)程的靈活性以及網(wǎng)絡(luò)結(jié)構(gòu)所學(xué)習(xí)到的數(shù)據(jù)集特征利用率。引入了仲裁機(jī)制的DCGAN 首先會(huì)提取網(wǎng)絡(luò)模型中經(jīng)過(guò)上一輪對(duì)抗訓(xùn)練的生成器和鑒別器;然后,將提取的生成器與鑒別器以及度量分?jǐn)?shù)計(jì)算模塊組合成仲裁機(jī)制中的仲裁器;其次,向仲裁器中導(dǎo)入相同批次相同大小的隨機(jī)噪聲以及從數(shù)據(jù)集中隨機(jī)提取的真實(shí)圖像;最后,仲裁器會(huì)根據(jù)導(dǎo)入的圖像計(jì)算并輸出度量分?jǐn)?shù),同時(shí)將生成器與鑒別器對(duì)抗訓(xùn)練的結(jié)果反饋給訓(xùn)練規(guī)劃。
在模型優(yōu)化上將使用更靈活的Circle loss 函數(shù)替換原始模型中的BCE loss 函數(shù),該損失函數(shù)能更明確地引導(dǎo)模型收斂。
在生成對(duì)抗網(wǎng)絡(luò)的對(duì)抗訓(xùn)練過(guò)程中生成器與鑒別器總是按照固定的順序交替進(jìn)行訓(xùn)練,訓(xùn)練缺乏靈活性的同時(shí)從數(shù)據(jù)集中學(xué)習(xí)到的特征也無(wú)法得到更有效的運(yùn)用。針對(duì)這一問(wèn)題提出了仲裁機(jī)制。仲裁機(jī)制主要由兩部分組成:1)度量分?jǐn)?shù)計(jì)算;2)訓(xùn)練規(guī)劃。
在每一輪對(duì)抗訓(xùn)練結(jié)束時(shí),經(jīng)過(guò)訓(xùn)練的生成器、鑒別器與不參與訓(xùn)練的度量分?jǐn)?shù)計(jì)算模塊會(huì)聯(lián)合計(jì)算出度量分?jǐn)?shù),根據(jù)度量分?jǐn)?shù)以及訓(xùn)練規(guī)劃規(guī)則確定下一輪訓(xùn)練的次序,使得模型網(wǎng)絡(luò)能根據(jù)上一輪的訓(xùn)練結(jié)果靈活地調(diào)整下一輪的訓(xùn)練次序。仲裁機(jī)制示意圖如圖2所示。
圖2 仲裁機(jī)制示意圖Fig.2 Schematic diagram of arbitration mechanism
為適應(yīng)度量分?jǐn)?shù)計(jì)算以及Circle loss 函數(shù)輸入,對(duì)鑒別器結(jié)構(gòu)進(jìn)行適當(dāng)調(diào)整。鑒別器對(duì)每一個(gè)樣本的輸出不再是一個(gè)單一的概率值,而是包含32 個(gè)元素的概率列向量。此時(shí)的鑒別器可以看作自動(dòng)編碼器[15-16]的編碼器部分,輸出為經(jīng)過(guò)降維的圖像潛在特征向量,該潛在特征向量包含圖像的大量特征和鑒別器對(duì)圖像真假的評(píng)價(jià),可用于之后的度量分?jǐn)?shù)計(jì)算,即度量不同圖像分布之間的相關(guān)性。同時(shí)把一個(gè)批次的真實(shí)或者合成圖像的潛在特征向量看作潛在特征矩陣。
度量分?jǐn)?shù)的計(jì)算需要通過(guò)仲裁器進(jìn)行。仲裁器包含有生成器、鑒別器以及度量分?jǐn)?shù)計(jì)算模塊。其中,生成器與鑒別器為上一輪經(jīng)過(guò)訓(xùn)練的網(wǎng)絡(luò)結(jié)構(gòu),需要注意仲裁器只度量上一輪訓(xùn)練的結(jié)果,并不會(huì)通過(guò)反向傳播算法更新結(jié)構(gòu)參數(shù)。仲裁器計(jì)算度量分?jǐn)?shù)大致如式(3)所示。
其中:Gt-1和Dt-1為上一輪訓(xùn)練后經(jīng)過(guò)參數(shù)更新的生成器與鑒別器;z為隨機(jī)噪聲;x為真實(shí)圖像;M為度量分?jǐn)?shù)計(jì)算模塊;m為輸出的度量分?jǐn)?shù)向量,包含真實(shí)圖像與真實(shí)圖像、真實(shí)圖像與合成圖像、合成圖像與合成圖像的相似性度量分?jǐn)?shù)。
仲裁器首先從數(shù)據(jù)集中隨機(jī)提取一定批次的真實(shí)圖像x~Pdata(x)以及經(jīng)過(guò)訓(xùn)練的鑒別器,并將真實(shí)數(shù)據(jù)導(dǎo)入鑒別器生成對(duì)應(yīng)批次的真實(shí)數(shù)據(jù)的潛在特征矩陣Real,即Real=D(x)。同時(shí)將相應(yīng)維度的噪聲z~Pz(x)導(dǎo)入生成器,將生成器生成的合成圖像再次導(dǎo)入鑒別器生成合成圖像的潛在特征矩陣Fake,即Fake=D(G(z)),將兩矩陣Real、Fake堆疊并計(jì)算相應(yīng)的協(xié)方差矩陣cov。
提取出協(xié)方差矩陣cov的分塊矩陣RR、RF、FR、FF,并計(jì)算分塊矩陣的特征值的期望,因?yàn)橛?jì)算所得期望為復(fù)數(shù),為方便進(jìn)行比較,取復(fù)數(shù)在實(shí)軸上的投影即實(shí)數(shù)部分作為相似性度量分?jǐn)?shù):
其中:eig(?)表示求取矩陣的特征值;(?).real 表示求取復(fù)數(shù)的實(shí)部。
通過(guò)比較各個(gè)相似性度量分?jǐn)?shù)的有效位數(shù)可判斷對(duì)抗訓(xùn)練過(guò)程的勝負(fù)。經(jīng)過(guò)實(shí)驗(yàn)發(fā)現(xiàn)初始時(shí)RR的相似性分?jǐn)?shù)BRR大于BFR,即真實(shí)圖像之間分布的相關(guān)性大于真實(shí)圖像與合成圖像之間分布的相關(guān)性,同時(shí)BRR與BFF相近。當(dāng)側(cè)重訓(xùn)練生成器時(shí)BFR會(huì)向BRR靠近,側(cè)重訓(xùn)練鑒別器時(shí)又會(huì)遠(yuǎn)離BRR,度量分?jǐn)?shù)隨訓(xùn)練次序的變化如表1所示。
表1 度量分?jǐn)?shù)Tab.1 Measurement score
因?yàn)锽FR只會(huì)接近不會(huì)等于或超過(guò)BRR,因此當(dāng)兩者的有效位數(shù)相同時(shí),則判定為鑒別器無(wú)法判別圖像真假即生成器獲勝;當(dāng)BFR的有效位數(shù)小于BRR時(shí),說(shuō)明鑒別器能很好地判別圖像真假即鑒別器獲勝。簡(jiǎn)言之,通過(guò)比較真實(shí)圖像之間分布的相關(guān)性度量分?jǐn)?shù)與真實(shí)圖像和合成圖像之間分布的相關(guān)性度量分?jǐn)?shù)的近似程度來(lái)判別一輪訓(xùn)練結(jié)束后生成器與鑒別器勝負(fù)。
初始時(shí),鑒別器與生成器都未經(jīng)過(guò)訓(xùn)練,結(jié)構(gòu)參數(shù)都為滿足正態(tài)分布的隨機(jī)值。在首次訓(xùn)練時(shí)對(duì)對(duì)抗的兩個(gè)網(wǎng)絡(luò)進(jìn)行交替訓(xùn)練,更新網(wǎng)絡(luò)結(jié)構(gòu)中的初始化參數(shù),讓其學(xué)習(xí)到一部分?jǐn)?shù)據(jù)集分布特征,有利于后續(xù)訓(xùn)練中模型狀態(tài)的收斂。首次訓(xùn)練完后需要經(jīng)過(guò)仲裁器的判別,提取出生成器,導(dǎo)入一個(gè)批次相應(yīng)維度的噪聲生成合成圖像,同時(shí)從數(shù)據(jù)集中隨機(jī)抽取相同批次的真實(shí)圖像。將兩者分別導(dǎo)入鑒別器生成對(duì)應(yīng)的潛在特征矩陣。仲裁器會(huì)根據(jù)潛在特征矩陣計(jì)算度量分?jǐn)?shù),比較真實(shí)圖像與合成圖像分布之間的相關(guān)性進(jìn)而確定生成器與鑒別器在上一輪對(duì)抗訓(xùn)練中的勝負(fù)。根據(jù)勝負(fù)按照訓(xùn)練規(guī)劃規(guī)則確定下一輪訓(xùn)練的訓(xùn)練次序。
訓(xùn)練規(guī)劃的規(guī)則即根據(jù)上一輪對(duì)抗的勝負(fù)決定下一輪訓(xùn)練中側(cè)重訓(xùn)練的對(duì)象。側(cè)重訓(xùn)練的方式為當(dāng)鑒別器(D)勝過(guò)生成器(G)時(shí)即對(duì)生成器(G)進(jìn)行側(cè)重訓(xùn)練,下一訓(xùn)練周期優(yōu)先對(duì)生成器(G)進(jìn)行訓(xùn)練,然后再訓(xùn)練鑒別器(D),最后再對(duì)生成器(G)進(jìn)行訓(xùn)練,形成一種三明治結(jié)構(gòu)的訓(xùn)練次序。同理,對(duì)鑒別器(D)的側(cè)重訓(xùn)練也是如上所述根據(jù)勝負(fù)交替進(jìn)行,即根據(jù)勝負(fù)情況進(jìn)行GDG或者DGD形式的訓(xùn)練次序,大致情形如圖3所示。
圖3 訓(xùn)練次序規(guī)劃Fig.3 Training sequence planning
對(duì)抗訓(xùn)練初始階段生成器與鑒別器會(huì)均勻?qū)梗p方的獲勝次數(shù)大致相同,但隨著訓(xùn)練的繼續(xù),生成器會(huì)需要更多的側(cè)重訓(xùn)練才能勝過(guò)鑒別器,例如鑒別器勝過(guò)生成器8 次后生成器才能勝過(guò)鑒別器。仲裁的目的在于確保模型能夠靈活地對(duì)抗訓(xùn)練并充分地利用每一次對(duì)抗訓(xùn)練中從數(shù)據(jù)集中學(xué)習(xí)到的特征信息,對(duì)抗雙方一定次數(shù)的重復(fù)側(cè)重訓(xùn)練有助于提高特征信息利用率。但當(dāng)無(wú)法戰(zhàn)勝的次數(shù)過(guò)多,需要更多側(cè)重訓(xùn)練才能達(dá)到目的時(shí),則會(huì)產(chǎn)生相反的效果。此時(shí)模型生成的樣本單一,缺乏多樣性,生成器總是趨近于逼近真實(shí)分布的某個(gè)狹窄區(qū)域,因而生成圖像的多樣性與質(zhì)量會(huì)下降。因此在雙方的勝過(guò)次數(shù)上需要添加一個(gè)勝過(guò)次數(shù)限制,當(dāng)一方勝過(guò)三次即另一方側(cè)重訓(xùn)練了三次后會(huì)強(qiáng)制訓(xùn)練獲勝方,避免失敗方側(cè)重訓(xùn)練過(guò)多產(chǎn)生相反效果。
仲裁器包含經(jīng)上一輪對(duì)抗訓(xùn)練后的生成器與鑒別器以及度量分?jǐn)?shù)計(jì)算模塊,但是結(jié)構(gòu)上不包含損失函數(shù),其作用主要處理上一輪的訓(xùn)練結(jié)果并判定生成器與判別器的勝負(fù),輸出下一輪對(duì)抗訓(xùn)練的次序且不將輸出結(jié)果反向傳播[17-18]。
仲裁器示意圖如圖4 所示,仲裁器中生成器Gt-1與鑒別器Dt-1為上一輪訓(xùn)練結(jié)束后經(jīng)過(guò)參數(shù)更新的神經(jīng)網(wǎng)絡(luò)。向生成器Gt-1導(dǎo)入一組隨機(jī)噪聲生成一定批次合成圖像,并將相同批次的真實(shí)圖像與合成圖像一起導(dǎo)入鑒別器Dt-1,進(jìn)而生成兩個(gè)潛在特征矩陣,并最后導(dǎo)入度量分?jǐn)?shù)計(jì)算模塊計(jì)算度量分?jǐn)?shù),經(jīng)過(guò)判定輸出下一輪的訓(xùn)練次序。
圖4 仲裁器結(jié)構(gòu)Fig.4 Arbiter structure
本文使用Circle loss 函數(shù)[11]替換了DCGAN 中使用的二分類交叉熵?fù)p失(Binary Cross-Entropy loss,BCE loss)[19]函數(shù),該損失函數(shù)從相似對(duì)的角度出發(fā),旨在最大化類內(nèi)相似度sp與類間相似度sn,現(xiàn)有的損失函數(shù)如triplet loss[20]和softmax plus cross-entropy loss[21]都是將sp與sn嵌入相似對(duì)并以減小(sn-sP)為目的。這幾種優(yōu)化方法在靈活性上會(huì)有一定欠缺,因?yàn)閮?yōu)化方法在每一個(gè)單一相似分?jǐn)?shù)上的懲罰力度被限制為相同。事實(shí)上當(dāng)相似分?jǐn)?shù)偏離最優(yōu)值,網(wǎng)絡(luò)結(jié)構(gòu)應(yīng)該對(duì)其投入更多注意力,對(duì)其重新加權(quán),強(qiáng)調(diào)優(yōu)化程度較低的相似性分?jǐn)?shù)。Circle loss 的名字來(lái)源于圓形決策邊界,統(tǒng)一了帶有類標(biāo)簽以及成對(duì)標(biāo)簽的深度特征學(xué)習(xí)方法。
Circle loss 從式(9)的統(tǒng)一視角出發(fā),并逐步演化過(guò)來(lái),更具有一定的普適性。
2.5.1 自適應(yīng)加權(quán)
Circle loss 采用了一種自適應(yīng)加權(quán)的方法,這種更靈活的優(yōu)化策略允許每個(gè)相似性分?jǐn)?shù)根據(jù)其優(yōu)化狀態(tài)去選擇優(yōu)化權(quán)重。首先忽略在統(tǒng)一視角下的式(10)的閾值k,轉(zhuǎn)化為如下公式:
2.5.2 添加類內(nèi)和類間閾值
在以往的損失函數(shù)中通過(guò)添加一個(gè)閾值k去優(yōu)化(sn-sp),因?yàn)閟n和-sp是對(duì)稱的,在sn處添加一個(gè)正的k等于在sp處添加一個(gè)負(fù)的k。在Circle loss 中sn和sp是不對(duì)稱的,所以其對(duì)sn和sp分別需要一個(gè)閾值。轉(zhuǎn)換后如式(12)所示:
其中Δn和Δp分別為類間和類內(nèi)的閾值。
本文所提改進(jìn)模型將Circle loss 函數(shù)與生成對(duì)抗網(wǎng)絡(luò)進(jìn)行了融合,將該損失函數(shù)進(jìn)行適當(dāng)調(diào)整使之適應(yīng)生成對(duì)抗網(wǎng)絡(luò)真假分類的二分類情況,同時(shí)對(duì)生成對(duì)抗網(wǎng)絡(luò)鑒別器的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行了相應(yīng)優(yōu)化,使之符合Circle loss 函數(shù)的輸入要求。融合了Circle loss 的改進(jìn)算法提高了對(duì)抗雙方優(yōu)化過(guò)程的靈活度,使模型擁有了更加明確的收斂狀態(tài)。
運(yùn)行實(shí)驗(yàn)的平臺(tái)為Windows 10,Python 3.7 和Pytorch 框架結(jié)合的編譯環(huán)境,Intel 2.90 GHz CPU 時(shí)鐘頻率,內(nèi)存為16 GB。
本文采用了兩種數(shù)據(jù)集來(lái)驗(yàn)證模型的學(xué)習(xí)能力以及仲裁機(jī)制的有效性,分別為 LSUN(Large-scale Scene UNderstanding)數(shù)據(jù)集的church 子集以及CelebA 人臉數(shù)據(jù)集,其中著重訓(xùn)練在建筑物類數(shù)據(jù)集以及人臉數(shù)據(jù)集上學(xué)習(xí)數(shù)據(jù)集特征并生成圖像的能力[23]。實(shí)驗(yàn)中所涉及的模型學(xué)習(xí)率設(shè)置為0.0002,總共訓(xùn)練30 epoch,采用Adam 算法進(jìn)行優(yōu)化,β1設(shè)置為0.5。
為了驗(yàn)證文中所提算法的效果,對(duì)所提出的基于仲裁機(jī)制的生成對(duì)抗網(wǎng)絡(luò)改進(jìn)算法進(jìn)行了多輪實(shí)例驗(yàn)證。本文算法主要基于DCGAN 模型,為了驗(yàn)證仲裁機(jī)制以及Circle loss 函數(shù)對(duì)模型效果的提升,依次對(duì)DCGAN、DCGAN+CircleLoss、DCGAN+CircleLoss+仲裁(限制)、DCGAN+CircleLoss+仲裁(未限制)這四種組合方式進(jìn)行了實(shí)驗(yàn),其中“仲裁(限制)”表示在仲裁機(jī)制中加入了獲勝限制。在基于同一模型進(jìn)行對(duì)比實(shí)驗(yàn)的同時(shí),還與其他模型例如WGAN、WGAN-GP、SAGAN等進(jìn)行了對(duì)比。文中主要采用了IS(Inception Score)[24]、FID(Fréchet Inception Distance)[25]兩個(gè)指標(biāo)來(lái)衡量生成模型的質(zhì)量以及多樣性。其中,IS 越大表明生成圖像多樣性和質(zhì)量越好;FID 越小表明兩個(gè)分布之間越接近,意味著生成圖像質(zhì)量較高、多樣性較好。
表2 為實(shí)驗(yàn)中逐步改進(jìn)的算法在CelebA 以及LSUN 數(shù)據(jù)集上的性能表現(xiàn)情況。首先,對(duì)鑒別器網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行調(diào)整,由原來(lái)的輸出單一的概率值調(diào)整為輸出一組包含32 × 1的概率向量。即用自動(dòng)編碼器的編碼器取代原來(lái)的鑒別器并用Sigmoid 函數(shù)進(jìn)行激活。最后用Circle loss 函數(shù)替換了DCGAN原始算法的二進(jìn)制交叉熵?fù)p失(BCE loss)函數(shù)。
表2 不同組合方式的改進(jìn)算法性能比較Tab.2 Performance comparison of improved algorithms with different combinations
通過(guò)表2 中不同算法在兩個(gè)數(shù)據(jù)集上的性能指標(biāo)可以看出,“DCGAN+CircleLoss”組合的算法相較于DCGAN原始算法在人臉數(shù)據(jù)集以及LSUN 數(shù)據(jù)集上的效果都有了一定的提升。實(shí)驗(yàn)結(jié)果表明,經(jīng)過(guò)調(diào)整的Circle loss 函數(shù)通過(guò)在圖像真假二分類的類內(nèi)類間相似度上施加不同的懲罰力度,使相似度根據(jù)與自身相適應(yīng)的優(yōu)化步伐逼近最優(yōu)值,能夠更明確更靈活地引導(dǎo)改進(jìn)模型收斂,在相同訓(xùn)練周期內(nèi)模型所生成的圖像具有更好的多樣性與質(zhì)量。
在上述模型的基礎(chǔ)上引入仲裁機(jī)制。首先,交替訓(xùn)練生成器與鑒別器更新網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)。隨后,提取出生成器并導(dǎo)入相應(yīng)維度噪聲生成一定批次的合成圖像。同時(shí),從數(shù)據(jù)集隨機(jī)提取相同批次的真實(shí)圖像。并將兩者導(dǎo)入仲裁器,仲裁器內(nèi)的鑒別器部分會(huì)將輸入圖像進(jìn)行降維并輸出潛在特征向量。仲裁器中的度量分?jǐn)?shù)計(jì)算模塊會(huì)將前一部分輸出的潛在特征向量組成的潛在特征矩陣進(jìn)行堆疊并計(jì)算協(xié)方差矩陣。提取出協(xié)方差矩陣內(nèi)對(duì)應(yīng)的分塊矩陣,計(jì)算其特征值的期望,將期望的實(shí)部作為度量分?jǐn)?shù)進(jìn)行有效位數(shù)比較確定對(duì)抗訓(xùn)練勝負(fù)。根據(jù)勝負(fù)按照訓(xùn)練規(guī)劃規(guī)則進(jìn)行相應(yīng)的側(cè)重訓(xùn)練直至訓(xùn)練結(jié)束。因?yàn)榇嬖趥?cè)重訓(xùn)練過(guò)多而導(dǎo)致模型崩潰[26]的現(xiàn)象并致使生成圖像質(zhì)量變差。為了提高生成模型的穩(wěn)定性,緩解模型崩潰,在每一輪對(duì)抗訓(xùn)練中加入了獲勝次數(shù)限制,并進(jìn)行了對(duì)比實(shí)驗(yàn)。
通過(guò)表2 中“DCGAN+CircleLoss+仲裁(未限制)”以及“DCGAN+CircleLoss+仲裁(限制)”組合的算法可知,未加入獲勝限制時(shí),仲裁機(jī)制在提升模型訓(xùn)練靈活性的同時(shí)并未提高生成圖像的質(zhì)量,甚至在兩個(gè)數(shù)據(jù)集上的性能指標(biāo)都比原始模型以及融合Circle loss 函數(shù)的模型算法要差,原因?yàn)樵趯?duì)抗訓(xùn)練中生成器學(xué)習(xí)如何生成滿足真實(shí)分布的圖像相較于鑒別器學(xué)習(xí)鑒別圖像真?zhèn)胃y,所以在對(duì)抗訓(xùn)練中生成器需要更多的側(cè)重訓(xùn)練才能勝過(guò)鑒別器。當(dāng)鑒別器獲勝次數(shù)過(guò)多,即生成器進(jìn)行側(cè)重訓(xùn)練次數(shù)過(guò)多時(shí),生成器所學(xué)習(xí)到的圖像分布將會(huì)趨近于逼近真實(shí)分布的某個(gè)狹窄區(qū)域以求騙過(guò)鑒別器。此時(shí)生成器所生成圖像將趨于單一,缺乏多樣性,更不能勝過(guò)鑒別器。在對(duì)抗訓(xùn)練中加入獲勝限制后,鑒別器獲勝次數(shù)過(guò)多時(shí)會(huì)強(qiáng)制對(duì)鑒別器進(jìn)行側(cè)重訓(xùn)練,此時(shí)能及時(shí)更新鑒別器參數(shù),使鑒別器的神經(jīng)網(wǎng)絡(luò)感受野不再過(guò)于關(guān)注同一區(qū)域,此時(shí)生成器學(xué)習(xí)的分布將會(huì)遠(yuǎn)離之前逼近的真實(shí)分布的狹窄區(qū)域,更容易逼近圖像分布的最優(yōu)解。實(shí)驗(yàn)結(jié)果顯示,加入獲勝限制后改進(jìn)算法在兩個(gè)數(shù)據(jù)集上的結(jié)果明顯有了改善,并且優(yōu)于未加入仲裁機(jī)制的兩種算法,表明了加入獲勝限制在提高系統(tǒng)穩(wěn)定性、緩解模型崩潰上的優(yōu)點(diǎn)。
綜合表2 數(shù)據(jù)可知,融合了Circle loss 函數(shù)以及添加了獲勝限制的仲裁機(jī)制的改進(jìn)算法除了在LSUN 數(shù)據(jù)集上的IS 指標(biāo)不如DCGAN 原始算法和“DCGAN+CircleLoss”組合的算法外,剩余部分都優(yōu)于在兩個(gè)數(shù)據(jù)集上的其他對(duì)比算法,其中相較于DCGAN 原始算法,在LSUN 數(shù)據(jù)集上的FID 指標(biāo)下降了1.04%,在CelebA數(shù)據(jù)集上IS指標(biāo)提高了4.53%,表明了所提改進(jìn)算法的有效性以及在生成圖像上的優(yōu)良性能。其中“DCGAN+CircleLoss+仲裁(限制)”組合的算法在LSUN 以及CelebA數(shù)據(jù)集上所生成的圖像如圖5~6所示。
圖5 改進(jìn)模型在LSUN數(shù)據(jù)集上的生成效果Fig.5 Generation effect of improved model on LSUN dataset
圖6 改進(jìn)模型在CelebA數(shù)據(jù)集上的生成效果Fig.6 Generation effect of improved model on CelebA dataset
在不斷改進(jìn)的模型之間進(jìn)行對(duì)比實(shí)驗(yàn)的同時(shí),加入了“DCGAN+CircleLoss+仲裁(限制)”與其他模型之間的對(duì)比實(shí)驗(yàn),例如WGAN、WGAN-GP、SAGAN,對(duì)比結(jié)果如表3 所示。所提算法除了在CelebA 數(shù)據(jù)集上FID 指標(biāo)差于WGAN 和WGAN-GP,以及在LSUN 數(shù)據(jù)集上IS 指標(biāo)略小于SAGAN,其余部分均優(yōu)于所對(duì)比經(jīng)典模型,表明了引入Circle loss 函數(shù)以及仲裁機(jī)制的改進(jìn)算法能更好地近似原始圖像分布。在對(duì)抗訓(xùn)練中模型狀態(tài)的收斂更明確,訓(xùn)練過(guò)程相較于原始模型更具有靈活性,能更有效利用訓(xùn)練過(guò)程中學(xué)習(xí)到的圖像特征,所生成圖像具有更好的多樣性以及質(zhì)量。
表3 不同模型的對(duì)比結(jié)果Tab.3 Comparison results of different models
針對(duì)生成對(duì)抗網(wǎng)絡(luò)中對(duì)抗訓(xùn)練缺乏靈活性,所使用優(yōu)化算法不靈活、收斂狀態(tài)不明確的問(wèn)題,本文提出了一種基于仲裁機(jī)制的生成對(duì)抗網(wǎng)絡(luò)改進(jìn)算法。所提算法在建筑類以及人臉數(shù)據(jù)集上有較好的生成效果,優(yōu)于DCGAN 原始算法以及WGAN 等經(jīng)典算法。但是隨著對(duì)抗訓(xùn)練的進(jìn)行,添加了獲勝限制的模型仍存在對(duì)抗訓(xùn)練不靈活的問(wèn)題。由于生成器對(duì)圖像真實(shí)分布的學(xué)習(xí)難于鑒別器對(duì)圖像真?zhèn)畏直娴膶W(xué)習(xí),導(dǎo)致對(duì)生成器的側(cè)重訓(xùn)練會(huì)逐漸多于鑒別器,進(jìn)而造成模型訓(xùn)練的不穩(wěn)定,添加了獲勝限制的模型雖然能緩解這一問(wèn)題,但最終會(huì)導(dǎo)致對(duì)抗訓(xùn)練次序的固化。如何在確保不引入獲勝限制的模型能夠靈活進(jìn)行對(duì)抗訓(xùn)練的同時(shí),提高模型訓(xùn)練的穩(wěn)定性是今后的研究方向。