樊雷
摘要:卷積神經(jīng)網(wǎng)絡(luò)CNN目前在有監(jiān)督學(xué)習(xí)領(lǐng)域有著優(yōu)秀的表現(xiàn),但在無監(jiān)督學(xué)習(xí)領(lǐng)域研究進(jìn)展緩慢。該文將CNN引入到GAN中的生成式模型中做無監(jiān)督訓(xùn)練,利用CNN強(qiáng)大的特征提取能力來提高生成式模型的學(xué)習(xí)效果,采用TensorFlow和Python代碼實現(xiàn)了DCGAN中的D模型和G模型,并在MNIST部分?jǐn)?shù)據(jù)集下驗證了模型生成數(shù)字圖像效果。實驗結(jié)果表明采用DCGAN可以有效獲取圖像表征用于分類并具備生成較高分辨率的圖像能力。
關(guān)鍵詞:DCGAN;深度學(xué)習(xí);TensorFlow;GAN
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)36-0219-03
Abstract: Convolutional neural network (CNN) has excellent performance in supervised learning field, but the progress of research is slow in unsupervised learning. This paper introduced CNN into the generative model of GAN in unsupervised training, to improve the ability to extract generative model learning effect by the powerful character of CNN, using TensorFlow and Python code to achieve the D model and G model within DCGAN, and validates the model to generate digital image effect by the dataset of MNIST. Experimental results show that DCGAN can effectively obtain image representation for classification, and has the ability to generate high resolution of images.
Key words: DCGAN; Deep learning; TensorFlow; GAN
1 TensorFlow概述
TensorFlow是Google公司在2015年11月開源的第二代人工智能學(xué)習(xí)系統(tǒng),具備了高層次的機(jī)器學(xué)習(xí)計算能力,其特點是靈活性強(qiáng)、速度快、擴(kuò)展性好,支持異種設(shè)備分布式計算,特別是對GPU分布式計算具備良好的支持,能夠在不同異種平臺上實現(xiàn)分散節(jié)點自動運行各種目前流行的深度學(xué)習(xí)模型,可以構(gòu)建從單個CPU 或 GPU到成百上千處理單元組成的分布式系統(tǒng)來加速深度學(xué)習(xí)模型的訓(xùn)練速度。目前TensorFlow已經(jīng)開源支持了卷積神經(jīng)網(wǎng)絡(luò)CNN、遞歸神經(jīng)網(wǎng)絡(luò)RNN和LSTM神經(jīng)網(wǎng)絡(luò)等經(jīng)典深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型。TensorFlow 提供了 C, C++, Python 編程語言接口,特別是Python 庫更加易學(xué)易用,同時提供了大量的內(nèi)置函數(shù)來簡化深度學(xué)習(xí)計算圖的構(gòu)建。圖1為TensorFlow分層架構(gòu)[1]。
2 生成式對抗網(wǎng)絡(luò)GAN
Christian Szegedy等人在ICLR 2014發(fā)表的論文[2]中,提出了對抗樣本(Adversarial examples)的概念,即在輸入樣本數(shù)據(jù)集中設(shè)計細(xì)微的干擾,以合成噪聲構(gòu)造的圖像樣本數(shù)據(jù)作為輸入,致使多種深度學(xué)習(xí)模型以高置信度給出了錯誤的輸出結(jié)果。實驗表明包括卷積神經(jīng)網(wǎng)絡(luò)(CNN)在內(nèi)的各種深度學(xué)習(xí)模型和其他機(jī)器學(xué)習(xí)模型對于對抗樣本都表現(xiàn)出了極低的魯棒性。生成式對抗網(wǎng)絡(luò)(GAN)的設(shè)計靈感來源于博弈論中的零和博弈,由Goodfellow在論文[3]中創(chuàng)造性地提出。GAN通過研究深度學(xué)習(xí)本身對識別對抗樣本的缺陷,利用“欺騙”和“反欺騙”的博弈,實現(xiàn)了模型內(nèi)部的監(jiān)督學(xué)習(xí)。GAN中的博弈模型分別是生成模型G和判別模型D,其模型中使用的G(z)和D(x)通常為非線性映射函數(shù),輸入樣本一般來源于多層感知機(jī)、卷積神經(jīng)網(wǎng)絡(luò)或其他人工智能模型。
3 DCGAN原理和實現(xiàn)方法
DCGAN全稱是Deep Convolution GAN,即采用深度卷積網(wǎng)絡(luò)對G進(jìn)行建模。G的輸入是一個 100維隨機(jī)噪聲向量,服從均勻分布,區(qū)間為[-1,1]。 CNN使用了一個全連接層和4個卷積層,通過卷積算法將高層表征轉(zhuǎn)換為64 * 64*3的RGB圖片。 第一個卷積層采用全連接100 —>1024,并將1024的一維向量重塑成1024個通道的4*4的特征圖。G的后面三層采用反卷積層,其通道數(shù)取半并將圖像尺寸增加一倍。
判別模型D是一個沒有pooling的全卷積網(wǎng)絡(luò)。 D的輸入維度和G的輸出保持一致,訓(xùn)練樣本的結(jié)果輸出是一個長度為1 的向量,數(shù)字的范圍從0到1,表示輸入數(shù)據(jù)屬于訓(xùn)練數(shù)據(jù)而非生成樣本的概率。
4 DCGAN圖片生成效果
以下利用DCGAN來生成MNIST數(shù)字手寫體灰度圖像,由于實驗條件限制,硬件采用Intel I7 4770處理器和8G內(nèi)存對Tensorflow進(jìn)行了CPU運算,分別迭代100、1000、2000輪,3次Epoch后,選取的部分MNIST數(shù)字圖像生成效果如圖4所示。
圖5采用一張花卉圖片樣本,對比DCGAN和Autoencoder無監(jiān)督的學(xué)習(xí)算法效果。
通過觀察可以發(fā)現(xiàn)DCGAN能夠更為有效、快速地實現(xiàn)生成高質(zhì)量圖片。實驗還表明通過增大Epoch代數(shù),當(dāng)Epoch達(dá)到一定次數(shù)后,對生成的圖像分辨率提高意義不大。endprint
5 結(jié)束語
DCGAN結(jié)合了CNN和GAN模型各自的優(yōu)點,可以從物體或場景圖像數(shù)據(jù)集中學(xué)習(xí)到多維深層次表征,工程實踐中訓(xùn)練的結(jié)果可以有效的用于生成圖像的多維向量表征,在人工智能圖像生成方面具有較高的應(yīng)用價值。從目前國外學(xué)者們的實驗效果來看,在人臉和場景生成等方向上已經(jīng)取得了突破性的進(jìn)展。TensorFlow下實現(xiàn)DCGAN可以有效地將學(xué)術(shù)領(lǐng)域和工程領(lǐng)域結(jié)合起來,通過TensorFlow的優(yōu)秀計算特性、擴(kuò)展特性可以有效地加速人工智能深度學(xué)習(xí)各種模型的訓(xùn)練速度,快速驗證模型算法的有效性和魯棒性,具有廣闊的實驗、科研以及工程應(yīng)用價值。
參考文獻(xiàn):
[1] Abadi M, Barham P. TensorFlow: A system for large-scale machine learning [J]. arXiv preprint arXiv: 1605.08695V2, 2016(5):9-10.
[2] Szegedy C, Zaremba W, Sutskever I, et al. Intriguing properties of neural networks[J]. arXiv preprint arXiv: 1312.6199v4, 2014(2):1-2.
[3] Goodfellow Ian, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[J]. arXiv: 1406.2661v1 ,2014(6):4-5
[4] Radford A, Metz L, Chintala S. Unsupervised representation learning with deep convolutional generative adversarial networks[J]. arXiv preprint arXiv: 1511. 06434, 2015: 4
[5] Yeh R, Chen C, Lim T Y, et al. Semantic Image Inpainting with Perceptual and Contextual Losses[J]. arXiv preprint arXiv: arXiv: 1607. 07539 v1, 2016: 5.
[6] Im D J, Kim C D, Jiang H, et al. Generating images with recurrent adversarial networks[J]. arXiv preprint arXiv: 1602, 05110, 2016.endprint