卷積神經(jīng)網(wǎng)絡(luò)過程范文
時間:2024-03-28 16:38:34
導(dǎo)語:如何才能寫好一篇卷積神經(jīng)網(wǎng)絡(luò)過程,這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公文云整理的十篇范文,供你借鑒。
篇1
關(guān)鍵詞: 模式識別; 神經(jīng)網(wǎng)絡(luò); 卷積; 文字識別
中圖分類號: TN711?34; TP391.4 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2014)20?0019?03
Large pattern online handwriting character recognition based on multi?convolution neural network
GE Ming?tao1, WANG Xiao?li1, PAN Li?wu2
(1. SIAS International School, Zhengzhou University, Zhengzhou 451150, China;
2. Henan University of Animal Husbandry and Economy, Zhengzhou 450011, China)
Abstract: Online handwriting character recognition is an important field in the research of pattern recognition. The traditional recognition method is based on the common convolutional neural networks (CNNs) technology. It has an efficient recognition rate for the small pattern character set online handwriting characters, but has low recognition rate for the large pattern character set recognition. A recognition method based on multi?convolutional neural networks (MCNNs) is presented in this paper to overcome the situation that the previous methods have the low recognition rate for large pattern character set and improve the recognition rate for the large pattern handwriting character set recognition. The stochastic diagonal Levenbert?Marquardt method is used in the system for training optimization. The experimental results show that the proposed method has the recognition rate of 89% and has a good prospect for online handwriting character recognition for large scale pattern.
Keywords: pattern recognition; neural network; convolution; character recognition
0 引 言
隨著全球信息化的飛速發(fā)展和對自動化程度要求的不斷提高 ,手寫文字識別技術(shù)被廣泛地應(yīng)用到許多方面。特別是近幾年擁有手寫功能的手機(jī)、平板電腦等智能電子產(chǎn)品的普及,聯(lián)機(jī)手寫文字識別研究已經(jīng)成為一個備受關(guān)注的主題。聯(lián)機(jī)手寫字符識別要求實時性較高,識別過程中要求特征空間的維數(shù)比較高,在進(jìn)行特征樣本訓(xùn)練時要求訓(xùn)練的數(shù)目很大,要匹配的特征值或特征對象比較多 [1?2]。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNNs)的優(yōu)點在于圖像的識別過程中對視覺模式的獲得是直接從原始圖像中獲得的,所以在設(shè)計系統(tǒng)時圖像的預(yù)處理工作很少,與一般神經(jīng)網(wǎng)絡(luò)相比是一種高效的識別方法。卷積神經(jīng)網(wǎng)絡(luò)在模式識別的一些領(lǐng)域具有很好的魯棒性,如在識別有變化的模式和對幾何變形的識別方面。利用卷積神經(jīng)網(wǎng)絡(luò)的手寫識別方法具有如下一些優(yōu)點:對于要檢測的圖像可以與事先制定網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)之間有較高的匹配率;特征提取和模式分類同時進(jìn)行;訓(xùn)練參數(shù)往往是系統(tǒng)計算量的重要參數(shù),而卷積神經(jīng)網(wǎng)絡(luò)中利用權(quán)值共享技術(shù),這樣就可以大大降低該參數(shù),在設(shè)計系統(tǒng)結(jié)構(gòu)時使得結(jié)構(gòu)變得更簡單,從而使得整個系統(tǒng)具有更好的適應(yīng)性[3?5]。
目前,人機(jī)交互系統(tǒng)的手寫字符識別、汽車車牌號識別和信息安全中常用的人臉識別等領(lǐng)域都有卷積神經(jīng)網(wǎng)絡(luò)的成功應(yīng)用。文獻(xiàn)[6]用一個4層的卷積神經(jīng)網(wǎng)絡(luò)LeNet?5對Mnist庫進(jìn)行識別實驗,獲得了98.4%的識別率,用2層的BP網(wǎng)絡(luò)的識別率[4,6]是87%。許多學(xué)者對卷積神經(jīng)網(wǎng)絡(luò)在聯(lián)機(jī)手寫文字識別方面做了多方位的研究。 但是,這些成功的聯(lián)機(jī)手寫文字識別主要是針對小模式字符集,利用以往的這些方法對大規(guī)模模式分類的聯(lián)機(jī)手寫文字的識別依然有識別率不高的問題。本文介紹了卷積神經(jīng)網(wǎng)絡(luò)的基本概念和一種典型的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),給出了基于多重卷積神經(jīng)網(wǎng)絡(luò)的字符識別和詞語識別模型。通過使用大字符集的UNIPEN數(shù)據(jù)庫進(jìn)行訓(xùn)練和測試,本文提出的方法在大模式聯(lián)機(jī)手寫識別上,取得了較高的識別速度和滿意的識別率。
1 卷積神經(jīng)網(wǎng)絡(luò)
文獻(xiàn)[6?7]中詳細(xì)地描述了卷積神經(jīng)網(wǎng)絡(luò)如何保證圖像對位移、縮放、扭曲魯棒性能。典型的手寫字符卷積神經(jīng)網(wǎng)絡(luò)LeNET 5的結(jié)構(gòu)圖如圖1所示[6?7]。
圖1 典型的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
在圖1中,輸入層接收要識別32×32的手寫字符圖像,經(jīng)過簡單的大小歸一化和圖像灰度處理,之后的結(jié)果作為一個采樣層的圖像;然后用一個可學(xué)習(xí)核進(jìn)行卷積操作,卷積結(jié)果經(jīng)過激活函數(shù)的輸出形成這一層的神經(jīng)元,每個神經(jīng)元與輸入圖像的一個5×5的鄰域相連接,從而得到由6幅特征圖組成的第一個隱層(C1層)。每個特征圖有25個權(quán)值(如方向線段,端點、角點等),考慮到邊界效果,得到的特征圖的大小是28×28,小于輸入圖層[3?9]。卷積層的數(shù)學(xué)計算過程可表示為:
[xlj=fi∈Mjxl-1j*kernellij+blj] (1)
式中:[l] 代表層數(shù);kernel是卷積核;[Mj]代表輸入特征圖的一個選擇。每個輸出圖有一個偏置[b]。
每個卷積層的結(jié)果作為下一個次采樣層的輸入,次采樣層的作用是對輸入信息進(jìn)行抽樣操作。如果輸入的特征圖為n個,則經(jīng)過次采樣層后特征圖的個數(shù)仍然為n,但是輸出的特征圖要變小(例如,各維變?yōu)樵瓉淼?0%)。因此隱層S2是由6個大小為14×14的特征圖組成的次采樣層。次采樣層計算公式可以用式(2)表示:
[xlj=fβl-1jdown(xl-1j)+blj] (2)
式中down(?) 表示次采樣函數(shù)。次采樣函數(shù)一般是對該層輸入圖像的一個n×n大小的區(qū)域求和,因此,輸出圖像的大小是輸入圖像大小的[1n]。每一個輸出的特征圖有自己的β和b。
類似的,C3層有16個10×10的特征圖組成的卷積層,特征圖的每個神經(jīng)元與S2網(wǎng)絡(luò)層的若干個特征圖的5×5的鄰域連接。網(wǎng)絡(luò)層S4是由16個大小為5×5的特征圖組成的次采樣層。特征圖的每個神經(jīng)元與C3層的一個2×2大小的鄰域相連接。網(wǎng)絡(luò)層C5是由120個特征圖組成的卷積層。每個神經(jīng)元與S4網(wǎng)絡(luò)層的所有特征圖的5×5大小的鄰域相連接。網(wǎng)絡(luò)層F6,包括84個神經(jīng)元,與網(wǎng)絡(luò)層C5進(jìn)行全連接。最后,輸出層有10個神經(jīng)元,是由徑向基函數(shù)單元(RBF)組成,輸出層的每個神經(jīng)元對應(yīng)一個字符類別。RBF單元的輸出yi的計算方法如式(3)所示:
[yi=j(xj-wij)2] (3)
很多研究人員通過對字符集作彈性訓(xùn)練,經(jīng)測試發(fā)現(xiàn)在MNIST字符集上的識別率可以高達(dá)99%以上[6?7] 。卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)勢主要是對小模式集上,如對數(shù)字或26個英文字母組成的集合都有著較高的識別率。然而,對大模式集的識別仍然是一個挑戰(zhàn),因為設(shè)計一個優(yōu)化的并足夠大的單一網(wǎng)絡(luò)是比較困難的,且訓(xùn)練時間也較長。因此,本文的目的旨在通過組合多個對某一字符集有高識別率的卷積神經(jīng)網(wǎng)絡(luò),從而構(gòu)成多重卷積神經(jīng)網(wǎng)絡(luò),進(jìn)而提高卷積神經(jīng)網(wǎng)絡(luò)對大模式集手寫字符的識別率。
2 多重卷積神經(jīng)網(wǎng)絡(luò)
2.1 多重卷積神經(jīng)網(wǎng)絡(luò)字符識別
根據(jù)傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)的運算過程以及其在處理大模式集手寫字符時存在的不足,本文提出一種多重卷積神經(jīng)網(wǎng)絡(luò)來改進(jìn)傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)模型,用多個擁有高識別率的小卷積神經(jīng)網(wǎng)絡(luò)組成一個多重卷積神經(jīng)網(wǎng)絡(luò)。每一重小卷積神經(jīng)網(wǎng)絡(luò)對某一具體字符集有較高的識別率,另外,單重卷積神經(jīng)網(wǎng)絡(luò)除了有一個正式的輸出集之外,還產(chǎn)生一個未知的輸出(即難以識別的字符),即如果一個輸入字符沒有被正確識別,它將被輸出為一個未知字符,然后輸入模式轉(zhuǎn)到下一重卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行識別。最后,通過一個拼寫檢查模塊進(jìn)行判斷,選擇最好的結(jié)果輸出。系統(tǒng)的流程如圖2所示。
其中CNN 1是識別手寫數(shù)字的卷積神經(jīng)網(wǎng)絡(luò),CNN 2是識別手寫小寫英文字母的卷積神經(jīng)網(wǎng)絡(luò),該模型具有極強的擴(kuò)展性,可以添加多任意模式的卷積神經(jīng)網(wǎng)絡(luò)(如中文,日文等)。
圖2 多重卷積神經(jīng)網(wǎng)絡(luò)字符識別示意圖
2.2 隨機(jī)對角Levenberg?Marquardt訓(xùn)練方法
傳統(tǒng)的結(jié)構(gòu)比較簡單、單一的卷積神經(jīng)網(wǎng)絡(luò)多采用基本的Back Propagation(BP)規(guī)則訓(xùn)練網(wǎng)絡(luò),往往需要幾百次迭代,網(wǎng)絡(luò)的收斂速度較慢。本文采用LeCun博士提出的隨機(jī)對角Levenberg?Marquardt 算法對網(wǎng)絡(luò)作訓(xùn)練,該算法需要的迭代次數(shù)明顯比基本的BP 算法少[4,9]。隨機(jī)對角Levenberg?Marquardt算法的公式為:
[ηki=ε?2E?w2ij+μ] (4)
式中[ε]是全局的學(xué)習(xí)率,一般取初始值0.01,太大會使網(wǎng)絡(luò)無法收斂,太小則會降低收斂速度,且使網(wǎng)絡(luò)更容易陷入局部極小值,訓(xùn)練過程中可以用啟發(fā)式規(guī)則改變[ε]的值,本文取最下值為5e-005; [?2E?w2ij]是一個估計值,根據(jù)訓(xùn)練集的大小可以調(diào)整樣本數(shù)量,文中隨機(jī)選取200個樣本估算它的值;[μ]用來避免[?2E?w2ij] 太小時[ηki]的變化過大 。
2.3 多重卷積神經(jīng)網(wǎng)絡(luò)詞句識別
本文提出的多重卷積神經(jīng)網(wǎng)絡(luò)對手寫詞語的識別方法可以簡單地描述為:首先對輸入的手寫圖像進(jìn)行預(yù)處理和分割,然后通過多重卷積神經(jīng)網(wǎng)絡(luò)模塊分別進(jìn)行識別,最后采用單詞識別模塊對識別結(jié)果進(jìn)行判斷,選擇最好的結(jié)果輸出。其過程如圖3所示。
圖3 多重卷積神經(jīng)網(wǎng)絡(luò)聯(lián)機(jī)手寫詞句識別過程
本文提出的多重卷積神經(jīng)網(wǎng)絡(luò)聯(lián)機(jī)手寫文字識別方法克服了傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)文字識別的對字符集的限制,每一重卷積神經(jīng)網(wǎng)絡(luò)是一個針對小模式的卷積神經(jīng)網(wǎng)絡(luò),易于訓(xùn)練和優(yōu)化,更重要的是此方案的靈活性非常好易于調(diào)節(jié)參數(shù),可擴(kuò)展性強。每一重卷積神經(jīng)網(wǎng)絡(luò)都具有可重用能力,可以根據(jù)需要加載一個或多個網(wǎng)絡(luò),可以根據(jù)新的模式添加新的網(wǎng)絡(luò)而不需改變或重建原來的網(wǎng)絡(luò)。
3 訓(xùn)練和實驗
為了評估多重卷積神經(jīng)網(wǎng)絡(luò)對基于大模式字符集的聯(lián)機(jī)手寫文字識別的性能,本系統(tǒng)采用MNIST和UNIPEN兩種不同的手寫字符訓(xùn)練集進(jìn)行測試。UNIPEN數(shù)據(jù)庫是在1992年舉行的IEEE IAPR會議上提出并建立的,其目的是創(chuàng)建一個大型的手寫體數(shù)據(jù)庫用于為在線手寫識別提供研究和開發(fā)的基礎(chǔ),得到了多個知名公司或研究所的支持并完成了UNIPEN的規(guī)范設(shè)計。在進(jìn)行數(shù)據(jù)比對實驗中,本文采用許多研究使用的MNIST手寫數(shù)字?jǐn)?shù)據(jù)庫,該數(shù)據(jù)庫是NEC 研究中心設(shè)計的,是NIST(The National Institute of Standards and Technology)數(shù)據(jù)庫的一個子集,該訓(xùn)練集中有大量訓(xùn)練樣本和測試用例。本文默認(rèn)用以下定義:
[識別率=正確識別數(shù)樣本總數(shù)×100%]
[失誤率誤識率=錯誤識別數(shù)樣本總數(shù)×100%]
實驗測試是在通用的臺式電腦上進(jìn)行的。整個識別原型系統(tǒng)采用C#編寫,運行在.NetFrame 4.5平臺上。經(jīng)測試對MNIST訓(xùn)練集識別正確率可達(dá)[9]99%,對UNIPEN數(shù)字識別正確率可達(dá)97%,對UNIPEN數(shù)字和大寫字母識別正確率可達(dá)89%(1a,1b) ,對UNIPEN小寫字母識別正確率可達(dá)89%(1c) 。圖4是對UNIPEN小寫字母3次訓(xùn)練的均方誤差比較。
圖4 訓(xùn)練的誤差數(shù)據(jù)
從圖4中可以看出,在開始的幾個訓(xùn)練周期內(nèi),均方誤差(MSE)下降得很快,然后在第13個周期后神經(jīng)網(wǎng)絡(luò)達(dá)到一個穩(wěn)定的值,約為0.148 5。也就是說,網(wǎng)絡(luò)在第13個周期后,改善程度就很小。所以修改訓(xùn)練錯誤率的值為0.000 45后重新進(jìn)行18代的第二次訓(xùn)練,均方誤差有所降低。經(jīng)過第三次的訓(xùn)練后趨于穩(wěn)定,對UNIPEN小寫字母識別正確率可達(dá)89%。經(jīng)測試,通過使用隨機(jī)對角Levenberg?Marquardt方法,收斂速度比基本BP算法快了許多,經(jīng)過68代訓(xùn)練后識別正確率可達(dá)89%。
4 結(jié) 語
本文提出了基于多重卷積神經(jīng)網(wǎng)絡(luò)的聯(lián)機(jī)手寫字符的識別方法,通過使用多個識別率高的卷積神經(jīng)網(wǎng)絡(luò)和隨機(jī)對角 Levenberg? Marquardt方法,可以適用于大模式聯(lián)機(jī)手寫識別。經(jīng)過實驗數(shù)據(jù)比較,該方法在大模式聯(lián)機(jī)手寫識別過程中具有很高的識別率,與此同時識別速度也很快,有很好的實時性,總體效果很好。在當(dāng)今觸摸屏應(yīng)用遍及生產(chǎn)生活的各個方面的趨勢下,該方法有著廣闊的應(yīng)用前景。同時此方法為今后多手寫漢字識別的研究提供了很好的借鑒。
注:本文通訊作者為潘立武。
參考文獻(xiàn)
[1] 吳鳴銳,張鈸.一種用于大規(guī)模模式識別問題的神經(jīng)網(wǎng)絡(luò)算法[J].軟件學(xué)報,2001,12(6):851?855.
[2] 張輝.大規(guī)模聯(lián)機(jī)手寫漢字識別數(shù)據(jù)庫整理、統(tǒng)計與實驗分析[D].廣州:華南理工大學(xué),2012.
[3] 徐姍姍,劉應(yīng)安,徐,等.基于卷積神經(jīng)網(wǎng)絡(luò)的木材缺陷識別[J].山東大學(xué)學(xué)報:工學(xué)版,2013,43(2):23?28.
[4] 呂剛.基于卷積神經(jīng)網(wǎng)絡(luò)的多字體字符識別[J].浙江師范大學(xué)學(xué)報:自然科學(xué)版,2011,34(4):425?428.
[5] PHAM D V. Online handwriting recognition using multi convolution neural networks [M]. Berlin Heidelberg: Springer, 2012: 310?319.
[6] LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient?based learning applied to document recognition [C]// Proceeding of IEEE. USA: IEEE, 1998: 2278?2324.
[7] SIMARD P Y, STEINKRAUS Dave, PLATT John. Best practices for convolutional neural networks applied to visual document analysis [C]// International Conference on Document Analysis and Recognition (ICDAR). Los Alamitos: IEEE Computer Society, 2003: 958?962.
篇2
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);深度學(xué)習(xí);圖像處理;訓(xùn)練時間
中圖分類號:TP18 文獻(xiàn)標(biāo)識碼:A 文章編號: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é)點一般分層排列,主要由輸入層,輸出層和一些隱層組成,同層之間的神經(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.
篇3
過去10年,人們對機(jī)器學(xué)習(xí)的興趣激增。幾乎每天,你都可以在各種各樣的計算機(jī)科學(xué)課程、行業(yè)會議、華爾街日報等等看到有關(guān)機(jī)器學(xué)習(xí)的討論。在所有關(guān)于機(jī)器學(xué)習(xí)的討論中,許多人把機(jī)器學(xué)習(xí)能做的事情和他們希望機(jī)器學(xué)習(xí)做的事情混為一談。從根本上講,機(jī)器學(xué)習(xí)是使用算法從原始數(shù)據(jù)中提取信息,并在某種類型的模型中表示這些信息。我們使用這個模型來推斷還沒有建模的其他數(shù)據(jù)。
神經(jīng)網(wǎng)絡(luò)是機(jī)器學(xué)習(xí)的一種模型,它們至少有50年歷史了。神經(jīng)網(wǎng)絡(luò)的基本單元是節(jié)點(node),基本上是受哺乳動物大腦中的生物神經(jīng)元啟發(fā)。神經(jīng)元之間的連接也以生物的大腦為模型,這些連接隨著時間的推移而發(fā)展的方式是為“訓(xùn)練”。
在20世紀(jì)80年代中期和90年代初期,許多重要的架構(gòu)進(jìn)步都是在神經(jīng)網(wǎng)絡(luò)進(jìn)行的。然而,為了得到好的結(jié)果需要大量時間和數(shù)據(jù),這阻礙了神經(jīng)網(wǎng)絡(luò)的采用,因而人們的興趣也減少了。在21世紀(jì)初,計算能力呈指數(shù)級增長,計算技術(shù)出現(xiàn)了“寒武紀(jì)大爆發(fā)”。在這個10年的爆炸式的計算增長中,深度學(xué)習(xí)成為這個領(lǐng)域的重要的競爭者,贏得了許多重要的機(jī)器學(xué)習(xí)競賽。直到2017年,這種興趣也還沒有冷卻下來;今天,我們看到一說機(jī)器學(xué)習(xí),就不得不提深度學(xué)習(xí)。
作者本人也注冊了Udacity的“Deep Learning”課程,這門課很好地介紹了深度學(xué)習(xí)的動機(jī),以及從TensorFlow的復(fù)雜和/或大規(guī)模的數(shù)據(jù)集中學(xué)習(xí)的智能系統(tǒng)的設(shè)計。在課程項目中,我使用并開發(fā)了用于圖像識別的卷積神經(jīng)網(wǎng)絡(luò),用于自然語言處理的嵌入式神經(jīng)網(wǎng)絡(luò),以及使用循環(huán)神經(jīng)網(wǎng)絡(luò)/長短期記憶的字符級文本生成。
本文中,作者總結(jié)了10個強大的深度學(xué)習(xí)方法,這是AI工程師可以應(yīng)用于他們的機(jī)器學(xué)習(xí)問題的。首先,下面這張圖直觀地說明了人工智能、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)三者之間的關(guān)系。
人工智能的領(lǐng)域很廣泛,深度學(xué)習(xí)是機(jī)器學(xué)習(xí)領(lǐng)域的一個子集,機(jī)器學(xué)習(xí)又是人工智能的一個子領(lǐng)域。將深度學(xué)習(xí)網(wǎng)絡(luò)與“經(jīng)典的”前饋式多層網(wǎng)絡(luò)區(qū)分開來的因素如下:
比以前的網(wǎng)絡(luò)有更多的神經(jīng)元更復(fù)雜的連接層的方法用于訓(xùn)練網(wǎng)絡(luò)的計算機(jī)能力的“寒武紀(jì)大爆炸”自動特征提取
這里說的“更多的神經(jīng)元”時,是指神經(jīng)元的數(shù)量在逐年增加,以表達(dá)更復(fù)雜的模型。層(layers)也從多層網(wǎng)絡(luò)中的每一層都完全連接,到在卷積神經(jīng)網(wǎng)絡(luò)中層之間連接局部的神經(jīng)元,再到在循環(huán)神經(jīng)網(wǎng)絡(luò)中與同一神經(jīng)元的循環(huán)連接(recurrent connections)。
深度學(xué)習(xí)可以被定義為具有大量參數(shù)和層的神經(jīng)網(wǎng)絡(luò),包括以下四種基本網(wǎng)絡(luò)結(jié)構(gòu):
無監(jiān)督預(yù)訓(xùn)練網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)循環(huán)神經(jīng)網(wǎng)絡(luò)遞歸神經(jīng)網(wǎng)絡(luò)
在本文中,主要介紹后三種架構(gòu)?;旧?,卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一個標(biāo)準(zhǔn)的神經(jīng)網(wǎng)絡(luò),通過共享的權(quán)重在空間中擴(kuò)展。CNN設(shè)計用于通過內(nèi)部的卷積來識別圖像,它可以看到圖像中待識別的物體的邊緣。循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)被設(shè)計用于識別序列,例如語音信號或文本。它的內(nèi)部有循環(huán),這意味著網(wǎng)絡(luò)上有短的記憶。遞歸神經(jīng)網(wǎng)絡(luò)更像是一個層級網(wǎng)絡(luò),在這個網(wǎng)絡(luò)中,輸入必須以一種樹的方式進(jìn)行分層處理。下面的10種方法可以應(yīng)用于所有這些架構(gòu)。
1.反向傳播
反向傳播(Back-prop)是一種計算函數(shù)偏導(dǎo)數(shù)(或梯度)的方法,具有函數(shù)構(gòu)成的形式(就像神經(jīng)網(wǎng)絡(luò)中)。當(dāng)使用基于梯度的方法(梯度下降只是方法之一)解決優(yōu)化問題時,你需要在每次迭代中計算函數(shù)梯度。
對于神經(jīng)網(wǎng)絡(luò),目標(biāo)函數(shù)具有組合的形式。如何計算梯度呢?有兩種常用的方法:(i)解析微分(Analytic differentiation)。你已經(jīng)知道函數(shù)的形式,只需要用鏈?zhǔn)椒▌t(基本微積分)來計算導(dǎo)數(shù)。(ii)利用有限差分進(jìn)行近似微分。這種方法在計算上很昂貴,因為函數(shù)值的數(shù)量是O(N),N指代參數(shù)的數(shù)量。不過,有限差分通常用于在調(diào)試時驗證back-prop實現(xiàn)。
2.隨機(jī)梯度下降法
一種直觀理解梯度下降的方法是想象一條河流從山頂流下的路徑。梯度下降的目標(biāo)正是河流努力達(dá)到的目標(biāo)——即,到達(dá)最底端(山腳)。
現(xiàn)在,如果山的地形是這樣的,在到達(dá)最終目的地之前,河流不會完全停下來(這是山腳的最低點,那么這就是我們想要的理想情況。)在機(jī)器學(xué)習(xí)中,相當(dāng)從初始點(山頂)開始,我們找到了解決方案的全局最小(或最佳)解。然而,可能因為地形的性質(zhì)迫使河流的路徑出現(xiàn)幾個坑,這可能迫使河流陷入困境。在機(jī)器學(xué)習(xí)術(shù)語中,這些坑被稱為局部極小值,這是不可取的。有很多方法可以解決這個問題。
因此,梯度下降很容易被困在局部極小值,這取決于地形的性質(zhì)(用ML的術(shù)語來說是函數(shù)的性質(zhì))。但是,當(dāng)你有一種特殊的地形時(形狀像一個碗,用ML的術(shù)語來說,叫做凸函數(shù)),算法總是保證能找到最優(yōu)解。凸函數(shù)對ML的優(yōu)化來說總是好事,取決于函數(shù)的初始值,你可能會以不同的路徑結(jié)束。同樣地,取決于河流的速度(即,梯度下降算法的學(xué)習(xí)速率或步長),你可能以不同的方式到達(dá)最終目的地。這兩個標(biāo)準(zhǔn)都會影響到你是否陷入坑里(局部極小值)。
3.學(xué)習(xí)率衰減
根據(jù)隨機(jī)梯度下降的優(yōu)化過程調(diào)整學(xué)習(xí)率(learning rate)可以提高性能并減少訓(xùn)練時間。有時這被稱為學(xué)習(xí)率退火(learning rate annealing)或自適應(yīng)學(xué)習(xí)率(adaptive learning rates)。訓(xùn)練過程中最簡單,也是最常用的學(xué)習(xí)率適應(yīng)是隨著時間的推移而降低學(xué)習(xí)度。在訓(xùn)練過程開始時使用較大學(xué)習(xí)率具有進(jìn)行大的改變的好處,然后降低學(xué)習(xí)率,使得后續(xù)對權(quán)重的訓(xùn)練更新更小。這具有早期快速學(xué)習(xí)好權(quán)重,后面進(jìn)行微調(diào)的效果。
兩種常用且易于使用的學(xué)習(xí)率衰減方法如下:
逐步降低學(xué)習(xí)率。在特定的時間點較大地降低學(xué)習(xí)率。
4?. Dropout
具有大量參數(shù)的深度神經(jīng)網(wǎng)絡(luò)是非常強大的機(jī)器學(xué)習(xí)系統(tǒng)。然而,過擬合在這樣的網(wǎng)絡(luò)中是一個嚴(yán)重的問題。大型網(wǎng)絡(luò)的使用也很緩慢,這使得在測試時將許多不同的大型神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)合起來變得困難。Dropout是解決這個問題的一種方法。
Dropout的關(guān)鍵想法是在訓(xùn)練過程中隨機(jī)地從神經(jīng)網(wǎng)絡(luò)中把一些units(以及它們的連接)從神經(jīng)網(wǎng)絡(luò)中刪除。這樣可以防止單元過度適應(yīng)。在訓(xùn)練過程中,從一個指數(shù)級的不同的“稀疏”網(wǎng)絡(luò)中刪除一些樣本。在測試時,通過簡單地使用一個具有較小權(quán)重的單一網(wǎng)絡(luò),可以很容易地估計所有這些“變瘦”了的網(wǎng)絡(luò)的平均預(yù)測效果。這顯著減少了過擬合,相比其他正則化方法有了很大改進(jìn)。研究表明,在視覺、語音識別、文檔分類和計算生物學(xué)等監(jiān)督學(xué)習(xí)任務(wù)中,神經(jīng)網(wǎng)絡(luò)的表現(xiàn)有所提高,在許多基準(zhǔn)數(shù)據(jù)集上獲得了state-of-the-art的結(jié)果。
5. Max Pooling
最大池化(Max pooling)是一個基于樣本的離散化過程。目標(biāo)是對輸入表示(圖像,隱藏層輸出矩陣等)進(jìn)行下采樣,降低其維度,并允許對包含在分區(qū)域中的特征進(jìn)行假設(shè)。
這在一定程度上是為了通過提供一種抽象的表示形式來幫助過擬合。同時,它通過減少學(xué)習(xí)的參數(shù)數(shù)量,并為內(nèi)部表示提供基本的平移不變性(translation invariance),從而減少計算成本。最大池化是通過將一個最大過濾器應(yīng)用于通常不重疊的初始表示的子區(qū)域來完成的。
6.批量歸一化
當(dāng)然,包括深度網(wǎng)絡(luò)在內(nèi)的神經(jīng)網(wǎng)絡(luò)需要仔細(xì)調(diào)整權(quán)重初始化和學(xué)習(xí)參數(shù)。而批量標(biāo)準(zhǔn)化有助于實現(xiàn)這一點。
權(quán)重問題:無論權(quán)重的初始化如何,是隨機(jī)的也好是經(jīng)驗性的選擇也罷,都距離學(xué)習(xí)到的權(quán)重很遙遠(yuǎn)??紤]一個小批量(mini batch),在最初時,在所需的特征激活方面將會有許多異常值。
深度神經(jīng)網(wǎng)絡(luò)本身是有缺陷的,初始層中一個微小的擾動,就會導(dǎo)致后面層巨大的變化。在反向傳播過程中,這些現(xiàn)象會導(dǎo)致對梯度的分散,這意味著在學(xué)習(xí)權(quán)重以產(chǎn)生所需輸出之前,梯度必須補償異常值,而這將導(dǎo)致需要額外的時間才能收斂。
批量歸一化將梯度從分散規(guī)范化到正常值,并在小批量范圍內(nèi)向共同目標(biāo)(通過歸一化)流動。
學(xué)習(xí)率問題:一般來說,學(xué)習(xí)率保持較低,只有一小部分的梯度校正權(quán)重,原因是異常激活的梯度不應(yīng)影響學(xué)習(xí)的激活。通過批量歸一化,減少異常激活,因此可以使用更高的學(xué)習(xí)率來加速學(xué)習(xí)過程。
7.長短時記憶
LSTM網(wǎng)絡(luò)在以下三個方面與RNN的神經(jīng)元不同:
能夠決定何時讓輸入進(jìn)入神經(jīng)元;能夠決定何時記住上一個時間步中計算的內(nèi)容;能夠決定何時讓輸出傳遞到下一個時間步長。
LSTM的優(yōu)點在于它根據(jù)當(dāng)前的輸入本身來決定所有這些。所以,你看下面的圖表:
當(dāng)前時間標(biāo)記處的輸入信號x(t)決定所有上述3點。輸入門從點1接收決策,遺忘門從點2接收決策,輸出門在點3接收決策,單獨的輸入能夠完成所有這三個決定。這受到我們的大腦如何工作的啟發(fā),并且可以基于輸入來處理突然的上下文/場景切換。
8. Skip-gram
詞嵌入模型的目標(biāo)是為每個詞匯項學(xué)習(xí)一個高維密集表示,其中嵌入向量之間的相似性顯示了相應(yīng)詞之間的語義或句法相似性。Skip-gram是學(xué)習(xí)單詞嵌入算法的模型。
Skip-gram模型(以及許多其他的詞語嵌入模型)的主要思想是:如果兩個詞匯項(vocabulary term)共享的上下文相似,那么這兩個詞匯項就相似。
換句話說,假設(shè)你有一個句子,比如“貓是哺乳動物”。如果你用“狗”去替換“貓”,這個句子仍然是一個有意義的句子。因此在這個例子中,“狗”和“貓”可以共享相同的上下文(即“是哺乳動物”)。
基于上述假設(shè),你可以考慮一個上下文窗口(context window,一個包含k個連續(xù)項的窗口),然后你跳過其中一個單詞,試著去學(xué)習(xí)一個能夠得到除跳過項外所有項的神經(jīng)網(wǎng)絡(luò),并預(yù)測跳過的項是什么。如果兩個詞在一個大語料庫中反復(fù)共享相似的語境,則這些詞的嵌入向量將具有相近的向量。
9.連續(xù)詞袋(Continuous Bag Of Words)
在自然語言處理問題中,我們希望學(xué)習(xí)將文檔中的每個單詞表示為一個數(shù)字向量,使得出現(xiàn)在相似的上下文中的單詞具有彼此接近的向量。在連續(xù)的單詞模型中,我們的目標(biāo)是能夠使用圍繞特定單詞的上下文并預(yù)測特定單詞。
我們通過在一個龐大的語料庫中抽取大量的句子來做到這一點,每當(dāng)我們看到一個單詞時,我們就會提取它周圍的單詞。然后,我們將上下文單詞輸入到一個神經(jīng)網(wǎng)絡(luò),并預(yù)測位于這個上下文中心的單詞。
當(dāng)我們有成千上萬的這樣的上下文單詞和中心詞以后,我們就有了一個神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)集的實例。訓(xùn)練神經(jīng)網(wǎng)絡(luò),最后編碼的隱藏層輸出表示特定單詞的嵌入。而當(dāng)我們對大量的句子進(jìn)行訓(xùn)練時也能發(fā)現(xiàn),類似語境中的單詞得到的是相似的向量。
10.遷移學(xué)習(xí)
篇4
關(guān)鍵詞:深度學(xué)習(xí);網(wǎng)絡(luò)安全;網(wǎng)絡(luò)數(shù)據(jù);計算機(jī)
隨著信息化社會的進(jìn)步,互聯(lián)網(wǎng)與人們的生活緊密相關(guān),人們可以通過互聯(lián)網(wǎng)進(jìn)行購物、社交、學(xué)習(xí),為人們的生活帶來便利的同時,也促進(jìn)了社會經(jīng)濟(jì)的發(fā)展。然而,信息安全問題日益突出,存在數(shù)據(jù)外泄的風(fēng)險[1]。網(wǎng)絡(luò)病毒、數(shù)據(jù)泄露等問題一直在威脅著人們的信息安全,不僅會影響個人的信息安全,還會威脅國家網(wǎng)絡(luò)信息安全,因此必須從多方面對互聯(lián)網(wǎng)信息安全進(jìn)行防護(hù)[2]。在計算機(jī)網(wǎng)絡(luò)安全管理中,需要實時檢測網(wǎng)絡(luò)平臺數(shù)據(jù)的安全狀態(tài)。深度學(xué)習(xí)是一種通過模擬人腦對視覺和聽覺的反應(yīng)對圖片和音頻進(jìn)行分析的一種模型[3]。基于此,本文構(gòu)建基于深度學(xué)習(xí)的網(wǎng)絡(luò)安全管理模型,利用深度學(xué)習(xí)模型對網(wǎng)絡(luò)數(shù)據(jù)中的不安全因素進(jìn)行分析。
1網(wǎng)絡(luò)安全管理模型設(shè)計
1.1構(gòu)建網(wǎng)絡(luò)平臺防護(hù)框架
計算機(jī)病毒是危害互聯(lián)網(wǎng)信息安全的重要因素之一,一般隱藏在執(zhí)行程序、數(shù)據(jù)和文件中,不容易被人們發(fā)現(xiàn)。感染計算機(jī)病毒的電腦存在泄露個人信息的風(fēng)險,而個人信息泄漏也會使其他的信息安全遭到一定程度的威脅,影響了我國的互聯(lián)網(wǎng)安全。在大數(shù)據(jù)背景下,針對不同的情況應(yīng)采用不同等級的防御系統(tǒng)[4]。本文以系統(tǒng)安全性評價為基礎(chǔ),構(gòu)建網(wǎng)絡(luò)平臺防護(hù)框架,如圖1所示[5]。網(wǎng)絡(luò)平臺防護(hù)框架包括用戶信息采集模塊、用戶信息認(rèn)證模塊、防火墻模塊、常用存儲模塊、備用存儲模塊、報警模塊、數(shù)據(jù)監(jiān)控模塊、網(wǎng)絡(luò)數(shù)據(jù)庫模塊、中央處理器模塊、信息安全監(jiān)測模塊、信息安全分析模塊和信息安全處理模塊。
1.2網(wǎng)絡(luò)信息安全檢測
黑客攻擊手段分為非破壞性攻擊和破壞性攻擊兩類,非破壞性攻擊是利用拒絕服務(wù)等手段來影響操作系統(tǒng)的正常工作,破壞性攻擊則是指通過非法方式進(jìn)入其他計算機(jī),以竊取重要的操作系統(tǒng)保密信息,從而攻擊系統(tǒng)的重要數(shù)據(jù)[5]。在黑客進(jìn)行攻擊時,最常用的手段就是利用域名隨機(jī)算法隨機(jī)生成惡意域名。雖然國內(nèi)已經(jīng)開發(fā)出相對完善的查殺系統(tǒng)和網(wǎng)絡(luò)監(jiān)測體系,但是隨著人工智能技術(shù)的發(fā)展,惡意域名的識別也更加困難[6-8]。因此,需要建立新的域名檢測方式,加強對惡意域名的識別,保障網(wǎng)絡(luò)環(huán)境安全。
1.3基于深度學(xué)習(xí)的惡意域名檢測模型
基于深度學(xué)習(xí)的惡意域名檢測模型擁有多層認(rèn)知機(jī)制,可通過訓(xùn)練實現(xiàn)對不同網(wǎng)絡(luò)數(shù)據(jù)的識別[9-11]。深度學(xué)習(xí)基礎(chǔ)模型大致包括卷積計算神經(jīng)網(wǎng)絡(luò)模型、深度信任網(wǎng)絡(luò)模型及堆棧式自編碼網(wǎng)絡(luò)模型。在應(yīng)用模型的過程中,可利用卷積神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)識別的優(yōu)點,對網(wǎng)絡(luò)系統(tǒng)中存在的數(shù)據(jù)風(fēng)險進(jìn)行準(zhǔn)確分析。卷積神經(jīng)網(wǎng)絡(luò)通過卷積層、池化層、全連接層來模擬人視覺神經(jīng)網(wǎng)絡(luò),卷積層能夠保留數(shù)據(jù)特征,并經(jīng)過池化層進(jìn)行降維和分析,通過全連接層輸出最終結(jié)果。該模型的兼容性較強,可先進(jìn)行預(yù)處理后再識別域名數(shù)據(jù),能夠節(jié)省計算時間。卷積神經(jīng)網(wǎng)絡(luò)可以實現(xiàn)對數(shù)據(jù)的識別,并通過模型中的多層神經(jīng)網(wǎng)來模擬人腦對數(shù)據(jù)的處理方式。由于基于深度學(xué)習(xí)的惡意域名檢測模型具有較強的自主學(xué)習(xí)能力,因此能夠有效執(zhí)行異常數(shù)據(jù)識別等操作,有效實現(xiàn)對惡意域名的檢測?;谏疃葘W(xué)習(xí)的惡意域名檢測模型的檢測過程如圖2所示。輸入域名后對域名進(jìn)行預(yù)處理,排除數(shù)據(jù)中的重復(fù)域名和大數(shù)據(jù)中已有的非法域名,并對正常域名和非法域名進(jìn)行標(biāo)記[12]。進(jìn)入嵌入階段,將域名中的字符通過特定方式映射為多維向量,然后對向量進(jìn)行訓(xùn)練[13]。檢測域名中是否包含特殊字符,識別特殊字符的惡意程度,因為域名長度不長且沒有完整的語法結(jié)構(gòu),所以利用卷積算法進(jìn)行計算[14-15]。將數(shù)據(jù)輸入卷積層提取信息后,輸送至折疊層構(gòu)建矩陣,最后進(jìn)入全連接層進(jìn)行訓(xùn)練,輸出結(jié)果。
2實驗對比分析
為證實網(wǎng)絡(luò)安全管理模型的實用性能,采用對比實驗的方式進(jìn)行驗證,分別采用本文設(shè)計的基于深度學(xué)習(xí)的網(wǎng)絡(luò)安全管理模型與傳統(tǒng)模型對實驗數(shù)據(jù)進(jìn)行安全監(jiān)測。
2.1實驗準(zhǔn)備
在選取數(shù)據(jù)時,篩選當(dāng)天產(chǎn)生的惡意域名,選取可信度高的30萬條域名作為實驗數(shù)據(jù),再選取30萬條正常域名將兩者混合進(jìn)行實驗,另外再選取6萬條惡意域名和6萬條正常域名作為測試數(shù)據(jù),實驗數(shù)據(jù)劃分情況如表1所示。將實驗數(shù)據(jù)分批次進(jìn)行訓(xùn)練,實驗環(huán)境配置表如表2所示。
2.2實驗數(shù)據(jù)和分析
在實驗過程中,將數(shù)據(jù)分為5組分別進(jìn)行實驗,得到的實驗數(shù)據(jù)如表3所示。從表3可以看出,基于深度學(xué)習(xí)的檢測模型在檢測過程中能夠正確識別的數(shù)量明顯多于傳統(tǒng)模型,便于對數(shù)據(jù)進(jìn)行進(jìn)一步處理。
3結(jié)語
篇5
根據(jù)美國New Scientist雜志報道,F(xiàn)acebook的人工智能團(tuán)隊已經(jīng)開發(fā)出一種識別算法,即使看不清楚人臉,也能根據(jù)各種線索,例如發(fā)型、服飾、身材和姿勢等進(jìn)行識別―比如Facebook就能輕松地認(rèn)出它的創(chuàng)始人扎克伯格,因為他總是穿一件灰色T恤。這項技術(shù)的準(zhǔn)確率據(jù)稱可以達(dá)到83%。
傳統(tǒng)的人臉識別是程序員預(yù)先將整套鑒別系統(tǒng)寫好,告訴計算機(jī)一些標(biāo)簽信息,例如,人臉是由哪幾個部分組成、各個部分的相對位置等等。隨后再用大量照片讓計算機(jī)學(xué)習(xí),對其進(jìn)行訓(xùn)練―簡單地說,就是事先給出標(biāo)準(zhǔn)答案,然后讓計算機(jī)學(xué)習(xí)。
這種訓(xùn)練方式叫有監(jiān)督學(xué)習(xí),程序員像是老師一樣給出幾個標(biāo)簽作為標(biāo)準(zhǔn)答案,讓計算機(jī)“按標(biāo)索臉”。但當(dāng)程序員給出的標(biāo)簽數(shù)量不夠多,不能全面描述一個事物的時候,計算機(jī)的識別準(zhǔn)確率就會很低。所以,程序員要做的就是不斷增加標(biāo)簽,完善識別模板。
通過有監(jiān)督學(xué)習(xí)的方式來訓(xùn)練計算機(jī),效率較低,程序員需要花費大量的時間來編寫標(biāo)簽代碼、測試計算機(jī)和補充標(biāo)簽代碼,并且一套完善的鑒別系統(tǒng)只能識別出一種事物。
Facebook是不會花時間給每個人的發(fā)型和衣服寫一套代碼的。高效地識別各類事物,還需要借助于更智能的識別方式。而這種方式是通過基于卷積神經(jīng)網(wǎng)絡(luò)的無監(jiān)督學(xué)習(xí)完成的。
使用無監(jiān)督學(xué)習(xí)來訓(xùn)練計算機(jī)的時候,程序員并不需要告訴計算機(jī)人臉有哪些特點,只需要提供大量人臉照片讓計算機(jī)看,計算機(jī)就能找到這些圖片的共同特點,并自動繪制出這類事物的模板。這省去了編寫標(biāo)簽代碼的過程,識別的效率極大提高。
Google的“貓臉識別”系統(tǒng)就是這樣的工作原理。這個由1000臺計算機(jī)、1.6萬個芯片組成的系統(tǒng)在“學(xué)習(xí)”了數(shù)百萬張貓臉圖片后,將邊界、亮度、形狀、色彩和局部形狀等多個特征分類,做成標(biāo)簽,繪制模板。
當(dāng)再看到一張圖片后,系統(tǒng)會逐級對其進(jìn)行識別。比如先判斷圖像的特定方位、位置邊沿的有無,再通過不同的形狀來檢測局部圖案,接下來則是將局部圖案與模板中物體的相應(yīng)部分匹配。后續(xù)的層級會把這些局部組合起來從而識別出整體。最后,系統(tǒng)將圖片中的貓臉識別出來,并與之前學(xué)習(xí)過的數(shù)百萬張貓臉圖片歸為一類。
這其實和人類的思維以及識別事物的過程十分相似。由于絕大多數(shù)圖片都是由多種事物組成的,無監(jiān)督學(xué)了自行繪制模板,還會將不同事物進(jìn)行分類,進(jìn)而分類繪制模板。
“卷積就是匹配的意思。”微軟(亞洲)互聯(lián)網(wǎng)工程院資深研發(fā)總監(jiān)胡睿對《第一財經(jīng)周刊》說,“我們有幾千個或者幾萬個模板在一個卷積神經(jīng)網(wǎng)絡(luò)里面。如果新來一張圖片,就用這些模板去做卷積,再通過神經(jīng)網(wǎng)絡(luò)推理出它到底是模板中的哪一類?!?/p>
Facebook的新技術(shù)使用的也是卷積神經(jīng)網(wǎng)絡(luò)。要知道,卷積神經(jīng)網(wǎng)絡(luò)技術(shù)正是Facebook的人工智能實驗室負(fù)責(zé)人Yann LeCun,在1980年代末開發(fā)出的。2003年,他成為紐約大學(xué)的教授。而移動互聯(lián)網(wǎng)的興起帶來的海量數(shù)據(jù),為這一技術(shù)的進(jìn)一步發(fā)展提供了極大可能。
如今,在互聯(lián)網(wǎng)巨頭公司中,F(xiàn)acebook擁有基于社交網(wǎng)絡(luò)的大量圖片,這一點非常吸引LeCun。2014年,他加入了Facebook,把實驗室從學(xué)校搬到了公司。
除了豐富的圖片資源,F(xiàn)acebook還有一項更大的優(yōu)勢:作為全球最大的社交網(wǎng)站,它能獲取照片的拍攝地址、分析用戶的社交關(guān)系,并在此基礎(chǔ)上識別出照片中的人物。也就是說,即使在一些照片中,你的臉不是很清楚,并且其他和你相關(guān)的信息也比較缺乏,但是Facebook會根據(jù)你以往的消息推斷出這張照片是在哪兒拍的,照片中哪個人是你,甚至你旁邊那些臉部同樣模糊的人都是你哪些朋友。
“Facebook需要解決的問題,并不是從50億個人中把你挑出來,”胡睿說,“它只需要從幾百個或者上千個與你有關(guān)系的人中間把你挑出來,這樣問題其實極大地簡化了?!?/p>
Facebook的研究人員表示,這項技術(shù)未來可以用于其Moments的照片分享。Moments是不久前Facebook推出的一款私密照片分享應(yīng)用,主要是用來讓好友間的圖片交換與分享變得更方便。
不過目前,這項“不看臉識人”的技術(shù)還沒有被應(yīng)用在它Facebook的產(chǎn)品中,或許其中一個原因是,它還很難達(dá)到傳統(tǒng)人臉識別技術(shù)的高準(zhǔn)確率。Facebook也承認(rèn),這個算法并不十分完美。尤其,基于服飾的判斷無法做到百分之百準(zhǔn)確,畢竟,不是所有人都像扎克伯格那樣,每天穿著同樣的衣服。
篇6
關(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)確的檢測精度,而與此同時,跟隨機(jī)器視覺技術(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)出隨機(jī)紋理的特點,對于隨機(jī)紋理圖像的處理分析,目前常用的方法有共生矩陣法、頻域濾波法、分形法等,作為頻域濾波法的代表,二維Gabor濾波器有著與生物視覺系統(tǒng)相近的特點,廣泛應(yīng)用于紋理圖像的處理分析,但是,CPU很難滿足現(xiàn)在的帶鋼檢測的實時要求,④分類算法,特征選擇的主流算法是主成分分析和信息增益,主成分分析存在特征向量方向不一致的問題,而且如何確定主成分存在主觀性,信息增益可以衡量特征的劣,利用它可對特征進(jìn)行排序,方便后面的特征選擇,但信息增益適用于離散特征,信息增益率既適用于離散特征也適用于連續(xù)特征,被廣泛應(yīng)用于特征選擇的過程中,圖像分類算法主流算法包括支持向量機(jī)和BP神經(jīng)網(wǎng)絡(luò),支持向量機(jī)不適用于大樣本的分類問題,BP神經(jīng)網(wǎng)絡(luò)方法具有能夠解決非線性分類問題,對噪聲不敏感等優(yōu)點,被廣泛應(yīng)用于帶鋼檢測中,如王成明等提出的基于BP神經(jīng)網(wǎng)絡(luò)的帶鋼表面質(zhì)量檢測方法等,但是BP神經(jīng)網(wǎng)絡(luò)的超參的設(shè)定往往具有隨機(jī)性,這嚴(yán)重影響了分類效果。
本文首先介紹了帶鋼表面缺陷高速高分辨率成像系統(tǒng)的設(shè)計,針對光源的不均勻性、圖像處理速度慢等問題,提出改進(jìn)方法,然后介紹了分類器的構(gòu)建,針對樣本劃分的隨機(jī)性、特征選擇的隨機(jī)性以及BP神經(jīng)網(wǎng)絡(luò)超參設(shè)定的隨機(jī)性問題,做出改進(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ì),然后,利用鮑威爾棱鏡的擴(kuò)散效果對圓柱的一個方向進(jìn)行擴(kuò)束,最終形成激光線,為保證亮度及寬度的適應(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相機(jī)作為成像核心器件,選用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%。
篇7
關(guān)鍵詞:安全帶檢測;深度學(xué)習(xí);支持向量機(jī);智能交通;特征提取
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)11-0240-03
Abstract:Seat belt detection in intelligent transportation systems is an important research area. A seat belt detection algorithm for complex road backgrounds based on deep learning is proposed. It first extracts features from labeled vehicle, windshield, and seat belt regions, and those features are used to train the detection models by deep learning. Then, it detects the locations of the vehicle, windshield, and seat belt regions, and uses the relative positions among these vehicle components and their detection scores to train a support vector machine classification model. Finally, it performs a fine mapping and identification process using this classification model on the seat belt region. This method performs well when applied to a database of images collected by road surveillance cameras.
Key words: Seat belt detection; deep learning; support vector machine; intelligent transportation; feature extraction
針對駕駛員未系安全帶的這種危險駕駛行為,以及為了響應(yīng)公安部門的需求,目前出現(xiàn)了很多種安全帶檢測方法。現(xiàn)有的安全帶檢測方法大多是基于邊緣檢測[1-2]和Hough變換[3]的方法進(jìn)行安全帶檢測。Guo等人[4]提出了安全帶檢測系統(tǒng),包括安全帶檢測和駕駛員區(qū)域定位兩個模塊。該算法利用線性濾波器在HSV顏色空間[5]通過水平方向和垂直方向投影來確定車牌的位置,然后利用邊緣檢測算子(Sobel[6],Canny[7]等)通過邊緣檢測得到車窗的上下邊緣,再通過幾何關(guān)系確定駕駛員區(qū)域的位置。該方法容易受到車身顏色影響,穩(wěn)定性較差。
為了解決安全帶檢測過程中的光照、車型、駕駛員著裝等因素對檢測結(jié)果的影響,本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)(CNN[8])的安全帶檢測系統(tǒng)。當(dāng)采集到圖片后,首先粗定位車輛區(qū)域,并根據(jù)檢測算法得到車窗區(qū)域粗定位模塊,找到圖像上若干個車窗候選區(qū)域,最后通過安全帶檢測模型及支持向量機(jī)(SVM)分類器[9]處理得到安全帶檢測結(jié)果。
1 基于深度學(xué)習(xí)的安全帶檢測
1.1 CNN特征提取算法
深度學(xué)習(xí)[11-12]是通過大量的簡單神經(jīng)元組成,根據(jù)非線性關(guān)系將底層特征抽象表示為高層特征。卷積神經(jīng)網(wǎng)絡(luò)[13]是一個多層的神經(jīng)網(wǎng)絡(luò),每層由多個二維平面組成,而每個平面包括多個獨立神經(jīng)元。網(wǎng)絡(luò)中由一些簡單元和復(fù)雜元組成,分別記為S-元和C-元。
1.2 檢測模型的構(gòu)建
如圖1所示,我們構(gòu)建了由三個CNNs組成的多尺度的特征提取模型。每個CNN模型共有八層,其中有五個卷積層和三個全連接層。對于每一張圖片,都會自動的提取三個嵌套的越來越小的矩形窗口的特征,分別為車輛區(qū)域、車窗區(qū)域以及安全帶區(qū)域。這三個由CNNs提取的特征送到兩個全連接層,第二個全連接層的輸出被送到輸出層,最后用線性支持向量機(jī)分類器對所有子塊進(jìn)行分類。
2 實驗結(jié)果
2.1 車輛及車窗檢測
本實驗訓(xùn)練集包括戴安全帶和未戴安全帶各2000張的車輛圖像,測試集包括戴安全帶和未戴安全帶各100張的圖像。本文共完成車輛檢測、車窗檢測和安全帶檢測三個實驗。其中,對于車輛和車窗檢測部分,使用檢測率(CIR)和漏檢率(MIR)來作為系統(tǒng)的評價指標(biāo),計算方式如下式所示:
對于車輛檢測實驗,選取6000車輛圖片用于訓(xùn)練模型。然后選取2000張車輛圖片作為測試圖片,并隨機(jī)分成10份。檢測結(jié)果示例如圖2(a)。平均檢測率為93.3%,平均漏檢率為6.7%。同時,對比了基于Adaboost算法[10]的車輛檢測模型,檢測結(jié)果示例如圖2(b),平均檢測率為90.6%,平均漏檢率為9.4%。
由此可以看出,本文算法在相同的數(shù)據(jù)庫上比Adaboost算法表現(xiàn)更好,具有更低的漏檢率和誤檢率。并且車輛檢測結(jié)果更適合用于后面的車窗檢測實驗。
車窗檢測實驗的示例如圖3所示。選取6000張車窗正面車窗圖片用于訓(xùn)練模型,選取2000張圖片作為測試集,并隨機(jī)分成10份。平均檢測率為93.6%,平均漏檢率為9.4%。
2.2 安全帶檢測
對于安全帶檢測部分,使用檢測率(CIR)、虛警率(WIR)和漏檢率(MIR)作為安全帶檢測系統(tǒng)的評價指標(biāo),計算方式如下式所示:
選取戴安全帶和未戴安全帶圖片各2000張圖片用于訓(xùn)練模型。選取2000安全帶區(qū)域圖片作為測試圖片,并隨機(jī)分成10份,每份包含戴安全帶圖片和未戴安全帶圖片各100張。通過基于深度學(xué)習(xí)的安全帶檢測算法,檢測結(jié)果示例如圖4所示,平均檢測率為92.1%,平均虛警率為6.4%,平均漏檢率為2.5%。
3 結(jié)論
安全帶檢測是智能交通系統(tǒng)中的一個重要研究課題。本文提出了一個高效的進(jìn)行安全帶檢測的系統(tǒng),對于檢測部分,我們采用深度神經(jīng)網(wǎng)絡(luò)的特征提取方法,該特征更加適用于訓(xùn)練檢測模型。同時,我們結(jié)合SVM的后處理,提高了安全帶檢測系統(tǒng)的魯棒性,并且很大程度上減低了虛警率和漏檢率。
參考文獻(xiàn):
[1] Ha D M, Lee J M, Kim, Y D. Neural-edge-based vehicle detection and traffic parameter extraction [J]. Image and vision computing, 2004, 22(11): 899-907.
[2] Song G Y, Lee K Y, Lee J W. Vehicle detection by edge-based candidate generation and appearance-based classification [C]//Intelligent Vehicles Symposium, IEEE, 2008: 428-433.
[3] Ballard D H. Generalizing the Hough transform to detect arbitrary shapes [J]. Pattern recognition, 1981, 13(2): 111-122.
[4] Guo H, Lin H, Zhang S. Image-based seat belt detection [C]//2011 IEEE International Conference on Vehicular Electronics and Safety (ICVES). IEEE, 2011: 161-164.
[5] 王運瓊, 游志勝. 基于色差均值的快速車窗定位算法[J]. 計算機(jī)應(yīng)用與軟件, 2004, 21(1): 78-79.
[6] 張建軍, 羅靜. 基于改進(jìn)Sobel算子的表面裂紋邊緣檢測算法[J]. 合肥工業(yè)大學(xué)學(xué)報(自然科學(xué)版), 2011年06期.
[7] Ali M, Clausi D. Using the Canny edge detector for feature extraction and enhancement of remote sensing images [C]//IEEE 2001 International Geoscience and Remote Sensing Symposium. 2001:2298-2300.
[8] Li Guanbin, Yu Yizhou. Visual Saliency Based on Multiscale Deep Features [C]//2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2015: 5455-5463.
[9] 駱玉榮. 安全帶識別系統(tǒng)的研究與實現(xiàn)[D]. 北京:北京工業(yè)大學(xué), 2008.
[10] 吳法. 圖像處理與機(jī)器學(xué)習(xí)在未系安全帶駕車檢測中的應(yīng)用[D]. 杭州:浙江大學(xué), 2013.
[11] A. Krizhevsky, I. Sutskever, G. E. Hinton. Imagenet classification with deep convolutional neural networks [C]//Advances in neural information processing systems, 2012:1097-1105.
篇8
關(guān)鍵詞:車牌;識別;專利;分析
引言
車牌識別技術(shù)[1-2]是指自動提取受監(jiān)控區(qū)域車輛的車牌信息并進(jìn)行處理的技術(shù),其通過運用圖像處理、計算機(jī)視覺、模式識別等技術(shù),對攝像頭捕獲的車輛照片或視頻進(jìn)行分析,進(jìn)而自動識別車輛的車牌號碼。車牌識別技術(shù)可應(yīng)用于停車場自動收費管理、道路監(jiān)控等領(lǐng)域,在城市交通管理中發(fā)揮了重要作用。
1 中國專利申請情況分析
以CNABS專利數(shù)據(jù)庫中的檢索結(jié)果為分析樣本,介紹車牌識別技術(shù)的中國專利申請量趨勢以及重要申請人的狀況。
1.1 第一階段(2005年及之前)
在這階段,申請量極少且申請人也極少,且針對的環(huán)境較為簡單,處于技術(shù)的萌芽階段,其中,專利CN1529276,通過車牌定位、字符分割和分類識別完成機(jī)動車牌號自動識別,其實現(xiàn)過程較為簡單,具體細(xì)節(jié)描述較少。
1.2 第二階段(2006年-2010年)
在這階段的申請量比上一階段有所增加,而且申請人數(shù)量相較之前也有增長,其中來自高校的申請量明顯增加,反映出了高校研究者開始更加注重對研究成果的保護(hù),這一階段的專利所針對的環(huán)境場景更為復(fù)雜,識別準(zhǔn)確率得到提高,對車牌定位、字符分割、字符識別等關(guān)鍵技術(shù)的研究更為深入。
1.3 第三階段(2011年及以后)
在2011年之后車牌識別技術(shù)的專利申請量呈現(xiàn)快速增長,這一階段車牌識別技術(shù)得到了更進(jìn)一步的豐富,涉及的關(guān)鍵技術(shù)的解決途徑也呈現(xiàn)出多樣性,檢測效率和精度也得到進(jìn)一步提高,其中,專利CN104035954A,涉及一種基于Hadoop的套牌車識別方法,將云計算應(yīng)用于車牌識別,使得與傳統(tǒng)環(huán)境下不經(jīng)過優(yōu)化的方法相比具有^高的運行效率和加速比,可以有效地識別套牌車。
圖2示出了中國重要申請人分布情況,申請量分布前十的申請人包括:電子科技大學(xué)、深圳市捷順科技實業(yè)股份有限公司(捷順科技)、浙江宇視科技有限公司(宇視科技)、信幀電子技術(shù)(北京)有限公司(信幀電子)、中國科學(xué)院自動化研究所(自動化研究所)、安徽清新互聯(lián)信息科技有限公司(清新互聯(lián))、青島海信網(wǎng)絡(luò)科技股份有限公司(海信網(wǎng)絡(luò))、浙江工業(yè)大學(xué)、四川川大智勝軟件股份有限公司(川大智勝)、上海高德威智能交通系統(tǒng)有限公司(高德威智能交通),從圖2中可以看出,不同申請人的申請量差距不是很大,幾乎保持在一個比較持平的狀態(tài)。
電子科技大學(xué)在車牌識別技術(shù)的專利申請中,CN 101064011A提出一種基于小波變換的復(fù)雜背景中的車牌提取方法,可大大提高對晴天、雨天、霧天、白天及夜晚等環(huán)境的通用性和適用性,實現(xiàn)車牌的精確定位并提高車牌提取的準(zhǔn)確度;CN 103455815A提出一種復(fù)雜場景下的自適應(yīng)車牌字符分割方法,能快速、準(zhǔn)確地搜索2、3字符間隔位置,實現(xiàn)自適應(yīng)調(diào)整分割參數(shù),使車牌字符分割穩(wěn)定可靠,在復(fù)雜的環(huán)境中魯棒性強,防止噪聲干擾;CN 105005757A提出一種基于Grassmann流行的車牌字符識別方法,最大限度地利用了已獲得的車牌字符信息以及同類字符之間的相互關(guān)系,對于車牌字符的成像質(zhì)量要求更低,應(yīng)用于復(fù)雜的環(huán)境中具有很好的魯棒性和準(zhǔn)確性。
2 關(guān)鍵技術(shù)分析
一個完整的車牌定位與識別系統(tǒng),其前端包括圖像采集和傳輸系統(tǒng),末端還需要與數(shù)據(jù)庫相連接。從定位到識別的核心算法上,主要包括圖像預(yù)處理、車牌定位、字符分割和字符識別四大部分[3]。
圖像預(yù)處理,是指通過對攝像頭捕獲的彩色圖像進(jìn)行預(yù)處理。常用的預(yù)處理方法包括圖像灰度化、圖像二值化、邊緣檢測等。
車牌定位,是指在經(jīng)預(yù)處理后的車輛圖像中,定位出車輛的車牌所在位置。常用的車牌定位方法包括基于紋理分析的方法、基于數(shù)學(xué)形態(tài)學(xué)的方法、基于邊緣檢測的方法、基于小波變換的方法和基于神經(jīng)網(wǎng)絡(luò)的方法等。CN 104298976A提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的車牌檢測方法,利用卷積神經(jīng)網(wǎng)絡(luò)完整車牌識別模型對車牌粗選區(qū)域進(jìn)行篩選,獲取車牌最終候選區(qū)域。
字符分割,是指將定位出的車牌區(qū)域圖像分割成單個的字符圖像。常用的字符分割方法包括基于輪廓的方法、基于投影的方法、基于模板匹配的方法和基于連通區(qū)域的方法等。CN 104408454A提出一種基于彈性模板匹配算法的車牌字符分割方法,基于彈性模板,通過插空進(jìn)行模板序列形狀的彈性調(diào)整,將車牌圖片與理想模板進(jìn)行匹配,獲得全局最優(yōu)匹配,確定字符位置,將分割算法作用于投影序列,實現(xiàn)對車牌字符的分割。
字符識別,是指對字符分割之后的單個字符圖像進(jìn)行識別,進(jìn)而得到車輛的車牌號碼。常用的車牌字符識別方法包括基于字符結(jié)構(gòu)特征的識別方法、基于模板匹配的識別方法、基于神經(jīng)網(wǎng)絡(luò)的識別方法、基于模糊理論的模式識別方法和基于支持向量機(jī)分類識別方法等。CN 105975968A提出一種基于Caffe框架的深度學(xué)習(xí)車牌字符識別方法,以基于Caffe架構(gòu)的深度學(xué)習(xí)為基礎(chǔ),解決了現(xiàn)有的車牌字符識別方法中對傾斜、斷裂、相近字符識別精度不高的問題,大大提高了對于車牌字符的識別精度。
3 結(jié)束語
本文以車牌識別相關(guān)專利文獻(xiàn)為樣本,分析統(tǒng)計了該技術(shù)中國專利申請現(xiàn)狀,并對車牌識別技術(shù)的關(guān)鍵技術(shù)進(jìn)行簡單分析。在經(jīng)歷了從無到有、從萌芽到飛速發(fā)展的階段之后,車牌識別技術(shù)慢慢走向成熟,越來越多的企業(yè)和高校在車牌識別的研究上投入了大量的精力,也獲得了豐碩的研究成果。
參考文獻(xiàn)
[1]尹旭.汽車牌照定位研究綜述[J].電腦知識與技術(shù),2010,6(14):3729-3730.
篇9
全球關(guān)注的人機(jī)世紀(jì)之戰(zhàn)
人們總是對未知領(lǐng)域充滿了好奇與敬畏,從計算機(jī)誕生之日起,各種有關(guān)人工智能的猜想便從終止過。人們一方面希望人工智能能夠超越人類智慧,一方面又害怕被科技超越,矛盾的心態(tài)下,每一次以智慧為焦點的人機(jī)對戰(zhàn)都會成為市場關(guān)注的焦點。
2016年3月9日至15日,被稱為“世紀(jì)人機(jī)大戰(zhàn)”的韓國棋手李世石VS谷歌圍棋機(jī)器人AlphaGo的比賽最終以AlphaGo贏得四局落下帷幕,雖然本身關(guān)注和懂得圍棋的人并不多,但這場人機(jī)世紀(jì)大戰(zhàn)卻通過各種渠道讓全球億萬計的人們知道了―人類智慧被人工智能打敗了!回顧以往的人機(jī)大戰(zhàn),人類并非永恒的勝者,美國IBM公司的“深藍(lán)”超級計算機(jī)以2勝1負(fù)3平戰(zhàn)勝了當(dāng)時世界排名第一的國際象棋大師卡斯帕羅夫,但絕大多數(shù)人卻不以為意,除十分接近的勝敗結(jié)果外,深藍(lán)主要是依靠運算能力窮舉所有路數(shù)來選擇最佳策略,它當(dāng)時可以實現(xiàn)每秒兩億步的運算。很多人覺得卡斯帕羅夫的落敗與體力有關(guān),深藍(lán)的策略多少有些“無賴”。
但AlphaGo卻在“深藍(lán)”獲勝十九年后的今天,擁有自主深度學(xué)習(xí)進(jìn)化的AlphaGo以難以讓人爭議的過程和結(jié)果,在圍棋這一人類智慧競技的高地上戰(zhàn)勝了韓國棋手李世石。
能夠深層學(xué)習(xí)的AlphaGo
“深藍(lán)”之所以能夠有超人的絕佳表現(xiàn),幾乎純粹是靠運算能力。依靠存儲的數(shù)百萬個國際象棋案例,能在眾多可能性中進(jìn)行篩選,從而確定下一步棋的最佳位置。這給人感覺在用體力玩智慧游戲了,但AlphaGo卻給人們展示了一個幾乎完全靠自學(xué),并通過觀察成功與失敗案例來掌握得勝技巧的系統(tǒng)。谷歌利用大數(shù)據(jù)與深度學(xué)習(xí)的技術(shù)優(yōu)勢為AlphaGo構(gòu)建了一套策略網(wǎng)絡(luò),機(jī)器通過深度學(xué)習(xí)能力,模擬人腦的機(jī)制來學(xué)習(xí)、判斷、決策。即AlphaGo可以從大量的棋譜和對局中學(xué)習(xí)策略,形成一套落子決策判斷與數(shù)據(jù)解讀的能力體系,讓其在沖殺狀態(tài)下懂得一套試探與引導(dǎo)的能力,最終成功擊敗人類棋手李世石。
人類是惟一能夠?qū)⒅庇X(隱式的)和符號(顯式的)知識結(jié)合起來的物種,人類具有這樣的雙重能力,將前者轉(zhuǎn)換成后者,然后通過后者的反饋反過來改善前者,這在以往是人類擁有的特殊性和唯一性。但今天,AlphaGo無縫使用了分層的網(wǎng)絡(luò)(即深度卷積神經(jīng)網(wǎng)絡(luò))進(jìn)行直覺學(xué)習(xí),強化,評估和策略,配以強悍的計算能力,它完全不需要解決任何語義復(fù)雜性并且可從容地從現(xiàn)實考慮中分離,人的思維模式加上科技的理性結(jié)合,這讓AlphaGo能夠在對局結(jié)束前30分鐘就向Google技術(shù)分析團(tuán)隊報告自己確信必勝。
下一步是理解
沒有人性弱點的AlphaGo讓我們看到了人工智能神經(jīng)網(wǎng)絡(luò)的前景在于它在不斷縮小機(jī)器和人類之間的差距,而且隨著技術(shù)開發(fā)者的跟進(jìn),人工智能將會對理解人類語言,揣摩人類情感。
理解人類,這對于巨頭們的想象空間在于,基于用戶需求的商業(yè)決策會因此更加精準(zhǔn)。人機(jī)對戰(zhàn)讓我們看到,推理、判斷、分析問題等功能處理之外,識別人的情感與情緒與對人的語言理解力將是未來發(fā)展的高地。
圍棋大戰(zhàn),只能體現(xiàn)出,在封閉規(guī)則的計算領(lǐng)域,機(jī)器比人類聰明得多,因為我們的心算能力本身與計算器相差甚遠(yuǎn);但是思維、對話、情感等都是不確定的。而前面說到,機(jī)器沒有情緒,只有它懂得了人類的語言,逐漸了解人類表達(dá)的意思甚至是情緒,才意味著人工智能達(dá)到了更高的領(lǐng)地。AlphaGo及其背后的AI領(lǐng)域真的能實現(xiàn),而這一切都是建立在搜索的原理與算法的未來改進(jìn)上。
小知識:它不是一條狗
阿爾法圍棋(AlphaGo)是一款圍棋人工智能程序,由位于英國倫敦的谷歌(Google)旗下DeepMind公司的戴維 西爾弗、艾佳 黃和戴密斯 哈薩比斯與他們的團(tuán)隊開發(fā),這個程序利用“價值網(wǎng)絡(luò)”去計算局面,用“策略網(wǎng)絡(luò)”去選擇下子。2015年10月阿爾法圍棋以5:0完勝歐洲圍棋冠軍、職業(yè)二段選手樊麾;2016年3月對戰(zhàn)世界圍棋冠軍、職業(yè)九段選手李世石,并以4:1的總比分獲勝。
四位一體的AlphaGo系統(tǒng)
歸根到底,AlphaGo系統(tǒng)目前還是一件科技產(chǎn)物,其本身由走棋網(wǎng)絡(luò)、快速走子、估值網(wǎng)絡(luò)和蒙特卡羅樹搜索四個部分組成,正是這四個部分的協(xié)同與融合,讓AlphaGo擁有能夠?qū)W習(xí)的智慧,最終戰(zhàn)勝李世石。走棋網(wǎng)絡(luò)(Policy Network),給定當(dāng)前局面,預(yù)測/采樣下一步的走棋。快速走子(Fast rollout),目標(biāo)和1一樣,但在適當(dāng)犧牲走棋質(zhì)量的條件下,速度要比1快1000倍。 估值網(wǎng)絡(luò)(Value Network),給定當(dāng)前局面,估計是白勝還是黑勝。蒙特卡羅樹搜索(Monte Carlo Tree Search,MCTS),把以上這三個部分連起來,形成一個完整的系統(tǒng)。
讓電腦擁有棋感的走棋網(wǎng)絡(luò)
走棋網(wǎng)絡(luò)把當(dāng)前局面作為輸入,預(yù)測/采樣下一步的走棋。它的預(yù)測不只給出最強的一手,而是對棋盤上所有可能的下一著給一個分?jǐn)?shù)。棋盤上有361個點,它就給出361個數(shù),好招的分?jǐn)?shù)比壞招要高。以往的科技只是單純基于規(guī)則或者基于局部形狀,利用簡單的線性分類器訓(xùn)練完成走子,整個過程是不可能形成類似人類圍棋選手的棋感。
AlphaGo去利用更高效的、寬度為192的網(wǎng)絡(luò)(正常棋盤上有361個點,電腦給出361個數(shù),好招的分?jǐn)?shù)比壞招要高。),下出有最高置信度的落子。這樣的做法一點也沒有做搜索,但是大局觀非常強,不會陷入局部戰(zhàn)斗中,說它建模了“棋感”一點也沒有錯。但是走棋網(wǎng)絡(luò)會不顧大小無謂爭劫,會無謂脫先,不顧局部死活,對殺出錯等等,更多像是高手憑借“自覺”在下棋,因而需要加入搜索功能,讓電腦做出有價值的判斷。
追求效率的快速走子
作為人類智慧競技的高地,圍棋用用天文數(shù)字般的局面數(shù),走棋網(wǎng)絡(luò)能讓AlphaGo達(dá)到3毫秒的下子速度,但想要進(jìn)一步提高AlphaGo的“反應(yīng)”及“思考”能力,就需要快速走子系統(tǒng)的幫助了。
利用傳統(tǒng)的局部特征匹配(local pattern matching)加線性回歸(logisticregression)的方法,AlphaGo在吸納了眾多高手對局之后就具備了用梯度下降法自動調(diào)參的能力,從而實現(xiàn)了2微秒的走子速度和24.2%的走子準(zhǔn)確率。24.2%的意思是說它的最好預(yù)測和圍棋高手的下子有0.242的概率是重合的,相比之下,走棋網(wǎng)絡(luò)在GPU上用2毫秒能達(dá)到57%的準(zhǔn)確率。在AlphaGo有了快速走子之后,不需要走棋網(wǎng)絡(luò)和估值網(wǎng)絡(luò),不借助任何深度學(xué)習(xí)和GPU的幫助,不使用增強學(xué)習(xí),在單機(jī)上就已經(jīng)達(dá)到非常高的水平了。
錦上添花的估值網(wǎng)絡(luò)
估值網(wǎng)絡(luò)對盤面的評估應(yīng)用上同快速走子有些重疊,都是通過模擬落子得分評估當(dāng)前及后面布局的優(yōu)劣,但通過估值網(wǎng)絡(luò)和快速走子的互補,在復(fù)雜的死活或?qū)r,也就是進(jìn)行到中盤階段的時候,估值網(wǎng)絡(luò)的重要性就會得到提升。前面提到AlphaGo能夠提前30分鐘知道自己必勝,估值網(wǎng)絡(luò)就起到了很大的作用。
盡量選擇更好的蒙特卡羅樹搜索
“蒙特卡洛樹搜索”是一種啟發(fā)式的搜索策略,能夠基于對搜索空間的隨機(jī)抽樣來擴(kuò)大搜索樹,從而分析圍棋這類游戲中每一步棋應(yīng)該怎么走才能夠創(chuàng)造最好機(jī)會。
一位名叫蘇椰的知乎用戶舉了這樣一個例子,以通俗的語言進(jìn)行了解釋:假如筐里有100個蘋果,讓我每次閉眼拿1個,挑出最大的。于是我隨機(jī)拿1個,再隨機(jī)拿1個跟它比,留下大的,再隨機(jī)拿1個……我每拿一次,留下的蘋果都至少不比上次的小。拿的次數(shù)越多,挑出的蘋果就越大,但我除非拿100次,否則無法肯定挑出了最大的。這個挑蘋果的算法,就屬于蒙特卡羅算法:盡量找好的,但不保證是最好的。
擁有兩個大腦的AlphaGo
AlphaGo是通過兩個不同神經(jīng)網(wǎng)絡(luò)“大腦”合作來改進(jìn)下棋。這些大腦是多層神經(jīng)網(wǎng)絡(luò)跟那些Google圖片搜索引擎識別圖片在結(jié)構(gòu)上是相似的。它們從多層啟發(fā)式二維過濾器開始,去處理圍棋棋盤的定位,就像圖片分類器網(wǎng)絡(luò)處理圖片一樣。經(jīng)過過濾,13個完全連接的神經(jīng)網(wǎng)絡(luò)層產(chǎn)生對它們看到的局面判斷。這些層能夠做分類和邏輯推理。
AlphaGo的第一個神經(jīng)網(wǎng)絡(luò)大腦科學(xué)全稱應(yīng)該是“監(jiān)督學(xué)習(xí)的策略網(wǎng)絡(luò)(Policy Network)”,觀察棋盤布局企圖找到最佳的下一步。團(tuán)隊通過在KGS(網(wǎng)絡(luò)圍棋對戰(zhàn)平臺)上最強人類對手,百萬級的對弈落子去訓(xùn)練大腦。這就是AlphaGo最像人的地方,目標(biāo)是去學(xué)習(xí)那些頂尖高手的妙手。這個不是為了去下贏,而是去找一個跟人類高手同樣的下一步落子。AlphaGo這個大腦的出色之處在于不單要模仿學(xué)習(xí),更要追求速度,不斷模擬計算圍棋局面變化,最終選擇正確率最高的落子。
價值評估則可看做AlphaGo的第二個大腦,通過整體局面判斷來輔助落子選擇器。AlphaGo能夠決定是否通過特殊變種去深入閱局面和落子,如果局面評估器說這個特殊變種不行,那么AI就跳過閱讀在這一條線上的任何更多落子。
深度神經(jīng)網(wǎng)絡(luò)的運用
人類在下圍棋時,通常會經(jīng)歷常識-棋感-計算-判斷四個過程,AlphaGo的常識源于其“監(jiān)督學(xué)習(xí)的策略網(wǎng)絡(luò)(Policy Network)”帶來的深層學(xué)習(xí)能力,而棋感和計算則需要深度神經(jīng)網(wǎng)絡(luò)同蒙特卡洛算法的融合,兩者的融合讓AlphaGo整個運作方式更接近人類。通過對比使用蠻力計算的“深藍(lán)”眼中的國際象棋落子思路和AlphaGo眼中的圍棋落子思路會發(fā)現(xiàn),圍棋的復(fù)雜度需要更“聰明”的AI才能完成了。
兩個大腦加上深度神經(jīng)網(wǎng)絡(luò),AlphaGo以Value networks來評估大量的選點,而以Policy networks來選擇落子,并且開發(fā)了一種新式算法來結(jié)合蒙特卡洛算法和以上兩個神經(jīng)網(wǎng)絡(luò)。在這種結(jié)合下,研究者們結(jié)合參考人類職業(yè)對局的監(jiān)督式學(xué)習(xí),和AI大量積累自對弈實現(xiàn)的深度學(xué)習(xí),來訓(xùn)練和提高AI的圍棋實力。
AI的進(jìn)步與期望
圍棋代表了很多人工智能所面臨的困難:具有挑戰(zhàn)性的決策制定任務(wù)、難以破解的查找空間問題和優(yōu)化解決方案如此復(fù)雜以至于用一個策略或價值函數(shù)幾乎無法直接得出。通過將策略和價值網(wǎng)絡(luò)與樹搜索結(jié)合起來,AlphaGo終于達(dá)到了專業(yè)圍棋水準(zhǔn),讓我們看到了希望:在其他看起來無法完成的領(lǐng)域中,AI也可以達(dá)到人類級別的表現(xiàn)。
當(dāng)然,這一切都是建立在人類千年來在圍棋領(lǐng)域積累上的,沒有積累就不會圍棋AI的今天。AlphaGo讓世人看到了AI領(lǐng)域的巨大進(jìn)步,但想要真正理解人類和語言,其還有一段很長的路要走。相比圍棋,人類在生活上的行為習(xí)慣,需要AlphaGo們擁有更出色的學(xué)習(xí)能力以及判斷能力,無論是存儲容量還是搜索算法,都需要幾何倍數(shù)的遞增,從這個角度看,現(xiàn)在擔(dān)心AlphaGo們擁有自己的意識或情感,都太早了一些。
滲透進(jìn)入人們生后的AI
AlphaGo不是DeepMind惟一項目,也不是最大的項目。DeepMind的最終目標(biāo)是智能助手、醫(yī)療和機(jī)器人。另外,盡管AlphaGo只是針對圍棋開發(fā)的系統(tǒng),但其原理可以被應(yīng)用到現(xiàn)實問題中。以醫(yī)療為例,IBM已經(jīng)依靠認(rèn)知學(xué)習(xí)平臺“Watson”進(jìn)入了醫(yī)療領(lǐng)域,Watson在泰國和印度的兩家醫(yī)院協(xié)助醫(yī)生診斷乳腺癌、肺癌和結(jié)腸直腸癌。盡管Watson自身不會診斷疾病,但它能夠找到醫(yī)生應(yīng)該進(jìn)一步認(rèn)真檢查的地方,并提出治療方案。
而無人駕駛汽車其實也可以看做具備了身軀的AI,家喻戶曉的特斯拉汽車便使用了基于深度學(xué)習(xí)的現(xiàn)有計算機(jī)視覺技術(shù)。當(dāng)然,工業(yè)或者服務(wù)用機(jī)器人都是AI滲透進(jìn)入人們生活的表現(xiàn)。AI公司們正在努力晚上其產(chǎn)品,爭取能夠無縫進(jìn)入人們生活的各個領(lǐng)域,當(dāng)AI設(shè)備在可靠性、適應(yīng)性和靈活性等方面都有長足進(jìn)步時,人們未來的生活也將變得更美好。
谷歌改變?nèi)祟惖囊靶?/p>
AlphaGo很強大很厲害,但對于近年來谷歌的謀劃而言,AlphaGo無非是其在人工智能領(lǐng)域的小玩具而已。改組Alphabet的谷歌,瘋狂地在全球收購各個尖端前沿領(lǐng)域的頂尖公司,把觸角伸到了生命科學(xué)、人工智能、無人駕駛、虛擬現(xiàn)實等等許多的領(lǐng)域。AlphaGo背后的英國Deepmind公司,只是他們收購的許許多多家公司中的一個而已。
除了傳統(tǒng)Youtube、Gmail和地圖等等互聯(lián)網(wǎng)業(yè)務(wù),生命科學(xué)、人工智能、無人駕駛、虛擬現(xiàn)實等新領(lǐng)域其實谷歌并沒有賺到什么錢,更多是對未來的投資和布局,但今天,AlphaGo的表現(xiàn)已經(jīng)讓我們看到了谷歌的投入回報,再加上眾多具有顛覆性或者劃時代意義的谷歌黑科技,讓我們清楚看到了谷歌改變?nèi)祟愇磥淼囊靶?。相比之下,國?nèi)BAT三大巨頭在技術(shù)積淀和領(lǐng)域格局方面,就顯得有些小氣了。
人工智能的競賽
在2010年到2015年期間,企業(yè)對人工智能創(chuàng)業(yè)公司的投資增長了15倍。BBC預(yù)測,人工智能市場將繼續(xù)保持高速增長,2020年全球市場規(guī)模將達(dá)到183億美元,約合人民幣1190億元。龐大的數(shù)據(jù)和潛力,足以讓企業(yè)們瘋狂。
在硅谷,截至2015年初就有超過1700家創(chuàng)業(yè)公司加入人工智能浪潮―這一數(shù)字過去1年還在不斷增加之中。谷歌、Facebook、亞馬遜等科技巨頭們的巨大投入都推動AI整個領(lǐng)域取得巨大進(jìn)步。圖像識別、語音識別已經(jīng)成為蘋果、微軟、Google、IBM等科技大公司激烈競爭的焦點,而在醫(yī)療識別、模擬大腦圖像等細(xì)分領(lǐng)域中,也涌現(xiàn)出不少初創(chuàng)的科技企業(yè)??梢哉f,一場席卷全球的AI競賽正在展開,誰能讓科技變得更聰明,誰就有望在未來的競爭中占據(jù)有利位置。
篇10
關(guān)鍵詞:AlphaGo;人工智能;圍棋;未來展望
中圖分類號:TP18 文獻(xiàn)標(biāo)識碼:A 文章編號:1671-2064(2017)07-0193-02
1 圍棋與人工智能
圍棋作為中國傳統(tǒng)四大藝術(shù)之一,擁有著幾千年的悠久歷史。圍棋棋盤由19條橫線和19條豎線組成,共有19*19=361個交叉點,圍棋子分為黑白兩種顏色,對弈雙方各執(zhí)一色,輪流將一枚棋子下在縱橫交叉點上,終局時,棋子圍上交叉點數(shù)目最多的一方獲勝。圍棋棋盤上每一個縱橫交叉點都有三種可能性:落黑子、落白子、留空,所以圍棋擁有高達(dá)3^361種局面;圍棋的每個回合有250種可能,一盤棋可長達(dá)150回合,所以圍棋的計算復(fù)雜度為250^150,約為10^170,然而全宇宙可觀測的原子數(shù)量只有10^80,這足以體現(xiàn)圍棋博弈的復(fù)雜性和多變性。
人工智能(Artificial Intelligence,AI)主要研究人類思維、行動中那些尚未算法化的功能行為,使機(jī)器像人的大腦一樣思考、行動。長期以來,圍棋作為一種智力博弈游戲,以其變化莫測的博弈局面,高度體現(xiàn)了人類的智慧,為人工智能研究提供了一個很好的測試平臺,圍棋人工智能也是人工智能領(lǐng)域的一個重要挑戰(zhàn)。
傳統(tǒng)的計算機(jī)下棋程序的基本原理,是通過有限步數(shù)的搜索樹,即采用數(shù)學(xué)和邏輯推理方法,把每一種可能的路徑都走一遍,從中選舉出最優(yōu)路徑,使得棋局勝算最大。這種下棋思路是充分發(fā)揮計算機(jī)運算速度快、運算量大等優(yōu)勢的“暴力搜索法”,是人類在對弈規(guī)定的時間限制內(nèi)無法做到的。但是由于圍棋局面數(shù)量太大,這樣的運算量對于計算機(jī)來講也是相當(dāng)之大,目前的計算機(jī)硬件無法在對弈規(guī)定的時間內(nèi),使用計算機(jī)占絕對優(yōu)勢的“暴力搜索法”完成圍棋所有局面的擇優(yōu),所以這樣的下棋思路不適用于圍棋對弈。
搜索量巨大的問題一直困擾著圍棋人工智能,使其發(fā)展停滯不前,直到2006年, 蒙特卡羅樹搜索的應(yīng)用出現(xiàn),才使得圍棋人工智能進(jìn)入了嶄新的階段,現(xiàn)代圍棋人工智能的主要算法是基于蒙特卡洛樹的優(yōu)化搜索。
2 圍棋人工智能基本原理
目前圍棋人工智能最杰出的代表,是由谷歌旗下人工智能公司DeepMind創(chuàng)造的AlphaGo圍棋人工智能系統(tǒng)。它在與人類頂級圍棋棋手的對弈中充分發(fā)揮了其搜索和計算的優(yōu)勢,幾乎在圍棋界立于不敗之地。
AlphaGo系統(tǒng)的基本原理是將深度強化學(xué)習(xí)方法與蒙特卡洛樹搜索結(jié)合,使用有監(jiān)督學(xué)習(xí)策略網(wǎng)絡(luò)和價值網(wǎng)絡(luò),極大減少了搜索空間,即在搜索過程中的計算量,提高了對棋局估計的準(zhǔn)確度。
2.1 深度強化學(xué)習(xí)方法
深度學(xué)習(xí)源于人工神經(jīng)網(wǎng)絡(luò)的研究,人類大量的視覺聽覺信號的感知處理都是下意識的,是基于大腦皮層神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法,通過模擬大腦皮層推斷分析數(shù)據(jù)的復(fù)雜層狀網(wǎng)絡(luò)結(jié)構(gòu),使用包含復(fù)雜結(jié)構(gòu)或由多重非線性變換構(gòu)成的多個處理層對數(shù)據(jù)進(jìn)行高層抽象,其過程類似于人們識別物體標(biāo)注圖片?,F(xiàn)如今,應(yīng)用最廣泛的深度學(xué)習(xí)模型包括:卷積神經(jīng)網(wǎng)絡(luò)、深度置信網(wǎng)絡(luò)、堆棧自編碼網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)等。
強化學(xué)習(xí)源于動物學(xué)習(xí)、參數(shù)擾動自適應(yīng)控制等理論,通過模擬生物對環(huán)境以試錯的方式進(jìn)行交互達(dá)到對環(huán)境的最優(yōu)適應(yīng)的方式,通過不斷地反復(fù)試驗,將變化無常的動態(tài)情況與對應(yīng)動作相匹配。強化學(xué)習(xí)系統(tǒng)設(shè)置狀態(tài)、動作、狀態(tài)轉(zhuǎn)移概率和獎賞四個部分,在當(dāng)前狀態(tài)下根據(jù)策略選擇動作,執(zhí)行該過程并以當(dāng)前轉(zhuǎn)移概率轉(zhuǎn)移到下一狀態(tài),同時接收環(huán)境反饋回來的獎賞,最終通過調(diào)整策略來最大化累積獎賞。
深度學(xué)習(xí)具有較強的感知能力,但缺乏一定的決策能力;強化學(xué)習(xí)具有決策能力,同樣對感知問題無能為力。深度強化學(xué)習(xí)方法是將具有感知能力的深度學(xué)習(xí)和具有決策能力的強化學(xué)習(xí)結(jié)合起來,優(yōu)勢互補,用深度學(xué)習(xí)進(jìn)行感知,從環(huán)境中獲取目標(biāo)觀測信息,提供當(dāng)前環(huán)境下的狀態(tài)信息;然后用強化學(xué)習(xí)進(jìn)行決策,將當(dāng)前狀態(tài)映射到相應(yīng)動作,基于初期匯報評判動作價值。
深度強化學(xué)習(xí)為復(fù)雜系統(tǒng)的感知決策問題提供了一種全新的解決思路。
2.2 蒙特卡洛樹搜索
蒙特卡洛樹搜索是將蒙特卡洛方法與樹搜索相結(jié)合形成的一種搜索方法。所謂蒙特卡洛方法是一種以概率統(tǒng)計理論為指導(dǎo)的強化學(xué)習(xí)方法,它通常解決某些隨機(jī)事件出現(xiàn)的概率問題,或者是某隨機(jī)變量的期望值等數(shù)字特征問題。通過與環(huán)境的交互,從所采集的樣本中學(xué)習(xí),獲得關(guān)于決策過程的狀態(tài)、動作和獎賞的大量數(shù)據(jù),最后計算出累積獎賞的平均值。
蒙特卡洛樹搜索算法是一種用于解決完美信息博弈(perfect information games,沒有任何信息被隱藏的游戲)的方法,主要包含選擇(Selection)、擴(kuò)展(Expansion)、模擬(Simulation)和反向傳播(Backpropagation)四個步驟。
2.3 策略網(wǎng)絡(luò)與價值網(wǎng)絡(luò)
AlphaGo系統(tǒng)擁有基于蒙特卡洛樹搜索方法的策略網(wǎng)絡(luò)(Policy Network)和價值網(wǎng)絡(luò)(Value Network)兩個不同的神經(jīng)網(wǎng)絡(luò)大腦,充分借鑒人類棋手的下棋模式,用策略網(wǎng)絡(luò)來模擬人類的“棋感”,用價值網(wǎng)絡(luò)來模擬人類對棋盤盤面的綜合評估。
AlphaGo系統(tǒng)主要采用有監(jiān)督學(xué)習(xí)策略網(wǎng)絡(luò),通過觀察棋盤布局,進(jìn)行棋路搜索,得到下一步合法落子行動的概率分布,從中找到最優(yōu)的一步落子位置,做落子選擇。DeepMind團(tuán)隊使用棋圣堂圍棋服務(wù)器上3000萬個專業(yè)棋手對弈棋譜的落子數(shù)據(jù),來預(yù)測棋手的落子情況。期間,系統(tǒng)進(jìn)行上百萬次的對弈嘗試,進(jìn)行強化學(xué)習(xí),將每一個棋局進(jìn)行到底,不斷積累“經(jīng)驗”,學(xué)會贏面最大的棋路走法,最終達(dá)到頂級圍棋棋手的落子分析能力。而AlphaGo的價值網(wǎng)絡(luò)使用百萬次對弈中產(chǎn)生的棋譜,根據(jù)最終的勝負(fù)結(jié)果來進(jìn)行價值網(wǎng)絡(luò)訓(xùn)練,預(yù)測每一次落子選擇后贏棋的可能性,通過整體局面的判斷來幫助策略網(wǎng)絡(luò)完成落子選擇。
3 圍棋人工智能意義
經(jīng)過比賽測試證明,AlphaGo系統(tǒng)的圍棋對弈能力已經(jīng)達(dá)到世界頂級棋手水平。一直以來,圍棋因為復(fù)雜的落子選擇和巨大的搜索空間使得圍棋人工智能在人工智能領(lǐng)域成為一個具有代表性的難度挑戰(zhàn)。目前的硬件水平面對如此巨大的搜索空間顯得束手無策,AlphaGo系統(tǒng)基于有監(jiān)督學(xué)習(xí)的策略網(wǎng)絡(luò)和價值網(wǎng)絡(luò)大大減少搜索空間,在訓(xùn)練中開創(chuàng)性地使用深度強化學(xué)習(xí),然后結(jié)合蒙特卡洛樹搜索方法,使得系統(tǒng)自學(xué)習(xí)能力大大提高,并且AlphaGo系統(tǒng)在與人類頂級棋手對弈中取得的連勝卓越成績,櫧湓諶斯ぶ悄芰煊虻於了堅實的里程碑地位。
雖然圍棋人工智能取得了如此優(yōu)秀的成績,但是也僅僅是它在既定規(guī)則內(nèi)的計算處理能力遠(yuǎn)遠(yuǎn)超過了人類的現(xiàn)有水平,并且還有有待提高和完善的地方。在人類的其他能力中,例如情感、思維、溝通等等領(lǐng)域,目前的人工智能水平是遠(yuǎn)遠(yuǎn)達(dá)不到的。但是隨著科技的進(jìn)步和人類在人工智能領(lǐng)域的研究深入,人工智能與人類的差距會逐漸減小,像圍棋人機(jī)大戰(zhàn)人工智能連勝人類這樣的例子也可能在其他領(lǐng)域發(fā)生,這就意味著人工智能的發(fā)展前景十分可觀。
4 結(jié)語
人類和人工智能共同探索圍棋世界的大幕即將拉開,讓人類棋手結(jié)合人工智能,邁進(jìn)全新人機(jī)共同學(xué)習(xí)交流的領(lǐng)域,進(jìn)行一次新的圍棋革命,探索圍棋真理更高的境界。
參考文獻(xiàn)