張強(qiáng) 楊劍 富麗貞
摘 要:在實(shí)際工作中深度學(xué)習(xí)方法通常不具備大量的訓(xùn)練樣本,因此提出了雙輸入流深度反卷積生成神經(jīng)網(wǎng)絡(luò)的構(gòu)架,依據(jù)給定的條件產(chǎn)生新的目標(biāo)圖像,從而擴(kuò)充訓(xùn)練樣本集。該神經(jīng)網(wǎng)絡(luò)的整體架構(gòu)由雙輸入的卷積網(wǎng)絡(luò)和一個(gè)反卷積網(wǎng)絡(luò)輸出構(gòu)成,其中雙輸入卷積網(wǎng)絡(luò)接收目標(biāo)物體不同視角的兩張圖片并提取抽象特征,而反卷積網(wǎng)絡(luò)則利用抽象特征和設(shè)定的參數(shù)產(chǎn)生新的插值目標(biāo)圖像。在ShapeNetCore數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果顯示,在相同數(shù)量的訓(xùn)練樣本空間中,與未擴(kuò)展數(shù)據(jù)集的卷積網(wǎng)絡(luò)相比,雙輸入流深度反卷積生成神經(jīng)網(wǎng)絡(luò)的識別率提高了20%左右。結(jié)果表明,雙輸入流深度反卷積生成神經(jīng)網(wǎng)絡(luò)無需輸入目標(biāo)物類別,可生成新參數(shù)條件下的目標(biāo)圖像,擴(kuò)充訓(xùn)練樣本空間,從而提高識別率,可用于少樣本的目標(biāo)物多角度識別。
關(guān)鍵詞:深度學(xué)習(xí);人工智能;生成神經(jīng)網(wǎng)絡(luò);反卷積;雙輸入流
中圖分類號:?TP183
文獻(xiàn)標(biāo)志碼:A
Two-input stream deep deconvolution neural network for interpolation and recognition
ZHANG Qiang1, YANG Jian1,2*, FU Lizhen1
1.School of Software, North University of China, Taiyuan Shanxi 030051, China ;
2.Key Laboratory of Electromagnetic Wave Information of Ministry of Education (Fudan University), Shanghai 200433, China
Abstract:?It is impractical to have a large size of training dataset in real work for neural network training, so a two-input stream generative neural network which can generate a new image with the given parameters was proposed, hence to augment the training dataset. The framework of the proposed neural network consists of a two-input steam convolution network and a deconvolution network.
The two-input steam network has two convolution networks to extract features, and the deconvolution network is connected to the end. Two images with different angle were input into the convolution network to get high-level description, then an interpolation target image with a new perspectives was generated by using the deconvolution network with the above high-level description and set parameters. The experiment results on ShapeNetCore show that on the same dataset, the recognition rate of the proposed network has increased by 20% than the common network framework. This method can enlarge the size of the training dataset and is useful for multi-angle recognition.
Key words:?deep learning; artificial intelligence; generative neural network; deconvolution; two-input stream
0 引言
深度學(xué)習(xí)近些年來在人工智能各個(gè)領(lǐng)域都取得了顯著的成果,在分類識別等方面的性能表現(xiàn)優(yōu)異。深度學(xué)習(xí)的優(yōu)異性能通常依賴于巨量的訓(xùn)練,因此需要大量標(biāo)簽化的訓(xùn)練數(shù)據(jù);但在實(shí)際工作中,具備大量訓(xùn)練樣本的條件通常是少數(shù)或者是不現(xiàn)實(shí)的,小樣本嚴(yán)重影響了神經(jīng)網(wǎng)絡(luò)的性能。因此,開展依據(jù)給定條件產(chǎn)生新的目標(biāo)圖像的研究具有現(xiàn)實(shí)意義和研究價(jià)值。
為了產(chǎn)生新的樣本圖像,現(xiàn)有的方法通常采用圖像處理的方法,如利用縮放、旋轉(zhuǎn)、平移等產(chǎn)生新的圖像;但這類方法得到的圖片通常存在質(zhì)量不高、容易偏差等問題。利用生成神經(jīng)網(wǎng)絡(luò)產(chǎn)生圖像的方法雖然較為先進(jìn),但存在需要預(yù)知其類別或高層特征的問題。
另一種方法則是利用知識遷移實(shí)現(xiàn)對網(wǎng)絡(luò)參數(shù)學(xué)習(xí)的優(yōu)化,但該類方法遷移較為困難,且效果難以保證。
本文在分析上述幾類方法的基礎(chǔ)上,基于深度學(xué)習(xí)方法提出了雙輸入流深度反卷積生成神經(jīng)網(wǎng)絡(luò)架構(gòu)。該神經(jīng)網(wǎng)絡(luò)接收不同角度的兩張圖像,利用卷積神經(jīng)網(wǎng)絡(luò)提取出高層抽象特征,再利用反卷積神經(jīng)網(wǎng)絡(luò)并設(shè)定新角度等條件產(chǎn)生高質(zhì)量的新圖像。實(shí)驗(yàn)結(jié)果表明,該網(wǎng)絡(luò)結(jié)構(gòu)具有其自身的特點(diǎn),能依據(jù)給定的條件產(chǎn)生高質(zhì)量的圖像,從而擴(kuò)充訓(xùn)練集,最終影響神經(jīng)網(wǎng)絡(luò)的識別性能。
與現(xiàn)有的生成神經(jīng)網(wǎng)絡(luò)相比,主要區(qū)別在于:1)與文獻(xiàn) [10]中的方法不同,所提出的神經(jīng)網(wǎng)絡(luò)無需輸入目標(biāo)物類別,能夠在抽象出未知目標(biāo)物的高層特征后利用高層特征生成此目標(biāo)物在新參數(shù)下的圖像;
2)與現(xiàn)有網(wǎng)絡(luò)不同,所提出的網(wǎng)絡(luò)采用雙輸入圖像,能提取高層抽象特征,并利用反卷積神經(jīng)網(wǎng)絡(luò)完成圖像的生成;
3)該網(wǎng)絡(luò)可設(shè)置輸入?yún)?shù),產(chǎn)生不同尺寸、大小、視角和亮度的圖像;
4)其中的倒置卷積神經(jīng)網(wǎng)絡(luò)部分可作為分類器,在相同的訓(xùn)練集條件下,利用擴(kuò)充的數(shù)據(jù)集可有效提高識別率。
1 相關(guān)工作
在少樣本條件下(zero-shot or few-shot learning)的深度學(xué)習(xí)問題是當(dāng)前人工智能領(lǐng)域的難點(diǎn)問題,也屬于遷移學(xué)習(xí)的研究領(lǐng)域。在實(shí)際研究工作中,深度學(xué)習(xí)只具備少樣本條件是較普遍的問題。針對該問題,現(xiàn)有研究工作可分為兩類:數(shù)據(jù)集方法和網(wǎng)絡(luò)參數(shù)訓(xùn)練優(yōu)化方法。
在數(shù)據(jù)集擴(kuò)充方法的研究工作中,科研人員利用傳統(tǒng)圖像變換方法擴(kuò)充訓(xùn)練數(shù)據(jù)集,例如Ding等[1]采用圖像旋轉(zhuǎn)、平移和摳圖等方法得到新的圖像;該方法可在一定程度上提高網(wǎng)絡(luò)識別率,但存在產(chǎn)生的訓(xùn)練樣本變形、與實(shí)際圖像存在偏差、存在明顯的融合界線等問題,對數(shù)據(jù)集的擴(kuò)展能力有限。
另外,如文獻(xiàn)[2]所述,較為先進(jìn)的方法是利用對抗或產(chǎn)生神經(jīng)網(wǎng)絡(luò)(Generative Adversarial Network, GAN)產(chǎn)生新的圖像,如國內(nèi)的朱俊鵬等[3]、陳文兵等[4]就是利用生成式對抗網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)據(jù)的增強(qiáng)。其中典型的網(wǎng)絡(luò)是Hinton等[5]提出的受限玻爾茲曼機(jī)(Restricted Boltzmann Machine, RBM)和Salakhutdinov等[6]給出的深度波爾茲曼機(jī)(Depth Boltzmann Machine, DBM),它們基于能量的概率分布模型,使產(chǎn)生的圖像外形符合該隨機(jī)模型,缺點(diǎn)是產(chǎn)生圖像具有隨機(jī)性。
此外還有類似具有隨機(jī)性參數(shù)的生成網(wǎng)絡(luò),如文獻(xiàn)[7-9]。Dosovitskiy等[10]則是將常用的反卷積神經(jīng)網(wǎng)絡(luò) (Deconvolution neural networks) 通過已知的類別在新參數(shù)條件下產(chǎn)生新的圖像,文獻(xiàn)中的實(shí)驗(yàn)結(jié)果表明該網(wǎng)絡(luò)結(jié)構(gòu)可產(chǎn)生新的旋轉(zhuǎn)、尺寸、角度參數(shù)的高質(zhì)量圖像,甚至匹配圖像間的特征點(diǎn)。
Goodfellow等[11]利用對抗生成網(wǎng)絡(luò)實(shí)現(xiàn)了圖像的生成。Zhu等[12]構(gòu)建神經(jīng)網(wǎng)絡(luò)輸入單張人臉圖片,然后產(chǎn)生一個(gè)隨機(jī)視角的人臉圖像,其訓(xùn)練也需要大量隨機(jī)視角圖像。文獻(xiàn)[12]的方法基于生成神經(jīng)網(wǎng)絡(luò)產(chǎn)生圖像的方法通過訓(xùn)練抽象出高層圖像特征,進(jìn)而在新的參數(shù)條件下產(chǎn)生更逼真或接近實(shí)際環(huán)境的圖像,它可產(chǎn)生新視角下的圖像,甚至將不同環(huán)境下的圖像合成一張新的圖像;然而該方法也存在自身問題,如它們的網(wǎng)絡(luò)必須見過目標(biāo)物或產(chǎn)生的圖像較難控制。
網(wǎng)絡(luò)參數(shù)訓(xùn)練優(yōu)化方法則利用知識遷移將已經(jīng)進(jìn)行過大量訓(xùn)練形成知識的神經(jīng)網(wǎng)絡(luò)用于識別未知的類別,也就是優(yōu)化或微調(diào)網(wǎng)絡(luò),從而在很少的訓(xùn)練樣本條件下完成網(wǎng)絡(luò)參數(shù)的學(xué)習(xí)和調(diào)整。也就是說,利用前期的知識去學(xué)習(xí)識別未知的類型。Li等[13-14]通過模型參數(shù)、共享特征和相關(guān)信息等傳遞知識。元學(xué)習(xí)方法則是另外一個(gè)重要分支,也就是學(xué)會學(xué)習(xí)。Santoro等[15]通過增加記憶將前期的結(jié)果作為此次的輸入,使得神經(jīng)網(wǎng)絡(luò)可以利用以往的知識來學(xué)習(xí)。Andrychowicz等[16]則利用以往的訓(xùn)練集學(xué)會預(yù)測梯度,從而學(xué)會學(xué)習(xí),利用以往或其他的訓(xùn)練集訓(xùn)練一個(gè)注意力模型,從而面對少樣本條件時(shí),能夠關(guān)注最重要的部分。Twitter的研究員Ravi等[17]則推出了基于長短期記憶(Long Short-Term Memory, LSTM)網(wǎng)絡(luò)的元學(xué)習(xí)模型,該方法采用LSTM的結(jié)構(gòu)訓(xùn)練出一個(gè)神經(jīng)網(wǎng)絡(luò)的更新機(jī)制,輸入網(wǎng)絡(luò)參數(shù)后能輸出新的更新參數(shù)。
可以看出類似文獻(xiàn)[17]中方法的核心就是“知識或?qū)W習(xí)的遷移”,因此此類方法受到以往或前期知識的限制,雖具有理論的先進(jìn)性,但在實(shí)際工作中需要精心挑選知識或?qū)W習(xí)的方法,在理論方面還需不斷完善。
不同于元學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)訓(xùn)練問題,本文采用較為直觀的數(shù)據(jù)集擴(kuò)充增加訓(xùn)練集的方法,提出了新的網(wǎng)絡(luò)結(jié)構(gòu)用于生成新的圖像,從而達(dá)到擴(kuò)充訓(xùn)練集、提高識別率的目的。
2 雙輸入流深度反卷積生成神經(jīng)網(wǎng)絡(luò)架構(gòu)
雙輸入流的深度反卷積生成神經(jīng)網(wǎng)絡(luò)的架構(gòu)以及網(wǎng)絡(luò)各部分的參數(shù)配置如圖1所示。
該網(wǎng)絡(luò)在訓(xùn)練集基礎(chǔ)上形成了不同視角圖像間如何插值的知識,從而可針對未知的圖像形成新視角下的圖像并擴(kuò)充訓(xùn)練集,其本質(zhì)也是一種知識遷移。不同于單輸入的網(wǎng)絡(luò),雙輸入網(wǎng)絡(luò)具有更完備的知識,能形成高質(zhì)量的插圖。
圖1中包括三個(gè)部分,分別是:①雙輸入流的深度卷積神經(jīng)網(wǎng)絡(luò);②全連層;③反卷積層。設(shè)網(wǎng)絡(luò)輸入上、下圖(本文將雙輸入的圖像表述為上、下兩圖),網(wǎng)絡(luò)生成的圖像表示為 I up、 I down和 I out,其中圖片的像素為128×128@3(寬度×長度@顏色三通道)。上輸入網(wǎng)絡(luò)、下輸入網(wǎng)絡(luò)以及產(chǎn)生網(wǎng)絡(luò)的參數(shù)表示為 v up、 v down和 v middle,該參數(shù)經(jīng)過三角函數(shù)實(shí)現(xiàn)歸一化, v =(sina,cosa,sinβ,cosβ,θ),其中α表示俯仰角,β表示方位角,θ表示圖像尺寸、亮度。由此,數(shù)據(jù)集表示如下:
D ={(( I , v )iup,( I , v )idown,( I , v )iout)s; i∈[1,N]}
(1)
其中,s表示場景,這里采用了無背景。
2.1 雙輸入流的深度卷積神經(jīng)網(wǎng)絡(luò)
該部分接收目標(biāo)物的不同角度圖像( I , v )i(128×128@3,三色通道),后接四個(gè)卷積網(wǎng)絡(luò)模塊(表示為conv-i(i=1,2,…)),每個(gè)模塊由卷積層、池化層和激活函數(shù)層構(gòu)成。
卷積層通過計(jì)算卷積核參數(shù)和圖像5×5×i(i=3,92,256)區(qū)域內(nèi)像素值的點(diǎn)積,同時(shí)累加上偏差向量,從而自動(dòng)提取高層特征。每個(gè)卷積層的計(jì)算方法如下:
O (l)j(x,y)=f( I (l)j(x,y))
(2)
W (l)j(x,y)=?? ∑ I i=1 ∑ F-1 p,q=0 k(l)ji(p,q)× O (l-1)i(x-p,y-q)+ b (l)j
(3)
非線性激活函數(shù)ReLU(Rectified Linear Unit)
其中: f(*)表示非線性激活函數(shù)ReLU(Rectified Linear Unit); W (l)j(x,y)是第j輸出層在位置(x,y)與卷積核k(l)ji(p,q)點(diǎn)積,并與偏差 b (l)j相加所得;(p,q)表示卷積核滑動(dòng)的步長。經(jīng)過卷積其圖像邊緣部分填充0,從而使輸出矩陣尺寸不變。超參數(shù):深度、步長和0填充共同決定了輸出矩陣的尺寸。輸出矩陣的深度和卷積核的個(gè)數(shù)相等。這些參數(shù)都是該網(wǎng)絡(luò)需要訓(xùn)練的對象。
ReLU層表示激活函數(shù)。最近的研究表明非飽和線性修正單元激活函數(shù)具有很好的性能,其功能可表示為:
f(x)=max(0,x)
(4)
在實(shí)際應(yīng)用中,ReLU函數(shù)可以減少大量的訓(xùn)練時(shí)間,同時(shí)具有最佳的性能,在訓(xùn)練過程的收斂曲線較好[8]。
池化層起到了降維、非線性、擴(kuò)大感知野的作用,也就是沿著橫向和縱向維度進(jìn)行下采樣。池化層的操作可表示為如下公式:
O (l+1)i(x,y)=max p,q=0,1,…,G-1? O (l)i(x×s+p,y×s+q)
(5)
其中: G 表示池化的尺寸;s表示步長,它決定相鄰池化窗口的間距。圖1中采用的池化尺寸是2×2。
2.2 全連層FC1、FC2、FC3
圖1中的全連層(②)如圖2所示,共有三個(gè)全連層網(wǎng)絡(luò),每一層網(wǎng)絡(luò)中的每個(gè)神經(jīng)元都與下一層網(wǎng)絡(luò)中的所有神經(jīng)元相連接。在網(wǎng)絡(luò)中,F(xiàn)C1將目標(biāo)圖像的特征進(jìn)一步抽象, v up、 v down和 v middle是圖像的俯仰角、方位角以及θ(尺寸、亮度)參數(shù),這里對參數(shù)計(jì)算正余弦后構(gòu)成向量,經(jīng)過神經(jīng)節(jié)點(diǎn)全連接后得到FC2、FC3。
2.3 反卷積層
反卷積層的方法類似于文獻(xiàn)[10-11, 16]中的工作。圖1中uconv-i(i=1~4)表示反卷積層,用抽象特征和參數(shù)產(chǎn)生新的插值目標(biāo)圖像。每個(gè)去卷積層由去池化和反卷積構(gòu)成,其中去卷積核的尺寸為5×5×i(i=256,92,3),去池化的功能則與傳統(tǒng)CNN的池化相反。
從圖1中可以看出,將反卷積層(③),也就是uconv-i(i=1~4)的去卷積層部分以及全連層部分進(jìn)行倒置,可構(gòu)成CNN分類識別網(wǎng)絡(luò),在添加software層的條件下,可輸出識別結(jié)果。
3 神經(jīng)網(wǎng)絡(luò)訓(xùn)練以及數(shù)據(jù)集
3.1 訓(xùn)練網(wǎng)絡(luò)
雙輸入流的深度反卷積生成神經(jīng)網(wǎng)絡(luò)采用的損失函數(shù)由生成的目標(biāo)圖像和真實(shí)圖像之間的偏差確定。在訓(xùn)練過程中,采用梯度下降方法最小化損失函數(shù)(Loss Function)調(diào)整全網(wǎng)絡(luò)的參數(shù)。
min W ∑ N i=1 LRGB( G ( I i, v i), O ( I ireal, v i))
(6)
LRGB(*)= ( G ( I i, v i)- O ( I ireal, v i))2 2
(7)
其中:LRGB(*)表示圖像的損失函數(shù); G (Ii,vi)表示由雙輸入流的深度反卷積生成神經(jīng)網(wǎng)絡(luò)產(chǎn)生的目標(biāo)圖像,其外部參數(shù)設(shè)定為 v i=(sinα,cosα,sinβ,cosβ,θ)i; O (Iireal, v i)表示在場景該條件 v i下的真實(shí)圖像,在本文實(shí)驗(yàn)中LRGB(*)表示歐氏距離。
實(shí)驗(yàn)采用TensorFlow框架實(shí)現(xiàn)該網(wǎng)絡(luò)并進(jìn)行訓(xùn)練。訓(xùn)練中,加載樣本的批量為31,學(xué)習(xí)率設(shè)定為0.0005,并進(jìn)行1000次循環(huán)訓(xùn)練,隨后間隔300次循環(huán)調(diào)整學(xué)習(xí)率減半,總共進(jìn)行1000次迭代。在實(shí)驗(yàn)中,利用高斯隨機(jī)數(shù)初始化參數(shù),采用的是NVIDIA公司的GPU,產(chǎn)生128×128像素的圖像。
3.2 數(shù)據(jù)集
本文采用的數(shù)據(jù)集是ShapeNetCore子集,該數(shù)據(jù)集由斯坦福和普林斯頓大學(xué)的相關(guān)學(xué)者聯(lián)合創(chuàng)建,以3D模型數(shù)據(jù)為主,涵蓋了55類物體模型,共51300個(gè)3D模型,
圖3中給出了部分模型的圖像。
本文采用文獻(xiàn)[10]中提供的數(shù)據(jù)集作為訓(xùn)練集,共有1393個(gè)椅子的模型,每個(gè)模型有62個(gè)視角,其中在每個(gè)俯仰角20°和30°下,分別有31個(gè)方位角(0°~360°,間隔11°)。同時(shí),實(shí)驗(yàn)中對原圖像(600×600像素)進(jìn)行裁剪中心區(qū)域、去掉周邊白色區(qū)域的預(yù)處理,使圖像大小變?yōu)?56×256,再修改尺寸為128×128像素,經(jīng)過上述步驟處理后構(gòu)成本文的數(shù)據(jù)集。
4 實(shí)驗(yàn)結(jié)果與分析
4.1 實(shí)驗(yàn)1:新模型在新視角下圖像的生成
為了驗(yàn)證雙輸入流的深度反卷積生成神經(jīng)網(wǎng)絡(luò)的性能和產(chǎn)生新方位角和俯仰角下目標(biāo)圖像的能力,基于ShapeNetCore數(shù)據(jù)集展開訓(xùn)練工作。該網(wǎng)絡(luò)從雙輸入的圖像中抽象出高層的圖像特征,然后通過反卷積網(wǎng)絡(luò)產(chǎn)生新圖像。在實(shí)驗(yàn)中,將ShapeNetCore數(shù)據(jù)庫中的一部分樣本作為測試數(shù)據(jù)集,其余的作為訓(xùn)練數(shù)據(jù)集,用于訓(xùn)練網(wǎng)絡(luò)形成前期知識;訓(xùn)練完成后,輸入測試集中的圖像,并產(chǎn)生新視角圖像。需要強(qiáng)調(diào)的是,測試集中的目標(biāo)物圖像從未在網(wǎng)絡(luò)訓(xùn)練中出現(xiàn)。實(shí)驗(yàn)基于Google公司的tensorflow完成。
將ShapeNetCore的數(shù)據(jù)庫分為訓(xùn)練集和測試集,其中測試集中只有如圖4所示的目標(biāo)物圖集。
網(wǎng)絡(luò)模型訓(xùn)練步驟如下:
1)將ShapeNetCore數(shù)據(jù)庫進(jìn)行前期處理,圖像原尺寸為600×600@3,其邊框包含較大的空白區(qū)域。在前期處理過程中,去除了白色邊緣部分后圖像尺寸為256×256@3,再修改尺寸為128×128@3。
2)建立圖片和參數(shù)的對應(yīng)集合,通過程序分解出圖像的參數(shù),并隨機(jī)化圖片的輸入順序,兩個(gè)角度的圖片中間間隔一個(gè)角度。每次批量31×2張圖片,循環(huán)訓(xùn)練30次和1000次。
3)利用Tensorflow的內(nèi)置函數(shù),保留測試過程中的圖像、損失函數(shù)變化數(shù)據(jù)。
網(wǎng)絡(luò)模型測試步驟如下:
1)將測試數(shù)據(jù)進(jìn)行前期處理,去除白色邊框,并將圖像尺寸調(diào)整為256×256@3,并縮放為128×128@3;
2)輸入處理后的圖像,設(shè)定新視角為11°、34°、46°產(chǎn)生圖像,并和原始圖像進(jìn)行人工比對。
按照以上步驟開展實(shí)驗(yàn),結(jié)果如圖4所示。圖4中:橫軸表示輸入?yún)?shù),縱軸表示圖像的類型;
縱軸中間兩行表示生成的圖像,為了比對圖像的效果,最后一行是真值圖像。
采用的數(shù)據(jù)庫共有1392個(gè)種類,排除一個(gè)作為測試集,則共有1391個(gè)種類,每個(gè)種類共有62張圖像。
圖4是循環(huán)1391×62×30次和1391×62×1000次的模型生成結(jié)果,可以看出可依據(jù)輸入的參數(shù)產(chǎn)生理想的目標(biāo)圖像。
實(shí)驗(yàn)中優(yōu)化的損失函數(shù)是:
LRGB(*)= ( G ( I i, v i)- O ( I ireal, v i))2 2
(8)
利用Tensorflow的可視化工具Tensorboard可直觀地看到損失函數(shù)的變化過程。圖5給出了訓(xùn)練1000次的損失函數(shù)的趨勢曲線,
其中每訓(xùn)練一個(gè)批次,記錄損失函數(shù)式(8)的值,損失函數(shù)的取值可直接反映收斂情況。
使用Tensorboard工具保存網(wǎng)絡(luò)各個(gè)層的圖像,圖6給出了雙輸入卷積conv-3層的特征結(jié)果,其中,conv-3提取的特征矩陣的維度為:16×16×256,也就是形成了16×16像素、深256層的特征矩陣。圖6中,圖(a)給出了上輸入流conv-3卷積層的深度維為5、6、7層的特征切片圖像,圖(b)則給出了下輸入流conv-3卷積層的深度維2、3、4層的特征切片圖,從中可以看出,卷積層提取了目標(biāo)物的特征,并形成了稀疏化的特征。
圖7中給出了反卷積生成新參數(shù)條件下,各個(gè)逆卷積層的圖像,利用Tensorboard保存各層逆卷積的結(jié)果。圖7中的輸入為測試集中的桌椅的圖片和新的視角,圖中具體為:
v =(sinα,cosα,sinβ,cosβ,θ)
其中:α=20π/180, β=46π/180, θ =[0,0,0,0]。
從圖7可以看出,根據(jù)提取的特征,基于反卷積技術(shù),逐漸生成了目標(biāo)圖像。
4.2 實(shí)驗(yàn)2:生成新數(shù)據(jù)提高識別能力實(shí)驗(yàn)
現(xiàn)有的神經(jīng)網(wǎng)絡(luò)在人工目標(biāo)識別的方面表現(xiàn)優(yōu)異的原因就在于其“見得多”,也就是基于一個(gè)龐大的訓(xùn)練集。深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)識別率高的主要原因在于:1)訓(xùn)練集足夠大;2)網(wǎng)絡(luò)足夠深,節(jié)點(diǎn)足夠多。
從而,在“見得多”的情況下,將圖像的特征提取函數(shù)映射為網(wǎng)絡(luò)權(quán)值。所以,利用生成的新樣本擴(kuò)充訓(xùn)練集,將有助于提高網(wǎng)絡(luò)的識別率。
為了進(jìn)一步驗(yàn)證生成數(shù)據(jù)提高網(wǎng)絡(luò)識別能力的特性,進(jìn)行以下比對實(shí)驗(yàn):
1)將ShapeNetCore數(shù)據(jù)庫進(jìn)行前期處理,圖像原尺寸為600×600@3像素,其邊框包含較大的空白區(qū)域。在前期處理過程中,去除了白色邊緣部分后圖像尺寸為256×256@3,再修改尺寸為128×128@3。
2)將ShapeNetCore數(shù)據(jù)庫按照類別進(jìn)行標(biāo)識,該數(shù)據(jù)庫共有1393種類別,每隔一個(gè)角度剔除四張作為測試數(shù)據(jù)。
3)在標(biāo)識好的訓(xùn)練集進(jìn)行迭代訓(xùn)練,并利用測試數(shù)據(jù)測試識別率。
4)利用本文生成神經(jīng)網(wǎng)絡(luò)生成2)中剔除的圖像,擴(kuò)充訓(xùn)練集,進(jìn)行迭代訓(xùn)練。
5)利用測試數(shù)據(jù)比對識別率,驗(yàn)證識別效果。
表1給出了基于正常訓(xùn)練集和本文方法擴(kuò)充的訓(xùn)練集的網(wǎng)絡(luò)識別率,其數(shù)據(jù)集均基于ShapeNetCore。
從表1中可以看出,基于正常訓(xùn)練集的神經(jīng)網(wǎng)絡(luò)在面對擴(kuò)充庫時(shí)識別率下降;而通過擴(kuò)充訓(xùn)練數(shù)據(jù)集,卷積神經(jīng)網(wǎng)絡(luò)針對擴(kuò)充庫的識別率明顯得到提升。可以得出,本文神經(jīng)網(wǎng)絡(luò)的后半部分(FC4、uconv-1~uconv-4)就是卷積神經(jīng)網(wǎng)絡(luò)的后半部分,可以將網(wǎng)絡(luò)倒置,完成對圖像的分類識別。
5 結(jié)語
在深度學(xué)習(xí)人工智能領(lǐng)域,優(yōu)異的性能通常取決于一個(gè)大樣本空間的訓(xùn)練集,本文提出了一個(gè)雙輸入的神經(jīng)網(wǎng)絡(luò)架構(gòu),該網(wǎng)絡(luò)前半部分利用卷積網(wǎng)絡(luò)提取圖像的特征,后半部分利用反卷積在新設(shè)定的條件下生成目標(biāo)的圖像。該網(wǎng)絡(luò)可產(chǎn)生新角度、新尺寸等圖像,將產(chǎn)生的圖像用于擴(kuò)充訓(xùn)練集,可有效提升神經(jīng)網(wǎng)絡(luò)的識別能力。
但該網(wǎng)絡(luò)也未能克服現(xiàn)有神經(jīng)網(wǎng)絡(luò)理論的束縛,對同類目標(biāo)物的產(chǎn)生效果較好,對于異類的目標(biāo)物圖像插值問題則無法很好地完成,與人腦產(chǎn)生圖像的能力存在較大的差距,所以需要進(jìn)一步研究具有推理生成的網(wǎng)絡(luò)。
參考文獻(xiàn)
[1]?DING J, CHEN B, LIU H, et al. Convolutional neural network with data augmentation for SAR target recognition [J]. IEEE Geoscience and Remote Sensing Letters, 2016, 13(3):364-368.
[2]?林懿倫,戴星原,李力,等.人工智能研究的新前線:生成式對抗網(wǎng)絡(luò)[J].自動(dòng)化學(xué)報(bào),2018,44(5):775-792. (LIN Y L, DAI X Y, LI L, et al. The new frontier of AI research: generative adversarial networks[J]. Acta Automatica Sinica, 2018, 44(5): 775-792.)
[3]?朱俊鵬, 趙洪利, 楊海濤. 基于卷積神經(jīng)網(wǎng)絡(luò)的視差圖生成技術(shù)[J]. 計(jì)算機(jī)應(yīng)用, 2018, 38(1):255-259. (ZHU J P, ZHAO H L, YANG H T. Disparity map generation technology based on convolutional neural network[J]. Journal of Computer Applications, 2018, 38(1):255-259.)
[4]?陳文兵,管正雄,陳允杰.基于條件生成式對抗網(wǎng)絡(luò)的數(shù)據(jù)增強(qiáng)方法[J].計(jì)算機(jī)應(yīng)用,2018,38(11):3305-3311. (CHEN W B, GUAN Z X, CHEN Y J. Data augmentation method based on generative adversarial network model [J]. Journal of Computer Applications, 2018, 38(11): 3305-3311.)
[5]?HINTON G E, SALAKHUTDINOV R R. Reducing the dimensionality of data with neural networks [J]. Science, 2006, 313(5786): 504-507.
[6]?SALAKHUTDINOV R R, HINTON G E. Deep Boltzmann machines [C/OL]// Proceedings of the 12th International Conference on Artificial Intelligence and Statistics, 2009 [2018-12-09]. http://proceedings.mlr.press/v5/salakhutdinov09a/salakhutdinov09a.pdf.
[7]??BENGIO Y, THIBODEAU-LAUFER , ALAIN G, et al. Deep? generative stochastic networks trainable by backprop [C/OL]// Proceedings of the 31st International Conference on Machine Learning, 2014 [2014-05-24]. https://arxiv.org/abs/1306.1091.?[J]. arXiv E-print, 2014: arXiv:1306.1091.
[8]?REZENDE D J, MOHAMED S, WIERSTRA D. Stochastic backpropagation and approximate inference in deep generative models [J]. arXiv E-print, 2014: arXiv:1401.4082.?[J/OL]. [2014-05-30]. https://arxiv.org/abs/1401.4082.
[9]?KINGMA D P, WELLING M. Auto-encoding variational Bayes [J]. arXiv E-print, 2014: arXiv:1312.6114.?[J/OL]. [2014-05-01]. https://arxiv.org/abs/1312.6114.
[10]?DOSOVITSKIY A, SPRINGENBERG J T, TATARCHENKO M, et al. Learning to generate chairs, tables and cars with convolutional networks [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(4): 692-705.
[11]?GOODFELLOW I J, POUGET-ABADIE J, MIRZA M, et al. Generative adversarial nets [C]// Proceedings of the 27th International Conference on Neural Information Processing Systems. Cambridge, MA: MIT Press, 2014: 2672-2680.
[12]?ZHU Z, LUO P, WANG X, et al. Multi-view perceptron: a deep model for learning face identity and view representations [C]// Proceedings of the 27th International Conference on Neural Information Processing Systems. Cambridge, MA: MIT Press, 2014: 217-225.
[13]?LI F-F. Knowledge transfer in learning to recognize visual objects classes [C]// Proceedings of the 2006 International Conference on Development and Learning. Washington, DC: IEEE Computational Intelligence Society, 2006: 1-51.?http://pdfs.semanticscholar.org/35a1/98cc4d38bd2db60cda96ea4cb7b12369fd3c.pdf
[14]?LI F, ROB F, PIETRO P. One-Shot learning of object categories[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2006, 28(4): 594-611.
[15]?SANTORO A, BARTUNOV S, BOTVINICK M, et al. Meta-learning with memory-augmented neural networks [C]// Proceedings of the 33rd International Conference on Machine Learning. New York: International Machine Learning Society, 2016, 48: 1842-1850.?https://docplayer.net/31411874-Meta-learning-with-memory-augmented-neural-networks.html
[16]?ANDRYCHOWICZ M, DENIL M, COLMENAREJO S G, et al. Learning to learn by gradient descent by gradient descent [C]// Proceedings of the 30th Conference on Neural Information Processing Systems. La Jolla, CA: Neural Information Processing Systems Foundation, 2016: 3981-3989.
[17] ?RAVI S, LAROCHELLE H. Optimization as a model for few-shot learning [C/OL]// Proceedings of the 5nd International Conference on Learning Representations. 2017 [2018-10-24]. https://openreview.net/pdf?id=rJY0-Kcll.