郭 偉,龐 晨
(西安科技大學(xué) 通信與信息工程學(xué)院,西安 710600)
傳統(tǒng)圖像領(lǐng)域的數(shù)據(jù)增強(qiáng)方法建立在一系列已知的仿射變換和圖像處理手段基礎(chǔ)上,例如旋轉(zhuǎn)、旋轉(zhuǎn)畸變[1]、極坐標(biāo)變化[2]等。這種基于幾何變換的數(shù)據(jù)增強(qiáng)方法生成的圖像數(shù)據(jù)集與原始數(shù)據(jù)集區(qū)分不大且?guī)в泻芏嗳哂嘈畔?,網(wǎng)絡(luò)模型泛化能力不會(huì)得到大幅提升[3]。
生成式對抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)[4]自2014年提出后,廣泛應(yīng)用于目標(biāo)檢測[5]、文本識(shí)別[6-7]、超分辨率[8-9]重建等方面。它的出現(xiàn)極大地解決了工程領(lǐng)域中出現(xiàn)的高維概率密度采樣問題,對其他生成算法發(fā)展具有一定的啟發(fā)價(jià)值,但是GAN的訓(xùn)練過程中會(huì)出現(xiàn)生成模型退化現(xiàn)象,持續(xù)生成的相同樣本點(diǎn)導(dǎo)致模型無法繼續(xù)學(xué)習(xí)而崩潰[10]。此后,研究者們不斷提出各種GAN變體來改進(jìn)傳統(tǒng)GAN存在的缺陷:Mao等人[11]提出的LSGAN(Least Square Generative Adversarial Network)使用最小二乘損失替換交叉熵?fù)p失函數(shù),該算法雖然保證了模型的穩(wěn)定性,但無法更好測量真實(shí)數(shù)據(jù)與生成數(shù)據(jù)間的散度;Arjovsky等人[12]提出的WGAN(Wasserstein Generative Adversarial Network)采用EM(Earth-Mover)距離替換傳統(tǒng)GAN的Jensen-Shannon(JS)散度來計(jì)算分布距離,解決了LSGAN存在的問題,但該方法不易確定權(quán)重裁剪值,且生成樣本質(zhì)量穩(wěn)定性差;Takeru等人[13]提出SNGAN(Spectrally Normalized Generative Adversarial Networks)在神經(jīng)網(wǎng)絡(luò)中加入譜歸一化層,解決了WGAN存在的1-Lipschitz問題。
Radford等人[14]提出的深度卷積對抗生成網(wǎng)絡(luò)(Deep Convolutional Generative Adversarial Network,DCGAN),由于其出色的生成效果,廣泛應(yīng)用于圖像數(shù)據(jù)集增強(qiáng)領(lǐng)域。Rafael等人[15]提出了通過DCGAN和風(fēng)格遷移來增加帕金森病肌電圖數(shù)據(jù),識(shí)別率得到有效提高。魯力等人[16]通過改進(jìn)的DCGAN對軍事SAR圖像中的少數(shù)類樣本進(jìn)行擴(kuò)增,盡管一定程度上提升了SAR圖像的分類精度與模型泛化能力,但是未完全消除的噪聲點(diǎn)仍較大程度地影響生成圖像的清晰度。
本文針對上述模型及文獻(xiàn)中存在的問題,提出一種改進(jìn)的生成對抗網(wǎng)絡(luò)數(shù)據(jù)增強(qiáng)模型——RDCGAN(Relativistic Deep Convolutional Generative Adversarial Network),旨在解決模型訓(xùn)練過程中模型不穩(wěn)定、生成圖像質(zhì)量差等問題。本文從以下幾個(gè)方面進(jìn)行改進(jìn):一是針對生成圖像缺乏細(xì)節(jié)的問題,在生成網(wǎng)絡(luò)中采用SeLU來替代原激活函數(shù)ReLU,生成更豐富的圖像細(xì)節(jié);二是采用相對判別損失函數(shù)的方法,通過提升偽造數(shù)據(jù)判為真實(shí)數(shù)據(jù)的概率,并降低真實(shí)數(shù)據(jù)判為偽造的概率,來產(chǎn)生穩(wěn)定且高質(zhì)量的數(shù)據(jù)樣本;三是在生成網(wǎng)絡(luò)中引入殘差塊來提升生成圖像的分辨率。
基于GAN的思想基礎(chǔ),Radford等人[14]提出將監(jiān)督學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)引入無監(jiān)督學(xué)習(xí)生成式對抗網(wǎng)絡(luò)的結(jié)構(gòu),即深度卷積生成式對抗網(wǎng)絡(luò)(Deep Convolutional Generative Adversarial Network,DCGAN),該結(jié)構(gòu)使GAN訓(xùn)練更加穩(wěn)定。DCGAN主要由生成器G和判別器D構(gòu)成,通過生成器和判別器相互競爭,最終達(dá)到納什均衡。
圖1為DCGAN網(wǎng)絡(luò)的結(jié)構(gòu),隱變量z一般為服從高斯分布的隨機(jī)噪聲,z輸入生成器中得到偽造數(shù)據(jù)G(z)。判別器獲得G(z)后將其與真實(shí)數(shù)據(jù)進(jìn)行比較,做出真假判斷并反饋給生成器,判別器優(yōu)化過程類似于二分類問題。
圖1 DCGAN結(jié)構(gòu)
整個(gè)過程可歸納為一個(gè)二元極小極大博弈,目標(biāo)函數(shù)可定義為
Ez~Pg(z)[lg(1-D(G(z)))]。
(1)
判別器的目標(biāo)式為
V(G,D)=Ex~Pdata(x)[lgD(x)]+
Ez~Pg(x)[lg(1-D(x))]。
(2)
轉(zhuǎn)化為積分形式為
(3)
求該積分的最大值即求f(x)最大值。令Pdata(x)=m,Pg(z)=n,D(x)=z,得到
f(z)=mlg(z)+nlg(1-z)。
(4)
(5)
代入式(3)得
(6)
通過添加分子2,構(gòu)造KL散度(Kullback-Leibler divergence),得到
(7)
JS散度公式為
(8)
則有
(9)
為了緩解神經(jīng)網(wǎng)絡(luò)訓(xùn)練中的梯度彌散現(xiàn)象,2010年Nair和Hinton提出了修正線性單元(Rectifier Linear Unit,ReLU),這一應(yīng)用減少了網(wǎng)絡(luò)訓(xùn)練的時(shí)間,模型識(shí)別率得到提升。在DCGAN網(wǎng)絡(luò)中,ReLU激活函數(shù)主要作用是完成卷積層的非線性激活,過濾小于0的輸入。而SeLU(Self-normalizing Neural Network)[17]保留了小于0輸入的計(jì)算,提供了豐富的特征,并且經(jīng)過該激活函數(shù)后樣本的分布自動(dòng)歸一化到0均值和單位方差,公式如式(10):
(10)
式中:λ≈1.050 7,α≈1.673 2。由于SeLU保留了小于0輸入的計(jì)算,導(dǎo)致正向傳播和反向傳播過程中計(jì)算時(shí)間會(huì)有所延長,模型優(yōu)化難度也進(jìn)一步增加。為了獲取更多豐富特征且不過多增加計(jì)算量,本文僅在生成網(wǎng)絡(luò)中使用SeLU激活函數(shù)。
傳統(tǒng)DCGAN中,隨著偽造數(shù)據(jù)得分的提升,真實(shí)數(shù)據(jù)的得分并不會(huì)下降。假設(shè)D和G在每個(gè)交替步驟中都訓(xùn)練到了最佳,訓(xùn)練結(jié)束時(shí),判別器D(xr)=1,D(xf)=0;生成器D(xr)=1,D(xf)=1。在訓(xùn)練交替過程中,D(xr)恒等于1,梯度恒為0,判別器暫停更新從而使模型崩潰。
理想情況下,如圖2(a)所示,大多數(shù)xr和xf分別能夠滿足D(xr)平滑地從1到0.5,D(xf)平滑地從0到0.5。但是原始DCGAN網(wǎng)絡(luò)時(shí)的損失函數(shù)為飽和損失,生成器如圖2(b)所示,只增加D(xf)的值,但D(xr)的值不改變。而理想情況為,生成器D(xf)不但需要增加,同時(shí)D(xr)也要減少,如圖2(c)所示。
圖2 生成器訓(xùn)練過程對比圖
在DCGAN網(wǎng)絡(luò)中,當(dāng)D訓(xùn)練較優(yōu)時(shí),計(jì)算梯度時(shí)不會(huì)考慮真實(shí)數(shù)據(jù),僅關(guān)注如何使得偽造數(shù)據(jù)變得更真實(shí),這樣會(huì)使訓(xùn)練不穩(wěn)定。若D(xr)逐漸減少,D(xf)逐漸增加,真實(shí)數(shù)據(jù)就可以被用于在DCGAN網(wǎng)絡(luò)中進(jìn)行梯度的計(jì)算,從而避免訓(xùn)練時(shí)產(chǎn)生梯度消失現(xiàn)象。本文的最終目的為需要一個(gè)真實(shí)數(shù)據(jù)作為先驗(yàn)知識(shí)引導(dǎo)判別器獲得更準(zhǔn)確的分類,使真實(shí)數(shù)據(jù)和偽造數(shù)據(jù)作為D網(wǎng)絡(luò)梯度的一部分用于最小化損失函數(shù)。
為解決Dreal梯度不變化的問題,Alexia等人[18]提出了采用相對判別器的RGAN(Relativistic Generative Adversarial Network)網(wǎng)絡(luò),在訓(xùn)練過程中使得Dreal向Dfake移動(dòng),也使得Dfake向Dreal移動(dòng)。本文在DCGAN網(wǎng)絡(luò)中引入相對判別器概念,解決上述問題。首先將公式(1)改寫為如下形式:
LD=Exr~P[f1(D(xr))]+Exz~Pz[f2(D(xf))],
(11)
LG=Exr~P[g1(D(xr))]+Ez~Pz[g2(D(xf))]。
(12)
式中:P是真實(shí)數(shù)據(jù)分布,Pz是多變量的高斯分布,期望為0,方差為1;f1、f2、g1、g2是判別函數(shù)。采用相對判別器,目標(biāo)式變?yōu)?/p>
E(xr,xf)~(P,Q)[f2(D(xf)-D(xr))],
(13)
E(xr,xf)~(P,Q)[g2(D(xf)-D(xr))] 。
(14)
在傳統(tǒng)DCGAN網(wǎng)絡(luò)中,g1為0,因?yàn)閭鹘y(tǒng)的網(wǎng)絡(luò)中G只需考慮C(xf)盡可能高,但是在改進(jìn)后的網(wǎng)絡(luò)中g(shù)1不為0,將真實(shí)數(shù)據(jù)的判別值減去偽造數(shù)據(jù)的判別值作為衡量標(biāo)準(zhǔn)。在G中確保g1越小越好,對應(yīng)產(chǎn)生一個(gè)引導(dǎo)C(xr)向更小方向移動(dòng)的梯度,在訓(xùn)練過程中Dreal逐漸降低至與Dfake相同。
本節(jié)在前文的基礎(chǔ)上引入殘差塊[19]改進(jìn)現(xiàn)有的網(wǎng)絡(luò)結(jié)構(gòu),通過提升網(wǎng)絡(luò)的學(xué)習(xí)能力來進(jìn)一步改善生成圖像的分辨率。以生成48 pixel×48 pixel大小的圖片為例,結(jié)合文獻(xiàn)[20],本文構(gòu)建的基于深度殘差生成式的生成網(wǎng)絡(luò)模型如圖3所示。
圖3 改進(jìn)生成網(wǎng)絡(luò)結(jié)構(gòu)圖
確定生成模型的四維張量,批處理樣本個(gè)數(shù)假設(shè)為64,輸入噪聲維度z為100,初始噪聲樣本像素1×1,初始樣本維度為[64,100,1,1]。通過在生成模型中加入兩個(gè)殘差結(jié)構(gòu)組成的殘差網(wǎng)絡(luò)后保持輸出維度不改變,最終輸出一張48 pixel×48 pixel的三通道的圖片。
本文在上述改進(jìn)DCGAN網(wǎng)絡(luò)基礎(chǔ)上,對多次轉(zhuǎn)置卷積操作后得到的特征圖引入殘差網(wǎng)絡(luò)進(jìn)一步提取其細(xì)節(jié),保證在進(jìn)入下一轉(zhuǎn)置卷積層之前上層網(wǎng)絡(luò)的圖像特征盡可能細(xì)節(jié)化和豐富化,避免了特征信息的丟失。
為說明改進(jìn)激活函數(shù)對模型性能的提升,現(xiàn)將改變激活函數(shù)的DCGAN網(wǎng)絡(luò)(IM_DCGAN)與原始DCGAN網(wǎng)絡(luò)(OR_DCGAN)進(jìn)行對比,除激活函數(shù)外,兩個(gè)網(wǎng)絡(luò)其余變量、參數(shù)均保持一致。兩種網(wǎng)絡(luò)在本文所采用的數(shù)據(jù)集上的生成樣本如圖4所示,結(jié)果表明改進(jìn)前的網(wǎng)絡(luò)模型存在重復(fù)樣本多、圖像模糊,以及模式崩塌現(xiàn)象;而改進(jìn)后的DCGAN盡管仍存在一定程度的模式崩塌現(xiàn)象,但是生成樣本中則包含更加豐富的細(xì)節(jié),圖像質(zhì)量明顯優(yōu)于改進(jìn)前的網(wǎng)絡(luò)模型。
圖4 兩種網(wǎng)絡(luò)模型生成圖像對比圖
本文通過引入相對判別器提升網(wǎng)絡(luò)的判別能力,為驗(yàn)證本文所提方法的有效性,現(xiàn)將未改進(jìn)判別函數(shù)的網(wǎng)絡(luò)D與改進(jìn)網(wǎng)絡(luò)RD在SAR圖像上進(jìn)行樣本識(shí)別準(zhǔn)確率檢驗(yàn),對比結(jié)果如圖5所示。
圖5 網(wǎng)絡(luò)D和網(wǎng)絡(luò)RD識(shí)別準(zhǔn)確率檢驗(yàn)對比結(jié)果
實(shí)驗(yàn)結(jié)果顯示,隨著訓(xùn)練批次的升高引入相對判別器的RDCGAN網(wǎng)絡(luò)在SAR數(shù)據(jù)集對地車輛衛(wèi)星圖片中的識(shí)別準(zhǔn)確率逐漸升高,且高于原DCGAN網(wǎng)絡(luò),這表明引入相對判別器能夠有效地緩解模式坍塌現(xiàn)象,從而提升生成樣本的質(zhì)量。
為了驗(yàn)證引入殘差塊這一方法的有效性,本文將傳統(tǒng)DCGAN網(wǎng)絡(luò)的與改進(jìn)網(wǎng)絡(luò)的判別損失函數(shù)進(jìn)行對比,從訓(xùn)練結(jié)果中截取訓(xùn)練次數(shù)16 000~26 000進(jìn)行分析。由于改進(jìn)網(wǎng)絡(luò)引入更加穩(wěn)定的相對判別損失函數(shù),如圖6所示,判別器損失值更加穩(wěn)定,極少情況下出現(xiàn)波動(dòng)情況,損失值最終穩(wěn)定在0.25左右,而原始DCGAN的判別損失函數(shù)如圖7所示,最小損失值0.5,高于改進(jìn)網(wǎng)絡(luò)的最小損失值,并且訓(xùn)練過程中出現(xiàn)多次大幅振蕩現(xiàn)象,模型不穩(wěn)定。
圖6 RDCGAN網(wǎng)判別器損失
圖7 DCGAN網(wǎng)絡(luò)判別器損失
為進(jìn)一步驗(yàn)證本文所提方法的有效性,將改進(jìn)的RDCGAN網(wǎng)絡(luò)與其他現(xiàn)有數(shù)據(jù)增強(qiáng)方法進(jìn)行對比實(shí)驗(yàn)。實(shí)驗(yàn)采用Intel i5-10210U CPU、Win10操作系統(tǒng),基于TensorFlow 1.8-CPU的網(wǎng)絡(luò)架構(gòu),訓(xùn)練數(shù)據(jù)集使用MNIST手寫數(shù)據(jù)集、對地車輛目標(biāo)SAR圖像數(shù)據(jù)集與血液細(xì)胞數(shù)據(jù)集,與GAN、DCGAN、LSGAN、WGAN、SNGAN進(jìn)行實(shí)驗(yàn)對比。其中對地車輛目標(biāo)SAR圖像數(shù)據(jù)集采用美國國防高等研究計(jì)劃署(Defense Advanced Research Projects Agency,DARPA)公布的實(shí)測SAR地面靜止目標(biāo)數(shù)據(jù),血液細(xì)胞數(shù)據(jù)集采用權(quán)威醫(yī)學(xué)數(shù)據(jù)集BCCD血細(xì)胞數(shù)據(jù)集。
經(jīng)多次實(shí)驗(yàn)對比選擇最優(yōu)參數(shù)并設(shè)置如下:判別模型與生成模型學(xué)習(xí)率均為0.000 2,優(yōu)化器參數(shù)圖像批處理為64,訓(xùn)練批次為50次。
圖8為生成器在MNIST數(shù)據(jù)集上分別在訓(xùn)練次數(shù)為0、1 000、2 000、3 000、4 000左右時(shí)的結(jié)果。訓(xùn)練次數(shù)為0時(shí),GAN模型有大量噪聲,WGAN模型生成的圖像模糊且無法識(shí)別數(shù)字類型;訓(xùn)練次數(shù)為1 000時(shí),RDCGAN、DCGAN模型能夠清晰識(shí)別圖像類型,其余生成模型較為模糊;當(dāng)訓(xùn)練到2 000和3 000次左右時(shí),除GAN和SNGAN外所有模型均可以識(shí)別出數(shù)字類型,僅有少部分?jǐn)?shù)字較為模糊;訓(xùn)練至4 000次時(shí),LSGAN與WGAN模型生成圖片質(zhì)量明顯差于上一階段,說明這兩種模型均產(chǎn)生不同程度的模式崩塌現(xiàn)象,而GAN與SNGAN的生成圖片全程伴隨大量噪聲,其中SNGAN更為嚴(yán)重,DCGAN雖未產(chǎn)生大規(guī)模模式崩塌現(xiàn)象,但是與RDCGAN相比,在生成圖像的細(xì)節(jié)方面仍舊存在一些數(shù)字模糊不清無法分辨的現(xiàn)象,而本文的改進(jìn)模型RDCGAN從始至終生成圖像質(zhì)量穩(wěn)步提升,未產(chǎn)生大量噪聲且未出現(xiàn)模式崩塌。
圖8 訓(xùn)練結(jié)果對比圖
本文采用灰度方差函數(shù)(Sum of Modulus of gray Difference,SMD)評價(jià)生成樣本的清晰度與Fréchet Inception Distance(FID)評價(jià)樣本間的相似度,如式(15)所示:
(15)
式中:g、r分別代表生成圖像與真實(shí)圖像,μg與μr是各自特征向量的均值,Σg、∑r表示各自特征向量的協(xié)方差矩陣,Tr表示矩陣的跡。
SMD的數(shù)值越大,圖像清晰度越高。表1的對比結(jié)果表明,RDCGAN在三個(gè)數(shù)據(jù)集上的生成樣本的SMD值均高于DCGAN,改進(jìn)后的網(wǎng)絡(luò)模型較大地提升了圖像質(zhì)量。
表1 生成圖像質(zhì)量對比
使用訓(xùn)練3 000次左右后的生成圖像,從生成樣本中隨機(jī)選取100張圖像,計(jì)算其平均值作為量化評價(jià)指標(biāo)。FID評價(jià)指標(biāo)具有原則性和綜合性,能準(zhǔn)確反映生成樣本和真實(shí)樣本之間的相似性,值越小樣本間相似度越高,生成效果越好。改進(jìn)后RDCGAN的FID值在這三類數(shù)據(jù)集上較GAN和DCGAN相比均有明顯的降低,具體結(jié)果如表2所示,F(xiàn)ID值分別降低41.9%、18.0%與20.8%。由于WGAN與本文改進(jìn)模型RDCGAN在SAR數(shù)據(jù)集上FID值與其他模型相比較為接近,故使用相同超參數(shù)分別在訓(xùn)練2 000、3 000、4 000、5 000次左右進(jìn)行FID量化值評定,結(jié)果如表3所示,經(jīng)過多次訓(xùn)練得出結(jié)論:WGAN在訓(xùn)練過程中,隨著訓(xùn)練次數(shù)的提升,F(xiàn)ID值出現(xiàn)了回升現(xiàn)象,訓(xùn)練過程不穩(wěn)定,而本文的改進(jìn)算法RDCGAN隨著訓(xùn)練次數(shù)的增加,F(xiàn)ID逐步減少,訓(xùn)練過程穩(wěn)定,且生成圖像質(zhì)量清晰,細(xì)節(jié)豐富。
表2 各數(shù)據(jù)集上FID值比較
表3 不同訓(xùn)練次數(shù)FID值比較
為了解決現(xiàn)有DCGAN算法在小樣本圖像數(shù)據(jù)增強(qiáng)過程中由損失函數(shù)引起的模型穩(wěn)定性差及模型結(jié)構(gòu)帶來的生成圖像清晰度不理想等問題,本文構(gòu)建了一種基于殘差網(wǎng)絡(luò)的深度卷積生成對抗相對判別模型RDCGAN,在MNIST手寫數(shù)據(jù)集、SAR數(shù)據(jù)集和血液細(xì)胞數(shù)據(jù)集進(jìn)行多次對比試驗(yàn),從強(qiáng)化效果和量化指標(biāo)兩方面分析,實(shí)驗(yàn)結(jié)果均表明本文算法優(yōu)于其他生成對抗網(wǎng)絡(luò),證明了本文所做改進(jìn)的可行性和有效性。在未來的工作中,需要將本文算法應(yīng)用于更多更具挑戰(zhàn)性的數(shù)據(jù)增強(qiáng)場景中。