本發(fā)明涉及一種一種基于人工神經(jīng)網(wǎng)絡的空間信息學習方法,是一種采用神經(jīng)網(wǎng)絡提取不變性特征的方法,特別涉及采用深層卷積神經(jīng)網(wǎng)絡提取空間信息的方法,屬于深度學習
技術領域:
。
背景技術:
:卷積神經(jīng)網(wǎng)絡(cnn)作為一個現(xiàn)階段最優(yōu)秀的特征提取器之一,其表現(xiàn)力不僅已經(jīng)在計算機視覺領域大放光彩,而且卷積核的局部感知原理已經(jīng)讓nlp、圍棋博弈(alphago)等非視覺領域有了進步。為了提取到更具有表現(xiàn)力的特征,更多的研究者致力于研究如何設計一個高效的卷積神經(jīng)網(wǎng)絡架構。例如,alexnet—它是卷積神經(jīng)網(wǎng)絡近期第一次飛躍式的結果提升,vgg、inception—用較少的參數(shù)可以讓網(wǎng)絡達到更深,殘差網(wǎng)絡—通過殘差單元中的恒等映射來降低信號在每一層之間的傳播誤差,從而降低訓練集的錯誤率使得我們在理論上可以訓練非常深的模型。有了這些具有表現(xiàn)力的特征提取架構,才能使得具體的視覺任務得到根本性的提高。傳統(tǒng)的神經(jīng)網(wǎng)絡激活缺乏全局幾何不變性。(gongy,wangl,guor,etal.multi-scaleorderlesspoolingofdeepconvolutionalactivationfeatures[c]//europeanconferenceoncomputervision.springerinternationalpublishing,2014:392-407.)傳統(tǒng)cnn架構的描述力保留了大量全局空間信息,正是因為這些強全局空間信息極大的削弱了cnn不變性識別能力。因此,神經(jīng)網(wǎng)絡本質(zhì)上缺乏對于幾何不變性的理解。這種不變性能力的缺乏導致了神經(jīng)網(wǎng)絡在具體的視覺任務方面表現(xiàn)出了較差的泛化能力。如果可以在高層特征的全局空間信息進行分析,那么就可以消除卷積神經(jīng)網(wǎng)絡的這種缺陷。幾乎所有的神經(jīng)網(wǎng)絡都使用數(shù)據(jù)增強、dropout和weightdecay的方式來提高模型的泛化能力。dropout方法依靠修改網(wǎng)絡架構來提高模型的泛化能力,weightdecay是依靠修改損失函數(shù)。而數(shù)據(jù)增強是通過對原始數(shù)據(jù)進行變換從而增加了訓練樣本數(shù)量的方法。對于圖片識別任務,水平翻轉、隨機抓取、水平抓取等方法是經(jīng)常會被用到來對原始數(shù)據(jù)進行變換的方法。通過比較以上三種提高模型泛化能力的方法,數(shù)據(jù)增強是唯一一種用來彌補cnn的不變性的方式。但是這種對訓練集進行預處理的方式實現(xiàn)的識別正確率的提升并不代表卷積神經(jīng)網(wǎng)絡自身真正的理解了圖片的不變性問題。人類大腦的研究給予了我們啟示,如附圖1所示,在v1之上的其余不少枕葉皮層也涉及到了視覺處理。例如,inferiortemporal(it)cells皮質(zhì)對目標的空間和全局信息激活有強烈的反饋(youngmp,yamanes.sparsepopulationcodingoffacesintheinferotemporalcortex.[j].science,1992,256(5061):1327.)。這些來自于人腦研究的現(xiàn)象表明了在人腦內(nèi)部有類似于處理全局空間信息的皮質(zhì)層?;诖?,我們希望在卷積神經(jīng)網(wǎng)絡頂端加入空間信息處理層(sfl),其目的是仿造人腦對于視覺空間信息的學習,彌補cnn在不變性問題中表現(xiàn)的不足。通過有效的空間信息學習,來使卷積神經(jīng)網(wǎng)絡自身具備對圖片不變性的學習能力。而具有這種功能區(qū)的卷積神經(jīng)網(wǎng)絡應當是不依賴數(shù)據(jù)增強的方式就可以實現(xiàn)很好的泛化結果。技術實現(xiàn)要素:本發(fā)明的目的是針對現(xiàn)階段人工神經(jīng)網(wǎng)絡依賴數(shù)據(jù)預處理方法來提高模型泛化能力的問題,提出了一種空間信息學習架構,從而使得人工神經(jīng)網(wǎng)絡捕捉到的特征具有不變性,減少神經(jīng)網(wǎng)絡對于數(shù)據(jù)預處理的依賴性。本發(fā)明技術方案的思想是:效仿人腦視覺處理通路,在高層特征感知器層之上加入一個空間信息處理層(sfl)。其目的有兩個:1,高層提取到的特征是全局特征,對全局特征進行相關性分析,使得人工神經(jīng)網(wǎng)絡在最終的特征輸出以特征之間的關聯(lián)關系作為參考進行預測;2,在特征處理層中對特征圖進行結構性分析,將原始十分稀疏的特征矩陣映射到較為密集的特征矩陣,使得人工神經(jīng)網(wǎng)絡可以更好的預測發(fā)生幾何形變的物體。為實現(xiàn)以上目的,本發(fā)明采用的技術方案如下:一種基于人工神經(jīng)網(wǎng)絡的空間信息學習方法,該方法包括以下步驟:步驟一、利用傳統(tǒng)神經(jīng)網(wǎng)絡對輸入圖片進行抽象表達,在傳統(tǒng)神經(jīng)網(wǎng)絡的中高層提取特征圖得到特征向量f;步驟二,對步驟一提取的特征圖通過下式進行濾波映射操作得到結構特征矩陣lf以增強數(shù)據(jù)顯著性:lf=conυ(f,filter);其中,filter表示卷積濾波選用的核函數(shù),conv表示濾波映射操作采用的是卷積形式;作為優(yōu)選,filter的使用,可以采用以下兩種方式之一:a.采用先驗知識初始化核函數(shù),在每一次計算函數(shù)輸出值的時候將核函數(shù)看成是一個常量;b.將核函數(shù)看成是一個自適應濾波器,其值會隨反向傳播算法而進行調(diào)整,最后選擇一個最優(yōu)的核函數(shù)。步驟三,對步驟二輸出的lf通過卷積神經(jīng)網(wǎng)絡進行卷積操作以得到更加抽象的特征表達x;步驟四,由于計算能力的限制,步驟三計算產(chǎn)生的特征表達x無法在步驟五中計算相關矩陣,因此對抽象特征表達x進行gap降維處理得到特征點x*(featurepoints);步驟五、對步驟四輸出的特征點通過如下公式進行相關性分析得到相關矩陣d=x*×x*t(correlationmatrix):步驟六、對步驟五計算生成的相關矩陣通過如下公式進行投影操作,得到結構特征向量cd:cd=d*v;其中,v表示對相關矩陣d進行投影變換使用的權值列向量,采用高斯分布函數(shù)進行初始化,v是通過訓練獲得的先驗概率分布;步驟七、對步驟六得到的cd通過下述公式與步驟一原始特征向量f融合得到最終的特征輸出:y(f)=f+λ*cd;其中,y(f)為結合了原始卷積層計算得到的抽象特征表達f和全局空間中的位置信息表達cd,λ為融合因子。作為優(yōu)選,λ=0.1。有益效果:對比現(xiàn)有技術,本發(fā)明具有以下有益效果:(1)傳統(tǒng)神經(jīng)網(wǎng)絡的數(shù)據(jù)增強方法對模型泛化力起到了重要的作用。去除數(shù)據(jù)增強方法的模型很難識別一些發(fā)生幾何形變的物體。而本發(fā)明通過空間信息學習的方式,不依賴于數(shù)據(jù)增強的方法就可以識別發(fā)生幾何形變的物體,使神經(jīng)網(wǎng)絡對于不變性的識別更加魯棒。(2)傳統(tǒng)神經(jīng)網(wǎng)絡在計算物體類別概率時,認為特征集中的各個特征之間是相互獨立的。本發(fā)明提出這種假設存在的問題,并且基于此問題進行特征點之間的相關性分析,提出了相關矩陣的概念。(3)空間信息處理層(sfl)產(chǎn)生的帶有空間信息的特征向量需要與原始神經(jīng)網(wǎng)絡產(chǎn)生的抽象特征向量相融合。本發(fā)明給出了一種融合方案,并且針對不同的融合因子進行驗證,給出了一種較優(yōu)的融合形式。附圖說明構成本申請的一部分的附圖用來提供對本發(fā)明的進一步理解,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:圖1是人腦視覺通路中關于空間信息處理的局部構造。圖2是本發(fā)明的整體架構。圖3是高層特征圖通過全連接的方式進行物體分類概率預測。具體實施方式下面結合附圖對本發(fā)明方法的實施方式做詳細說明。一種基于人工神經(jīng)網(wǎng)絡的空間信息學習方法,如圖2所示,原始圖片輸入到卷積神經(jīng)網(wǎng)絡(cnn)中,在高層空間計算得到原始圖片的特征圖f(featuremaps);對特征圖進行濾波操作(filter),以及gap層(gaplayer)降維處理后,得到了多個特征點(featurepoints),由特征點形成相關矩陣(correlationmatrix),經(jīng)過投影(projection)計算得到結構特征向量cd。在懲罰融合單元(penaltyfusionunit)將結構特征向量(cd)和原始特征向量(f)進行融合得到,fullconnection輸出。具體實現(xiàn)步驟如下:步驟一、利用傳統(tǒng)神經(jīng)網(wǎng)絡計算特征圖利用傳統(tǒng)神經(jīng)網(wǎng)絡,對輸入圖片進行抽象表達,在傳統(tǒng)神經(jīng)網(wǎng)絡的中高層提取特征圖,其目的是中高層感知器輸出的信息表達更具有整體性、全局性。如附圖3所示,高層的卷積核輸出了維度為m*m*n的特征圖(outputofconvlayers),其中m*m代表每一張?zhí)卣鲌D(featuremaps)的大小,其中每一個點(i,j)都是該特征對應坐標下的一個特征數(shù)值。n代表特征圖的總個數(shù)。每一層n代表第n個特征圖的空間分布描述。定義f(i,j,n)為第n個特征圖中坐標為(i,j)的特征數(shù)值。則該特征對目標c的識別結果可以表述為如下公式:其中,σ表示神經(jīng)元采用的激活函數(shù),ω(i,j,n)表示第n個特征圖中坐標為(i,j)的特征數(shù)值的權重,m*m*n維的特征圖可以用f來表示,經(jīng)過加權求和后的對目標c的識別結果可以表示為預測概率(predictionprobability),b表示偏置。wf表示權重向量w與特征向量f的相似度,其中w是通過訓練獲得的先驗概率分布,對于訓練好的人工神經(jīng)網(wǎng)絡,f的顯著性特征分布在一般情況下應當是高度稀疏的,其高度相似的權重向量w也應當是稀疏的。本實施例中,數(shù)據(jù)集采用cifar-100(learningmultiplelayersoffeaturesfromtinyimages,alexkrizhevsky,2009.),原始的圖片的大小是32*32*3像素,其不使用數(shù)據(jù)增強的方式,直接輸入到卷積神經(jīng)網(wǎng)絡。本實例卷積網(wǎng)絡采用的模型是殘差網(wǎng)絡(resnet-32),32表示的是有32個特征提取層。本發(fā)明提取最后一層卷積層的輸出8*8*64維的特征圖,之后采用下述方法進行結構性分析。步驟二、結構性分析步驟一提取到的中高層特征圖f理論上是高度稀疏的。這種稀疏性來源于樣本的有限性,由于樣本的特征對于位置的高度敏感性,通常采用對齊或者平滑窗口的方式來消除一部分的平移旋轉問題。也可以通過池化的方式,在降低分辨率的同時,解決一部分的位置敏感問題。但是從圖像的角度來說,避免過度擬合的方式是將位置信息模糊化,即對這種高度稀疏的矩陣進行濾波映射操作,其形式化表達為:lf=conv(f,filter)結構性分析是在逐層卷積的表達中的某一層加入了一個輔助濾波函數(shù)。64個大小為8*8的特征圖使用64個大小為3*3的核函數(shù)進行濾波,其目的是將高度稀疏的8*8*64維的高層特征圖圍繞顯著性點進行填充,增加圖片的幾何不變性。3*3的核函數(shù)利用卷積神經(jīng)網(wǎng)絡反向傳播算法進行優(yōu)化。如果想具備更大范圍的幾何不變性,可以增加濾波核函數(shù)的大小,高度稀疏的特征圖矩陣經(jīng)過濾波處理之后會自動將峰值處周圍的顯著性值進行填充。這種做法相當于間接的增加了訓練樣本,類似于數(shù)據(jù)增強方法起到的作用。對于濾波核函數(shù)的使用,我們采用以下兩種方式:a.采用先驗知識初始化核函數(shù),在每一次計算函數(shù)輸出值的時候將核函數(shù)看成是一個常量。b.將核函數(shù)看成是一個自適應濾波器,其值會隨反向傳播算法而進行調(diào)整,最后選擇一個最優(yōu)的核函數(shù)。經(jīng)過求證,b方案的實驗效果遠遠好于a方案。因此上述表達采用b方案進行。步驟三、計算更加抽象的特征表達x對步驟二輸出的結構特征矩陣lf進行卷積操作。通過卷積神經(jīng)網(wǎng)絡,將結構性分析后的特征圖繼續(xù)進行卷積函數(shù)處理,從而得到更加抽象的特征表達x。在本發(fā)明的本次具體實例中,因需要結構分析而提取的高層特征圖是最后一層卷積層的輸出,因此本步驟可以略去。但是如果提取的是中高層特征圖,而不是最后一層特征圖,那么經(jīng)過步驟二處理后的特征圖lf需要繼續(xù)作為卷積層的輸入進行計算,得到更加抽象的特征表達x。步驟四、gap降維處理對步驟三輸出的維度為8*8*64的特征表達x進行降維操作得到特征點(featurepoints)向量x*。為了減小步驟五所生成的相關矩陣的計算量,在生成相關矩陣之前,對特征圖進行全局降維。一個維度為m*m*n的特征圖x,經(jīng)過gap降維將會成為維度為1*n的特征點x*,此后將會對特征點進行相關性分析。本實施例中,經(jīng)過以上步驟形成的特征圖的大小是8*8*64,gap層(linm,chenq,yans.networkinnetwork[j].computerscience,2013.)的作用是將特征圖變成特征點。8*8*64的特征圖映射為1*64個特征點。步驟五、相關性分析對步驟四輸出的1*n個特征點向量進行相關性分析得到相關矩陣。給定一個目標g具有顯著特征集s={f1,f2,f3,…,fk}。其中fk=f(ik,jk,nk),表示在m*m*n維的特征空間中(ik,jk,nk)點的顯著性值,其中k∈(0,(n-1)*(m-1)2)。目標g的識別結果的形式化表達為:p(g|s)=p(g|f1,f2,...,fk);p(g|s)表示目標g在顯著特征集s下的識別結果。但是基于全連接層的識別表達式存在一個獨立性假設,即認為特征集s中的各個特征之間相互獨立,如下:p(g|f1,f2,...,fk)∝∑p(g|fi)若全面考慮所有特征之間的關系,在目前的計算能力下難以實施,但我們可以假設兩兩特征點之間是相互獨立的,即:因此,定義特征之間的相關矩陣為d=x*×x*t。x*是在步驟四中由高層卷積核計算得到的抽象特征點向量。對于1*64維的特征點,本專利進行相關性分析??梢猿浞挚紤]到特征點之間的相關性信息。x*是1*64維的列向量,相關矩陣可以定義為:d=x**×x*t,相關矩陣有如下性質(zhì):1.它是一個對稱矩陣,其中任意一點的數(shù)值對應特征圖中的某一特征x*和x*t的顯著性乘積。2.其中峰值處代表了特征對在空間中的顯著特征,該點在x*和x*t中都顯著,從而體現(xiàn)出兩兩相關性。步驟六、投影計算結構特征向量cd對步驟五計算生成的相關矩陣進行投影操作,得到結構特征向量。上述步驟計算得到的相關矩陣d已經(jīng)考慮了結構性和特征點之間的相關性信息。為了體現(xiàn)全局結構化信息,即從單一特征的角度衡量其他特征的匹配關系,同時進一步減少矩陣d的維度,形成經(jīng)過全局結構化的特征向量cd。v是(m*m*n)維的權值列向量,是通過訓練獲得的先驗概率分布;隨后將cd看成是帶有全局空間信息的新特征向量。cd=d*v;步驟七、結構特征向量cd與原始特征向量f融合對步驟六計算產(chǎn)生的結構特征向量cd進行融合操作,得到y(tǒng)(f)為空間信息學習架構的總體特征輸出。y(f)結合了原始卷積層計算得到的抽象特征表達f和全局空間中的位置信息表達cd。y(f)=f+λ*conv(f,filter)*conv(f,filter)t*v;融合因子λ在最終融合過程中起到重要的作用,其大小決定了具有特征點對位置關系的相關矩陣在最終輸出特征向量中所占的比重。融合因子λ具有兩個作用:將帶有空間信息的特征向量與原始特征向量相融合;相關矩陣將原始特征圖中的顯著性值進行了放大,因此在與原始特征融合之前,需要進行適當?shù)目s小。實驗結果表明,不同的融合因子對于最終的識別率有影響。如果采用較小的融合因子,空間信息對最終結果所起到的作用較小。最終確定λ=0.1時,模型的泛化能力和表達能力最優(yōu)。表1modelrandomcropcifar-100(errorrate%)resnet-32yes34.47resnet-32no42.1resnet-32+sflno33.21resnet-26yes35.51resnet-26no43.2resnet-26+sflno34.07表1展示了使用本專利提出的方法會降低卷積神經(jīng)網(wǎng)絡對于數(shù)據(jù)增強(randomcrop)方式的依賴性。從中可以看出,原始的resnet模型如果沒有randomcrop的數(shù)據(jù)增強方式,錯誤率會大幅度提高。而我們的方法(resnet-26+sfl)不依賴于這種數(shù)據(jù)增強的方式就可以實現(xiàn)較高的正確率。為了保證比較的公平性,本次實施的結果都是在完全相同參數(shù)條件下的訓練集中進行的。為了說明本發(fā)明的內(nèi)容及實施方法,本說明書給出了一個具體實施例。在實施例中引入細節(jié)的目的不是限制權利要求書的范圍,而是幫助理解本發(fā)明所述方法。本領域的技術人員應理解:在不脫離本發(fā)明及其所附權利要求的精神和范圍內(nèi),對最佳實施例步驟的各種修改、變化或替換都是可能的。因此,本發(fā)明不應局限于最佳實施例及附圖所公開的內(nèi)容。當前第1頁12