卷積神經網絡方法范文
時間:2024-04-01 18:17:28
導語:如何才能寫好一篇卷積神經網絡方法,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。
篇1
DOIDOI:10.11907/rjdk.162768
中圖分類號:TP317.4
文獻標識碼:A文章編號文章編號:16727800(2017)005017405
0引言
隨著電子商務的發展,大批藝術品交易網站隨之興起,藏品交易規模也越來越大。而當前的古玩網上交易平臺還不能夠實現對現有藏品圖片的自動分類,客戶在尋找目標藏品時不得不在眾多圖片中一一瀏覽。因此需要一種有效的方法來完成面向圖像內容的分類。
在基于內容的圖像檢索領域,常使用人工設計的特征-如根據花瓶、碗、盤子的不同形態特征:目標輪廓的圓度、質心、寬高比等[1],繼而使用BP神經網絡、SVM分類器等對特征進行學習分類。文獻[2]基于植物葉片的形狀特征,如葉片形狀的狹長度、矩形度、球狀性、圓形度、偏心率、周長直徑比等,利用BP神經網絡實現對植物葉片進行分類。文獻[3]研究印品圖像的各類形狀缺陷,利用圖像缺陷形狀的輪廓長度、面積和圓形度等幾何特征,導入SVM分類器進行訓練,得到分類器模型實現分類。文獻[4]提出了一種基于Zernike矩的水果形狀分類方法,通過提取圖像中具有旋轉不變性的Zernike矩特征,并運用PCA方法確定分類需要的特征數目,最后將這些特征輸入到SVM分類器中,完成水果形狀的分類。上述方法都要求對目標形狀分割的準確性,而分割過程中由于存在目標陰影、目標分割不完整問題,會影響到人工特征的準確選取。除了上述人工特征外,最常用的特征是HOG[5,6]、SIFT[7,8]等。HOG的核心思想是所檢測的局部物體外形能夠被光強梯度或邊緣方向的分布所描述。HOG表示的是邊緣結構特征,因此可以描述局部形狀信息。SIFT在圖像的空間尺度中尋找極值點,并提取出其位置、尺度、旋轉不變量。SIFT特征對于旋轉、尺度縮放、亮度變化保持不變。但是,這兩種特征在實際應用中,描述子生成過程冗長、計算量太大。而且在上述方法征設計需要啟發式的方法和專業知識,很大程度上依靠個人經驗。
卷積神經網絡不需要手動設計提取特征,可以直接將圖片作為輸入,隱式地學習多層次特征,進而實現分類[9]。相比目前常用的人工設計特征然后利用各分類器,具有明顯的優勢。近年來,卷積神經網絡已成為語音、圖像識別領域研究熱點。它的權值共享特點使得網絡復雜度降低,權值數量減少。而且,卷積神經網絡直接將圖片作為輸入,避免了復雜的特征設計和提取,具有一定的平移、縮放和扭曲不變性[10]。本文采用卷積神經網絡對古玩圖片進行分類。首先,將背景分離后的圖片作為網絡的輸入,相比原圖作為輸入,此方法的網絡結構更加簡單。然后,卷積層通過不同的卷積核對輸入圖片進行卷積得到不同特征圖,采樣層進一步對特征圖進行二次提取,最終提取到合適的特征輸入分類器進行分類,而在卷積層、采樣層征圖的大小、數目都會影響到網絡的分類能力。因此,本文通過優化網絡參數,使網絡達到較好的分類效果。
1卷積神經網絡
1989年,LECUN等[11]提出了卷積神經網絡(Convolution Neural Networks,CNN),CNN是一種帶有卷積結構的深度神經網絡,一般至少有2個非線性可訓練的卷積層、2個非線性的固定采樣層和1個全連接層,一共至少5個隱含層[12]。百度于2012年底將深度學習技術成功應用于自然圖像OCR識別和人臉識別,此后深度學習模型被成功應用于一般圖片的識別和理解。從百度經驗來看,深度學習應用于圖像識別不但大大提升了準確性,而且避免了人工特征抽取的時間消耗,從而大大提高了在線計算效率[13]。
卷積神經網絡作為一種高效的深度學習方法[14],在許多圖像識別方面取得了很好的成效[1519]。該網絡作為一種多隱層神經網絡,可以提取圖像的多層次特征進行識別。
卷積神經網絡主要包括卷積層和采樣層,卷積層通過可學習的卷積核對輸入圖片進行卷積得到特征圖,卷積操作即加強了輸入圖片的某種特征,并且降低噪聲。卷積之后的結果通過激活函數(通常選擇Sigmoid函數或Tanh函數)作用輸出構成該層的特征圖。特征圖上的每一個神經元只與輸入圖片的一個局部區域連接,每個神經元提取的是該局部區域的特征,所有神經元綜合起來就得到了全局特征,與神經元相連接的局部區域即為局部感受野[20]。而在卷積層中一般存在多張特征圖,同一張特征圖使用相同的卷積核,不同特征圖使用不同的卷積核[21],此特點稱為權值共享,即同一張特征圖上的所有神經元通過相同的卷積核連接局部感受野。卷積神經網絡的局部感受野和嘀倒蠶硤氐憒蟠蠹跎倭送絡訓練的參數個數,降低了網絡模型的復雜度。
采樣層對卷積層提取到的特征圖進行局部非重疊采樣,即把特征圖分為互不重疊的N×N個子區域,對每個子區域進行采樣。卷積神經網絡的采樣方式一般有兩種:最大值采樣和均值采樣。最大值采樣即選取區域內所有神經元的最大值作為采樣值,均值采樣為區域內所有神經元的平均值作為采樣值。最大值采樣偏向于提取目標的特征信息,而均值采樣偏向于提取背景的特征信息[22]。采樣后的特征平面在保留了區分度高特征的同時大大減少了數據量,它對一定程度的平移、比例縮放和扭曲具有不變性。
卷積神經網絡通過卷積層和采樣層的循環往復提取到圖像由低層次到高層次的特征,最后一般通過全連接層將所有特征圖展開得到一維向量,然后輸入到分類器進行分類。
卷積神經網絡在處理二維圖像時,卷積層中每個神經元的輸入與上一層的局部感受野相連接,并提取該局部的特征,權值共享特點又使得各神經元保持了原來的空間關系,將這些感受不同局部區域的神經元綜合起來就得到了全局信息。采樣層對特征圖進行局部特征提取,不會改變神經元之間的空間關系,即二維圖像經過卷積層、采樣層仍然保持二維形式。因此,卷積神經網絡有利于提取形狀方面的特征。雖然卷積神經網絡的局部感受野、權值共享和子采樣使網絡大大減少了需要訓練參數的個數,但是該網絡作為多隱層神經網絡還是十分復雜的。對于不同的數據庫,為了達到比較好的分類效果,網絡的層數、卷積層特征圖個數以及其它參數的設置都需要探究。
2基于卷積神經網絡的古玩圖片分類
2.1特征提取及傳遞
不同古玩的主要區別在于形狀不同,而花瓶、盤子和碗在古玩中最常見,因此將這3類圖片作為實驗對象,對于其它種類的古玩圖片的分類,該網絡同樣適用。卷積神經網絡采用如下圖所示的5層網絡結構,并對網絡各層的特征圖數目、大小均作了修改。對于網絡的輸入,先將原圖像進行目標與背景分割,然后進行灰度化、統一分辨率的處理,最后輸入到卷積神經網絡。由于訓練卷積神經網絡的根本目的是提取不同古玩的特征,而背景不是目標的一部分,對古玩識別來說并不提供任何有用的信息,反而對特征的提取造成干擾,所以去除背景噪聲后,網絡結構會更加簡單,同時也利于網絡對特征的學習。但是因為進行了去背景的預處理,網絡也失去了對復雜背景下圖片的識別能力,所以使用該網絡進行古玩圖片分類前都要進行目標分割的預處理過程。
卷積神經網絡對古玩圖片的特征提取過程如下:
(1)輸入網絡的圖片為100×100大小的預處理圖,卷積神經網絡的輸入層之后為卷積層,卷積層通過卷積核與輸入圖像進行卷積得到特征平面,卷積核大小為5×5。如圖2所示,特征平面上每個神經元與原圖像5×5大小的局部感受野連接。卷積核移動步長為1個像素,因此卷積層C1的特征平面大小為96×96。這種卷積操作在提取到輸入圖像的某一方面特征時,必然會損失掉圖像的其他特征,而采取多個卷積核卷積圖像得到多個特征平面則會一定程度上彌補這個缺陷。因此,在卷積層C1中使用了6個不同的卷積核與輸入圖像進行卷積,得到6種不同的特征平面圖。如圖3所示,同一張特征圖上的所有神經元共享一個卷積核(權值共享),圖中連接到同一個特征圖的連接線表示同一個卷積核,6個不同的卷積核卷積輸入圖片得到6張不同的特征平面圖。卷積之后的結果并非直接儲存到C1層特征圖中,而是通過激活函數將神經元非線性化,從而使網絡具有更強的特征表達能力。激活函數選擇Sigmoid函數。
卷積層中所使用的卷積核尺寸若過小,就無法提取有效表達的特征,過大則提取到的特征過于復雜。對于卷積層征圖個數的設置,在一定范圍內,特征圖的個數越多,卷積層提取到越多有效表達原目標信息的特征,但是特征圖個數如果過多,會使提取到的特征產生冗余,最終使分類效果變差。卷積層的各平面由式(1)決定: Xlj=f(∑i∈MjXl-1j*klij+blj)(1)
式(1)中,Mj表示選擇輸入的特征圖集合,l是當前層數,f是激活函數,klij表示不同輸入特征圖對應的卷積核,blj為輸出特征圖對應的加性偏置。
(2)卷積層C1后的采樣層S1由6個特征平面組成,采樣層對上一層特征圖進行局部平均和二次特征提取。采樣過程如圖4所示,特征平面上的每個神經元與上一層4×4大小的互不重合的鄰域連接進行均值采樣,最終每個平面的大小為24×24。采樣層的各平面由式(2)決定:
Xlj=f(βljdown(Xl-1j)+blj)(2)
式(2)中,down(.)表示一個下采樣函數,l是當前層數,f是激活函數,βlj表示輸出特征圖對應的乘性偏置,blj為輸出特征圖對應的加性偏置。
(3)卷積層C2與C1層操作方式一樣,唯一區別的是C2層每個特征圖由6個不同的卷積核與上一層6個特征圖分別卷積求和得到,因此C2層一共有6×6個不同的卷積核,卷積核大小為5×5,C2層每個平面大小為20×20,共6個特征平面。
(4)采樣層S2與S1層操作一樣,對上一層4×4大小鄰域進行均值采樣,輸出6個5×5大小的特征平面。本文所用的網絡共包括2個卷積層、2個采樣層、1個全連接層,由于輸入圖片已經過背景分離的預處理,采樣層S2特征圖大小為5×5,所以圖1所示5層網絡已經有很好的表達能力。如果直接將原圖作為輸入,那么網絡的層數以及特征圖的個數將比圖1所示的網絡更加復雜。
(5)全連接層將上一層6個5×5大小的二維平面展開成為1×150大小的一維向量輸入Softmax[23]分類器,輸出層一共有3個神經元(即分類的種類數目),分類器將提取到的特征向量映射到輸出層的3個神經元上,即實現分類。
2.2網絡訓練
訓練方式為有監督地訓練,網絡對盤子、花瓶和碗共三類圖片進行分類,所以分類器輸出一個3維向量,稱為分類標簽。在分類標簽的第k維中1表示分類結果,否則為0。訓練過程主要分為兩個階段:
第一階段:向前傳播A段。
將預處理過的圖片輸入卷積神經網絡計算得到分類標簽。
第二階段:向后傳播階段。
計算輸出的分類標簽和實際分類標簽之間的誤差。根據誤差最小化的原則調整網絡中的各個權值。分類個數為3,共有N個訓練樣本。那么第n個樣本的誤差為:
En=12∑3k=1(tnk-ynk)2(3)
式(3)中,tn表示第n個樣本的網絡輸出標簽,tnk對應標簽的第k維,yn表示第n個樣本的實際分類標簽,ynk對應標簽的第k維。為了使誤差變小,利用權值更新公式(4)更新各層神經元的權值,一直訓練直到網絡誤差曲線收斂。
W(t+1)=W(t)+η?δ(t)?X(t)(4)
式(4)中,W(t)表示算第n個樣本時的權值,W(t+1)表示計算第n+1個樣本的權值,η為學習速率,選取經驗值,δ為神經元的誤差項,X表示神經元的輸入。
3實驗結果及分析
實驗在MatlabR2012a平臺上完成,CPU 2.30GHz,內存4GB,所采用的圖像由相關古玩網站提供,分辨率統一格式化為100×100。由于盤子、花瓶和碗在各種古玩種類中它們之間的形狀差別比較明顯,本文實驗對這三類古玩圖片進行分類。對古玩圖片進行了水平翻轉處理,增加圖片數據量,以加強網絡對古玩圖片分類的魯棒性。實驗數據如表1所示,圖5列出了3類圖片的部分樣本,實驗所用圖片均與圖5所示圖片類似,背景比較單一,少數圖片下方有類似陰影。
為了形象表示網絡各層提取的不同特征,圖6展示了當網絡輸入為盤子時的各層特征圖。卷積層C1中6張特征圖分別提取到了輸入圖片的不同特征,而由于權值共享,同一張特征圖中神經元的空間關系保持不變,所以6張特征圖都抓住了盤子的圓形特征。采樣層S1對C1進行均值采樣,相當于模糊濾波,所以S1層各特征圖看起來模糊了一些。卷積層C2中每張特征圖由6個不同的卷積核卷積S1層各特征圖疊加而成,S2層與S1層處理方式相同。
為了說明將背景分離后的圖片作為輸入的網絡與原圖輸入的網絡之間的差異,設計了如表3所示的兩種網絡結構,網絡CNN4只需要4層網絡層就可以達到0.19%的錯誤率,而原圖作為輸入的CNN8共6層網絡層,在網絡達到收斂的情況下,錯誤率為5.24%。由此可以說明,將背景分離后圖片作為輸入的網絡結構更加簡單。
網絡的訓練采用了批量訓練方式,即將樣本分多批,當一批樣本前向傳播完之后才進行權值更新,每批大小為100,訓練集共2 200張圖片,網絡迭代次數為1時共進行22次權值更新,所以權值更新的計算次數與迭代次數有如下關系:
計算次數=22×迭代次數(5)
圖7為網絡在訓練集上的誤差曲線圖,橫坐標為誤差反向傳播的計算次數,縱坐標為訓練集上的均方誤差。可以看出,當網絡訓練次數達到270次(計算次數約6 000)時,訓練集誤差趨于平緩,網絡已經基本擬合。訓練好的網絡可以用來對測試集圖片進行分類,表4為不同迭代次數下訓練的網絡在測試集上的分類錯誤率,可以看出迭代次數在達到270次后,網絡在測試集的錯誤率收斂,此時只有2張圖片出現分類錯誤。
表5給出了圖像分類算法中常用的人工特征+BP神經網絡、人工特征+SVM分類器以及Hog特征+SVM分類器與CNN方法的性能比較。人工設計的特征包括圖片中目標輪廓的最大長寬比、質心、圓度等特征。從準確率方面來看,CNN方法的準確率高于其他方法,Hog特征方法的準確率遠遠高于人工特征的方法,說明了特征的好壞對圖像分類效果有著很大程度上的影響,CNN提取到的特征比Hog和人工設計的特征更具代表性。從測試時間來看,Hog方法與CNN方法相差不多,采用人工特征的方法時間最長。綜合兩個方面,CNN方法在測試時間和HOG方法相近的情況下,準確率最高。
4結語
針對網上古玩圖片分類問題,為了克服現有算法中人工設計特征困難以及往往依賴個人專業經驗的不足,提出一種基于卷積神經網絡的方法。將背景分離后的目標圖片作為網絡輸入,可以實現自動提取特征進行分類,背景分離后圖片作為網絡輸入使得網絡結構更加簡單,并且設置了合適的特征圖個數以使網絡在古玩圖片集上取得較好的分類準確率。實驗數據表明,該方法能夠解決網上古玩圖片的分類問題,并且分類準確率達到99%,其準確率優于常用的Hog特征以及人工特征方法。另外該方法不僅可以應用于網上古玩圖片,還可應用于鞋類、服裝等其它商品圖像的分類。
參考文獻參考文獻:
[1]K KAVITHA,M.V.SUDHAMANI.Object based image retrieval from database using combined features[C].in Signal and Image Processing (ICSIP),2014.
[2]董紅霞,郭斯羽,一種結合形狀與紋理特征的植物葉片分類方法[J].計算機工程與應用,2014,50(23):185188.
[3]舒文娉,劉全香,基于支持向量機的印品缺陷分類方法[J].包裝工程,2014,35(23):138142.
[4]應義斌,桂江生,饒秀勤,基于Zernike矩的水果形狀分類[J].江蘇大學學報:自然科學版,2007,28(1):3639.
[5]ZHU Q,YEH M C,CHENG K T,et al.Fast human detection using acascade of histograms of oriented gradients[C].Proceedings of the 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition,2006.
[6]M VILLAMIZAR,J SCANDALIANS,A SANFELIU bining colorbased invariant gradient detector with Hog descriptors for robust image detection in scenes under cast shadows[C].In Robotics and Automation,ICRA IEEE International Conference on.Barcelona,Spain:IEEE,2009.
[7]CHEN J,LI Q,PENG Q,et al.CSIFT based localityconstrained linear coding for image classification[J].Formal Pattern Analysis & Applications,2015,18(2):441450.
[8]AHMAD YOUSEF K M,ALTABANJAH M,HUDAIB E,et al.SIFT based automatic number plate recognition[C].International Conference on Information and Communication Systems.IEEE,2015.
[9]LAWRENCE S,GLIES C L,TSOI A C,et al.Face recognition:a convolutional neuralnetwork approach[J].IEEE Transactions on Neural Networks,1997,8(1):98113.
[10]TREVOR HASTIE,ROBERT TIBSHIRANI,J FRIEDMAN.The elements of statistical learning[M].New York:Springer,2001.
[11]Y LECUN,L BOUOU,Y BENGIO.Gradientbased learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):22782324.
[12]DAHL J V,KOCH K C,KLEINHANS E,et al.Convolutional networks and applications in vision[C].International Symposium on Circuits and Systems (ISCAS 2010),2010:253256.
[13]余凱,賈磊,陳雨強,等.深度學習的昨天、今天和明天[J].計算機研究與發展,2013(09):17991804.
[14]MAIRAL J,KONIUSZ P,HARCHAOUI Z,et al.Convolutional kernel networks[DB/OL].http:///pdf/1406.3332v2.pdf.
[15]Z世杰,楊東坡與劉金環,基于卷積神經網絡的商品圖像精細分類[J].山東科技大學學報:自然科學版,2014(6):9196.
[16]程文博等,基于卷積神經網絡的注塑制品短射缺陷識別[J].塑料工業,2015(7):3134,38.
[17]鄧柳,汪子杰,基于深度卷積神經網絡的車型識別研究[J].計算機應用研究,2016(4):14.
[18]T JONATAN,S MURPHY,Y LECUN,et al.Realtime continuous pose recovery of human hands using convolutional networks[J].ACM Transaction on Graphics,2014,33(5):3842.
[19]S SKITTANON,A C SURENARAN,J C PLATT,et al.Convolutional networks for speech detection[C].Interspeech.Lisbon,Portugal:ISCA,2004.
[20]HUBEL D H,WIESEL T N.Integrative action in the cat's lateral geniculate body[J].Journal of Physiology,1961,155(2):385398.
[21]JAKE BOUVRIE.Notes on convolutional neural networks[DB/OL].http:///5869/1/cnn_tutorial.pdf.
篇2
(江蘇科技大學電子信息學院,江蘇鎮江212003)
摘要:在實際交通環境中,由于運動模糊、背景干擾、天氣條件以及拍攝視角等因素,所采集的交通標志的圖像質量往往不高,這就對交通標志自動識別的準確性、魯棒性和實時性提出了很高的要求。針對這一情況,提出一種基于深層卷積神經網絡的交通標志識別方法。該方法采用深層卷積神經網絡的有監督學習模型,直接將采集的交通標志圖像經二值化后作為輸入,通過卷積和池采樣的多層處理,來模擬人腦感知視覺信號的層次結構,自動地提取交通標志圖像的特征,最后再利用一個全連接的網絡實現交通標志的識別。實驗結果表明,該方法利用卷積神經網絡的深度學習能力,自動地提取交通標志的特征,避免了傳統的人工特征提取,有效地提高了交通標志識別的效率,具有良好的泛化能力和適應范圍。
關鍵詞 :交通標志;識別;卷積神經網絡;深度學習
中圖分類號:TN911.73?34;TP391.41 文獻標識碼:A 文章編號:1004?373X(2015)13?0101?06
收稿日期:2015?01?09
基金項目:國家自然科學基金面上項目(61371114)
0 引言
隨著智能汽車的發展,道路交通標志的自動識別[1?3]作為智能汽車的基本技術之一,受到人們的高度關注。道路交通標志識別主要包括兩個基本環節:首先是交通標志的檢測,包括交通標志的定位、提取及必要的預處理;其次是交通標志的識別,包括交通標志的特征提取和分類。
如今,交通標志的識別方法大多數都采用人工智能技術,主要有下述兩類形式[4]。一種是采用“人工特征+機器學習”的識別方法,如基于淺層神經網絡、支持向量機的特征識別等。在這種方法中,主要依靠先驗知識,人工設計特征,機器學習模型僅負責特征的分類或識別,因此特征設計的好壞直接影響到整個系統性能的性能,而要發現一個好的特征,則依賴于研究人員對待解決的問題的深入理解。另一種形式是近幾年發展起來的深度學習模型[5],如基于限制波爾茲曼機和基于自編碼器的深度學習模型以及卷積神經網絡等。在這種方法中,無需構造任何的人工特征,而是直接將圖像的像素作為輸入,通過構建含有多個隱層的機器學習模型,模擬人腦認知的多層結構,逐層地進行信息特征抽取,最終形成更具推廣性和表達力的特征,從而提升識別的準確性。
卷積神經網絡作為深度學習模型之一,是一種多層的監督學習神經網絡,它利用一系列的卷積層、池化層以及一個全連接輸出層構建一個多層的網絡,來模仿人腦感知視覺信號的逐層處理機制,以實現視覺特征信號的自動提取與識別。本文將深層卷積神經網絡應用于道路交通標志的識別,通過構建一個由二維卷積和池化處理交替組成的6層網絡來逐層地提取交通標志圖像的特征,所形成的特征矢量由一個全連接輸出層來實現特征的分類和識別。實驗中將加入高斯噪聲、經過位移、縮放和旋轉處理的交通標志圖像以及實際道路采集交通標志圖像分別構成訓練集和測試集,實驗結果表明,本文所采用的方法具有良好的識別率和魯棒性。
1 卷積神經網絡的基本結構及原理
1.1 深度學習
神經科學研究表明,哺乳動物大腦皮層對信號的處理沒有一個顯示的過程[5],而是通過信號在大腦皮層復雜的層次結構中的遞進傳播,逐層地對信號進行提取和表述,最終達到感知世界的目的。這些研究成果促進了深度學習這一新興研究領域的迅速發展。
深度學習[4,6?7]的目的就是試圖模仿人腦感知視覺信號的機制,通過構建含有多個隱層的多層網絡來逐層地對信號特征進行新的提取和空間變換,以自動學習到更加有效的特征表述,最終實現視覺功能。目前深度學習已成功地應用到語音識別、圖像識別和語言處理等領域。在不同學習框架下構建的深度學習結構是不同的,如卷積神經網絡就是一種深度的監督學習下的機器學習模型。
1.2 卷積神經網絡的基本結構及原理
卷積神經網絡受視覺系統的結構啟發而產生,第一個卷積神經網絡計算模型是在Fukushima 的神經認知機中提出的[8],基于神經元之間的局部連接和分層組織圖像轉換,將有相同參數的神經元應用于前一層神經網絡的不同位置,得到一種平移不變神經網絡結構形式。后來,LeCun 等人在該思想的基礎上,用誤差梯度設計并訓練卷積神經網絡[9?10],在一些模式識別任務上得到優越的性能。
卷積神經網絡本質上是一種有監督的深度學習算法,無需事先知道輸入與輸出之間精確的數學表達式,只要用已知的模式對卷積神經網絡加以訓練,就可以學習到輸入與輸出之間的一種多層的非線性關系,這是非深度學習算法不能做到的。卷積神經網絡的基本結構是由一系列的卷積和池化層以及一個全連接的輸出層組成,可以采用梯度下降法極小化誤差函數對網絡中的權值和閾值參數逐層反向調節,以得到網絡權值和閾值的最優解,并可以通過增加迭代次數來提高網絡訓練的精度。
1.2.1 前向傳播
在卷積神經網絡的前向傳播中,輸入的原始圖像經過逐層的卷積和池化處理后,提取出若干特征子圖并轉換成一維特征矢量,最后由全連接的輸出層進行分類識別。
在卷積層中,每個卷積層都可以表示為對前一層輸入圖像的二維卷積和非線性激勵函數,其表達式可用式(1)表示:
式中:Yj 表示輸出層中第j 個輸出;Y l + 1i 是前一層(l + 1層)
的輸出特征(全連接的特征向量);n 是輸出特征向量的長度;Wij 表示輸出層的權值,連接輸入i 和輸出j ;bj表示輸出層第j 個輸出的閾值;f (?) 是輸出層的非線性
1.2.2 反向傳播
在反向傳播過程中,卷積神經網絡的訓練方法采用類似于BP神經網絡的梯度最速下降法,即按極小化誤差的方法反向傳播調整權值和閾值。網絡反向傳播回來的誤差是每個神經元的基的靈敏度[12],也就是誤差對基的變化率,即導數。下面將分別求出輸出層、池采樣層和卷積層的神經元的靈敏度。
(1)輸出層的靈敏度
對于誤差函數式(6)來說,輸出層神經元的靈敏度可表示為:
在前向傳播過程中,得到網絡的實際輸出,進而求出實際輸出與目標輸出之間的誤差;在反向傳播過程中,利用誤差反向傳播,采用式(17)~式(20)來調整網絡的權值和閾值,極小化誤差;這樣,前向傳播和反向傳播兩個過程反復交替,直到達到收斂的要求為止。
2 深層卷積神經網絡的交通標志識別方法
2.1 應用原理
交通標志是一種人為設計的具有特殊顏色(如紅、黃、白、藍、黑等)和特殊形狀或圖形的公共標志。我國的交通標志主要有警告、禁令、指示和指路等類型,一般采用顏色來區分不同的類型,用形狀或圖形來標示具體的信息。從交通標志設計的角度來看,屬于不同類型(不同顏色)的交通標志在形狀或圖形上有較大的差異;屬于相同類型(相同顏色)的標志中同類的指示信息標志在形狀或圖形上比較接近,如警告標志中的平面交叉路口標志等。因此,從機器視覺的角度來分析,同類型中同類指示信息的標志之間會比不同類型的標志之間更易引起識別錯誤。換句話說,相比于顏色,形狀或圖形是正確識別交通標志的關鍵因素。
因此,在應用卷積神經網絡識別交通標志時,從提高算法效率和降低錯誤率綜合考慮,將交通標志轉換為灰度圖像并作二值化處理后作為卷積神經網絡的輸入圖像信息。圖2給出了應用卷積神經網絡識別交通標志的原理圖。該網絡采用了6層交替的卷積層和池采樣層來逐層提取交通標志的特征,形成的特征矢量由一個全連接的輸出層進行識別。圖中:W1i(i=1,2,…,m1),W1(j j=1,2,…,m2),…,W1k(k=1,2,…,m(n?1))分別表示卷積層L1,L3,…,Ln - 1 的卷積核;Input表示輸入的交通標志圖像;
Pool表示每個池采樣層的采樣池;map表示逐層提取的特征子圖;Y 是最終的全連接輸出。
交通標志識別的判別準則為:對于輸入交通標志圖像Input,網絡的輸出矢量Y = [y1,y2 ,…,yC ],有yj = Max{y1,y2 ,…,yC},則Input ∈ j,即判定輸入的交通標志圖像Input為第j 類交通標志。
2.2 交通標志識別的基本步驟
深層神經網絡識別交通標志主要包括交通標志的訓練與識別,所以將交通標志識別歸納為以下4個步驟:(1) 圖像預處理:利用公式Gray= 0.299R +0.587G + 0.114B 將彩色交通標志圖像轉換為灰度圖像,再利用鄰近插值法將交通標志圖像規格化,最后利用最大類間方差將交通標志圖像二值化。
(2)網絡權值和閾值的初始化:利用隨機分布函數將權值W 初始化為-1~1之間的隨機數;而將閾值b 初始化為0。
(3)網絡的訓練:利用經過預處理的交通標志圖像構成訓練集,對卷積神經網絡進行訓練,通過網絡前向傳播和反向傳播的反復交替處理,直到滿足識別收斂條件或達到要求的訓練次數為止。
(4)交通標志的識別:將實際采集的交通標志圖像經過預處理后,送入訓練好的卷積神經網絡中進行交通標志特征的提取,然后通過一個全連接的網絡進行特征分類與識別,得到識別結果。
3 實驗結果與分析
實驗主要選取了我國道路交通標志的警告標志、指示標志和禁令標志三類中較常見的50幅圖像。考慮到在實際道路中采集到的交通標志圖像會含有噪聲和出現幾何失真以及背景干擾等現象,因此在構造網絡訓練集時,除了理想的交通標志以外,還增加了加入高斯噪聲、經過位移、旋轉和縮放處理和實際采集到的交通標志圖像,因此最終的訓練樣本為72個。其中,加入的高斯噪聲為均值為0,方差分別為0.1,0.2,0.3,圖像的位移、旋轉、縮放的參數分別隨機的分布在±10,±5°,0.9~1.1的范圍內。圖3給出了訓練集中的交通標志圖像的示例。圖4是在實際道路中采集的交通標志圖像構成的測試集的示例。
在實驗中構造了一個輸入為48×48個神經元、輸出為50 個神經元的9 層網絡。網絡的輸入是像素為48 × 48 的規格化的交通標志圖像,輸出對應于上述的50種交通標志的判別結果。網絡的激活函數采用S型函數,如式(2)所示,其輸出范圍限制在0~1之間。
圖6是交通標志的訓練總誤差EN 曲線。在訓練開始的1 500次,誤差能迅速地下降,在迭代2 000次以后是一個平穩的收斂過程,當迭代到10萬次時,總誤差EN可以達到0.188 2。
在交通標志的測試實驗中,為了全面檢驗卷積神經網絡的識別性能,分別針對理想的交通標志,加入高斯噪聲、經過位移、旋轉和比例縮放以及采集的交通標志圖像進行實驗,將以上測試樣本分別送入到網絡中識別,表2給出了測試實驗結果。
綜合分析上述實驗結果,可以得到以下結論:(1)在卷積神經網絡的訓練學習過程中,整個網絡的誤差曲線快速平穩的下降,體現出卷積神經網絡的訓練學習具有良好的收斂性。
(2)經逐層卷積和池采樣所提取的特征具有比例縮放和旋轉不變性,因此對于旋轉和比例縮放后的交通標志能達到100%的識別率。
(3)與傳統的BP網絡識別方法[11]相比較,卷積神經網絡能夠達到更深的學習深度,即在交通標志識別時能夠得到更高的所屬類別概率(更接近于1),識別效果更好。
(4)卷積神經網絡對實際采集的交通標志圖像的識別率尚不能達到令人滿意的結果,主要原因是實際道路中采集的交通標志圖像中存在著較嚴重的背景干擾,解決的辦法是增加實際采集的交通標志訓練樣本數,通過網絡的深度學習,提高網絡的識別率和魯棒性。
4 結論
本文將深層卷積神經網絡應用于道路交通標志的識別,利用卷積神經網絡的深層結構來模仿人腦感知視覺信號的機制,自動地提取交通標志圖像的視覺特征并進行分類識別。實驗表明,應用深層卷積神經網絡識別交通標志取得了良好的識別效果。
在具體實現中,從我國交通標志的設計特點考慮,本文將經過預處理二值化的圖像作為網絡的輸入,主要是利用了交通標志的形狀信息,而基本略去了顏色信息,其優點是在保證識別率的基礎上,可以簡化網絡的結構,降低網絡的計算量。在實際道路交通標志識別中,將形狀信息和顏色信息相結合,以進一步提高識別率和對道路環境的魯棒性,是值得進一步研究的內容。
此外,本文的研究沒有涉及到道路交通標志的動態檢測,這也是今后可以進一步研究的內容。
參考文獻
[1] 劉平華,李建民,胡曉林,等.動態場景下的交通標識檢測與識別研究進展[J].中國圖象圖形學報,2013,18(5):493?503.
[2] SAHA S K,DULAL C M,BHUIYAN A A. Neural networkbased sign recognition [J]. International Journal of ComputerApplication,2012,50(10):35?41.
[3] STALLKAMP J,SCHLIOSING M,SALMENA J,et al. Man vs.computer:benchmarking machine learning algorithms for traf?fic sign recognition [J]. Neural Network,2012,32(2):323?332.
[4] 中國計算機學會.深度學習:推進人工智能夢想[EB/OL].[2013?06?10].http://ccg.org.cn.
[5] 鄭胤,陳權崎,章毓晉.深度學習及其在目標和行為識別中的新進展[J].中國圖象圖形學報,2014,19(2):175?184.
[6] FUKUSHIMA K. Neocognition:a self ? organizing neural net?work model for a mechanism of pattern recognition unaffectedby shift in position [J]. Biological Cybernetics,1980,36(4):193?202.
[7] LECUN Y,BOTTOU L,BENGIO Y,et al. Gradient ? basedlearning applied to document recognition [J]. IEEE Journal andMagazines,1989,86(11):2278?2324.
[8] LECUN Y,BOTTOU L,BENGIO Y,et al. Backpropagationapplied to handwritten zip code recognition [J]. Neural Compu?tation,1989,1(4):541?551.
[9] CIRESAN D,MEIER U,MAsci J,et al. Multi?column deepneural network for traffic sign classification [J]. Neural Net?works,2012,32(2):333?338.
[10] NAGI J,DUCATELLE F,CARO D,et al. Max?pooling con?volution neural network for vision?based hand gesture recogni?tion [C]// 2011 IEEE International Conference on Signal andImage Processing Application. Kuala Lumpur:IEEE,2011,342?347.
[11] 楊斐,王坤明,馬欣,等.應用BP神經網絡分類器識別交通標志[J].計算機工程,2003,29(10):120?121.
[12] BUVRIE J. Notes on convolutional neural networks [EB/OL].[2006?11?12]. http://cogprints.org/5869/.
[13] 周開利,康耀紅.神經網絡模型及其Matlab 仿真設計[M].北京:清華大學出版社,2005.
[14] 孫志軍,薛磊,許陽明,等.深度學習研究綜述[J].計算機應用研究,2012,29(8):2806?2810.
[15] 劉建偉,劉媛,羅雄麟.深度學習研究進展[J].計算機應用研究,2014(7):1921?1930.
篇3
>> 基于PCA—LDA與蟻群優化BP神經網絡的人臉識別算法 基于粒子群算法和神經網絡的人臉識別分類器研究 基于卷積神經網絡的人臉識別研究 基于BP神經網絡的人臉識別研究 基于PCA算法的人臉識別技術研究 基于改進PCA算法的人臉識別研究 基于MB_LBP和PCA算法的人臉識別研究 基于BP神經網絡的人臉識別算法的實現 基于模糊混沌神經網絡的人臉識別算法 基于卷積神經網絡的人臉識別 基于子圖分割和BP神經網絡的人臉識別方法 基于EMPCA和RBF神經網絡的人臉識別 基于改進PCA與FLD算法的人臉識別 基于模糊人工神經網絡的人臉識別研究 基于改進的LBP和PCA算法的人臉識別 基于并行PCA算法的人臉識別系統的研究 基于PCA和SVM的人臉識別 基于PCA和FLD的人臉識別方法 基于快速PCA―SVM的人臉識別研究 基于主分量分析的BP神經網絡人臉圖像識別算法 常見問題解答 當前所在位置:l.
[6]劉學勝.基于PCA和SVM算法的人臉識別[J].計算機與數字工程,2011(7).
[7]廖海濱,陳慶虎. 基于因子分析的實用人臉識別研究[J].電子與信息學報,2011(7).
[8]蔡曉曦,陳定方.特征臉及其改進方法在人臉識別中的比較研究[J].計算機與數字工程,2007(4).
篇4
關鍵詞 深度神經網絡 圖像分類 車型識別 預測
中圖分類號:TP317.4 文獻標識碼:A
0 引言
所謂的深度學習是根據具有多層結構的人工神經網絡所提出。在具體的深度學習中,主要借助模擬神經系統中的層次結構,來進行數據結構特征的反映,一般來說,細節用低層次進行表示,抽象數據結構則用高層次來表示,利用這種方式,能夠進行數據挖掘學習,滿足學習要求。在傳統的車型識別發展中,主要涉及到的技術包括模式識別、特征選擇和提取以及檢測分割等方面內容,在技術發展中,存在的難點主要涉及到如何將完整的目標車輛區域進行分割,這是項基礎工作,也是難點所在。這結合實際需求,對于不同拍攝角度下的汽車圖片,包括皮卡車、SUV、面包車以及小轎車進行車型識別,其目標質量分割質量則是最為關鍵的技術,直接影響到最后的判斷效果。所以,應該重視進行具有代表性特征的選擇處理,并相應轉化成有效的參數過程。在獲取特征參數后,則應該結合項目要求來選擇合理的分類器,這樣才能保障識別的準確率。結合汽車車型識別問題的要求,這里網絡輸入則是原始圖像,利用神經網絡優勢,原始數據經過卷積層、完全連接層以及Softmax 層的培訓學習,通過這種深度神經網絡來進行分析處理,免于上述存在難度的圖像分割、手工提取等過程。
1數據集
這里的車型識別目標的數據集主要包括皮卡車、SUV、面包車以及小轎車等四種類型。其中,訓練集和測試集分別包括1025張和368張原始圖片。此數據集中,包括不同攝像角度中的汽車圖像照片,具有背景復雜、圖像大小不統一,車輛在圖片中所占比例具有較大差異性等方面問題,這些都在一定程度上造成車型識別的難度上升。
在預處理中,為了保證網絡輸入的一致性,對于原始圖像進行調整處理為256?56?尺寸。在此基礎上,對于圖像RGB三個通道的均值進行計算,并進行均值標準化的處理。在具體的網絡訓練測試的過程中,主要則是選取224?24? 的樣本作為輸入。
2網絡結構探討
結合文獻所提出的深度神經網絡VGG16的優勢,我們將其應用在汽車車型識別問題中。VGG16網絡具有較強的優勢,主要包括5個堆棧式的卷積神經網絡ConvNet,以及3個完全連接層以及1個Softmax層,由此可見,其屬于“網絡中的網絡”架構。在每個每個ConvNet中,還有多個卷積層所構成,然后緊跟隨著Max-Pooling層。在進行卷積以及池化處理的基礎上,進行三層完全連接處理,同時,Softmax層的輸入則是最后一個完全連接曾的輸出,在這基礎上,實現車型分類的要求。結合實際需求,將非線性的ReLU層加入該網絡中,這樣就會讓ReLU來處理卷積層和完全連接層的輸出,保證訓練時間有效降低。另外,還將一種正則化Dropout方式應用在網絡中,避免出現完全連接層中的過擬合問題。
另一個神經網絡Alexnet,結構稍微簡單一些,主要包括5卷積層、3個完全連接層、Softmax層等幾部分,在進行部分卷積層處理后,在進行Max- Pooling層處理。在此網絡中,同樣采用非線性的ReLU層,所采用難度重疊池化方式,也能有效保證盡量降低過擬合的問題。
3實驗結果分析
結合上述分析的深度神經網絡VGG16和AlexNet的基礎上,進行Gaffe框架的搭設,為了保證運算效率,建立在GeForce GTX TITAN X CPU的工作站中。經過統計,單一網路訓練大約為2小時,一張圖片測試大約為0.2秒。在應用上述網絡測試、訓練之外,在分類過程中,還應用了經典的分類算法KNN。經過實驗分析,可以看出,VGG16網絡能夠具有比較好的分類結果,能夠實現準確率為97.3%,而AlexNet網絡準確率達到為93.0%,KNN算法不能有效處理較為復雜背景的圖片,分類準確率僅為52.3%。在具體的案例中,分析VGG16網絡錯誤分類的情況,面包車具有完全正確的分類效果。在錯誤分類的SUV車型中,究其原因,主要包括:車顏色有兩部分組成,紅色部分則和皮卡車車型相同;車型結構太類似于皮卡車;背景中加入其他車型,這樣會造成分類結果不準確。如果圖片中僅僅包括車頭的情況,在進行車型識別中也存在較大的難度,不同車型從前面角度進行觀察,并沒有太大的差異化,這點應該明確指出。
4結語
這里采用深度學習方法,結合先進的深度神經網絡,以及功能強大的計算機工作站,對于四類汽車進行識別實驗研究。經過試驗表明,VGG16網絡具有最好的分類效果,傳統的經典分類算法往往僅為其準確率的一半左右。所以,可以看出深度神經網絡具有強大的學習能力,能夠在圖像分類問題中表現出很大優勢,應該不斷優化深度神經網絡的結構,以便其適用于更多的圖像分類要求。
參考文獻
[1] Hinton G E, Osindero S, Teh Y W.A Fast Learning Algorithm For Deep Belief Nets[J]. Neural Computation, 2006, 18(7):1527-1554.
篇5
內容簡介:騰訊的月活躍用戶8.3億
微信月活躍用戶4.4億
QQ空間月活躍用戶6.5億
游戲月活躍用戶過億
如今騰訊的數據分析已經能做到始終“不落地”,即全部的實時處理。騰訊大數據平臺有如下核心模塊:TDW、TRC、TDBank、TPR和Gaia。簡單來說,TDW用來做批量的離線計算,TRC負責做流式的實時計算,TPR負責精準推薦,TDBank則作為統一的數據采集入口,而底層的Gaia則負責整個集群的資源調度和管理。李勇還特別強調了數據平臺體系化是應用基礎,數據應用商業化是價值導向。
數據平臺體系化是應用基礎,數據應用商業化是價值導向。
騰訊深度學習平臺的挑戰深度神經網絡模型復雜,訓練數據多,計算量大
模型復雜:人腦有100多億個神經細胞,因此DNN的神經元和權重多
訓練數據多:大量訓練數據才能訓練出復雜模型
微信語音識別:數萬個神經元,超過50,000,000參數,超過4,000,000,000樣本,單機訓練耗時以年計,流行的GPU卡需數周
深度神經網絡需要支持大模型
更深更寬的網絡能獲得更好的結果
以圖像識別為例,增加卷積層的filter數量,加大模型深度等,可獲得更好的模型質量
深度神經網絡訓練中超參數多,需要反復多次實驗
非線性模型:代價函數非凸,容易收斂到局部最優解
敏感的超參數:模型結構、輸入數據處理方式、權重初始化方案、參數配置、激活函數選擇、權重優化方法等
數學基礎研究稍顯不足,倚重技巧和經驗
騰訊深度學習平臺Mariana
騰訊有廣泛的深度學習應用需求,其挑戰如下模型復雜,訓練數據多,計算量大
需要支持大模型
訓練中超參數多,需要反復多次實驗
Mariana騰訊深度學習平臺提供三個框架解決上述問題
Mariana DNN: 深度神經網絡的GPU數據并行框架
Mariana CNN: 深度卷積神經網絡的GPU數據并行和模型并行框架
Mariana Cluster: 深度神經網絡的CPU集群框架
Mariana已支持了訓練加速、大模型和方便的訓練作業
微信語音識別6 GPU做到4.6倍加速比
微信圖像識別4 GPU做到2.5倍加速比,并支持大模型
篇6
【關鍵詞】人工智能 圖像識別 深度學習
1 概述
圖像識別技術是人工智能研究的一個重要分支,其是以圖像為基礎,利用計算機對圖像進行處理、分析和理解,以識別不同模式的對象的技術。目前圖像識別技術的應用十分廣泛,在安全領域,有人臉識別,指紋識別等;在軍事領域,有地形勘察,飛行物識別等;在交通領域,有交通標志識別、車牌號識別等。圖像識別技術的研究是更高級的圖像理解、機器人、無人駕駛等技術的重要基礎。
傳統圖像識別技術主要由圖像處理、特征提取、分類器設計等步驟構成。通過專家設計、提取出圖像特征,對圖像M行識別、分類。近年來深度學習的發展,大大提高了圖像識別的準確率。深度學習從大量數據中學習知識(特征),自動完成特征提取與分類任務。但是目前的深度學習技術過于依賴大數據,只有在擁有大量標記訓練樣本的情況下才能夠取得較好的識別效果。本文認為研究如何在標記數據有限的情況下繼續利用深度學習完成物體識別任務具有重要意義。這也是未來人工智能研究的重要方向之一。
2 傳統圖像識別技術
傳統的圖像識別技術包括:圖像獲取、預處理、特征提取、分類。在圖像輸入后,需要先對圖像進行預處理。一幅標準灰度圖像,如果每個像素的像素值用一個字節表示,灰度值級數就等于256級,每個像素可以是0~255之間的任何一個整數值。一幅沒有經過壓縮處理的640×480分辨率的灰度圖像就需要占據300KB的存儲空間。通常我們需要將圖片的亮度及對比度調整合適,才能使圖片更加清晰、便于觀察。
許多采集到的圖片帶有或多或少的噪聲,需要對圖片的噪聲進行消除。對圖片噪聲的消除可以使用不同的去噪方法,如中值濾波、算數平均濾波、平滑線性濾波和高斯濾波等。不同濾波器分別適用于不同情況的噪聲。如椒鹽噪聲便適合使用中值濾波器,高斯噪聲便適合使用平滑線性濾波和高斯濾波。有時候,我們需要對圖像細化處理(如指紋細化,字符細化等),以便獲取主要信息,減少無關信息。細化操作,可以得到由單像素點組成的圖像輪廓,便于后續特征提取操作。
基本的圖像特征提取包括邊緣、角點等提取。一般使用不同的特征提取算子結合相應的閾值得到這些關鍵點。另一類在頻域中進行特征提取的方法主要是通過傅里葉變換,將圖像基于頻率分為不同的部分,從而可以在頻譜中反映出原始圖像的灰度級變化,便可得到圖像的輪廓、邊緣。
在完成圖像的預處理和特征提取之后,我們便能夠對圖像進行識別、分類。常用的分類器有K-近鄰(KNN),支持向量機(SVM),人工神經網絡(ANN)等等。K-近鄰算法原理是,當一個樣本的k個最相鄰的樣本中大部分屬于某一類別時,該樣本也應當屬于同一類別。支持向量機是通過尋找支持向量,在特征空間確定最優分類超平面,將兩類樣本分開。人工神經網絡模仿生物大腦中的神經網絡結構,通過誤差反向傳播不斷優化參數,從而得到較好的分類效果。
3 基于深度學習的圖像識別技術
一般認為深度學習技術是由Hinton及其學生于2006年提出的,其屬于人工神經網絡分支。深度神經網絡模仿人腦的神經機制來分析樣本,并盡可能地對樣本的特征進行更深度的學習。以圖片為例,利用深度學習技術對樣本的特征進行學習時,由低層特征到高層特征越來越抽象,越來越能表達語義概念。當樣本輸入后,首先對圖像進行卷積與下采樣操作,卷積和下采樣操作是為了進行特征提取和選擇。以原始像素作為輸入,深度學習技術可以自動學習得到較好的特征提取器(卷積參數)。深度學習的訓練過程,首先將當前層的輸出作為下一層的輸入,進行逐層分析,使得每一層的輸入與輸出差別盡可能小。其后,再聯合優化,即同時優化所有層,目標是分類誤差最小化。
傳統的深度神經網絡往往網絡中的節點數太過龐大,難以訓練。人們構造出卷積神經網絡,以權值共享的方式減少了節點數量,從而能夠加深學習的深度,使系統能學習到更抽象、更深層的特征,從而提高識別正確率。目前較成功的深度學習網絡結構有AlexNet、GoogLeNet、ResNet等。
與傳統識別技術相比,深度學習技術具有以下優勢:
(1)無需人工設計特征,系統可以自行學習歸納出特征。
(2)識別準確度高,深度學習在圖像識別方面的錯誤率已經低于人類平均水平,在可預見的將來,計算機將大量代替人力進行與圖像識別技術有關的活動。
(3)使用簡單,易于工業化,深度學習由于不需要領域的專家知識,能夠快速實現并商業化,國內較知名的深度學習創業公司有專注人臉識別的Face++、研究無人車的馭勢科技等。
4 存在問題與未來展望
雖然深度學習具備諸多優點,但目前來看深度學習仍有許多不足之處。首先,由于深度學習模型為非凸函數,對其的理論研究十分困難,缺乏理論保證。在對數據進行調整時,仍是簡單的“試錯”,缺少理論支撐。
同時,由于深度學習過于依賴數據量和計算資源。對一個新概念的學習,往往需要數百個甚至更多有標記的樣本。當遇到有標記的樣本難以獲取或者代價太大時,深度學習就無法取得好的學習效果。并且深度學習需要十分昂貴的高性能GPU,這使得深度學習難以平民化。目前深度學習訓練速度較慢,往往需要幾天甚至一個月。其模型擴展性差,缺少“舉一反三”的能力,樣本稍加變化,系統性能便會迅速下降。目前的深度學習屬于靜態過程,與環境缺乏交互。
對其的解決方案目前主要有兩點:
(1)針對于模型擴展性差的問題,通過引入遷移學習,研究不同任務或數據之間的知識遷移,提高模型的擴展能力、學習速度,同時降低學習成本,便于冷啟動。
(2)與強化學習結合,研究在動態環境下進行深度學習,提高深度學習與環境交互的能力。
參考文獻
[1]蔣樹強,閔巍慶,王樹徽.面向智能交互的圖像識別技術綜述與展望[J].計算機研究與發展,2016:113-122.
[2]張翠平,蘇光大.人臉識別技術綜述[J].中國圖象圖形學報,2000:885-894.
[3]梅園,趙波,朱之丹.基于直線曲線混合Gabor濾波器的指紋增強算法[J].計算機科學,2016.
[4]孫志軍,薛磊,許陽明,王正.深度學習研究綜述[J].計算機應用研究,2012:2806-2810.
[5]莊福振,羅平,何清,史忠植.遷移學習研究進展[J].軟件學報,2015:26-39.
[6]高陽,陳世福,陸鑫.強化學習研究綜述[J].自動化學報,2004:86-100.
篇7
關鍵詞:BP神經網絡;Morlet小波;決策理論;Hilbert變換
中圖分類號:TP18文獻標識碼:A文章編號:1009-3044(2009)32-9050-02
Wireless Signal Simulation Algorithm for Automatic Identification
ZHANG Meng
(Purchasing, China Railway Communication Co., Ltd., Beijing 100140, China)
Abstract: We have firstly discussed the modulation distinguishing method based on rational budgeting theory through the method of comparing Tine-Frequency analysis of the analysis signals formed by Hibert Transform . And on the basic of analyzing the fault of this method ,we put forward the distinguishing method based on NN. When NN is distinguishing signals, it mainly depends on the different positions of peak. Wavelet Transform here equals a mathematic microscope .it reflects the inexorable links between the signal categories and the positions of peak. Taking advantage Wavelet Transform and the simple three-layer BP NN, the more accurate Time-Frequency characteristics of signals to be distinguishing can be drawn.
Keywords: BP ANN; Morlet Wavelet; BudgetingTheory; Hibert Transform
在軍事電子對抗等多方面的重要應用,通信信號調制的自動識別分類問題也相繼發展起來。無線電信號調制實識別就是要判斷截獲信號的調制種類。為此,需要事先對其特征進行選定,并確定它們與相應調制種類相聯系的取值范圍,然后再對信號進行特征測量,并根據測量結果對信號的調制進行分類判決。
如果把無線電信號的調制識別與分類視為一種模式識別問題,那末,從模式識別理論來看,模式分類是模式識別的一個子系統。因此,在模式識別理論框架下,無線電信號的調制識別是一個總體概念。而調制分類則只是調制識別的一個分支[1]。
1 基于決策理論的模擬調制方式識別方法
此算法主要實現區分AM、FM、DSB、LSB、USB、VSB、AM-FM等七種調制樣式,所分析的對象序列s(n)是由接收機中頻輸出并經過采樣得到的,這樣s(n)的采樣頻率和載頻都已知,分別記做Fs和Fc。算法分兩個步驟:
第一步,根據信號的包絡特征將AM、USB、LSB與FM區分開,因為前三種信號的包絡不為恒定值,而FM的包絡理論上是恒定值(實際中接近恒定)。因而可以從中提取一個特征參數R。參數R反映了零中心歸一化包絡的功率譜特征,FM的零中心歸一化包絡接近零,因其參數R應遠遠小于前三種信號。實際中若R
第二步,根據信號頻譜的對稱性,將AM與USB與LSB區分開,因為AM的單邊頻譜關于載頻是近似對稱的,USB和LSB的單邊頻譜對于載頻來說分別只有上邊頻和下邊頻。因而可以從中提取另一個特征參數 。理論上,由于AM的上下邊頻對稱,所以AM的P接近零,而LSB和USB的P分別接近1和-1。實際中若|P|< 0.5,判為AM信號,若P>0.5,判為LSB,P
第三步,零中心非弱信號段瞬時相位非線性分量絕對值的標準偏差:σap 。
σap由下式定義:
(1)
式中,at是判斷弱信號段的一個幅度判決門限電平,c是在全部取樣數據Ns中屬于非弱信號值的個數,?準NL(i)是經零中心化處理后瞬時相位的非線性分量,在載波完全同步時,有:?準NL(i)= φ(i)-φ0
式中:,φ(i)為瞬時相位。用σap來區分是DSB信號還是AM-FM信號。
第四步,零中心非弱信號段瞬時相位非線性分量的標準偏差:σdp。
σdp由下式定義:
(2)
σdp主要用來區別不含直接相位信息的AM、VSB信號類和含直接相位信息的DSB、LSB、USB、AM-FM信號類,其判決門限設為t(σdp) 。
2 決策論方法的改進
前面介紹的基于決策理論的模擬調制方式識別方法存在缺陷針對上述問題,人們又提出了基于神經網絡(NN)的識別方法。
2.1 BP網絡作為分類器的模擬調制方式識別方法
該算法用基于有監督訓練的神經網絡模型BP網絡作為分類器,用BP模型多層感知網絡與反向傳播學習算法相結合,通過不斷比較網絡的實際輸出與指定期望輸出間的差異來不斷的調整權值,直到全局(或局部)輸出差異極小值,不難想象該神經網絡對模型細節中的諸多問題均有良好效果。
基于NN的模擬信號調制識別框圖[2]如圖1所示,該NN采用三層結構即,1個輸入層,1個輸出層,1個中間層。中間層可采用多層。但由于受到計算復雜性的限制,目前采用單層或雙層中間層的NN比較多見。本圖中間層采用單層25個節點,輸入層和輸出層的節點數取決于信號特征參數的個數和信號的分類數,因而分別為4和7。
神經網絡具有信息分布式存儲、大規模自適應并行處理和高度容錯特性,適用于模式識別的基礎。其學習能力和容錯特性對不確定性模式識別具有獨到之處[3]。通信信號在傳播過程中受到信道噪聲的污染,接受到的信號是時變的、非穩定的,而小波變換特別適用于非穩定信號的分析,其作為一種信息提取的工具已得到較廣泛的應用。小波變換具有時頻局部性和變焦特性,而神經網絡具有自學習、自適應、魯棒性、容錯性和推廣能力,兩者優勢的結合可以得到良好的信號模式自動識別特性,從而形成各種處理方法。
2.2 基于小波的特征提取和識別方法
小波特別適用于非穩定信號的分析,作為一種特征提取的工具已得到較為廣泛的應用。小波的重要特點是它能夠提供一個信號局部化的頻域信息。小波變換能夠將各種交織在一起的不同頻率組成的混合信號分解成不同頻率的塊信號,它對不同的時間和頻率有不同的解釋,因此,對調制信號進行小波分解,得到不同水平下的細節信息,這些信息對于不同類別的調制信號來說是有差別的[4]。
在實際應用中,小波變換常用的定義有下列兩種:
(3)
(4)
式中,星號*表示共軛。式(3)表示小波變換是輸入信號想x(t)和小波函數φα, τ(t)的相關積分;式(4)用卷積代替了相關積分。兩種定義在本質上是一致的。本為采用后者。
將式(4)中的τ和t離散化,即令τ=kTs,及t=iTs,得連續小波變換公式(4)的離散形式,又稱小波系數:
(5)
Morlet小波是一種單頻復正弦調制高斯波,也是最常用的復值小波。其實、頻兩域都具有很好的局部性,它的時域形式如下:
(6)
雖然信號特征有很多種,神經網絡在進行信號識別時,主要是依據譜峰位置的不同,因此提取信號特征主要任務就是尋找信號類別與譜峰位置間的必然聯系。而小波變換在這里則相當于一個數學顯微鏡,通過它,可以詳細了解各類信號在不同低頻段上的頻譜構成。
整個系統在PC機上進行仿真,采用Windows2000操作系統和Matlab6.1和Cool Edit2.0進行聲音錄制。
在仿真中,采用44K的采樣率,錄制了一段歌聲和一段笑聲,用Matlab生成22K的正弦載波,并根據第二章的各調制樣式的定義,生成了各個仿真的調制波形。并轉化成.wav文件錄在電腦中。
3 結束語
本文僅限于理論理論研究,用MatLab仿真實現,沒有用DSP芯片等物理電路實現,僅為實際實現提供理論指導。
參考文獻:
[1] 羅利春.無線電偵察信號分析與處理[M].北京:國防工業出版社,2003.
[2] 楊小牛,樓才義,徐建良.軟件無線電原理與應用[M].北京:電子工業出版社,2001.
篇8
關鍵詞:PCA算法;人臉識別;五級并行PCA模型;權重計算;均值濾波
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)19-0147-02
Research on Face Recognition System Based on Parallel PCA Algorithm
ZHAO Ya-peng
(College of Information Science and Engineering, Shandong University of Science and Technology, Qingdao 266590, China )
Abstract:In order to solve the problem of fast and accurate face recognition, a face recognition method based on parallel PCA algorithm is proposed. Using principal component analysis (PCA) method can reduce the dimension of features, easy to implement, training time is short, the design and implementation of a parallel algorithm for PCA, first of all according to the whole image to extract the 4 part of face images, then the whole image and 4 partial images at the same time by the same structure of the PCA model of learning, face feature vector extraction, the Euclidean distance for matching calculation of the test images and training images, finally through the test image with the five level parallel PCA model identification results are weighted decision, in order to achieve face recognition. Using the image data of the ORL face database , the simulation results in Matlab show that the method has a great degree of improvement in accuracy, the recognition speed is relatively fast, with a high degree of robustness.
Key words:PCA algorithm;Face recognition;Five level parallel PCA model;Weight calculation;Mean filter
1 概述
隨著智能終端設備(手機、Pad、門禁等)的不斷發展,身份識別已經成為我們日常生活的重要組成部分,身份驗證技術被廣泛應用于各個領域,特別是人們對于個人隱私信息的保護,使得身份識別再次成為關注的焦點。人臉識別作為身份識別的重要手段之一,因其具有識別率高、采集性強、接受性高等特點,在身份識別的各類方法中具有獨特的優勢,成為了目前比較熱門的研究領域。
目前,卷積神經網絡(Convolutional Neural Networks)是圖像識別領域最重要的研究熱點,而且在語音識別領域也取得了不錯的效果,但是卷積神經網絡的整個訓練過程比較費時,而且實現相對復雜,而基于PCA算法的人臉識別技術因其自身存在的許多缺陷,一直沒有被廣泛應用,但該方法實現簡單、學習速度較快,因此,本文主要研究改進的并行PCA算法,以彌補傳統PCA算法在人臉識別領域的不足。
本文提出的基于并行PCA算法的人臉識別技術,首先對原始圖像進行預處理,如灰度歸一化和中值濾波等操作,以消除圖像噪聲、光照等因素造成的影響,使得特征提取更加準確可靠。然后,通過5級并行PCA模型獲取數據的不同特征矩陣,然后將訓練圖像和測試圖像分別進行子空間的投影,利用歐氏徑向基函數(Euclidean Radial Basis Function)進行人臉的匹配,最后根據訓練得到的權值向量進行加權決策。本文通過ORL人臉數據庫的仿真實驗證明,該算法的效果明顯好于PCA算法。
2 并行PCA算法
PCA(Principal Component Analysis)即主成分分析技術,PCA是基于K-L變換的統計學分析方法,是多元分析中常用的方法,其基本思想是將高維數據投影到低維空間,主要過程在于特征值的計算和矩陣的降維。將PCA應用于人臉識別時,首先將圖像轉化成矩陣向量,然后進行矩陣的奇異值分解(Singular Value Decomposition),將高維向量通過計算得到的特征向量矩陣投影到低維的向量空間,從而減少數據的計算量。
2.1 基于并行PCA算法的人臉識別流程
本文中提出的并行PCA算法,正是基于上述的PCA算法,通過建立5級的PCA算法模型同時進行數據特征的學習,使得最終的人臉識別準確率得到進一步的提高,具體的人臉識別流程如圖1所示。
2.2 并行PCA算法的實現的步驟
2.2.1 人臉圖像的預處理
首先,需要把ORL人臉數據數據庫的所有訓練圖像大小進行歸一化,并轉化為像素矩陣,矩陣大小記為,為矩陣的行數,為矩陣的列數。之后利用均值濾波和灰度歸一化進行圖像的去噪處理,以消除光線等問題對圖像造成的影響,以方便后期的特征提取等操作。
2.2.2 人臉圖像的PCA降維
根據PCA的原理,可以將每一張圖像看成是一個高維的向量,所有的圖像可以看成是這個高維空間中的一點,PCA要做的就是找出另外一個盡可能多的反應圖像特征的低維空間。
假如樣本由n張大小為p*q的人臉圖像組成,那么每一張圖像可以保存為一列向量,向量維數是p*q,真個樣本可以看成是一個行數為n,列數為p*q的矩陣記為矩陣A。
根據上述過程,首先求出矩陣A的協方差矩陣,然后求出協方差矩陣的特征值,選取前m個最大的特征值,然后求出對應的特征向量,組成一個特征矩陣。通常所說的“特征臉”就是這些特征向量,而特種功能矩陣就是“特征臉”空間或者說子空間。然后可以將每一張圖片投影到該子空間,得到了每一張圖像的投影矩陣(l*m)。
2.2.3 人臉圖像的識別
對于待識別的圖像,也可以看成是一列向量,投影到子空間得到一個投影矩陣,然后一一求出這個投影矩陣與樣本圖像投影矩陣最相似的。然而有可能該人臉不是人臉庫中的,所以最相似的人臉也不一定是同一個人臉,還需要設置一個閾值來判斷待識別人臉是否是人臉庫中的。
人臉識別部分正是基于上述的PCA算法,在本文所提出的并行PCA模型中,是由5級的PCA模型同時進行人臉識別這一操作,最后根據訓練得到的權值向量進行決策,通過使用多個PCA模型,從而使得整個識別過程的準確率得到進一步的提升。
3 系統設計及實現
3.1 系統總體設計
本文中所提出的基于并行PCA算法的人臉識別系統,包括人臉圖像采集模塊、圖像預處理模塊、識別模塊。人臉圖像采集模塊主要是采集訓練圖像數據和測試圖像數據,并由原始圖像提取出4幅與之對應的部分圖像;圖像預處理模塊主要就是進行圖像歸一化和圖像的去噪工作,圖像的歸一化包括大小歸一化和灰度歸一化,可以使用比較常見的直方圖均衡化等技術,而圖像的去噪可以使用中值濾波技術,以去除比較常見的高斯噪聲等;人臉識別模塊是基于5級相互獨立的PCA模型進行特征值的學習和比對,而且通過訓練得到的權值向量進行最終的是臉識別決策。整個系統的實現是基于Matlab進行仿真實驗的,實驗數據來自劍橋大學AT&T實驗室創建的ORL人臉數據庫。
3.2系統功能模塊實現
3.2.1人臉圖像采集實現
圖像采集模塊主要就是將存儲在本地的圖像文件通過Matlab的imread函數讀入矩陣中,以方便后期的PCA操作,其核心語句為Image{t}=imread([[filepath,FilDir(ii).name],'\',ImDir{ii}(jj).name]);
使用上述語句即可讀入訓練數據和測試數據文件。
3.2.2 圖像預處理模塊
該模塊的主要任務就是利用中值濾波和直方圖均衡化進行圖像的去噪工作,以消除不同光照和圖像噪聲的影響,提高準確率。其核心代碼為:
S1=zeros(1,256);
for i=1:256
for j=1:i
S1(i)=GP(j)+S1(i);
end
end
S2=round((S1*256)+0.5);
for i=1:256
GPeq(i)=sum(GP(find(S2==i)));
end
3.2.3 識別模塊
圖像經過之前的預處理之后,需要將圖像矩陣轉化為列向量,一幅圖像就是一列向量,整個訓練圖像構成了整個特征空間矩陣,測試圖像也會轉化為一列向量,之后會利用矩陣之間的運算進行圖像的分析計算。識別模塊的工作就是根據測試圖像和之前所有的訓練數據進行對比,查找到與之最相似的圖像,實驗的結果如圖2所示。
4 結論
PCA算法作為傳統的人臉識別算法,因其自身存在的許多缺陷而沒能發揮較好的作用,但是其自身具有其他算法所不具有的特點,本文設計的并行PCA算法雖然是基于PCA算法,但是借鑒了卷積神經網絡的多層結構,而且使用加權操作進行最終人臉識別的決策?;贠RL人臉數據庫的測試結果表明,該并行PCA算法的準確率和魯棒性均得到了進一步的提升,與其他的單獨PCA算法具有十分明顯的優勢。
參考文獻:
[1] 張利芳. 基于PCA算法的人臉識別系統研究[D].太原:中北大學,2015.
[2] 楊海燕,蔣新華. 基于并行卷積神經網絡的人臉關鍵點定位方法研究[J]. 計算機應用研究, 2015, 32(8): 2517-2519.
[3] 楊穎嫻. 基于PCA算法和小波變換的人臉識別技術[J]. 微電子與計算機, 2011, 28(1): 92-94.
[4] 段寶彬,韓立新. 改進的卷積神經網絡及在碎紙拼接中的應用[J]. 計算機工程與應用, 2014, 50(9): 176-181.
篇9
關鍵詞:殘差網絡;人臉圖像:年齡分類:非受限條件:Adience數據集
中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2017)14-0169-02
1概述
人臉圖像包含很多信息,如身份、表情、姿態、性別和年齡。其中,年齡是人的重要生物特征,可以應用于多種場景,如基于年齡的人機交互系統、基于年齡的訪問控制、電子商務中個性營銷及刑事案件偵查中的年齡過濾等n,。很多研究者在人臉圖像年齡估計方面做了大量研究,早期,主要用Gabor,LBP,SFP和BIF等提取特征以及SVM方法進行年齡分類,這些人工提取特征的方法在受限條件下的人臉數據集上獲得了不錯的結果,但是在非受限條件下的人臉年齡分類任務中效果不佳;近幾年,深度卷積神經網絡(DCNN)成為了計算機視覺領域的研究熱點。從5層的LeNet,到8層的AlexNet,再到19層的VGGm和22層的GoogleNet,直到上千層的ResNets,無論是網絡的學習能力還是深度都得到顯著提高。因此,越來越多的學者采用DCNN解決年齡分類問題,并證明其在非受限條件下能獲得明顯優于手工提取特征方法的結果。
在人臉年齡分類中,人臉圖像往往受到面部姿態、光線、化妝和背景等影響,極大地限制了人臉年齡分類的準確性。針對非受限條件下人臉圖像年齡分類困難的問題,本文提出了一種基于深度殘差網絡的非受限條件下人臉年齡分類方法。
2 34層殘差網絡
He等提出了深度殘差網絡(ResNets),該網絡采用殘差塊作為網絡的基本組成部分,可以很大程度上解決DCNN隨著深度增加而帶來的網絡退化問題。ResNets在原始卷積層外部加人越層連接(shoacut)支路構成基本殘差塊RB,使原始的映射H(X)被表示為H(X)=F(X)+x。ResNets通過殘差塊結構將網絡對爿(X)的學習轉化為對F(X)的學習,而對F(X)的學習較H(X)更為簡單?;跉埐顗K更易學習的特性,ResNets通過順序累加殘差塊成功地緩解了DCNN的退化問題,提高了網絡性能。
ResNet-34結構如圖1所示,殘差塊的具體表達式如下,函數F(x)表示殘差映射,x和y分別代表殘差塊的輸入和輸出。當x和F數相同時,采用式(1),此時越層連接既沒有增加額外參數也沒有增加計算復雜度。當x和F維數不同時,采用式(2),通過越層連接執行1×1卷積映射G(x)以匹配維數。
ResNet-34網絡輸入圖像大小為224×224。首先經過卷積層,卷積核為7×7,步長為2,輸出特征圖為112×112;再經過最大池化層;其次經過四組不同殘差塊,各殘差塊組的殘差塊數量分別為3、4、6和3,并且同組中的殘差塊輸入輸出維度相同,分別為64、128、256和512,各組輸出特征圖大小依次為56×56、28×28、14×14、7×7。最后經過平均池化層和全連接層,通過softmax分類器,輸出分類結果。
3數據集
Adience數據集來自人們從智能手機設備自動上傳到網絡相冊的圖像。這些圖像在上傳之前并沒有經過人工過濾,且這些圖像都是在非受限條件下拍攝的。這些圖像在頭部姿勢、面部表情和光線條件質量等方面都存在很大差異,所以在Adi-ence數據集下的人臉圖像年齡分類任務面臨巨大挑戰。
Adience包含2284個人的26580張人臉圖像,年齡范圍為0-100歲,共8個年齡段(0-2,4-6,8-13,15-20,25-32,38-43,48-53,60-),年齡分布如表1。
4實驗結果與分析
為了提升網絡的人臉分類性能,本文選用ResNet-34在人臉圖像Adience數據集上做年齡分類。訓練和測試時動量值為0.9,權重衰減為0.0001。batch大小設為64,epoch設為164,初始學習率為0.1,在81和122個epoch之后學習率分別降為0.01和0.001。本文實驗模型采用Nvidia Titan X GPU訓練,運行環境torch7。
本文采用文獻[7]中的交叉驗證方法,將Adience數據集分成五組不同圖像(fold-0,fold-1,fold-2,fold-3,fold-4),令其中一組圖像作為測試集,其余四組圖像作為訓練集,共構成五種檢測方式。通過計算平均分類準確度和1-off值作為評估標準。在fold-0測試的年齡分類準確度的曲線圖如圖2所示,由此可知網絡能夠很好地收斂。
為了驗證本文方法的有效性,將現有在Adience數據集上的年齡分類方法與本文方法對比,各方法人臉年齡分類結果如表2所示。由表2可以看出本文提出的方法獲得了除DEX w/IMDB-WIKI Pretrain方法以外的最高年齡分類準確度,主要由于文獻[10]用大規模人臉數據集IMDB-WIKI微調網絡。不經過大數據集對網絡微調時,本文提出的基于深度殘差網絡的年齡分類方法獲得了最高年齡分類準確度。
篇10
關鍵詞:黑白棋;人工智能;算法
中圖分類號:TP18 文獻標識碼:A 文章編號:1009-3044(2016)29-0198-03
1簡介
黑白棋是被稱為“設計理念”僅次于圍棋的棋類游戲。它的棋盤只有8*8大,乍一看貌似簡單,以為只要略微搜索就可以窮盡其中的路數。然而隨著探究的不斷深入,這個看似簡單的游戲卻不斷涌現出它神秘莫測的一面。
作為一名高中生,經過為數不多課余時間的努力,我所設計的黑白棋程序bwcore實力已經達到相當的水平。經測試,它在北京大學人工智能對抗平臺上戰力排行達到第一。通過與另外一些AI的測試表明,目前的bwcore可以輕易打敗國內個人編寫的程序,亦能與專業公司開發的黑白棋軟件(zebra,傷心黑白棋等)相抗衡。
本篇著重講述了bwcore是如何更好地運用各類算法,使之融入到黑白棋AI設計中,達到提高AI水平的目的。本文還對AI設計作了一定程度的研究,先是介紹了一些較基礎的算法在黑白棋AI設計中的應用,而后還探討了實現AI的一些更高級的方法,以求有所突破。
2AI設計
2.1Minimax搜索
Minimax搜索的第一要義是雙方都按照對自己最有利的決策,對盤面進行模擬。如果能夠評價某一時刻其中一方的優劣程度,則另一方走棋時就會選一種使對方優勢盡可能小的走法。如圖所示,按照這種方式模擬出井字棋所有可能的局面,所有局面就構成一棵極大極小博弈樹。
根據上述做法,不難寫出簡易MiniMax搜索的代碼。當搜索達到指定深度后,進行當前局面的分值估算。val為當前層的分值,當前層的顏色與己方相同時,使之盡可能大。
float Cmp_BW::MaxMinSearch(Map&fmap,int col,int deep)
{
if deep>target_deep Then
search_cnt++;
return Sence_Evalution
For-Each place_in_board
If place_is_availaleThen
MakeMove
ret=MaxMinSearch(board.color_other,deep+1);
UnMakeMove
if col==my_color Then
2.2剪枝c改進
Minimax算法提供了一種在博弈樹上尋求最優解的方法,但缺點很明顯。算法需要遍歷博弈樹上所有可能的情況,盡管很多時候是根本不可能的(例如一方選擇了一個明顯劣勢的位置)。通過AlphaBeta剪枝可以減少這種情況發生。如果當前結點獲得的值已經小于其父節點之前得出的值,那么就沒有繼續搜索的必要,因為按照選擇的邏輯,這個節點一定會被父節點排除在外。
經測試,搜索的節點數明顯減少,約為原來的3/4次方。
測試表明,一般人已經難以戰勝4~5層的搜索了。而把搜索深度設定為4層可以在botzone排行榜上達到約40名。
3高級搜索方法
3.1蒙特卡洛搜索
谷歌的圍棋智能AlphaGo就使用了基于蒙特卡洛樹搜索(MCTS)的搜索方式。MCTS在圍棋領域十分成功,在其他方面也有很大的借鑒意義。
蒙特卡洛搜索通過對局面的隨機模擬來獲得對各個節點搜索的關注程度,可以說在理念上很接近人的思維方式。UCT算法是蒙特卡洛搜索的一種,旨在得分未知的前提下使期望得分最大。UCT算法為每一個節點計算UCB值,每次擴展時選擇UCB最大的節點。
其中,X表示以前的收益,N表示總次數,T表示當前階段的次數。這個式子的蘊含的內容是,如果一個節點的得分很高,那么就它很值得深入研究,而一些得分較低的節點有時也會去嘗試,但次數不會很多。在極端條件下,多個選擇方案中有一個方案的值遠好于其他方案,則UCT算法的收斂速度很快。另一方面,如果所有方案得分相差不大,UCT隨著搜索次數的增加,所有節點的得分趨于穩定。
結果表明單純的UCT算法效率極高,經過很少時間就估算出精確值相近的結果。但因有時隨機選點得出結果差異大,下棋時偶爾會出現失誤。但總體而言,樸素的UCT算法的效果已經很優秀,測試過程中棋力超過前面基于MiniMax搜索的算法。可以想見,如果能在Simulation過程中加以優化,還有很大提升空間。
3.2遺傳算法
遺傳算法也是比較好的搜索方式,它通過借鑒生物界的進化規律來加強搜索。將前面的搜索局面各行列情況視為遺傳算子,搜索過程中經過交叉、變異算子,評估新算子的可靠程度,將進化較成功算子反作用于搜索,每次得出更好的搜索方法。具體過程如下:
1)隨機生成n個個體作為迭代的初始群體;
2)計算群體中每個個體的適應程度;
3)進行選擇,把適應度高的個體的基因傳遞給下一代;
4)使新生成個體的基因交叉互換;
5)對基因做一定程度的變異;
6)返回2),除非適應度達到指定水平或已經達到最大迭代次數。
經過多次迭代,適應度高(這里即勝率高)的基因將遺傳下來,最終得到高度適應的群體,即我們下一步所期望的走法。
4機器學習與增強學習
前面的幾種搜索方法比原先單純的搜索更具智能性,有更高的效率。目前為止,我們還未對局面的評估做出很好的改進。而估價函數的選取十分困難,大多依靠編寫者自己的直覺,有時為了讓某個權重來達到合適的值,還要耗費大量時間進行試驗并調節。所幸,運用機器學習的方法可以使這些問題得到較好的解決。
4.1決策樹與隨機森林
決策樹(Decision Tree)是其中一種比較簡單的做法。決策樹可用于對帶標簽數據的分類,并可以在相對短的時間得出效果良好的結果。依照數據標注的特點,決策樹的每一個分支對這些樣本進行劃分,最終使樣本按照標簽歸類。預測時,將想要預測的數據選擇相應分支找到對應的歸屬即可。
在黑白棋中,如果將黑方獲勝視為樣本中的正類,白方獲勝視為負類,棋盤上黑白棋子的位置作為樣本的標簽,就可以將對局面的評價轉化為分類問題。決策樹通過不停尋找最優分裂使數據更好地被分離。這里使用C4.5算法,通過信息熵獲得最優分裂。由于單純使用棋子的位置作為標簽信息量較大且十分復雜,容易造成一種稱為過擬合的題。將決策樹上改為隨機森林,可以避免了過擬合,節約了訓練時間。
4.2神經網絡算法
人工神經網絡是當下計算機話題最熱門的內容之一。神經網絡的種類繁多,BP神經網絡是神經網絡中最簡單的一種模型。
BP神經網絡的結構如圖,左邊為輸入層節點,右邊為輸出層節點,中間包含一個或多個隱含層。
每個神經元從其上一層獲得輸入,將輸入通過自身權值和閾值變換后施以適當激活函數,傳遞到下一次神經元。這樣的過程稱為正向傳遞(Fowed Transfer)過程。根據正向傳遞得到的網絡輸出與訓練目標比較計算當前網絡的誤差,然后向前調整各個神經元權值,就是所謂的反向傳遞(Reverse Transfer)過程。BP網絡不停通過這種方式訓練減小誤差,最終使每個訓練輸入都收斂于目標輸出。
這里使用棋盤上黑白棋子的分布作為輸入層節點,用01表示,輸出層表示輸贏棋子數。訓練結果表明,雖然目前的網絡能較好地擬合訓練集中的局面,但對于推廣與訓練集不同的輸入數據較為困難,這可能是因為當前所使用網絡的局限性。此外,BP神經網絡隱含層的層數不宜過多,否則收斂十分緩慢。使用深度學習中更高級的神經網絡如卷積神經網絡(CNN)等應該能夠得到更好的效果,但過程比較復雜,目前個人難以實現。
4.3訓練方式
學習算法需要進行訓練,一種方式是使用接近后期時搜索得出的結果,這種方式獲得樣本的準確度較高。如果按照終局搜索步數15-20步計,訓練好的AI將可以在近30步時獲取很大優勢。
//用后期對局結果作為樣本訓練
void Cmp_BW::train(int repeat)
For lxain_count
For remain_step>target_step
run_easy(map)//使用簡單方式下棋,節約時間
score=getScore(map)//獲得比分
deetree.tmin(map,score);//用樣本訓練