張哲新,原俊青,郭歡磊,何熊熊,吳安鵬,丁佳駿
1(浙江工業(yè)大學(xué) 理學(xué)院,杭州 310014) 2(浙江工業(yè)大學(xué) 信息學(xué)院,杭州 310014) 3(杭州電子科技大學(xué) 計(jì)算機(jī)學(xué)院,杭州 310018)
在過去的幾年內(nèi),深度學(xué)習(xí)方面的研究取得了長足的進(jìn)展.深度學(xué)習(xí)算法的核心是構(gòu)建一個(gè)具有深層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),從輸入數(shù)據(jù)中提取并分析特征,以適應(yīng)各種各樣的下游任務(wù).隨著任務(wù)需求的變化,深度置信網(wǎng)絡(luò)(Deep belief network,DBN)、卷積神經(jīng)網(wǎng)絡(luò)[1](Convolutional Neural Networks,CNNs)等各式各樣的網(wǎng)絡(luò)模型不斷涌現(xiàn)[2].其研究結(jié)果被應(yīng)用到生活中的許多方面,例如語音識(shí)別,文本翻譯,人臉識(shí)別,智能監(jiān)控,自動(dòng)駕駛,智慧城市等,極大地提升了各行各業(yè)的工作效率.
計(jì)算機(jī)視覺領(lǐng)域是深度學(xué)習(xí)應(yīng)用的主要方向之一,其原因在于相對結(jié)構(gòu)化的高維圖像數(shù)據(jù)更容易實(shí)現(xiàn)數(shù)據(jù)的特征提取,進(jìn)而能更好地配合下游任務(wù).深度學(xué)習(xí)在計(jì)算機(jī)視覺方面一個(gè)典型的應(yīng)用場景是在廣域圖像大數(shù)據(jù)集ImageNet[3]上進(jìn)行的圖像分類(Image classify)問題,在深度卷積網(wǎng)絡(luò)[4]的基礎(chǔ)上,許多學(xué)者設(shè)計(jì)了多種不同的網(wǎng)絡(luò)結(jié)構(gòu)來處理這一問題,Kaiming等[5]設(shè)計(jì)了整流神經(jīng)網(wǎng)絡(luò)(Rectifier neural networks),通過可變的激活函數(shù)來限制圖像分類中的過度擬合現(xiàn)象;Rastegari等[6]設(shè)計(jì)了同或卷積網(wǎng)絡(luò)(XNOR neural networks),通過二值化權(quán)重層在提高訓(xùn)練中的空間利用率的同時(shí)取得更好的訓(xùn)練效率.
在后續(xù)的研究中,部分學(xué)者開始不再滿足于基于圖像的模式識(shí)別,轉(zhuǎn)而開始研究如何將低維信號(hào)還原成圖像;然而高效地生成高仿真度的圖像需要對原始圖像的特征值具有更加精準(zhǔn)的把握.2014年,Ian Goodfellow[7]創(chuàng)造性地提出了生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GANs).生成對抗網(wǎng)絡(luò)是一種由生成器與判別器組成的神經(jīng)網(wǎng)絡(luò)架構(gòu),以判別器的判別結(jié)果作為生成器的損失函數(shù),交替訓(xùn)練優(yōu)化.迄今為止,GAN在圖像生成方面取得了相當(dāng)優(yōu)秀的成果.Yang G等[8]利用GAN對具有特殊噪聲的磁共振(MRI)圖像執(zhí)行重建,在觀測過程中以更高的容錯(cuò)率期望減少觀測成本,取得了優(yōu)秀的成效.
近年來,在GAN架構(gòu)的基礎(chǔ)上,涌現(xiàn)出了一系列神經(jīng)網(wǎng)絡(luò)變體.其中,譜歸一生成對抗網(wǎng)絡(luò)結(jié)構(gòu)(Spectral Normalization GAN,SNGAN)是一種較新穎的網(wǎng)絡(luò)架構(gòu),最早由Takeru Miyato[9]提出,相關(guān)實(shí)驗(yàn)表明,SNGAN在圖像還原方面效果顯著.SNGAN通過在卷積神經(jīng)網(wǎng)絡(luò)中加入譜歸一化層,限制訓(xùn)練過程中的梯度回傳,在理論層面避免了通常意義上的“梯度爆炸”問題,從而獲得優(yōu)秀的訓(xùn)練結(jié)果.
本文基于SNGAN網(wǎng)絡(luò)結(jié)構(gòu),建立了利用獨(dú)立分布式訓(xùn)練的多判別器協(xié)同架構(gòu)Multi-SNGAN.并通過實(shí)驗(yàn)與其他常用網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行了對比.
生成對抗網(wǎng)絡(luò)由生成器網(wǎng)絡(luò)G與判別器網(wǎng)絡(luò)D構(gòu)成,生成器可以通過表征向量生成仿真樣本,一同與真實(shí)樣本輸入判別器,判別器分析仿真樣本和真實(shí)樣本真假的概率,反饋生成器,從而達(dá)到兩者相互對抗、共同學(xué)習(xí)、共同優(yōu)化的目的.生成對抗網(wǎng)絡(luò)在數(shù)據(jù)生成的領(lǐng)域中效果顯著.一個(gè)非常好的例子是康云云等[10]將GAN架構(gòu)(如圖1所示)應(yīng)用于LSTM模型上,構(gòu)建了法律文書生成系統(tǒng).此外,GAN也被廣泛用于醫(yī)學(xué)圖像重建[11]、人臉還原[12]等方面.
以圖像生成這一應(yīng)用情景為例:生成器接受滿足一定分布特征的隨機(jī)信號(hào),生成圖片樣本;而判別器同時(shí)接受真實(shí)圖片與仿真圖片,判別輸入圖片的真實(shí)性.隨后該判斷被反饋至生成器,用于訓(xùn)練生成器以生成更加逼真的圖片,期望判別器難以分辨真實(shí)圖片與仿真圖片.
圖1 經(jīng)典GAN網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Classical GAN structure
記樣本集{x1,x2,x3,…,xn}~P,與給定真實(shí)樣噪聲集{z1,z3,z3,…,zn}~Pz,其中Pz為預(yù)先確定的分布,P為樣本集滿足的未知分布.記生成器的輸入為z,輸出的 “假” 數(shù)據(jù)可表示為G(z).判別器的輸入對真假數(shù)據(jù)分別輸出一個(gè)一維標(biāo)量,代表輸入為真的概率,分別記為D(x)與D(G(z)).生成器和判別器進(jìn)行極大極小博弈,網(wǎng)絡(luò)優(yōu)化過程目標(biāo)函數(shù)為:
(1)
理想情況:
(2)
其全局最優(yōu)解為:
z~PzG(z)=P
(3)
在實(shí)際訓(xùn)練過程中,生成器與判別器的訓(xùn)練過程是交替進(jìn)行的,更新一方的參數(shù)時(shí),另一方的參數(shù)固定住不更新.在兩者彼此交替的過程中,生成器與判別器同時(shí)逐步向全局最優(yōu)解靠近.
在圖像識(shí)別的網(wǎng)絡(luò)訓(xùn)練過程中,隨著神經(jīng)網(wǎng)絡(luò)的層數(shù)疊加,梯度爆炸和梯度衰減等梯度現(xiàn)象是影響網(wǎng)絡(luò)識(shí)別率下降的主要原因之一[13].譜歸一生成對抗網(wǎng)絡(luò)架構(gòu)(Spectral Normalization GAN,SNGAN)是一個(gè)新近提出的,基于譜歸一化操作構(gòu)建,以解決上述問題為目標(biāo)的架構(gòu).SNGAN網(wǎng)絡(luò)結(jié)構(gòu)如表1所示.
表1 SNGAN網(wǎng)絡(luò)結(jié)構(gòu)Table 1 Network structure of SNGAN
經(jīng)典CNN的結(jié)構(gòu)中,一個(gè)層一般由一個(gè)卷積層與一個(gè)歸一化層(Normalize Layer)復(fù)合構(gòu)成.目前的大多數(shù)神經(jīng)網(wǎng)絡(luò)采用的歸一化層是Sergey Ioffe 等[14]于2015年提出的Batch Normalize,即對于每一組傳入歸一化層的梯度,輸出:
(4)
Batch Normalize雖然在一定程度上鈍化了在訓(xùn)練過程中偶爾會(huì)出現(xiàn)的極端梯度值,減少了隨機(jī)性對訓(xùn)練過程的影響,但是Batch Normalize的效果受限于每組數(shù)據(jù)的分布.在神經(jīng)網(wǎng)絡(luò)訓(xùn)練多代之后,整組數(shù)據(jù)的方差非常小,而極端值仍有可能出現(xiàn),此時(shí)Batch Normalize也無能為力.針對這一問題,Arjovsky 等[15]提出了Wasserstein GAN(WGAN),通過直接設(shè)定梯度上限并剪裁梯度的方式使得梯度反向傳播過程滿足Lipschitz連續(xù)條件,略微優(yōu)化了神經(jīng)網(wǎng)絡(luò)的效果.然而,簡單地剪裁梯度雖然有效避免了梯度爆炸,卻同時(shí)損壞了梯度回傳過程中產(chǎn)生的信息完整性.
我們知道,一個(gè)典型的前饋神經(jīng)網(wǎng)絡(luò)可以被抽象為一個(gè)函數(shù):
f(x,θ)=WL+1aL(WLaL-1(WL-1aL-2(…a1(W1x)…)))
(5)
其中θ為網(wǎng)絡(luò)超參數(shù)集,W是各層可優(yōu)化的網(wǎng)絡(luò)參數(shù),an是對應(yīng)第n層的激活函數(shù).
SNGAN的特點(diǎn)是以其獨(dú)創(chuàng)的譜歸一化層替換傳統(tǒng)網(wǎng)絡(luò)中的歸一化層,在反向傳播過程中對矩陣進(jìn)行譜歸一化(處理,使得層與層之間的梯度傳遞過程始終滿足Lipschitz連續(xù)條件.為了避免隨著神經(jīng)網(wǎng)絡(luò)的逐層前饋誤差逐漸增加而引起梯度爆炸,我們需要令:
‖f‖Lip≤1
(6)
顯然傳統(tǒng)的Batch Normalize不能滿足這個(gè)條件,故我們采用Spectral Normalize替換之,即:
(7)
其中σ(W)為矩陣W的譜歸一化值,即:
(8)
由(7)式,對于任何層的抽象函數(shù)gn(x):=xWnan(x),有‖g‖Lip≤1,進(jìn)而由Lipschitz連續(xù)的傳遞性,我們可以保證‖f‖Lip≤1.
譜歸一化處理將每組數(shù)據(jù)對權(quán)值產(chǎn)生的影響限制在一個(gè)小范圍內(nèi),使用多次少量更新權(quán)值的方法訓(xùn)練神經(jīng)網(wǎng)絡(luò),使得訓(xùn)練過程自始至終保持平滑,偶發(fā)性的極端數(shù)據(jù)的影響降到了最小.
Zhao J等[16]提出的能基生成對抗網(wǎng)絡(luò)(Energy-Based GAN,EBGAN)是在原始的GAN的基礎(chǔ)上,通過改變訓(xùn)練過程中的損失函數(shù)方式而產(chǎn)生的新的GAN架構(gòu).架構(gòu)中的判別器抽象為兩層:編譯(Encode)與解碼(Decode).即:
D(x)=‖Dec(Enc(x))-x‖
(9)
對應(yīng)的生成器與判別器的損失函數(shù)LG,LD分別為:
LG=Ex~Pr‖Dec(Enc(G(z)))-G(z)‖
(10)
LD=Ex~Pr[Dec(Enc(x)))-x]+Ex~Pg[max(0,m-‖Dec(Enc(x))-x‖)]
(11)
EBGAN的損失函數(shù)設(shè)計(jì)基于與譜歸一化相同的思想,即通過限制損失函數(shù)的值域限制單次訓(xùn)練中權(quán)值的變化.
張龍等[17]構(gòu)建了應(yīng)用多個(gè)生成器共享部分權(quán)值的GAN架構(gòu),稱為協(xié)作式生成對抗網(wǎng)絡(luò).Liu等[18]構(gòu)建了一個(gè)應(yīng)用兩組生成器-判別器組之間共享權(quán)值的GAN架構(gòu),稱為耦合式生成對抗網(wǎng)絡(luò)(CoGAN).這些協(xié)作式生成對抗網(wǎng)絡(luò)均采取了在運(yùn)行過程中共享部分神經(jīng)網(wǎng)絡(luò)的權(quán)值的方式.這一方式確實(shí)可以非常好地完成“共享訓(xùn)練成果”這一目的.然而在實(shí)際運(yùn)行中,共享權(quán)值是一個(gè)內(nèi)存或顯存讀寫量非常大的操作,導(dǎo)致在多個(gè)物理設(shè)備上并行運(yùn)行多個(gè)神經(jīng)網(wǎng)絡(luò)時(shí),共享權(quán)值的行為開銷非常高昂,效果優(yōu)秀但時(shí)間成本相對高昂.
神經(jīng)網(wǎng)絡(luò)的訓(xùn)練是隨機(jī)梯度下降過程,不可避免地,在單次訓(xùn)練過程中會(huì)存在部分未能進(jìn)行有效學(xué)習(xí)的特征模式.在GAN的訓(xùn)練過程中,生成器與判別器彼此對抗,判別器的判別結(jié)果反饋?zhàn)鳛樯善鞯膿p失函數(shù),若一個(gè)判別器沒有充分學(xué)習(xí)到真實(shí)數(shù)據(jù)的特征,對應(yīng)的生成器就無法得到正確的反饋.也就意味著生成器不可能習(xí)得判別器沒有學(xué)習(xí)到的特征模式,生成器的模式崩潰問題將會(huì)比判別器體現(xiàn)得更加嚴(yán)重.
基于這一現(xiàn)實(shí)中存在的問題,我們認(rèn)為,如果設(shè)置多個(gè)各自不同的判別器,令其分別并行訓(xùn)練,并與同一個(gè)生成器對抗,多個(gè)生成器學(xué)習(xí)到的模式可以在更大程度上覆蓋樣本空間,減少判別器組整體的模式崩潰,讓生成器學(xué)習(xí)到的模式更加全面.
圖2 多SNGAN架構(gòu)圖Fig.2 Multi-SNGAN structure
本文實(shí)驗(yàn)中采用多個(gè)彼此獨(dú)立的判別器對單個(gè)生成器的結(jié)果進(jìn)行判斷,并將結(jié)果求均值之后作為反饋提交給生成器,以此來引導(dǎo)生成器的訓(xùn)練過程.由于判別器的初始狀態(tài)不同,從圖像中提取的特征也不同,通過平均的方式可以使生成器的圖像獲取更完整的特征.
與此同時(shí),多個(gè)獨(dú)立判別器的架構(gòu)也允許各個(gè)判別器在不同的物理設(shè)備上進(jìn)行獨(dú)立并行運(yùn)算.雖然運(yùn)算量提高了,但在實(shí)際應(yīng)用中,其訓(xùn)練時(shí)間與單個(gè)判別器訓(xùn)練時(shí)幾乎相等.
訓(xùn)練過程中,判別器Di的目標(biāo)函數(shù)為:
maxEx~PlnDi(x)+Ez~Pzln(1-Di(G(z)))
(12)
生成器G的目標(biāo)函數(shù)為:
(13)
SNGAN的成功是源自限制梯度回傳時(shí)的數(shù)值,從而避免了梯度爆炸問題.基于這一思想,我們猜想,如果能夠進(jìn)一步限制梯度的取值范圍,或可取得更好的效果.由于判別器與判別器之間相互獨(dú)立,當(dāng)n個(gè)判別器被訓(xùn)練多代之后,可以認(rèn)為它們的結(jié)果是獨(dú)立同分布的.記Pr為各判別器對偽造圖片的判別結(jié)果的分布:
Pr:={D1(G(z),D2(G(z),…,Dn(G(z)}
(14)
取訓(xùn)練過程中的一個(gè)階段,記各個(gè)判別器的判斷與準(zhǔn)確判斷的差異為d=Dn(r)-L(r),由于訓(xùn)練過程是具有隨機(jī)性的逐步逼近過程,故{d1,d2,…,dn}∈N(μn,σn2).其中μn,σn2分別代表該階段生成器分布與實(shí)際分布逼近程度的期望值和各個(gè)判別器之間的方差.易得反饋到生成器的損失函數(shù):
(15)
進(jìn)而有:
(16)
即生成器得到的反饋比單個(gè)判別器更加集中于理論期望值.
由此可見,通過對多個(gè)判別器的結(jié)果取平均值,在整體上而言平衡單個(gè)判別器在訓(xùn)練過程中產(chǎn)生的損失函數(shù)值的震蕩,使得生成器得到的反饋趨于接近判別結(jié)果的期望值E(Pr),有利于生成器對圖像整體的把握.與此同時(shí),在圖像細(xì)節(jié)方面,單個(gè)判別器訓(xùn)練過程中不可避免的會(huì)存在一些沒有學(xué)習(xí)到的特征,而多個(gè)判別器則可以在分立并行的學(xué)習(xí)過程中各自學(xué)習(xí)到數(shù)據(jù)集中不同的細(xì)節(jié)特征,進(jìn)而幫助生成器學(xué)習(xí)到較為完整全面的特征.
理論上,多判別器架構(gòu)允許任意數(shù)量的判別器共同工作.然而在實(shí)際訓(xùn)練過程中,判別器數(shù)量過多會(huì)導(dǎo)致判別器之間同質(zhì)化嚴(yán)重,判別器數(shù)量過少則會(huì)導(dǎo)致單個(gè)判別器的權(quán)重對整體結(jié)果的影響過大而導(dǎo)致訓(xùn)練過程中生成器容易與單個(gè)判別器耦合.由于生成器間共享輸入與判別器網(wǎng)絡(luò),可能會(huì)造成生成器生成分布趨于重合的現(xiàn)象.這樣不僅無法達(dá)到預(yù)期的目標(biāo),還可能產(chǎn)生額外的網(wǎng)絡(luò)負(fù)荷.為避免該現(xiàn)象,本文在初始化生成器時(shí)采取隨機(jī)權(quán)值方式.實(shí)驗(yàn)表明,重合問題在實(shí)際訓(xùn)練過程中并未出現(xiàn),不同生成器產(chǎn)生的結(jié)果始終保持著一定的差異.我們認(rèn)為3個(gè)判別器能給出一個(gè)穩(wěn)定而始終具有一定方差的結(jié)果分布Pr.
學(xué)習(xí)率是網(wǎng)絡(luò)訓(xùn)練中最重要的超參數(shù)之一,以單張圖片為例,較大的學(xué)習(xí)率意味著網(wǎng)絡(luò)的更新更加快速,對圖像整體結(jié)構(gòu)的把握更優(yōu)秀;而較小的學(xué)習(xí)率意味著網(wǎng)絡(luò)的更新較穩(wěn)定,對圖像細(xì)節(jié)的把握更精準(zhǔn).由于初始狀態(tài)的差異性在訓(xùn)練過程中會(huì)被快速地平滑化,為了保證訓(xùn)練過程中各判別器保有持續(xù)的差異性,可以調(diào)整各個(gè)判別器的學(xué)習(xí)率.來保證即使在訓(xùn)練的后期,不同的判別器也能保證一定程度上的差異.
本文實(shí)驗(yàn)中采用了多個(gè)實(shí)驗(yàn)組,以3個(gè)判別器學(xué)習(xí)率相同的情況作為對照,在保證判別器學(xué)習(xí)率差別不至于過大的前提下,將3個(gè)判別器的學(xué)習(xí)率進(jìn)行調(diào)整,進(jìn)行多組實(shí)驗(yàn).實(shí)驗(yàn)結(jié)果表明,不同學(xué)習(xí)率的判別器組表現(xiàn)均優(yōu)于單個(gè)判別器的表現(xiàn).
在實(shí)驗(yàn)中選用cifar-10數(shù)據(jù)集作為訓(xùn)練與測試數(shù)據(jù)集.運(yùn)行環(huán)境為pytorch0.4.0,顯卡為NVIDIA GeFORCE GTX 1080Ti.
本文實(shí)驗(yàn)使用弗雷歇距離(Fréchet Inception Distance,F(xiàn)ID)作為評價(jià)圖像相似程度的標(biāo)準(zhǔn),兩組圖片之間的平均FID越低,則表明圖像的特征越相似.
本文主要基于Miyato等[9]提出的模型框架,采用生成對抗網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)驗(yàn)證.生成網(wǎng)絡(luò)架構(gòu)(如圖3所示)主要由歸一化層、3個(gè)反卷積層以及1個(gè)卷積層構(gòu)成,判別網(wǎng)絡(luò)架構(gòu)(如圖4所示)則主要由7層卷積層和1層歸一化層構(gòu)成,命名為SNGAN算法.同時(shí),為了驗(yàn)證本文提出架構(gòu)的合理性與有效性,我們加深上述生成器與判別器的層數(shù),構(gòu)建了一個(gè)更深層次的網(wǎng)絡(luò),稱為深化SNGAN(Deepened-SNGAN)架構(gòu)(如表2所示).
圖3 生成器網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 Generator network structure
圖4 判別器網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.4 Discriminator network structure
在訓(xùn)練過程中,生成器接收隨機(jī)信號(hào)向量,并將其輸出為仿真圖像樣本.判別器接收仿真樣本圖像或來自cifar10數(shù)據(jù)集的真實(shí)樣本圖像,輸出各樣本來自cifar10數(shù)據(jù)集的概率.其中對于偽造圖片的判斷將會(huì)被返回給生成器.以訓(xùn)練生成器生成更加貼近真實(shí)的圖像,期望令判別器難以分辨仿真圖像.
在經(jīng)過一定的訓(xùn)練次數(shù)之后將生成的偽造圖片與真實(shí)圖片通過FID算法進(jìn)行比較.FID值越小說明偽造圖片與真實(shí)圖片越相似,即生成器的質(zhì)量越高.在生成器網(wǎng)絡(luò)經(jīng)過一定次數(shù)的迭代訓(xùn)練之后,可以認(rèn)為訓(xùn)練基本已完成.此時(shí)將生成的偽造圖片與真實(shí)圖片進(jìn)行對比,計(jì)算其FID值.
表2 深化SNGAN網(wǎng)絡(luò)結(jié)構(gòu)Table 2 Network structure of deepened-SNGAN
訓(xùn)練過程中使用的隨機(jī)向量均滿足:
zn∈R128~(0,1)
(17)
相應(yīng)的,真實(shí)圖像與偽造圖像均為邊長為32像素的正方形3通道RGB圖像,滿足:
xn∈R32*32*3
(18)
迭代次數(shù)均為100000次,以生成器更新次數(shù)為準(zhǔn),每次訓(xùn)練時(shí)傳遞給生成器的真實(shí)圖片與偽造圖片各32張.生成器與判別器的優(yōu)化器均使用Adam動(dòng)量算法優(yōu)化器(β1=0.5,β2=0.999).
4.2.1 Cifar-10數(shù)據(jù)集
cifar-10數(shù)據(jù)集由加拿大高級研究院(The Canadian Institute for Advanced Research)提供,是目前世界上使用最廣泛的計(jì)算機(jī)視覺庫之一.由于其圖像的標(biāo)準(zhǔn)化程度較高,易于判斷而被深度學(xué)習(xí)研究大量使用[19-21].該數(shù)據(jù)集由10種不同類型的圖片組成,每種類型分為兩個(gè)數(shù)據(jù)集:5000張圖片構(gòu)成的訓(xùn)練數(shù)據(jù)集和1000張圖片構(gòu)成的測試數(shù)據(jù)集構(gòu)成.表3給出了十個(gè)類別的一些示例圖片.
在訓(xùn)練過程中,我們忽略類別標(biāo)簽,將訓(xùn)練數(shù)據(jù)集中不同種類的圖片集打亂順序隨機(jī)混合作為判別器的輸入,使用測試數(shù)據(jù)集中的圖片與生成器生成的圖片計(jì)算FID來評估訓(xùn)練的結(jié)果.
4.2.2 STL-10
STL-10數(shù)據(jù)集由斯坦福大學(xué)(Stanford University)提供,也是在使用廣泛的計(jì)算機(jī)視覺庫之一.該數(shù)據(jù)集由3個(gè)數(shù)據(jù)集:訓(xùn)練數(shù)據(jù)集、測試數(shù)據(jù)集以及無標(biāo)簽數(shù)據(jù)集構(gòu)成.表3給出了一些示例圖片.
在訓(xùn)練過程中,我們使用無標(biāo)簽數(shù)據(jù)集作為判別器的輸入,同樣使用無標(biāo)簽數(shù)據(jù)集中的圖片與生成器生成的圖片計(jì)算FID來評估訓(xùn)練的結(jié)果.
表3 CIFAR-10 數(shù)據(jù)集示例圖片Table 3 Sample images from CIFAR-10 dataset
4.3.1 使用Inception score來執(zhí)行初步優(yōu)化
由于我們的訓(xùn)練過程旨在擬合整個(gè)數(shù)據(jù)集,在訓(xùn)練時(shí)未將圖片的分類信息輸入神經(jīng)網(wǎng)絡(luò).而inception score是一個(gè)用于展示圖片分類的明晰程度的指標(biāo),因此我們的實(shí)驗(yàn)并不以inception score作為最優(yōu)化目標(biāo).雖然如此,inception score在評判同類模型相對優(yōu)劣程度時(shí)仍不失為一個(gè)優(yōu)秀的參考指標(biāo).4.3.2節(jié)展示了對于實(shí)驗(yàn)中一些模型的inception score預(yù)評估結(jié)果,根據(jù)表中數(shù)據(jù)可以得出,在本文的神經(jīng)網(wǎng)絡(luò)框架下,針對本文的訓(xùn)練任務(wù)最優(yōu)的學(xué)習(xí)率大約是2×10-4左右,在實(shí)驗(yàn)中我們將它定為標(biāo)準(zhǔn)學(xué)習(xí)率.
4.3.2 基于Cifar-10與STL-10的實(shí)驗(yàn)結(jié)果
圖5展示了FID距離在訓(xùn)練過程中的變化過程.圖6展示了訓(xùn)練完成的生成器生成的部分圖片示例.在圖6中,可以發(fā)現(xiàn)生成的圖片質(zhì)量較高,圖中可以明顯地分辨出不同類別的動(dòng)物與交通工具,圖像主要部分具有的細(xì)節(jié)也大多在識(shí)別過程當(dāng)中被有效保存下來.
可以看到的是,在使用相同的核心網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,相較于單個(gè)判別器,3個(gè)判別器合作的SNGAN架構(gòu)生成器的生成圖像質(zhì)量有顯著提升.
圖5 訓(xùn)練過程FID變化圖Fig.5 FID value over train epochs
在實(shí)際的訓(xùn)練過程中,卷積神經(jīng)網(wǎng)絡(luò)反向傳播過程中權(quán)值的修改更新涉及大量的內(nèi)存或顯存讀寫,因而需要很長的時(shí)間.而相比而言,在判別器之間共享一組偽造圖片所產(chǎn)生的額外開銷幾乎可以忽略.因此在實(shí)際應(yīng)用中,各個(gè)判別器可以在不同的物理設(shè)備上同時(shí)并行運(yùn)行,其實(shí)際訓(xùn)練時(shí)間與單一判別器幾乎相同.
圖6 最終生成圖片示例Fig.6 Generated image sample
在多判別器訓(xùn)練的過程中,最危險(xiǎn)的狀況是多個(gè)判別器的狀態(tài)在某個(gè)局部最優(yōu)點(diǎn)的附近趨于一致,這樣不僅使得生成器陷入局部最優(yōu)點(diǎn),還增加了額外的網(wǎng)絡(luò)負(fù)擔(dān).圖7展示了在訓(xùn)練過程中3個(gè)判別器的相對方差.可知判別器組在訓(xùn)練的全程中均保有一定的相對方差,趨于一致的情況并沒有發(fā)生.
圖7 訓(xùn)練過程中不同判別器的方差實(shí)驗(yàn)數(shù)據(jù)圖Fig.7 Variance of different discriminators during train phase
與此同時(shí),相較于學(xué)習(xí)率相同的架構(gòu),由多個(gè)學(xué)習(xí)率不同的SNGAN構(gòu)成的合作架構(gòu)訓(xùn)練出的生成器對圖像的特征把握更精準(zhǔn).表4展示了目前主流的GAN網(wǎng)絡(luò)架構(gòu)在使用同樣數(shù)據(jù)集和優(yōu)化器,迭代次數(shù)均為100000次時(shí)的實(shí)驗(yàn)結(jié)果,以生成器更新次數(shù)為準(zhǔn).可以看出相較于其它主流GAN,本文提出的多SNGAN的架構(gòu)在測試條件下均有更好的表現(xiàn).
同時(shí),我們將加深網(wǎng)絡(luò)應(yīng)用在我們的架構(gòu)上.實(shí)驗(yàn)結(jié)果顯示,針對更深的神經(jīng)網(wǎng)絡(luò),本文提出的架構(gòu)也具有提升訓(xùn)練表現(xiàn)的效果.
本文提出了一種SNGAN結(jié)構(gòu)下的生成對抗網(wǎng)絡(luò)的多判別器協(xié)作系統(tǒng),嘗試設(shè)計(jì)了該方法使用的復(fù)合式網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)及相應(yīng)的優(yōu)化方案,實(shí)驗(yàn)結(jié)果表明多個(gè)判別器的復(fù)合架構(gòu)可以有效地幫助生成器挖掘原始圖像中的更多特征,在細(xì)節(jié)和整體兩方面獲取更加完整的圖像信息.
表4 主流GAN實(shí)驗(yàn)結(jié)果Table 4 Results on mainstream GANs
在后續(xù)研究中,可以嘗試更換基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu),例如使用殘差網(wǎng)絡(luò)架構(gòu)進(jìn)行合作,或調(diào)整各個(gè)不同網(wǎng)絡(luò)的結(jié)果權(quán)重,以增加判別器之間的差異.進(jìn)一步提高網(wǎng)絡(luò)架構(gòu)整體的訓(xùn)練效率.