前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的卷積神經(jīng)網(wǎng)絡(luò)的算法主題范文,僅供參考,歡迎閱讀并收藏。
【關(guān)鍵詞】圖像分類深度 卷積神經(jīng)網(wǎng)絡(luò) 加權(quán)壓縮近鄰
1 研究背景
手寫數(shù)字識別是一個經(jīng)典的模式識別問題。從0 到9這10 個阿拉伯?dāng)?shù)字組成。由于其類別數(shù)比較小,它在些運算量很大或者比較復(fù)雜的算法中比較容易實現(xiàn)。所以,在模式識別中數(shù)字識別一直都是熱門的實驗對象。卷積神經(jīng)網(wǎng)絡(luò) (Convolutional Neural Networks,CNN),在手寫體識別中有著良好的性能。卷積神經(jīng)網(wǎng)絡(luò)的神經(jīng)元是局部連接,神經(jīng)元之間能夠共享權(quán)值。深度卷積神經(jīng)網(wǎng)絡(luò)不但可以解決淺層學(xué)習(xí)結(jié)構(gòu)無法自動提取圖像特征的問題,并且提高了分類的泛化能力和準(zhǔn)確度。
2 深度卷積神經(jīng)網(wǎng)絡(luò)
深度卷積神經(jīng)網(wǎng)絡(luò)是一種具有多層監(jiān)督的神經(jīng)網(wǎng)絡(luò),隱含層中的卷積層和池采樣層是實現(xiàn)深度卷積神經(jīng)網(wǎng)絡(luò)提取特征的核心模塊,并通過使用梯度下降算法最小化損失函數(shù)來進(jìn)行權(quán)重參數(shù)逐層反向調(diào)節(jié),再經(jīng)過迭代訓(xùn)練提高分類精確度。
深度卷積神經(jīng)網(wǎng)絡(luò)的首層是輸入層,之后是若干個卷積層和若干個子采樣層和分類器。分類器一般采用Softmax,再由分類器去輸出相應(yīng)的分類結(jié)果。正常情況下,一個卷積后面都跟一個子采樣層?;诰矸e層里權(quán)值共享和局部連接的特性,可以簡化網(wǎng)絡(luò)的樣本訓(xùn)練參數(shù)。運算之后,獲得的結(jié)果通過激活函數(shù)輸出得到特征圖像,再將輸出值作為子采樣層的輸入數(shù)據(jù)。為了實現(xiàn)縮放、平移和扭曲保持不變,在子采樣層中將之前一層對應(yīng)的特征圖中相鄰特征通過池化操作合并成一個特征,減少特征分辨率。這樣,輸入的數(shù)據(jù)就可以立即傳送到第一個卷積層,反復(fù)進(jìn)行特征學(xué)習(xí)。將被標(biāo)記的樣本輸入到Softmax分類器中。
CNN 能夠簡化網(wǎng)絡(luò)的樣本訓(xùn)練參數(shù),降低計算難度。這些良好的性能是網(wǎng)絡(luò)在有監(jiān)督方式下學(xué)會的,網(wǎng)絡(luò)的結(jié)構(gòu)主要有局部連接和權(quán)值共享兩個特點:
2.1 局部連接
深度卷積神經(jīng)網(wǎng)絡(luò)中,層與層之間的神經(jīng)元節(jié)點是局部連接,不像BP 神經(jīng)網(wǎng)絡(luò)中的連接為全連接。深度卷積神經(jīng)網(wǎng)絡(luò)利用局部空間的相關(guān)性將相鄰層的神經(jīng)元節(jié)點連接相鄰的上一層神經(jīng)元節(jié)點。
2.2 權(quán)重共享
在深度卷積神經(jīng)網(wǎng)絡(luò)中,卷積層中每一個卷積濾波器共享相同參數(shù)并重復(fù)作用,卷積輸入的圖像,再將卷積的結(jié)果變?yōu)檩斎雸D像的特征圖。之后提取出圖像的部分特征。
在得到圖像的卷積特征之后,需要用最大池采樣方法對卷積特征進(jìn)行降維。用若干個n×n 的不相交區(qū)域來劃分卷積特征,降維后的卷積特征會被這些區(qū)域中最大的或平均特征來表示。降維后的特征更方便進(jìn)行分類。
3 實驗結(jié)果
為了驗證卷積神經(jīng)網(wǎng)絡(luò)的有效性,本實驗中使用以最經(jīng)典的MNIST 和USPS 庫這兩個識別庫作為評測標(biāo)準(zhǔn)。手寫數(shù)字MNIST數(shù)據(jù)庫有集60000 個訓(xùn)練樣本集,和10000 個測試,每個樣本向量為28×28=784維表示。手寫數(shù)字USPS 數(shù)據(jù)庫含有7291 個訓(xùn)練樣本和2007 個測試樣本,每個樣本向量為16×16=256 維。
表1給出了卷積神經(jīng)網(wǎng)絡(luò)在MNIST 和USPS 庫上的識別結(jié)果。從表1中可知,深度卷積神經(jīng)網(wǎng)絡(luò)對MNSIT 庫識別率能夠達(dá)到97.89%,與用BP 算法得到的識別率94.26%相比,提高了兩個多百分點。對USPS 庫識別率能夠達(dá)到94.34%,與用BP 算法得到的識別率91.28%相比,也提高了三個多百分點。
因此,使用深度卷積神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練在圖像識別中獲得更高識別率。因此,深度卷積神經(jīng)網(wǎng)絡(luò)在識別手寫體字符時有著較好的分類效果。
4 總結(jié)
本文介紹深度卷積神經(jīng)網(wǎng)絡(luò)的理論知識、算法技術(shù)和算法的結(jié)構(gòu)包括局部連接、權(quán)重共享、最大池采樣以及分類器Softmax。本文通過深度卷積神經(jīng)網(wǎng)絡(luò)對兩組手寫識別庫實驗來驗證CNN 有著較低的出錯率。
參考文獻(xiàn)
[1]趙元慶,吳華.多尺度特征和神經(jīng)網(wǎng)絡(luò)相融合的手寫體數(shù)字識別簡介[J].計算機科學(xué),2013,40(08):316-318.
[2]王強.基于CNN的字符識別方法研究[D].天津師范大學(xué),2014.
[3]Krizhevsky A,Sutskever I,Hinton G E.ImageNet Classification with Deep Convolutional Neural Networks.Advances in Neural Information Processing Systems,2012,25(02),1097-1105.
[4]郝紅衛(wèi), 蔣蓉蓉.基于最近鄰規(guī)則的神經(jīng)網(wǎng)絡(luò)訓(xùn)練樣本選擇方法[J].自動化學(xué)報,2007,33(12):1247-1251.
作者簡介
關(guān)鑫(1982-),男,黑龍江省佳木斯市人。碩士研究生學(xué)歷。現(xiàn)為中國電子科技集團公司第五十四研究所工程師。研究方向為計算機軟件工程。
關(guān)鍵詞:機器學(xué)習(xí);深度學(xué)習(xí);推薦算法;遠(yuǎn)程教育
深度學(xué)習(xí)(DeepLearning),也叫階層學(xué)習(xí),是機器學(xué)習(xí)領(lǐng)域研究的分支,它是學(xué)習(xí)樣本數(shù)據(jù)的表示層次和內(nèi)在規(guī)律,在學(xué)習(xí)的過程中獲取某些信息,對于數(shù)據(jù)的解釋有巨大幫助。比如對文字?jǐn)?shù)據(jù)的學(xué)習(xí),在網(wǎng)絡(luò)上獲取關(guān)鍵字,對圖像數(shù)據(jù)的學(xué)習(xí),進(jìn)行人臉識別等等。
一、深度學(xué)習(xí)發(fā)展概述
深度學(xué)習(xí)是機器學(xué)習(xí)領(lǐng)域里一種對數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的方法。一句話總結(jié)三者之間的關(guān)系就是:“機器學(xué)習(xí),實現(xiàn)人工智能的方法;深度學(xué)習(xí),實現(xiàn)機器學(xué)習(xí)的技術(shù)。深度學(xué)習(xí)目前是機器學(xué)習(xí)和人工智能領(lǐng)域研究的主要方向,為計算機圖形學(xué)、計算機視覺等領(lǐng)域帶來了革命性的進(jìn)步。機器學(xué)習(xí)最早在1980年被提出,1984年分類與回歸樹出現(xiàn),直到1986年,Rumelhart等人反向傳播(BackPropaga-tion,BP)算法的提出,解決了感知模型只能處理線性分類的問題,1989年出現(xiàn)的卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeuralNet-works,CNN)也因此得到了一定的發(fā)展。在1990年至2012年,機器學(xué)習(xí)逐漸成熟并施以應(yīng)用,GeoffreyHinton在2006年設(shè)計出了深度信念網(wǎng)絡(luò),解決了反向傳播算法神經(jīng)網(wǎng)絡(luò)中梯度消失的問題,正式提出了深度學(xué)習(xí)的概念,逐漸走向深度學(xué)習(xí)飛速發(fā)展的時期。隨后,各種具有獨特神經(jīng)處理單元和復(fù)雜層次結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)不斷涌現(xiàn),深度學(xué)習(xí)技術(shù)不斷提高人工智能領(lǐng)域應(yīng)用方面的極限。
二、深度學(xué)習(xí)主要模型
1、卷積神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeuralNetworks,CNN)是指有著深度結(jié)構(gòu)又包含著卷積計算的前饋神經(jīng)網(wǎng)絡(luò)。卷積物理上理解為系統(tǒng)某一時刻的輸出是有多個輸入共同疊加的結(jié)果,就是相當(dāng)于對一個原圖像的二次轉(zhuǎn)化,提取特點的過程。卷積神經(jīng)網(wǎng)絡(luò)實際上就是一個不斷提取特征,進(jìn)行特征選擇,然后進(jìn)行分類的過程,卷積在CNN里,首先對原始圖像進(jìn)行特征提取。所以卷積神經(jīng)網(wǎng)絡(luò)能夠得到數(shù)據(jù)的特征,在模式識別、圖像處理等方面應(yīng)用廣泛。一個卷積神經(jīng)網(wǎng)絡(luò)主要由三層組成,即卷積層(convolutionlayer)、池化層(poolinglayer)、全連接層(fullyconnectedlayer)。卷積層是卷積神經(jīng)網(wǎng)絡(luò)的核心部分,通過一系列對圖像像素值進(jìn)行的卷積運算,得到圖像的特征信息,同時不斷地加深節(jié)點矩陣的深度,從而獲得圖像的深層特征;池化層的本質(zhì)是對特征圖像進(jìn)行采樣,除去冗雜信息,增加運算效率,不改變特征矩陣的深度;全連接將層間所有神經(jīng)元兩兩連接在一起,對之前兩層的數(shù)據(jù)進(jìn)行分類處理。CNN的訓(xùn)練過程是有監(jiān)督的,各種參數(shù)在訓(xùn)練的過程中不斷優(yōu)化,直到得到最好的結(jié)果。目前,卷積神經(jīng)網(wǎng)絡(luò)的改進(jìn)模型也被廣泛研究,如全卷積神經(jīng)網(wǎng)絡(luò)(FullyConvolutionalNeuralNetworks,F(xiàn)CN)和深度卷積神經(jīng)網(wǎng)絡(luò)(DeepConvolutionalNeuralNetworks,DCNN)等等。2、循環(huán)神經(jīng)網(wǎng)絡(luò)區(qū)別于卷積神經(jīng)網(wǎng)絡(luò)在圖片處理領(lǐng)域的應(yīng)用,循環(huán)神經(jīng)網(wǎng)絡(luò)(RecurrentNeuralNetwork,RNN)主要應(yīng)用在自然語言處理領(lǐng)域。RNN最大的特點就是神經(jīng)元的輸出可以繼續(xù)作為輸入,再次利用到神經(jīng)元中循環(huán)使用。RNN是以序列的方式對數(shù)據(jù)進(jìn)行讀取,這也是RNN最為獨特的特征。RNN的串聯(lián)式結(jié)構(gòu)適用于時間序列的數(shù)據(jù),可以完好保持?jǐn)?shù)據(jù)中的依賴關(guān)系。循環(huán)神經(jīng)網(wǎng)絡(luò)主要有三層結(jié)構(gòu),輸入層,隱藏層和輸出層。隱藏層的作用是對輸入層傳遞進(jìn)來的數(shù)據(jù)進(jìn)行一系列的運算,并將結(jié)果傳遞給輸出層進(jìn)行輸出。RNN可用于許多不同的地方。下面是RNN應(yīng)用最多的領(lǐng)域:1.語言建模和文本生成,給出一個詞語序列,試著預(yù)測下一個詞語的可能性。這在翻譯任務(wù)中是很有用的,因為最有可能的句子將是可能性最高的單詞組成的句子;2.語音識別;3.生成圖像描述,RNN一個非常廣泛的應(yīng)用是理解圖像中發(fā)生了什么,從而做出合理的描述。這是CNN和RNN相結(jié)合的作用。CNN做圖像分割,RNN用分割后的數(shù)據(jù)重建描述。這種應(yīng)用雖然基本,但可能性是無窮的;4.視頻標(biāo)記,可以通過一幀一幀地標(biāo)記視頻進(jìn)行視頻搜索。3、深度神經(jīng)網(wǎng)絡(luò)深度神經(jīng)網(wǎng)絡(luò)(deepneuralnetworks,DNN)可以理解為有很多隱藏層的神經(jīng)網(wǎng)絡(luò)。多層神經(jīng)網(wǎng)絡(luò)和深度神經(jīng)網(wǎng)絡(luò)DNN其實也是指的一個東西,DNN有時也叫做多層感知機(Mul-ti-Layerperceptron,MLP)。DNN內(nèi)部的神經(jīng)網(wǎng)絡(luò)層也是分為三類,輸入層,隱藏層和輸出層,一般來說第一層是輸入層,最后一層是輸出層,而中間的層數(shù)都是隱藏層。深度神經(jīng)網(wǎng)絡(luò)(DNN)目前作為許多人工智能應(yīng)用的基礎(chǔ),并且在語音識別和圖像識別上有突破性應(yīng)用。DNN的發(fā)展也非常迅猛,被應(yīng)用到工業(yè)自動駕駛汽車、醫(yī)療癌癥檢測等領(lǐng)域。在這許多領(lǐng)域中,深度神經(jīng)網(wǎng)絡(luò)技術(shù)能夠超越人類的準(zhǔn)確率,但同時也存在著計算復(fù)雜度高的問題。因此,那些能夠解決深度神經(jīng)網(wǎng)絡(luò)表現(xiàn)準(zhǔn)確度或不會增加硬件成本高效處理的同時,又能提升效率和吞吐量的技術(shù)是現(xiàn)在人工智能領(lǐng)域能夠廣泛應(yīng)用DNN技術(shù)的關(guān)鍵。
三、深度學(xué)習(xí)在教育領(lǐng)域的影響
1、學(xué)生學(xué)習(xí)方面通過網(wǎng)上學(xué)習(xí)的實時反饋數(shù)據(jù)對學(xué)生的學(xué)習(xí)模式進(jìn)行研究,并修正現(xiàn)有教學(xué)模式存在的不足。分析網(wǎng)絡(luò)大數(shù)據(jù),相對于傳統(tǒng)在線學(xué)習(xí)本質(zhì)區(qū)別在于捕捉學(xué)生學(xué)習(xí)過程,有針對性,實現(xiàn)學(xué)生個性化學(xué)習(xí)。舉個例子,在學(xué)習(xí)過程中,可以通過學(xué)習(xí)平臺對學(xué)生學(xué)習(xí)課程所花費的時間,參與的程度,知識的偏好等等數(shù)據(jù)加以分析。也可以通過學(xué)生學(xué)習(xí)某門課程的次數(shù),鼠標(biāo)點擊次數(shù)、停留的時間等,來推斷學(xué)生學(xué)習(xí)情況。通過以上或類似數(shù)據(jù)匯總分析,可以正向引導(dǎo)學(xué)生學(xué)習(xí),并給予積極的學(xué)習(xí)評價。這種利用計算機收集分析出來的客觀數(shù)據(jù),很好展示了學(xué)生學(xué)習(xí)行為的結(jié)果,總結(jié)學(xué)習(xí)規(guī)律,而不需要教師多年的教學(xué)經(jīng)驗來判斷。對于教育研究者而言,利用深度學(xué)習(xí)技術(shù)可以更客觀準(zhǔn)確地了解學(xué)生,使教學(xué)工作良好發(fā)展更進(jìn)一步。2、教學(xué)方面學(xué)習(xí)平臺的數(shù)據(jù)能夠?qū)虒W(xué)模式的適應(yīng)度進(jìn)行預(yù)測,通過學(xué)生的考試成績和對教師的線上評價等加以分析,能夠預(yù)測出某一階段的教學(xué)方式發(fā)發(fā)是否可行,影響如何。通過學(xué)生與教師的在線互動,學(xué)生測驗時完成的時間與完成的結(jié)果,都會產(chǎn)生大量的有效的數(shù)據(jù),都可以為教師教學(xué)支持服務(wù)的更好開展提供幫助,從而避免低效率的教學(xué)模式造成教學(xué)資源的浪費。
四、成人遠(yuǎn)程教育中深度學(xué)習(xí)技術(shù)的可應(yīng)用性
深度學(xué)習(xí)方面的應(yīng)用在眾多領(lǐng)域都取得了成功,比如電商商品推薦、圖像識別、自然語言處理、棋類博弈等等。在遠(yuǎn)程教育方面,深度學(xué)習(xí)的技術(shù)還有很大的發(fā)揮空間,智能網(wǎng)絡(luò)教育的實現(xiàn)是人們的眾望所盼。若要將深度學(xué)習(xí)技術(shù)應(yīng)用到遠(yuǎn)程教育平臺,首先要清楚學(xué)生的需求和教學(xué)資源如何分配。1、針對學(xué)生的學(xué)習(xí)需求與學(xué)習(xí)特征進(jìn)行分析美國斯坦福大學(xué)克里斯皮希研究團隊的研究成果顯示,通過對學(xué)生知識學(xué)習(xí)進(jìn)行時間建模,可以精確預(yù)測出學(xué)生對知識點的掌握情況,以及學(xué)生在下一次學(xué)習(xí)中的表現(xiàn)。深度學(xué)習(xí)的應(yīng)用可以幫助教師推測出學(xué)生的學(xué)習(xí)能力發(fā)展水平。通過學(xué)生與教學(xué)環(huán)境的交互行為,分析其學(xué)習(xí)風(fēng)格,避免教師用經(jīng)驗進(jìn)行推斷而產(chǎn)生的誤差。2、教學(xué)資源的利用與分配深度學(xué)習(xí)技術(shù)能夠形成智能的分析結(jié)論。計算機實時采集數(shù)據(jù)集,對學(xué)生的學(xué)習(xí)情況加以分析,使教師對學(xué)生的學(xué)習(xí)狀態(tài)、情緒狀態(tài)等有更加清晰、準(zhǔn)確的了解。有了上面良好的教學(xué)模式,教師對學(xué)生的學(xué)習(xí)狀態(tài)有了更準(zhǔn)確的掌握,對學(xué)生的學(xué)習(xí)結(jié)果就有了更科學(xué)的教學(xué)評價?;谏疃葘W(xué)習(xí)的人工智能技術(shù),還可以輔助教師實現(xiàn)智能閱卷,通過智能閱卷自動總結(jié)出學(xué)習(xí)中出現(xiàn)的問題,幫助教師減少重復(fù)性勞動,減輕教師負(fù)擔(dān)。作為成人高校,遠(yuǎn)程教育是我們的主要教學(xué)手段,也是核心教學(xué)方式,學(xué)校的教學(xué)必定是在學(xué)生方便學(xué)習(xí)的同時,以學(xué)生的學(xué)習(xí)效果為重。通過深度學(xué)習(xí)技術(shù),可以科學(xué)地分析出學(xué)生的學(xué)習(xí)效果,對后續(xù)教與學(xué)給予科學(xué)、可靠的數(shù)據(jù)支撐。我們可以在平臺上為每位同學(xué)建立學(xué)習(xí)模型,根據(jù)學(xué)生的學(xué)習(xí)習(xí)慣為其定制個性化方案,按他們的興趣進(jìn)行培養(yǎng),發(fā)揮他們專業(yè)的潛能。同時,可以將學(xué)生正式在線參加學(xué)習(xí)和考試的學(xué)習(xí)行為和非學(xué)習(xí)時間瀏覽網(wǎng)站的行為結(jié)合到一起,更加科學(xué)地分析出學(xué)生在學(xué)習(xí)網(wǎng)站上感興趣的地方。采用深度學(xué)習(xí)算法,根據(jù)學(xué)生學(xué)習(xí)行為產(chǎn)生的海量數(shù)據(jù)推算出學(xué)生當(dāng)前狀態(tài)與目標(biāo)狀態(tài)之間的差距,做到精準(zhǔn)及時的學(xué)習(xí)需求反饋。有助于幫助學(xué)生明確學(xué)習(xí)目標(biāo),教師確立教學(xué)目標(biāo),真正做好因材施教?;谏疃葘W(xué)習(xí)各種智能識別技術(shù),可以為教師的線上教學(xué)活動增光添彩,在反饋學(xué)生學(xué)習(xí)狀態(tài)的同時,采用多種形式的教學(xué)方法吸引學(xué)生的注意力,增強教學(xué)活動的互動性,達(dá)到良好的教學(xué)效果。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);深度學(xué)習(xí);圖像處理;訓(xùn)練時間
中圖分類號:TP18 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)33-0167-04
如今在機器學(xué)習(xí)領(lǐng)域中,深度學(xué)習(xí)方法已經(jīng)占據(jù)了相當(dāng)重要的地位,通過模仿人X學(xué)習(xí)方式構(gòu)造模型,在圖像、文本、語音處理方面取得了顯著成果[1]。目前應(yīng)用較為廣泛的深度學(xué)習(xí)模型包含多層感知器模型(MLP)[2],卷積神經(jīng)網(wǎng)絡(luò)模型和限制性玻爾茲曼機模型等[4]。多層感知器[2]網(wǎng)絡(luò)結(jié)構(gòu)的神經(jīng)節(jié)點一般分層排列,主要由輸入層,輸出層和一些隱層組成,同層之間的神經(jīng)元節(jié)點無連接,相鄰的兩層神經(jīng)元進(jìn)行全連接,前一層的神經(jīng)元的輸出作為后一層神經(jīng)元的輸入,但本身此種算法存在著一些問題,那就是它的學(xué)習(xí)速度非常慢,其中一個原因就是由于層與層之間進(jìn)行全連接,所以它所需要訓(xùn)練的參數(shù)的規(guī)模是非常大的,所以對其進(jìn)行改進(jìn),產(chǎn)生了卷積神經(jīng)網(wǎng)絡(luò)模型。卷積神經(jīng)網(wǎng)絡(luò)模型在圖像識別方面的應(yīng)用十分廣泛[5,8,9]。從它的結(jié)構(gòu)上來看,層與層之間的神經(jīng)元節(jié)點采用局部連接模式,而并非MLP的全連接模型,這樣就降低了需要訓(xùn)練的參數(shù)的規(guī)模。而在它卷積層中,它的每一個濾波器作為卷積核重復(fù)作用于整個輸入圖像中,對其進(jìn)行卷積,而得出的結(jié)果作為輸入圖像的特征圖[6],這樣就提取出了圖像的局部特征。而由于每一個卷積濾波器共享相同的參數(shù),這樣也就大大降低了訓(xùn)練參數(shù)的時間成本。而本文,以卷積神經(jīng)網(wǎng)絡(luò)為研究對象,在其模型的基礎(chǔ)上通過對其結(jié)構(gòu)中卷積核也就是濾波器的大小進(jìn)行調(diào)整并結(jié)合卷積核個數(shù)調(diào)整和gpu加速等已有的訓(xùn)練提速方法,達(dá)到降低訓(xùn)練時間并且對識別結(jié)果并無太大影響的目的。
1 卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)在MLP的基礎(chǔ)上,已經(jīng)對結(jié)構(gòu)進(jìn)行了優(yōu)化,通過層與層之間的局部連接以及權(quán)值共享等方式對要訓(xùn)練的參數(shù)的進(jìn)行了大幅減低。
1.1局部連接
BP神經(jīng)網(wǎng)絡(luò)中,神經(jīng)元在本層中呈線性排列狀態(tài),層與層之間進(jìn)行全連接,而在卷積神經(jīng)網(wǎng)絡(luò)中,為了減少每層之間的可訓(xùn)練參數(shù)數(shù)量,對連接方式進(jìn)行了修改,相對于BP神經(jīng)網(wǎng)絡(luò)的全連接,卷積神經(jīng)網(wǎng)絡(luò)采取了局部連接的連接方式[7],也就是說按照某種關(guān)聯(lián)因素,本層的神經(jīng)元只會與上層的部分神經(jīng)元進(jìn)行連接。
2.2 權(quán)值共享
在CNN中,卷積層中的卷積核也就是濾波器,重復(fù)作用在輸入圖像上,對其進(jìn)行卷積,最后的輸出作為他的特征圖,由于每個濾波器共享相同的參數(shù),所以說他們的權(quán)重矩陣以及偏置項是相同的。
我們從上圖看出,相同箭頭連線的權(quán)值是共享的,這樣在原有的局部連接的基礎(chǔ)上我們又降低了每層需要訓(xùn)練的參數(shù)的數(shù)量。
2.3卷積過程
特征圖是通過濾波器按照特定的步長,對輸入圖像進(jìn)行濾波,也就是說我們用一個線性的卷積核對輸入圖像進(jìn)行卷積然后附加一個偏置項,最后對神經(jīng)元進(jìn)行激活。如果我們設(shè)第k層的特征圖記為[hk],權(quán)重矩陣記為[Wk],偏置項記為[bk],那么卷積過程的公式如下所示(雙曲函數(shù)tanh作為神經(jīng)元的激活函數(shù)):
2.4 最大池采樣
通過了局部連接與權(quán)值共享等減少連接參數(shù)的方式卷積神經(jīng)網(wǎng)絡(luò)中還有另外一個重要的概念那就是最大池采樣方法,它是一種非線性的采樣方法。最大池采樣法在對減少訓(xùn)練參數(shù)數(shù)量的作用體現(xiàn)在兩個方面:
1 )它減小了來自m-1層的計算復(fù)雜度。
2 )池化的單元具有平移不變性,所以即使圖像在濾波后有小的位移,經(jīng)過池化的特征依然會保持不變。
3卷積神經(jīng)網(wǎng)絡(luò)整體構(gòu)造以及減少訓(xùn)練時間的方法
3.1使用GPU加速
本次論文實驗中,使用了theano庫在python環(huán)境下實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)模型,在lenet手寫數(shù)字識別模型上進(jìn)行改進(jìn),由于theano庫本身支持GPU加速,所以在訓(xùn)練速度上實現(xiàn)了大幅度的提高。
3.2 數(shù)據(jù)集的預(yù)處理
本次實驗使用的兩個數(shù)據(jù)集是mnist手寫數(shù)字庫以及cifar_10庫
Mnist手寫數(shù)字庫具有60000張訓(xùn)練集以及10000張測試集,圖片的像素都為28*28,而cifar_10庫是一個用于普適物體識別的數(shù)據(jù)集,它由60000張32*32像素的RGB彩色圖片構(gòu)成,50000張圖片組成訓(xùn)練集,10000張組成測試集。而對于cifar_10數(shù)據(jù)集來說,由于圖片都是RGB的,所以我們在進(jìn)行實驗的時候,先把其轉(zhuǎn)換為灰度圖在進(jìn)行存儲。由于實驗是在python環(huán)境下運行,theano函數(shù)庫進(jìn)行算法支持,所以我們把數(shù)據(jù)集進(jìn)行處理,此處我們對使用的數(shù)據(jù)集進(jìn)行了格式化。格式化的文件包括三個list,分別是訓(xùn)練數(shù)據(jù),驗證數(shù)據(jù)和測試數(shù)據(jù)。而list中每個元素都是由圖像本身和它的相對應(yīng)的標(biāo)簽組成的。以mnist數(shù)據(jù)集為例,我們包含train_set,valid_set,test_set三個list,每個list中包含兩個元素,以訓(xùn)練集為例,第一個元素為一個784*60000的二維矩陣,第二個元素為一個包含60000個元素的列向量,第一個元素的每一行代表一張圖片的每個像素,一共60000行,第二個元素就存儲了對相應(yīng)的標(biāo)簽。而我們?nèi)∮?xùn)練樣本的10%作為驗證樣本,進(jìn)行相同的格式化,而測試樣本為沒有經(jīng)過訓(xùn)練的10000張圖片。在以cifar_10數(shù)據(jù)集為實驗對象時,把其進(jìn)行灰度化后,進(jìn)行相同的格式化處理方式。
3.3實驗?zāi)P徒Y(jié)構(gòu)
本次實驗是在python環(huán)境下基于theano函數(shù)庫搭建好的lenet模型進(jìn)行參數(shù)的調(diào)整,以達(dá)到在實驗準(zhǔn)確度可接受情況下減少訓(xùn)練時間的目的。
上圖為實驗中的基礎(chǔ)模型舉例說明實驗過程,首先以mnist數(shù)據(jù)集為例,我們的輸入圖像為一個28*28像素的手寫數(shù)字圖像,在第一層中我們進(jìn)行了卷積處理,四個濾波器在s1層中我們得到了四張?zhí)卣鲌D。在這里要特別的說明一下濾波器的大小問題,濾波器的大小可根據(jù)圖像像素大小和卷積神經(jīng)網(wǎng)絡(luò)整體結(jié)構(gòu)進(jìn)行設(shè)置,舉例說明,假如說我們的輸入圖像為28*28像素的圖像,我們把第一層卷積層濾波器大小設(shè)置為5*5,也就是說我們用一個大小為5*5的局部滑動窗,以步長為一對整張圖像進(jìn)行滑動濾波,則滑動窗會有24個不同的位置,也就是說經(jīng)過卷積處理后的C1層特征圖的大小為24*24。此處的濾波器大小可進(jìn)行調(diào)整,本論文希望通過對濾波器大小的調(diào)整,已達(dá)到減少訓(xùn)練時間的目的,并尋找調(diào)整的理論依據(jù)。C1層的特征圖個數(shù)與卷積過程中濾波器數(shù)量相同。S1層是C1經(jīng)過降采樣處理后得到的,也就是說四點經(jīng)過降采樣后變?yōu)橐粋€點,我們使用的是最大池方法,所以取這四個點的最大值,也就是說S1層圖像大小為12*12像素,具有4張?zhí)卣鲌D。而同理S1層經(jīng)過卷積處理得到C2層,此時我們?yōu)V波器的大小和個數(shù)也可以自行設(shè)置,得到的C2層有6張?zhí)卣鲌D,C2到S2層進(jìn)行降采樣處理,最后面的層由于節(jié)點個數(shù)較少,我們就用MLP方法進(jìn)行全連接。
3.4實驗參數(shù)改進(jìn)分析
由此可見,我們對濾波器的大小以及個數(shù)的改變,可以直接影響到卷積訓(xùn)練參數(shù)的個數(shù),從而達(dá)到減少訓(xùn)練時間的目的。
從另一種角度來看,增大濾波器的大小,實際效果應(yīng)該相似于縮小輸入圖像的像素大小,所以這樣我們可以預(yù)測增大濾波器的大小會減少樣本的訓(xùn)練時間,但是這樣也可能會降低訓(xùn)練后的分類的準(zhǔn)確率,而濾波器的大小是如何影響訓(xùn)練時間以及分類準(zhǔn)確率的,我們通過對兩種圖片庫的實驗來進(jìn)行分析。
4 實驗結(jié)果與分析
4.1以mnist手寫數(shù)字?jǐn)?shù)據(jù)集作為實驗數(shù)據(jù)
我們知道卷積層可訓(xùn)練參數(shù)的數(shù)字與濾波器的大小和數(shù)字有關(guān),所以我們通過對卷積層濾波器大小的變化來尋找較為普遍的可減少訓(xùn)練參數(shù)從而達(dá)到減少訓(xùn)練時間的目的。在實驗記錄中,我們表格縱列記錄兩層卷積層濾波器大小,橫列分別為對已經(jīng)過訓(xùn)練圖像識別和對未經(jīng)過訓(xùn)練的驗證圖像進(jìn)行識別的錯誤率,最后記錄每種濾波器大小搭配的使用時間。我們設(shè)定每次試驗都進(jìn)行100次重復(fù)訓(xùn)練,每次對權(quán)重矩陣進(jìn)行優(yōu)化。
此處我們記錄兩層濾波器大小之和作為橫坐標(biāo),比較濾波器大小與實驗之間的關(guān)系。兩層濾波器大小相加后相同的元素我們把其對應(yīng)時間做平均。
4.2以cifar_10數(shù)據(jù)集作為實驗數(shù)據(jù)
同樣是以100次循環(huán)訓(xùn)練進(jìn)行測試,通過改變兩層中濾波器的大小來尋找減少訓(xùn)練時間的設(shè)定。
此處以同樣的方法,記錄兩層濾波器大小之和作為橫坐標(biāo),比較濾波器大小與實驗之間的關(guān)系。
4.3實驗結(jié)果分析
從兩組試驗中,在不同的數(shù)據(jù)集下,我們得到了濾波器的大小與訓(xùn)練時間成反比的關(guān)系,而在減少了訓(xùn)練時間的同時確實增大了訓(xùn)練的錯誤率。
5 總結(jié)
通過實驗結(jié)果分析表明,增大卷積層濾波器大小的方法,在此兩種數(shù)據(jù)庫的情況下,是有效減小訓(xùn)練時間的方式,而在不同的數(shù)據(jù)庫對分類準(zhǔn)確率的影響程度不同,mnist手寫數(shù)字?jǐn)?shù)據(jù)庫中圖像之間的相似度非常高,所以濾波器的增大對準(zhǔn)確率產(chǎn)生的負(fù)面影響較小,而ifar_10數(shù)據(jù)集中圖像之間的相似度較小,所以增大濾波器的大小對其分類結(jié)果的準(zhǔn)確率的負(fù)面影響較大。
參考文獻(xiàn):
[1]LeCun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015, 521(7553): 436-444.
[2] Ruck D W, Rogers S K, Kabrisky M. Feature selection using a multilayer perceptron[J]. ]Journal of Neural Network Computing, 1990, 2(2): 40-48.
[3]LeCun Y, Bengio Y. Convolutional networks for images, speech, and time series[J]. The handbook of brain theory and neural networks, 1995, 3361(10): 1995.
[4] Larochelle H, Bengio Y. Classification using discriminative restricted Boltzmann machines[C]//Proceedings of the 25th international conference on Machine learning. ACM, 2008: 536-543.
[5]Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks[C]//Advances in neural information processing systems. 2012: 1097-1105.
[6] Zeiler M D, Fergus R. Visualizing and understanding convolutional networks[C]//European Conference on Computer Vision. Springer International Publishing, 2014: 818-833.
[7] Jarrett K, Kavukcuoglu K, Lecun Y. What is the best multi-stage architecture for object recognition?[C]//2009 IEEE 12th International Conference on Computer Vision. IEEE, 2009: 2146-2153.
【關(guān)鍵詞】視頻 行為識別 檢測
近年來,各種視頻監(jiān)控越來越深入我們的生活中。因其實時性、直觀性以及設(shè)備成本日益降低在各行各業(yè)中而倍受青睞。但視頻監(jiān)控系統(tǒng)還是依靠人工來控制,沒有進(jìn)入數(shù)字化的全天實時監(jiān)測、智能分析圖像數(shù)據(jù)。要實現(xiàn)完全數(shù)字化的監(jiān)控的關(guān)鍵在于人體行為的智能識別。
早些時候有人提出并且應(yīng)用了智能圖像識別的卷積神經(jīng)網(wǎng)絡(luò),它是在原始的輸入中應(yīng)用可訓(xùn)練的濾波器和局部鄰域池化操作,來得到一個分級的且逐漸復(fù)雜的特征表示。實踐表示,采用合適的規(guī)則化項來訓(xùn)練,它可以達(dá)到非常好的效果。比較好的地方是對姿勢、光照和復(fù)雜背景存在不變性,單只受限在2D輸入的舞臺。本文文章提出了一個新的3D卷積神經(jīng)網(wǎng)絡(luò)模型,用于運動識別。該模型可以從空間和時間的維度提取特征,然后進(jìn)行3D卷積,以捕捉從多個連續(xù)幀得到的運動信息。為了有效的綜合運動信息,文中通過在卷積神經(jīng)網(wǎng)絡(luò)的卷積層進(jìn)行3D卷積,以捕捉空間上、時間上的維度,讓其都具有區(qū)分性的特征。
3D卷積是通過堆疊多個連續(xù)的幀組成一個立方體,然后在立方體中運用3D卷積核。在其中,卷積層中每一個特征map都會與上一層中多個鄰近的連續(xù)幀相連,以捕捉運動信息。一個卷積map的某一位置的值是通過卷積上一層的三個連續(xù)的幀的同一個位置的局部感受得到的。要強調(diào)的是:3D卷積核只能從cube中提取一種類型的特征,因為在整個cube中卷積核的權(quán)值都是一樣的,也就是共享權(quán)值,都是同一個卷積核??梢圆捎枚喾N卷積核,以提取多種特征。有一個通用的設(shè)計規(guī)則就是:在后面的層(離輸出層近的)特征map的個數(shù)應(yīng)該增加,這樣就可以從低級的特征maps組合產(chǎn)生更多類型的特征。本文中的3D 卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)包含一個硬連線hardwired層、3個卷積層、2個下采樣層和一個全連接層。每個3D卷積核卷積的立方體是連續(xù)7幀,每幀patch大小是60x40。
在第一層,應(yīng)用了一個固定的hardwired的核去對原始的幀進(jìn)行處理,產(chǎn)生多個通道的信息,然后對多個通道分別處理。最后再將所有通道的信息組合起來得到最終的特征描述。這個實線層實際上是編碼對特征的先驗知識,這比隨機初始化性能要好。
每幀提取五個通道的信息,分別是:灰度、x和y方向的梯度,x和y方向的光流。其中,前面三個都可以每幀都計算。然后水平和垂直方向的光流場需要兩個連續(xù)幀才確定。所以是7x3 + (7-1)x2=33個特征maps。然后用一個7x7x3的3D卷積核(7x7在空間,3是時間維)在五個通道的每一個通道分別進(jìn)行卷積。為了增加特征map的個數(shù)(實際上就是提取不同的特征),在每一個位置都采用兩個不同的卷積核,這樣在C2層的兩個特征maps組中,每組都包含23個特征maps。23是(7-3+1)x3+(6-3+1)x2前面那個是:七個連續(xù)幀,其灰度、x和y方向的梯度這三個通道都分別有7幀,然后水平和垂直方向的光流場都只有6幀。54x34是(60-7+1)x(40-7+1)。
在緊接著的下采樣層S3層max pooling,在C2層的特征maps中用2x2窗口進(jìn)行下采樣,這樣就會得到相同數(shù)目但是空間分辨率降低的特征maps。下采樣后,就是27x17=(52/2)*(34/2)。 C4是在5個通道中分別采用7x6x3的3D卷積核。為了增加特征maps個數(shù),在每個位置都采用3個不同的卷積核,這樣就可以得到6組不同的特征maps,每組有13個特征maps。13是((7-3+1)-3+1)x3+((6-3+1)-3+1)x2前面那個是:七個連續(xù)幀,其灰度、x和y方向的梯度這三個通道都分別有7幀,然后水平和垂直方向的光流場都只有6幀。21x12是(27-7+1)x(17-6+1)。
S5層用的是3x3的下采樣窗口,所以得到7x4. 到這個階段,時間維上幀的個數(shù)已經(jīng)很小了。在這一層,只在空間維度上面卷積,這時候使用的核是7x4,然后輸出的特征maps就被減小到1x1的大小。而C6層就包含有128個特征map,每個特征map與S5層中所有78(13x6)個特征maps全連接,這樣每個特征map就是1x1,也就是一個值了,而這個就是最終的特征向量了。
經(jīng)過多層的卷積和下采樣后,每連續(xù)7幀的輸入圖像都被轉(zhuǎn)化為一個128維的特征向量,這個特征向量捕捉了輸入幀的運動信息。輸出層的節(jié)點數(shù)與行為的類型數(shù)目一致,而且每個節(jié)點與C6中這128個節(jié)點是全連接的。采用一個線性分類器來對這128維的特征向量進(jìn)行分類,實現(xiàn)行為識別。模型中所有可訓(xùn)練的參數(shù)都是隨機初始化的,然后通過在線BP算法進(jìn)行訓(xùn)練。
3D 卷積神經(jīng)網(wǎng)絡(luò)模型的輸入被限制為一個少的連續(xù)視頻幀,因為隨著輸入窗口大小的增加,模型需要訓(xùn)練的參數(shù)也會增加。當(dāng)然有些人的行為是跨越很多幀的,所以在3D 卷積神經(jīng)網(wǎng)絡(luò)模型中,有必要捕捉這種高層的運動信息。需要用大量的幀來計算運動特征,然后把這些運動特征作為輔助輸出去規(guī)則化3D 卷積神經(jīng)網(wǎng)絡(luò)模型。
對于每一個需要訓(xùn)練的行為,提取其長時間的行為信息,作為其高級行為特征。這個運動信息因為時間夠長,所以要比卷積神經(jīng)網(wǎng)絡(luò)的輸入幀的立方體包含的信息要豐富很多。然后我們就迫使卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)一個非常接近這個特征的特征向量。這可以通過在卷積神經(jīng)網(wǎng)絡(luò)的最后一個隱層再連接一系列的輔助輸出節(jié)點,然后訓(xùn)練過程中,使提取的特征更好的逼近這個計算好的高層的行為運動特征向量。
試驗中,在原始的灰度圖像中計算稠密sift描述子,然后通過這些sift描述子和運動邊緣歷史圖像(MEHI)組合構(gòu)造bag-of-words特征作為輔助特征。 因為灰度圖保留了外觀信息,運動邊緣歷史圖像只關(guān)心形狀和運動模式,所以可以提取這兩個互補的信息作為兩個連續(xù)幀的局部特征bag。先簡單的計算兩幀間的差分,這樣就可以保留運動信息,然后對其執(zhí)行一次Canny邊緣檢測,這樣可以使得觀測圖像更加清楚簡潔。最總的運動邊緣圖像就是將歷史的這些圖像乘以一個遺忘因子再累加起來得到。
本文中,構(gòu)造不同的3D 卷積神經(jīng)網(wǎng)絡(luò)模型,它可以從輸入捕捉潛在的互補信息,然后在預(yù)測階段,每個模型都針對一個輸入得到對應(yīng)的輸出,然后再組合這些輸出得到最終的結(jié)果。
作者簡介:
>> 用于腦運作分析的前向網(wǎng)絡(luò)樣本重組樹生成算法研究 基于三角構(gòu)成規(guī)則的加權(quán)有向網(wǎng)絡(luò)拓?fù)渖伤惴?適用于網(wǎng)絡(luò)漸進(jìn)傳輸?shù)亩喾直媛是€生成算法 全排列生成算法比較分析 KenKen問題的生成算法研究 曲線生成算法的文獻(xiàn)綜述 基于列生成算法的集裝箱班輪運輸網(wǎng)絡(luò)優(yōu)化 基于全卷積神經(jīng)網(wǎng)絡(luò)的圖像縮略圖生成算法 傳感器網(wǎng)絡(luò)中一種基于編碼的MAC生成算法 數(shù)據(jù)庫關(guān)鍵詞檢索中候選元組集連接樹生成算法的研究 基于分類隨機算法的試卷生成算法研究 分析基于列生成算法的動車組檢修計劃優(yōu)化 AOS自相似業(yè)務(wù)流等時幀生成算法的Matlab仿真分析 關(guān)于傳統(tǒng)空間緩沖區(qū)生成算法的分析 基于Bresenham的直線快速生成算法 題庫系統(tǒng)中試卷生成算法的改進(jìn) 一種可用于腦神經(jīng)網(wǎng)絡(luò)分析的有向網(wǎng)絡(luò)分解算法 形式概念演化生成算法 MPI通信代碼自動生成算法 一種啟發(fā)式雙代號網(wǎng)絡(luò)圖自動生成算法 常見問題解答 當(dāng)前所在位置:l.(Xie Qin. Framework of Brain Information Processing[Z].[2013-10-21]. .)
[30]謝勤.WAP算法連續(xù)化及其應(yīng)用[C].畢業(yè)論文,2004.
[31]謝勤.一種可用于腦神經(jīng)網(wǎng)絡(luò)分析的有向網(wǎng)絡(luò)分解算法[J].數(shù)字化用戶,2014,3:113-116.(Xie Qin. An Arithmetic For Neural Network Analysis: From Directed Graph To FFN Trees [J].Digitization user,2014, 3:113-116.)
[32]謝勤.一種可用于腦神經(jīng)網(wǎng)絡(luò)分析的有向網(wǎng)絡(luò)分解算法[C].第八屆海內(nèi)外華人神經(jīng)科學(xué)家研討會論文集.北京:科學(xué)出版社,2014.(Xie Qin. An Arithmetic For Neural Network Analysis: From Directed Graph To FFN Trees [C]. Proceedings of Symposium for Chinese Neuroscientists Worldwide 2014. Beijing: Science Press. 2014.)
[33]謝勤.用于腦運作分析的前向網(wǎng)絡(luò)樣本重組樹生成算法研究[C].電子技術(shù)與軟件工程,2016,4:258-264.(Xie Qin. FeedForward Network Sample Recombination Tree Generating Arithmetic(DG-FFN SR Trees Arithmetic) And Generation Of Sample Recombination Graph [J]. Electronic Technology & Software Engineering, 2016,4:258-264.)
(通訊作者:謝勤)
作者簡介
謝勤(1982-),男,A南理工大學(xué)碩士,中國神經(jīng)科學(xué)學(xué)會會員,工程師,近年在亞組委信息技術(shù)部完成核心信息系統(tǒng)――計時記分和成績處理系統(tǒng)項目實施管理方面的工作,其中計時記分系統(tǒng)投資一億。主要研究方向為計算機科學(xué)與工程、人工智能、神經(jīng)生物學(xué)。
作者單位
1.廣州市科技和信息化局 廣東省廣州市 510000
2.第16屆亞運會組委會信息技術(shù)部 廣東省廣州市 510000
3.廣州生產(chǎn)力促進(jìn)中心 廣東省廣州市 510000
4.廣州市科學(xué)技術(shù)信息研究所 廣東省廣州市 510000
5.廣州市科技創(chuàng)新委員會 廣東省廣州市 510000
1989年貝爾實驗室成功利用反向傳播算法,在多層神經(jīng)網(wǎng)絡(luò)開發(fā)了一個手寫郵編識別器。1998年Yann LeCun和Yoshua Bengio發(fā)表了手寫識別神經(jīng)網(wǎng)絡(luò)和反向傳播優(yōu)化相關(guān)的論文《Gradient-based learning applied to document recognition》,開創(chuàng)了卷積神經(jīng)網(wǎng)絡(luò)的時代。
此后,人工智能陷入了長時間的發(fā)展沉寂階段,直到1997年IBM的深藍(lán)戰(zhàn)勝國際象棋大師和2011年IBM的沃森智能系統(tǒng)在Jeopardy節(jié)目中勝出,人工智能才又一次為人們所關(guān)注。2016年Alpha Go擊敗韓國圍棋九段職業(yè)選手,則標(biāo)志著人工智能的又一波。從基礎(chǔ)算法,底層硬件,工具框架到實際應(yīng)用場景,目前人工智能已經(jīng)全面開花。 作為人工智能核心的底層硬件AI芯片,也同樣經(jīng)歷了多次的起伏和波折,
總體看來,AI芯片的發(fā)展前后經(jīng)歷了四次大的變化,其發(fā)展歷程如下圖所示。
(1)2007年以前,AI芯片產(chǎn)業(yè)一直沒有發(fā)展成為成熟的產(chǎn)業(yè);同時由于當(dāng)時算法、數(shù)據(jù)量等因素,這個階段AI芯片并沒有特別強烈的市場需求,通用的CPU芯片即可滿足應(yīng)用需要。
(2)隨著高清視頻、VR、AR游戲等行業(yè)的發(fā)展,GPU產(chǎn)品取得快速的突破;同時人們發(fā)現(xiàn)GPU的并行計算特性恰好適應(yīng)人工智能算法及大數(shù)據(jù)并行計算的需求,如GPU比之前傳統(tǒng)的CPU在深度學(xué)習(xí)算法的運算上可以提高幾十倍的效率,因此開始嘗試使用GPU進(jìn)行人工智能計算。
(3)進(jìn)入2010年后,云計算廣泛推廣,人工智能的研究人員可以通過云計算借助大量CPU和GPU進(jìn)行混合運算,進(jìn)一步推進(jìn)了AI芯片的深入應(yīng)用,從而催生了各類AI芯片的研發(fā)與應(yīng)用。
(4)人工智能對于計算能力的要求不斷快速地提升,進(jìn)入2015年后,GPU的性能功耗比不高的特點使其適用場合受到很多限制,業(yè)界開始研發(fā)針對人工智能的專用芯片,通過更好的硬件和芯片架構(gòu),在計算效率、能耗比上進(jìn)一步提升。
關(guān)鍵詞:圖像采集和處理;圖像檢測;Gabor紋理濾波;神經(jīng)網(wǎng)絡(luò)
DoI:10.15938/j.jhust.2016.06.009
中圖分類號:TPl83;TP391.4
文獻(xiàn)標(biāo)志碼:A
文章編號:1007-2683(2016)06-0044-06
0.引言
鋼鐵企業(yè)為了提高競爭力,對帶鋼的生產(chǎn)提出了新的要求,也對帶鋼表面檢測系統(tǒng)提出了更高的要求,既要有更高的檢測速度還要有更加準(zhǔn)確的檢測精度,而與此同時,跟隨機器視覺技術(shù)的發(fā)展,帶鋼表面檢測系統(tǒng)也得到了廣泛的研究與應(yīng)用,主要研究包括:①光源技術(shù),由于帶鋼檢測對光源要求頻度高、體積小,這限制了傳統(tǒng)光源在其應(yīng)用,激光具有方向性好、亮度高、體積小等優(yōu)點,被廣泛應(yīng)用于帶鋼檢測應(yīng)用中,國內(nèi)的徐科等提出熱軋鋼檢測中用綠光作為激光光源,但激光照明需解決均勻性問題.②掃描技術(shù),由于電荷耦合元件(charge-coupled device,CCD)能夠?qū)崿F(xiàn)實時檢測,成為目前研究和應(yīng)用的主流技術(shù),但是,CCD電荷耦合器需在同步時鐘的控制下,以行為單位一位一位地輸出信息,速度較慢,而互補金屬氧化物半導(dǎo)體(complementary metal oxide semiconductor,CMOS)光電傳感器采集光信號的同時就可以取出電信號,還能同時處理各單元的圖像信息,速度比CCD電荷耦合器快很多,③圖像處理算法,受限于帶鋼加工過程的特性,帶鋼表面呈現(xiàn)出隨機紋理的特點,對于隨機紋理圖像的處理分析,目前常用的方法有共生矩陣法、頻域濾波法、分形法等,作為頻域濾波法的代表,二維Gabor濾波器有著與生物視覺系統(tǒng)相近的特點,廣泛應(yīng)用于紋理圖像的處理分析,但是,CPU很難滿足現(xiàn)在的帶鋼檢測的實時要求,④分類算法,特征選擇的主流算法是主成分分析和信息增益,主成分分析存在特征向量方向不一致的問題,而且如何確定主成分存在主觀性,信息增益可以衡量特征的劣,利用它可對特征進(jìn)行排序,方便后面的特征選擇,但信息增益適用于離散特征,信息增益率既適用于離散特征也適用于連續(xù)特征,被廣泛應(yīng)用于特征選擇的過程中,圖像分類算法主流算法包括支持向量機和BP神經(jīng)網(wǎng)絡(luò),支持向量機不適用于大樣本的分類問題,BP神經(jīng)網(wǎng)絡(luò)方法具有能夠解決非線性分類問題,對噪聲不敏感等優(yōu)點,被廣泛應(yīng)用于帶鋼檢測中,如王成明等提出的基于BP神經(jīng)網(wǎng)絡(luò)的帶鋼表面質(zhì)量檢測方法等,但是BP神經(jīng)網(wǎng)絡(luò)的超參的設(shè)定往往具有隨機性,這嚴(yán)重影響了分類效果。
本文首先介紹了帶鋼表面缺陷高速高分辨率成像系統(tǒng)的設(shè)計,針對光源的不均勻性、圖像處理速度慢等問題,提出改進(jìn)方法,然后介紹了分類器的構(gòu)建,針對樣本劃分的隨機性、特征選擇的隨機性以及BP神經(jīng)網(wǎng)絡(luò)超參設(shè)定的隨機性問題,做出改進(jìn),最后介紹試驗結(jié)果。
1.帶鋼表面缺陷高速高分辨率的成像系統(tǒng)的設(shè)計
1)大功率半導(dǎo)體均勻發(fā)光激光器技術(shù),激光能夠保證帶鋼表面缺陷的檢出率,本系統(tǒng)選用808mm半導(dǎo)體激光器作為照明源,出光功率可達(dá)30w,亮度可達(dá)1500流明,激光照明需解決均勻性的問題,本文采用了基于鮑威爾棱鏡的激光線發(fā)生辦法,解決了激光照明的均勻性問題,其光路如圖1所示。
該方法首先在激光聚焦位置放置圓形球面透鏡,負(fù)責(zé)將發(fā)散的激光束匯聚成準(zhǔn)平行光,同時控制光柱的粗細(xì),然后,利用鮑威爾棱鏡的擴散效果對圓柱的一個方向進(jìn)行擴束,最終形成激光線,為保證亮度及寬度的適應(yīng)性,激光器出光口距離圓透鏡、鮑威爾棱鏡的距離可以精密調(diào)整,為了降低反射亮度損失,在透鏡表面鍍上808±5nm的T≥99%的增透膜。
GPU的算法分為兩個流程:訓(xùn)練過程主要針對無缺陷圖像進(jìn)行,通過訓(xùn)練完成紋理圖像的背景建模,一方面消除背景變化帶來的干擾,另一方面形成有效的Gabor卷積參數(shù),以便在檢測過程中得到最優(yōu)的檢出效果.檢測過程對實際拍攝的缺陷圖像進(jìn)行分析,首先按照GPU的核心數(shù)和緩存大小對圖像進(jìn)行分解,本文所有GPU的核心數(shù)為1024,顯存2G,因此將原始圖像分解為1000塊,分別加載到1000個核心中,同時并發(fā)運行卷積運算.最后將各個窗口的卷積結(jié)果合并到一起,得到完成的濾波結(jié)果,最后借助于背景模式,將背景的干擾消除,得到干凈的缺陷區(qū)域。
3)成像系統(tǒng),根據(jù)缺陷檢測的精度要求(1800m/min的檢測速度,0.25mm的精度),帶鋼的規(guī)格要求(1900 mm規(guī)格),對帶鋼進(jìn)行成像系統(tǒng)設(shè)計,基于互補金屬氧化物半導(dǎo)體(CMOS)的成像芯片具有速度快,用電低等優(yōu)勢,選用兩個4K線掃描CMOS相機作為成像核心器件,選用Camera Link Full接口作為數(shù)據(jù)輸出,兩個4K掃描中間重疊100mm作為圖像拼接區(qū),兩組線激光光源與線掃描組成系統(tǒng)的主要成像模塊,成像系統(tǒng)結(jié)構(gòu)如圖3所示。
2.構(gòu)建分類器
檢測缺陷類別及其特征描述如表1所示:
1)訓(xùn)練集和樣本集劃分.主要缺陷類別有5個,每個類別收集樣本7000,共計35000個樣本,為了避免訓(xùn)練集和樣本集劃分的盲目性,采用10一折交叉驗證的方式劃分訓(xùn)練集和測試集,即將樣本集分成10份,從中選1份為測試集,剩下的為訓(xùn)練集,如圖4所示,究竟選擇哪一份作為測試集,需在后面的嵌套循環(huán)中實現(xiàn)。
2)特征選擇,缺陷區(qū)域的長度、寬度、面積、區(qū)域?qū)Ρ榷鹊裙灿?38個特征形成初始特征集合,利用信息增益率來對各個特征排序。
上述各循環(huán)組合在一起就是一個嵌套循環(huán),其N-S盒圖如圖5所示,最外層是測試集和訓(xùn)練集的10折交叉驗證,第1層是確定最優(yōu)的特征數(shù),第3層是確定最優(yōu)的隱含層節(jié)點數(shù),第4、5層是確定最優(yōu)的輸入層和隱含層、隱含層和輸出層的初始權(quán)值。
經(jīng)以上循環(huán),確定D3作為測試集,最優(yōu)特征數(shù)為23個,最優(yōu)的隱含層節(jié)點數(shù)是46個,同時也確定了最優(yōu)的初始權(quán)值,對應(yīng)的3層BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)模型如圖6所示。
3.實驗結(jié)果
1)鮑威爾棱鏡與柱透鏡進(jìn)行對比在實際工作距離1.5m處,采用0.1m為間隔使用光功率計測試光源功率,如圖7所示,橫軸為測試點,縱軸為測試點的光功率。實驗表明,鮑威爾棱鏡均勻性優(yōu)于柱透鏡。
2)Gabor濾波方法與其他方法比較將動態(tài)閾值法+Blob分析法(方法A)和灰度共生矩陣紋理背景消除法(方法B)兩種方法與Gabor濾波方法進(jìn)行比較,如圖8所示.由于缺陷與背景灰度相近(圖(a)),致使方法A缺陷丟失(圖(b)),由于缺陷與背景紋理相近(圖(d)),致使方法B產(chǎn)生噪聲(圖(e)),Gabor方法取得了不錯的效果(圖(e)、(圖(f)))。
3)GPU與CPU比較以4096×4096的圖像為例,選10幅有代表性圖像,利用CPU(最新的inteli7-2600處理器,4核8線程,2.6GHz,內(nèi)存8G)和GPU(nVidiaGTX970,4G存顯卡)進(jìn)行Ga-bor運算,計算時間如表2所示,GPU計算效率明顯優(yōu)于CPU,其中CPU的平均耗時為290.4ms,而GPU的平均耗時為31.7ms。
4)檢測效果在產(chǎn)線速度為1775m/min,最小檢測缺陷的尺寸為0.25mm的檢測系統(tǒng)中,對帶鋼的主要4種類型缺陷進(jìn)行檢測統(tǒng)計,檢測結(jié)果如表3所示。
可計算出整體檢出率99.9%,檢測準(zhǔn)確率99.4%。
計算機視覺的第一步是特征提取,即檢測圖像中的關(guān)鍵點并獲取有關(guān)這些關(guān)鍵點的有意義信息。特征提取過程本身包含4個基本階段:圖像準(zhǔn)備、關(guān)鍵點檢測、描述符生成和分類。實際上,這個過程會檢查每個像素,以查看是否有特征存在干該像素中。
特征提取算法將圖像描述為指向圖像中的關(guān)鍵元素的一組特征向量。本文將回顧一系列的特征檢測算法,在這個過程中,看看一般目標(biāo)識別和具體特征識別在這些年經(jīng)歷了怎樣的發(fā)展。
早期特征檢測器
Scale Invariant Feature Transform(SIFT)及Good Features To Track(GFTT)是特征提取技術(shù)的早期實現(xiàn)。但這些屬于計算密集型算法,涉及到大量的浮點運算,所以它們不適合實時嵌入式平臺。
以SIFT為例,這種高精度的算法,在許多情況下都能產(chǎn)生不錯的結(jié)果。它會查找具有子像素精度的特征,但只保留類似于角落的特征。而且,盡管SIFT非常準(zhǔn)確,但要實時實現(xiàn)也很復(fù)雜,并且通常使用較低的輸入圖像分辨率。
因此,SIFT在目前并不常用,它主要是用作一個參考基準(zhǔn)來衡量新算法的質(zhì)量。因為需要降低計算復(fù)雜度,所以最終導(dǎo)致要開發(fā)一套更容易實現(xiàn)的新型特征提取算法。
二代算法
Speeded Up Robust Features(SURF)是最早考慮實現(xiàn)效率的特征檢測器之一。它使用不同矩形尺寸中的一系列加法和減法取代了SIFT中浩繁的運算。而且,這些運算容易矢量化,需要的內(nèi)存較少。
接下來,HOG(Histograms ofOriented Gradients)這種在汽車行業(yè)中常用的熱門行人檢測算法可以變動,采用不同的尺度來檢測不同大小的對象,并使用塊之間的重疊量來提高檢測質(zhì)量,而不增加計算量。它可以利用并行存儲器訪問,而不像傳統(tǒng)存儲系統(tǒng)那樣每次只處理一個查找表,因此根據(jù)內(nèi)存的并行程度加快了查找速度。
然后,ORB(Oriented FASTand Rotated BRIEF)這種用來替代SIFT的高效算法將使用二進(jìn)制描述符來提取特征。ORB將方向的增加與FAST角點檢測器相結(jié)合,并旋轉(zhuǎn)BRIEF描述符,使其與角方向?qū)R。二進(jìn)制描述符與FAST和HarrisCorner等輕量級函數(shù)相結(jié)合產(chǎn)生了一個計算效率非常高而且相當(dāng)準(zhǔn)確的描述圖。
CNN:嵌入式平臺目標(biāo)識別的下一個前沿領(lǐng)域
配有攝像頭的智能手機、平板電腦、可穿戴設(shè)備、監(jiān)控系統(tǒng)和汽車系統(tǒng)采用智能視覺功能將這個行業(yè)帶到了一個十字路口,需要更先進(jìn)的算法來實現(xiàn)計算密集型應(yīng)用,從而提供更能根據(jù)周邊環(huán)境智能調(diào)整的用戶體驗。因此,需要再一次降低計算復(fù)雜度來適應(yīng)這些移動和嵌入式設(shè)備中使用的強大算法的嚴(yán)苛要求。
不可避免地,對更高精度和更靈活算法的需求會催生出矢量加速深度學(xué)習(xí)算法,如卷積神經(jīng)網(wǎng)絡(luò)(CNN),用于分類、定位和檢測圖像中的目標(biāo)。例如,在使用交通標(biāo)志識別的情況下,基于CNN的算法在識別準(zhǔn)確度上勝過目前所有的目標(biāo)檢測算法。除了質(zhì)量高之外,CNN與傳統(tǒng)目標(biāo)檢測算法相比的主要優(yōu)點是,CNN的自適應(yīng)能力非常強。它可以在不改變算法代碼的情況下快速地被重新“訓(xùn)練(tuning)”以適應(yīng)新的目標(biāo)。因此,CNN和其他深度學(xué)習(xí)算法在不久的將來就會成為主流目標(biāo)檢測方法。
CNN對移動和嵌入式設(shè)備有非??量痰挠嬎阋?。卷積是CNN計算的主要部分。CNN的二維卷積層允許用戶利用重疊卷積,通過對同一輸入同時執(zhí)行一個或多個過濾器來提高處理效率。所以,對于嵌入式平臺,設(shè)計師應(yīng)該能夠非常高效地執(zhí)行卷積,以充分利用CNN流。
事實上,CNN嚴(yán)格來說并不是一種算法,而是一種實現(xiàn)框架。它允許用戶優(yōu)化基本構(gòu)件塊,并建立一個高效的神經(jīng)網(wǎng)絡(luò)檢測應(yīng)用,因為CNN框架是對每個像素逐一計算,而且逐像素計算是一種要求非??量痰倪\算,所以它需要更多的計算量。
不懈改進(jìn)視覺處理器
AlphaGo真的有這么無敵嗎?它的出現(xiàn),對人類而言究竟是福還是禍呢?
拋開所有高大上的描述,AlphaGo本質(zhì)上只是一段很長很長的程序代碼。人類眼中的下圍棋,在它眼里只是不停地按照代碼設(shè)定做計算。人類棋手下棋時要計算每一步棋該怎樣走,走這一步是優(yōu)勢還是劣勢,同樣,AlphaGo也在做類似的計算。而支撐它進(jìn)行計算的是四個程序設(shè)置:策略網(wǎng)絡(luò)、估值網(wǎng)絡(luò)、快速部署和蒙特卡洛樹搜索。要想知道AlphaGo是怎樣學(xué)棋、下棋的,我們就得好好說說這四個程序設(shè)置了。
AlphaGo的策略網(wǎng)絡(luò),由監(jiān)督學(xué)習(xí)和強化學(xué)習(xí)兩種機器學(xué)習(xí)方法搭建。聽上去有些高深?別急,平時刷題不止、考試不斷的你一定深有體會。
所謂的監(jiān)督學(xué)習(xí),是我們給程序一個訓(xùn)練集,其中一部分稱為例子,相當(dāng)于習(xí)題;一部分稱為目標(biāo),相當(dāng)于答案。然后設(shè)定一個函數(shù)模型,讓程序不斷把訓(xùn)練集的例子代入函數(shù)模型,算答案,對答案。如果答案不對,程序就去調(diào)整這個函數(shù)模型里的某些參數(shù),再重復(fù)之前的過程,直到能得出較高的正確率。接著再給程序一個測試集,相當(dāng)于考試。如果程序?qū)y試集里的例子算出的答案正確率也比較高,表明訓(xùn)練成功。
對于AlphaGo來說,訓(xùn)練集是人類在KGS圍棋對戰(zhàn)平臺上下過的數(shù)萬局棋譜,其中,“例子”是給定一步以后下一步該走什么,“答案”是人類走法中較多人走的且效果不錯的那步,函數(shù)模型是模擬人類大腦的“深度卷積神經(jīng)網(wǎng)絡(luò)”。這里的“神經(jīng)網(wǎng)絡(luò)”指的是一類算法結(jié)構(gòu),本質(zhì)是一簇互相關(guān)聯(lián)的函數(shù);“深度”指的是“神經(jīng)網(wǎng)絡(luò)”有好多層,每層負(fù)責(zé)學(xué)習(xí)不同的知識點;“卷積”則是一類數(shù)學(xué)方法,在神經(jīng)網(wǎng)絡(luò)中處理一些函數(shù)之間的關(guān)系和提煉輸入數(shù)據(jù)里的有效信息。要想完全弄清楚“卷積”,大學(xué)的時候你可得好好學(xué)習(xí)高等數(shù)學(xué)哦。
接下來的強化學(xué)習(xí),有點像平時老師讓我們用學(xué)到的知識去解決某些答案并不確定的實際問題。在監(jiān)督學(xué)習(xí)的過程中,AlphaGo只是參照人類的走法大致學(xué)會了預(yù)測下一步,那么下棋的效果究竟會怎么樣呢?于是我們讓兩個策略網(wǎng)絡(luò)互相下棋并不斷調(diào)整,看哪邊下贏了就保留勝方的模式和參數(shù),這樣下過3000萬盤后,AlphaGo便通過這樣“左右互搏”的方式提高了策略網(wǎng)絡(luò)的“實戰(zhàn)能力”,避免只會照貓畫虎模仿人類。
估值網(wǎng)絡(luò)與策略網(wǎng)絡(luò)中強化學(xué)習(xí)的過程差不多,只不過在這里AlphaGo學(xué)的不是預(yù)測下一步怎么走,而是學(xué)習(xí)評估此刻棋盤上自己下在不同地方最終獲勝的概率。
快速部署又是什么呢?雖然AlphaGo已經(jīng)學(xué)習(xí)了很多東西,下棋的時候還是會遇到卡殼的情形,這個時候總不能干瞪眼發(fā)愣吧?于是,AlphaGo會根據(jù)經(jīng)驗“猜”一步――按照正確率不太高的一個函數(shù)模型進(jìn)行快速計算,然后結(jié)合估值網(wǎng)絡(luò)得出的獲勝概率分布和蒙特卡洛樹搜索得到的信息判定下一步該怎么下。
最后要說的是蒙特卡洛樹搜索?!懊商乜濉辈⒉皇侨嗣且粋€地名。該方法的發(fā)明人之一斯塔尼斯拉夫?烏拉姆的叔叔經(jīng)常在蒙特卡洛賭場輸錢,賭博和這類方法都依賴概率,因此得名。它的功能是從當(dāng)前一步參照估值網(wǎng)絡(luò)和快速部署所給的信息,去評估搜索接下來的幾步,再把搜索的結(jié)果傳回給策略網(wǎng)絡(luò)和估值網(wǎng)絡(luò)。這個過程的流程圖就像不斷分叉的樹干,選擇哪一個分支深入搜索下去則是靠一定的概率,因此被稱為“蒙特卡洛樹搜索”。
總的來說,AlphaGo跟人類下棋時,策略網(wǎng)絡(luò)和快速部署負(fù)責(zé)評估下一步不同走法的好壞,估值網(wǎng)絡(luò)負(fù)責(zé)估算當(dāng)前盤面的獲勝概率分布,蒙特卡洛樹搜索負(fù)責(zé)結(jié)合前三者幫助找到最佳的那一步。當(dāng)然,這只是粗略的分工,在AlphaGo的實際運行中,這四種程序設(shè)置是互相交叉協(xié)作的。
在跟李世石九段對決中,由于比賽規(guī)則里有時間限制,AlphaGo還額外增加了一部分程序設(shè)置用于控制時間。面對復(fù)雜度高的局面,AlphaGo的計算量會顯著增加,一樣會出現(xiàn)人類棋手的“長考”現(xiàn)象。為避免在一步棋中耗費太多時間,時間控制部分的程序就要權(quán)衡每步棋的時間分布。