林勝 鞏名軼 牟文芊 董伯男
(山東農業大學信息科學與工程學院 山東省泰安市 271000)
由加拿大Goodfellow博士于2014年提出的對抗式生成網絡(Generative Adversarial Networks,GAN)[2]彌補了傳統概率生成模型的不足,如最大使然估計、馬爾可鏈等方法在建立模型時存在的需要大量先驗知識(如大量樣本)和擬合模型所需計算量龐大的問題,由于其優越性,近年得到快速發展。Goodfellow將GAN與變分自編碼器(Variational Auto-Encoder,VAE)[3]和信念網絡(Belief Nets,BF)[4]等作對比,GAN的優點如下:
(1)與VAE相比,GAN沒有引入任何決定性偏置(deterministic bias),變分方法引入決定性偏置,因為他們優化對數似然的下界,而不是似然度本身,從而導致了VAE生成的實例比GAN更模糊。
(2)相比玻爾茲曼機和GSN,GAN生成實例的過程只需要模型運行一次,而不是以馬爾科夫鏈的形式迭代多次。
(3)GAN因不需要在采樣序列生成不同的數據,因此比完全明顯的信念網絡(NADE,PixelRNN,WaveNet)等更快的產生樣本。
理論上GAN可以逐漸逼近任何概率分布,若判別器訓練良好,生成器可以生成與真實樣本幾乎相同的分布,它能夠有效地解決建立自然性解釋數據的生成難題,豐富生成樣本的多樣性。目前,GAN在圖像和視覺領域得到了廣泛的研究和應用,并延伸至語音和語言處理等方面。
GAN 也存在一些問題,包括優化過程中存在不穩定性、可解釋性差和很難達到納什均衡等。但作為深度學習領域一種新的生成模型也受到研究者的廣泛關注,并提出多種改進模型[5,6]。深度卷積對抗式生成網絡(Deep convolutional GAN,DCGAN)[7]是繼GAN之后比較好的改進,通過改進網絡結構,成功解決GAN不易訓練的問題并拓展了維度。
生成式對抗網絡包含捕獲數據分布的生成器G和估計樣本來自訓練數據的概率的判別器D。兩者的訓練過程是一個極小極大博弈問題,連著通過相互對抗最終達到納什均衡[8]。GAN的基本模型如圖1所示,隨機噪聲Z通過生成器G生成接近真實數據分布Pdata(x)的樣本G(z),判別器D判斷輸入樣本是真實數據x還是生成數據G(z)。可以證明在任意函數G和D的空間中,存在唯一的解決方案,使得G重現訓練數據分布,而D=0.5。

圖1:GAN基本模型

圖2:DCGAN生成器

圖3:真實茶葉病害圖像
判別器和生成器的訓練過程可以用一個值函數V(D,G)來表示,并把問題表示成公式(1)的極小-極大問題。

DCGAN將卷積運算的思想引入到生成模型中來做無監督訓練,利用卷積網絡強大的特征提取能力,提高了生成樣本質量收斂速度,有效解決對抗式生成網絡在無監督學習方面的不足。DCGAN模型有以下特點:
(1)該網絡模型去除全連接層,直接用卷積層連接生成器和判別器的輸入和輸出層。
(2)取消所有特征提取層(pooling),在Generator網絡中使用轉置卷積進行上采樣,在Discriminator網絡中用加入stride的卷積代替pooling。
(3)在Generator網絡中使用Relu作為激活函數,最后一層使用tanh,在Discriminator網絡中使用LeakyRelu作為激活函數。
(4)在Generator和Discriminator上都使用batchnorm批標準化一定程度上解決初始化差的問題、幫助梯度傳播到每一層、防止Generator把所有的樣本都收斂到同一個點。
經典DCGAN的生成器如圖2所示。
基于深度卷積生成式對抗網絡生成圖像通常需要四個步驟:
(1)收集和預處理訓練數據;
(2)基于深度卷積對抗式生成網絡構建生成器和判別器;
(3)訓練生成器和判別器;
(4)利用訓練好的生成網絡生成農作物病蟲害圖像。
該實驗病蟲害圖像由本團隊在多個農作物生長周期期間采集的包括茶葉、小麥、花生等十幾種農作物的幾十種病蟲害的近萬張圖片。該實驗計劃以茶葉病蟲害圖像為真實圖像,并對其進行歸一化處理,將其處理為256×256像素,得到訓練樣本如圖3所示。
DCGAN的生成器模型如圖4所示,100維噪聲作為輸入,通過一個全連接層進行維度轉換成(8,8,512)的三維張量,之后通過兩個卷積核為3×3像素步幅為2的轉置卷積層輸出(32,32,128)的三維張量,經過卷積核為3×3像素步幅為4的轉置卷積層,輸出再次經過3×3像素步幅為2的轉置卷積層輸出(256,256,3)的三維張量,tanh激活,即生成一個圖像樣本。
DCGAN的判別器模型結構如圖4所示,判別器以(256,256,3)的三維張量作為輸入,經過一個卷積核為3×3像素步幅為2的卷積層輸出維(128,128,32)的三維張量,然后經過卷積核為3×3像素步幅為4的卷積層,輸出再次經過兩個卷積核為3×3像素步幅為2的卷積層輸出(4,4,512)的三維張量,最后通過一個全連接層輸出1維的結果。

圖4:生成器結構

圖5:生成器和判別器損失函數

圖6:生成茶葉病害圖像
本論文工作基于深度卷積對抗式生成網絡實現農作物病蟲害圖像的擴充,訓練時使用Adam方式進行梯度下降,學習率為:learning_rate=0.001,mini-batch為128,每層的輸出結果進行批量歸一化(Batch Normalization,BN)[9]處理,使圖像數據分布一致,增加訓練網絡模型更加容易和穩定。生成器的轉置卷積層中使用Relu函數作為激活函數,判別器中卷積層使用LeakRelu函數作為激活函數,迭代200個周期,輸出圖像大小為(256,256,3)。
由圖5可以看出DCGAN生成器和判別器在訓練初期由于各自的生成能力和判別能力都較弱,損失函數值變化較大。但隨著訓練次數的增加,生成器和判別器的能力逐漸增強,判別器和生成器的損失函數Loss在逐步下降,最終兩者在較小的范圍內波動。這也表明該模型訓練正常,未發生異常情況。最終生成茶葉病害圖像如圖6所示。
DCGAN結合了CNN和GAN模型各自的優點,可以從物體或場景圖像數據集中學習到多維深層次表征。本文基于Tensorflow深度學習框架設計圖像生成模型,利用生成式對抗網絡強大的生成能力建立完備的農作物病害圖像數據庫,提高我們的農業病害圖像的基數,為農作物病害圖像集的建立提供有力的數據支持。同時生成的數據可用于圖像識別,提高圖像識別的準確率。該工作對于農業的信息化現代化具有重要意義。