林勝 鞏名軼 牟文芊 董伯男
(山東農(nóng)業(yè)大學(xué)信息科學(xué)與工程學(xué)院 山東省泰安市 271000)
由加拿大Goodfellow博士于2014年提出的對抗式生成網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)[2]彌補了傳統(tǒng)概率生成模型的不足,如最大使然估計、馬爾可鏈等方法在建立模型時存在的需要大量先驗知識(如大量樣本)和擬合模型所需計算量龐大的問題,由于其優(yōu)越性,近年得到快速發(fā)展。Goodfellow將GAN與變分自編碼器(Variational Auto-Encoder,VAE)[3]和信念網(wǎng)絡(luò)(Belief Nets,BF)[4]等作對比,GAN的優(yōu)點如下:
(1)與VAE相比,GAN沒有引入任何決定性偏置(deterministic bias),變分方法引入決定性偏置,因為他們優(yōu)化對數(shù)似然的下界,而不是似然度本身,從而導(dǎo)致了VAE生成的實例比GAN更模糊。
(2)相比玻爾茲曼機和GSN,GAN生成實例的過程只需要模型運行一次,而不是以馬爾科夫鏈的形式迭代多次。
(3)GAN因不需要在采樣序列生成不同的數(shù)據(jù),因此比完全明顯的信念網(wǎng)絡(luò)(NADE,PixelRNN,WaveNet)等更快的產(chǎn)生樣本。
理論上GAN可以逐漸逼近任何概率分布,若判別器訓(xùn)練良好,生成器可以生成與真實樣本幾乎相同的分布,它能夠有效地解決建立自然性解釋數(shù)據(jù)的生成難題,豐富生成樣本的多樣性。目前,GAN在圖像和視覺領(lǐng)域得到了廣泛的研究和應(yīng)用,并延伸至語音和語言處理等方面。
GAN 也存在一些問題,包括優(yōu)化過程中存在不穩(wěn)定性、可解釋性差和很難達(dá)到納什均衡等。但作為深度學(xué)習(xí)領(lǐng)域一種新的生成模型也受到研究者的廣泛關(guān)注,并提出多種改進(jìn)模型[5,6]。深度卷積對抗式生成網(wǎng)絡(luò)(Deep convolutional GAN,DCGAN)[7]是繼GAN之后比較好的改進(jìn),通過改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu),成功解決GAN不易訓(xùn)練的問題并拓展了維度。
生成式對抗網(wǎng)絡(luò)包含捕獲數(shù)據(jù)分布的生成器G和估計樣本來自訓(xùn)練數(shù)據(jù)的概率的判別器D。兩者的訓(xùn)練過程是一個極小極大博弈問題,連著通過相互對抗最終達(dá)到納什均衡[8]。GAN的基本模型如圖1所示,隨機噪聲Z通過生成器G生成接近真實數(shù)據(jù)分布Pdata(x)的樣本G(z),判別器D判斷輸入樣本是真實數(shù)據(jù)x還是生成數(shù)據(jù)G(z)??梢宰C明在任意函數(shù)G和D的空間中,存在唯一的解決方案,使得G重現(xiàn)訓(xùn)練數(shù)據(jù)分布,而D=0.5。
圖1:GAN基本模型
圖2:DCGAN生成器
圖3:真實茶葉病害圖像
判別器和生成器的訓(xùn)練過程可以用一個值函數(shù)V(D,G)來表示,并把問題表示成公式(1)的極小-極大問題。
DCGAN將卷積運算的思想引入到生成模型中來做無監(jiān)督訓(xùn)練,利用卷積網(wǎng)絡(luò)強大的特征提取能力,提高了生成樣本質(zhì)量收斂速度,有效解決對抗式生成網(wǎng)絡(luò)在無監(jiān)督學(xué)習(xí)方面的不足。DCGAN模型有以下特點:
(1)該網(wǎng)絡(luò)模型去除全連接層,直接用卷積層連接生成器和判別器的輸入和輸出層。
(2)取消所有特征提取層(pooling),在Generator網(wǎng)絡(luò)中使用轉(zhuǎn)置卷積進(jìn)行上采樣,在Discriminator網(wǎng)絡(luò)中用加入stride的卷積代替pooling。
(3)在Generator網(wǎng)絡(luò)中使用Relu作為激活函數(shù),最后一層使用tanh,在Discriminator網(wǎng)絡(luò)中使用LeakyRelu作為激活函數(shù)。
(4)在Generator和Discriminator上都使用batchnorm批標(biāo)準(zhǔn)化一定程度上解決初始化差的問題、幫助梯度傳播到每一層、防止Generator把所有的樣本都收斂到同一個點。
經(jīng)典DCGAN的生成器如圖2所示。
基于深度卷積生成式對抗網(wǎng)絡(luò)生成圖像通常需要四個步驟:
(1)收集和預(yù)處理訓(xùn)練數(shù)據(jù);
(2)基于深度卷積對抗式生成網(wǎng)絡(luò)構(gòu)建生成器和判別器;
(3)訓(xùn)練生成器和判別器;
(4)利用訓(xùn)練好的生成網(wǎng)絡(luò)生成農(nóng)作物病蟲害圖像。
該實驗病蟲害圖像由本團(tuán)隊在多個農(nóng)作物生長周期期間采集的包括茶葉、小麥、花生等十幾種農(nóng)作物的幾十種病蟲害的近萬張圖片。該實驗計劃以茶葉病蟲害圖像為真實圖像,并對其進(jìn)行歸一化處理,將其處理為256×256像素,得到訓(xùn)練樣本如圖3所示。
DCGAN的生成器模型如圖4所示,100維噪聲作為輸入,通過一個全連接層進(jìn)行維度轉(zhuǎn)換成(8,8,512)的三維張量,之后通過兩個卷積核為3×3像素步幅為2的轉(zhuǎn)置卷積層輸出(32,32,128)的三維張量,經(jīng)過卷積核為3×3像素步幅為4的轉(zhuǎn)置卷積層,輸出再次經(jīng)過3×3像素步幅為2的轉(zhuǎn)置卷積層輸出(256,256,3)的三維張量,tanh激活,即生成一個圖像樣本。
DCGAN的判別器模型結(jié)構(gòu)如圖4所示,判別器以(256,256,3)的三維張量作為輸入,經(jīng)過一個卷積核為3×3像素步幅為2的卷積層輸出維(128,128,32)的三維張量,然后經(jīng)過卷積核為3×3像素步幅為4的卷積層,輸出再次經(jīng)過兩個卷積核為3×3像素步幅為2的卷積層輸出(4,4,512)的三維張量,最后通過一個全連接層輸出1維的結(jié)果。
圖4:生成器結(jié)構(gòu)
圖5:生成器和判別器損失函數(shù)
圖6:生成茶葉病害圖像
本論文工作基于深度卷積對抗式生成網(wǎng)絡(luò)實現(xiàn)農(nóng)作物病蟲害圖像的擴(kuò)充,訓(xùn)練時使用Adam方式進(jìn)行梯度下降,學(xué)習(xí)率為:learning_rate=0.001,mini-batch為128,每層的輸出結(jié)果進(jìn)行批量歸一化(Batch Normalization,BN)[9]處理,使圖像數(shù)據(jù)分布一致,增加訓(xùn)練網(wǎng)絡(luò)模型更加容易和穩(wěn)定。生成器的轉(zhuǎn)置卷積層中使用Relu函數(shù)作為激活函數(shù),判別器中卷積層使用LeakRelu函數(shù)作為激活函數(shù),迭代200個周期,輸出圖像大小為(256,256,3)。
由圖5可以看出DCGAN生成器和判別器在訓(xùn)練初期由于各自的生成能力和判別能力都較弱,損失函數(shù)值變化較大。但隨著訓(xùn)練次數(shù)的增加,生成器和判別器的能力逐漸增強,判別器和生成器的損失函數(shù)Loss在逐步下降,最終兩者在較小的范圍內(nèi)波動。這也表明該模型訓(xùn)練正常,未發(fā)生異常情況。最終生成茶葉病害圖像如圖6所示。
DCGAN結(jié)合了CNN和GAN模型各自的優(yōu)點,可以從物體或場景圖像數(shù)據(jù)集中學(xué)習(xí)到多維深層次表征。本文基于Tensorflow深度學(xué)習(xí)框架設(shè)計圖像生成模型,利用生成式對抗網(wǎng)絡(luò)強大的生成能力建立完備的農(nóng)作物病害圖像數(shù)據(jù)庫,提高我們的農(nóng)業(yè)病害圖像的基數(shù),為農(nóng)作物病害圖像集的建立提供有力的數(shù)據(jù)支持。同時生成的數(shù)據(jù)可用于圖像識別,提高圖像識別的準(zhǔn)確率。該工作對于農(nóng)業(yè)的信息化現(xiàn)代化具有重要意義。