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