卷積神經網絡的方法范文

時間:2024-03-28 11:15:16

導語:如何才能寫好一篇卷積神經網絡的方法,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

卷積神經網絡的方法

篇1

關鍵詞:卷積神經網絡 人體行為識別 Dropout

中圖分類號:TP391.41 文獻標識碼:A 文章編號:1672-3791(2017)04(c)-0028-02

該文采用隨機Dropout卷積神經網絡,筆者將此法的優點大致概況為將繁瑣雜亂的前期圖像處理簡易化,原來的圖像不可以直接輸入,現在的原始圖像即可實現直輸功能,因其特性得到廣泛研究與應用。另外,卷積神經網絡在圖像的處理中能夠將指定的姿勢、陽光的照射反應、遮避、平面移動、縮小與放大等其他形式的扭曲達到魯棒性,從而達到良好的容錯能力,進而可以發現其在自適應能力方面也非常強大。因為卷積神經網絡在之前建立網絡模型時,樣本庫為訓練階段提供的樣本,數量有限,品質上也很難滿足要求,致使網絡權值參數不能夠完成實時有效的調度與整理。

1 卷積神經網絡

據調查卷積神經網絡由K.Fukushima在80年代提出,那時候它被稱為神經認知機,這一認知成為當時的第一個網絡,后來網絡算法發生了規模性變革,由LeCun為代表提出了第一個手寫數字識別模型,并成功投入到商業用途中。LeNet被業界冠以卷積神經網絡的代表模型,這類系統在很多方面都起到了不容小趨的作用,它多數應用于各類不同的識別圖像及處理中,在這些層面上取得了重要成果。

筆者經查閱資料發現卷積神經網絡其實是由兩個種類組合而來,它們分別是特征提取、分類器,這種組成我們可以看到特征提取類可由一定數量的卷積層以及子采樣層相互重疊組合而成,全部都連接起來的1層或者2層神經網絡,就是由分類器來進行安排的。卷積神經網絡中的局部區域得到的感覺、權值的參數及子采樣等可以說是重要網絡結構特征。

1.1 基本CNN網絡結構

圖1中就是最為經典的LeNet-5網絡模型結構圖。通過圖1中我們可以獲悉,該模型有輸入輸出層,除這兩層外還有6層,其征提取可在前4層中體現,后兩層體現的是分類器。

在特征提取部分,6個卷積核通過卷積,是圖像經尺寸為32×32的輸入而得見表1,運算過程如式(1):

(1)

式中:卷積后的圖像與一個偏置組合起來,使函數得到激活,因此特征圖變誕生了,通過輸出得到了6個尺寸的特征圖,這6個尺寸均為28×28,近而得到了第一層的卷積,以下筆者把它簡要稱為c1;那么c1層中的6個同尺寸圖再經由下面的子采樣2×2尺寸,再演變成特征圖,數量還是6個,尺寸卻變成了14×14,具體運算如公式(2):

通過表2我們可以使xi生成的和與采樣系數0.25相乘,那么采樣層的生成也就是由加上了一個偏置,從而使函數被激活形成了采樣層的第1個層次,以下我們簡要稱為s1;這種過程我們可反復運用,從而呈現出卷積層中的第2層,可以簡要稱之為c2,第2層簡稱s2;到目前為止,我們對特征的提取告一段落。

神經網絡的識別,我們可以看到它是由激活函數而形成的一個狀態,這一狀態是由每個單元的輸出而得;那么分類器在這里起到的作用是將卷積層全部連接起來,這種通過連接而使1層與上面1層所有特征圖進行了串連,簡要稱之為c5;因而2層得到了退變與簡化效應,從而使該神經網絡成為經典,簡要稱之為F6,向量及權值是由F6 輸送,然后由點積加上偏置得到結果的有效判定。

1.2 改進的隨機DropoutCNN網絡

1.2.1 基本Dropout方法

神經網絡泛化能力能夠得到提升,是基于Dropout方法的深入學習。固定關系中存在著節點的隱含,為使權值不再依附于這種關系,上述方法可隨機提取部分神經元,這一特性是通過利用Dropout在網絡訓練階段中隨機性而得,對于取值能夠有效的存儲及保護存留,這一特性在輸出設定方面一定要注重為0,這些被選擇的神經元隨然這次被抽中應用,但并不影響下次訓練的過程,并具還可以恢復之前保留的取值,那么每兩個神經元同時產生作用的規避,可以通過重復下次隨機選擇部分神經元的過程來解決;我們通過這種方法,使網絡結構在每次訓練階段中都能呈現不同變化,使一些受限制的特征,不再受到干擾,使其真正能展現自身的優點,在基于Dropout方法中,我們可以將一些神經元的一半設為0來進行輸出,隨機神經元的百分比可控制在50%,有效的避免了特征的過度相似與穩合。

1.2.2 隨機Dropout方法

Dropout方法就是隨機輸出為0的設定,它將一定比例神經元作為決定的因素,其定義網絡在構建模型時得到廣泛采用。神經元基于隨機Dropout的方法是該文的重要網絡輸出途徑,通過設定輸出為0,使其在網絡中得到變。圖2是隨機Dropout的加入神經元連接示意圖,其在圖中可知兩類神經元:一類是分類器的神經元,這一階段的神經元可分榱講悖渙硪煥嗌窬元是由輸出而形成的層次。模型在首次訓練的階段會使神經元隨機形成凍結狀態,這一狀態所占的百分比為40%、60%,我們還可以看到30%及50%的神經元可能在網絡隨機被凍結,那么這次凍結可以發生在模型第二次訓練,那么第三次神經元的凍結可從圖示中得出70%及40%,還可以通過變化用人工設置,其范圍值宜為35%~65%,那么網絡神經元連接次序的多樣化,也因此更為突出與精進,網絡模型的泛化能力也得到了跨越勢的提高。

2 實驗及結果分析

2.1 實驗方法

卷積神經網絡通過實驗,通過輸入層呈現一灰色圖像,該圖像尺寸被設定成28×28的PNG格式,這里我們以圖像框架圖得到雙線性差值,用來處理圖像及原視頻中的影像,將框架圖的卷積核設定為5×5的尺寸,子采樣系數控制值為0.25,采用SGD迭代200次,樣本數量50個進行設定,一次誤差反向傳播實現批量處理,進行權值調整。實驗采用交叉驗證留一法,前四層為特征提取層,C1-S1-C2-S2按順序排列,6-6-12-12個數是相應特征,通過下階段加入隨機Dropout,這階段為雙層也就是兩層,進行連接,連接層為全體,從而可知結果由分類得出,又從輸出層輸出。

2.2 實驗結果分析

識別錯誤率可通過卷積神經網絡模型,及訓練過程與檢測過程中可查看到的。在訓練階段中,我們可以將Dropout的網絡中融入200次訓練,在將沒有使用該方法的網絡進行相互比較分析,我可以得知,后者訓練時的識別錯誤率稍高于前者,前者與后的相比較所得的差異不是很大,進而我們可知使用Dropout方法,對卷積神經網絡在泛化能力上得到有效的提升,從而有效的防止擬合。

3 結語

筆者基于Dropout卷積神經網絡,人體行為識別在視頻中進行, 通過Weizmann數據集檢測實驗結果,隨機Dropout在分類器中加入。通過實驗可以得知:隨機Dropout的加入,使卷積神經構建了完美網絡模型,并且使其在人體行為識別中的效率贏得了大幅度的提升,近而使泛化能力可以通過此類方法得到提高,可以防止擬合。

參考文獻

[1] 其它計算機理論與技術[J].電子科技文摘,2002(6).

篇2

關鍵詞關鍵詞:人臉識別;卷積神經網絡;圖像識別;深度學習;模式識別

DOIDOI:10.11907/rjdk.171043

中圖分類號:TP317.4

文獻標識碼:A文章編號文章編號:16727800(2017)005018603

0引言

人臉識別是近年來模式識別、圖像處理、機器視覺、神經網絡及認知科學領域的研究熱點[12]。所謂人臉識別,是指給定一個靜態人臉圖像或動態視頻,利用存儲有若干已知身份的人臉數據庫驗證單個或多個人的身份[1]。作為生物特征識別的一個重要方面,人臉識別有著廣泛的應用場景,如:檔案管理系統、公安系統的犯罪身份識別、銀行和海關的監控、安全驗證系統、信用卡驗證等領域。在人臉識別巨大魅力的影響下,國內互聯網公司也開始了人臉識別應用的探索,如百度推出的人臉考勤系統、阿里支付寶的刷臉登錄等功能都是人臉識別的具體應用。目前,人臉識別的代表性方法主要有以下幾種:Turk和Pentland[3]提出的特征臉(Eigenface)方法;基于線性區別分析,Belhumeur 等[4]提出了Fisherface方法;基于統計理論,劍橋大學的 Samaria和Fallside[5]提出了隱馬爾科夫模型[5](HMM),Lawrence 等[6]提出的通過多級自組織映射神經網絡(SOM)[6]與卷積神經網絡相結合進行人臉識別。上述方法雖然獲得了良好的識別正確率,但需要人工參與特征提取,然后將提取的特征送入分類器進行識別,過程較為復雜。

卷積神經網絡[79]是近年發展起來,并引起廣泛重視的一種高效深度學習識別算法,其已成為當前語音分析和圖像處理領域的研究熱點。相比傳統的神經網絡而言,卷積神經網絡具有權值共享、局部感知的優點。局部感知的網絡結構使其更接近于生物神經網絡,權值共享大大減少了模型學習參數的個數,同時降低了神經網絡結構的復雜性。在圖像處理領域,卷積神經網絡的優點體現得更為突出,多維的圖像數據可以直接作為網絡的輸入,特征提取和分類均集成在網絡中,避免了傳統識別算法中復雜的特征提取和訓練分類器過程。除此之外,卷積神經網絡對圖像中的位移、比例縮放、旋轉、傾斜或其它形式的變形具有很好的魯棒性。為了解決傳統人臉識別算法特征提取和訓練分類器困難的問題,本文借鑒Lenet-5[10]的結構,設計一個適合ORL數據集人臉識別任務的卷積神經網絡結構。

1卷積神經網絡

1.1用于ORL人臉識別的CNN

本文提出的7層卷積神經網絡模型由輸入層、2個卷積層、2個降采樣層、一個全連接層和一個Sigmoid輸出層組成。卷積核的大小均為5×5,降采樣層Pooling區域的大小為2×2,采用Average Pooling(相鄰小區域之間無重疊),激活函數均采用Sigmoid函數。每一個卷積層或降采樣層由多個特征圖組成,每個特征圖有多個神經元,上層的輸出作為下一層的輸入。此外,本文實驗學習率的取值為常數1.5,該卷積神經網絡結構如圖1所示。

1.2卷積層

卷積神經網絡中的卷積層一般稱C層[11](特征提取層)。卷積層的輸入來源于輸入層或者采樣層。卷積層中的每一個特征圖都對應一個大小相同的卷積核,卷積層的每一個特征圖是不同的卷積核在前一層輸入的特征圖上作卷積,然后將對應元素累加后加一個偏置,最后通過激活函數得到。假設第l層榫砘層,則該層中第j個特征圖的計算表達式如式(1)。

xlj=f(∑i∈Mjxl-1iklij+blj)(1)

這里的Mj表示選擇的上一層輸出特征圖的集合。

1.3降采樣層

降采樣層是對上一層的特征圖進行下采樣處理,處理方式是在每一個特征圖內部的相鄰小區域進行聚合統計。常見的下采樣方式有兩種:Average Pooling和Max Pooling。其中,Average Pooling是取小區域內像素的平均值,而Max Pooling是取小區域內像素的最大值。降采樣層只是對輸入的特征圖進行降維處理,不改變特征圖的個數。假設down表示下采樣操作,βlj表示乘性偏置,blj表示加性偏置,則降采樣層中某個特征圖的計算表達式如下:

xlj=f(βljdown(xl-1j)+blj)(2)

1.4輸出層

卷積神經網絡的輸出層一般為分類器層,常用的有徑向基(RBF)函數輸出單元、Sigmoid輸出單元和Softmax回歸分類器。在ORL人臉識別任務中,采用Sigmoid函數輸出單元,輸出層的編碼采用非分布編碼“one-of-c”的方式。由于采用Sigmoid函數,每一個單元輸出值是0-1范圍內的一個正數,代表該樣本屬于該單元對應類別的概率。數值最大的那個單元即為樣本的預測類別。假設x為全連接層的輸出,則輸出層輸出結果的計算表達式如下:

y=f(wTx+b)(3)

其中,f表示激活函數,這里采用Sigmoid函數,Sigmoid函數表達式如下:

f(x)=11+e-x(4)

2實驗結果與分析

實驗在Windows7 64位下的Matlab 2014a中進行,采用Matlab深度學習工具箱DeepLearnToolbox。PC的內存8G,CPU主頻為3.2GHZ。

ORL人臉數據集是在1992年至1994年之間由AT &T Cambridge實驗室拍攝的人臉圖像所構成。數據集中包含40個不同人物的臉部圖像,每個人物包含10張圖像,總共400張。每個類別中的臉部圖像在不同的時間拍攝得到,存在如下差異:①光線;②面部表情,如眼睛的閉合和睜開狀態,面部是否帶有微笑的表情等;③一些面部細節上的差異,如是否佩戴眼鏡等。該數據集中所有人臉圖像均為灰度圖像,且圖像中人物面部朝向基本一致,都朝向正前方。

圖2為ORL數據集中部分人臉圖像。數據集中每個原始圖像大小為92*112像素,本文實驗中對這些圖像進行預處理,使每一幅圖像的尺寸調整為28*28,并對每一副圖像進行歸一化處理,這里采用簡單的除255的方式。隨機選取每一個類別的8張圖像作為訓練樣本,剩下的2張作為測試樣本。因此,訓練集有320個樣本,測試集有80個樣本。

2.1改變C3層卷積核個數對網絡的影響

卷積神經網絡性能的好壞與卷積層卷積核的個數密切相關,但每一個卷積層應該設置多少個卷積濾波器,目前并沒有數學理論指導。為了研究卷積核個數對網絡最終識別準確率的影響,本文保持C1層卷積核個數不變,通過改變C3層卷積核的個數,形成新的網絡結構,用訓練集訓練網絡,訓練迭代次數均為60次,然后用測試集對每一種網絡結構的性能進行測試。實驗結果如表1所示。

從表1可以看出,當C3層有10個卷積核時,網絡模型對測試集的識別正確率最高。卷積核的個數與識別準確率并不成正比關系,當卷積核個數過多時,網絡的識別準確率會下降,這是因為在卷積核個數增加的同時,需要學習的參數也隨之增加,而數據集中訓練樣本的規模較小,已不能滿足學習的要求。

2.2改變C1層卷積核個數對網絡的影響

由上述實驗結果可知,C3層卷積核個數為10時,網絡識別效果最好。因此,為了研究卷積層C1層卷積核個數對識別準確率的影響, C3層保留10個卷積核,改變C1層卷積核的個數構造新的網絡結構,用測試集針對不同網絡結構就測試集和訓練集的識別準確率進行測試。實驗結果如表2所示。

從表2的實驗結果可以得到相同結論:卷積層卷積核的個數并非越多越好,卷積核個數過多,網絡需要學習的參數也隨之增加,當訓練集中樣本個數無法滿足學習需要時,網絡識別準確率就會下降。

2.3與其它算法比較

為進一步說明本文所提卷積神經網絡結構的有效性和優越性,將該結構(C1層6個卷積核,C3層10個卷積核,學習率1.5)的實驗結果與其它識別方法在ORL數據集上的實驗結果進行對比,結果如表3所示??梢钥闯?,本文所提方法比Eigface、ICA的識別效果好,與2DPCA方法的識別準確率一樣,比FisherFace方法的識別準確率只低了0.20%,這進一步證實了本文所提網絡結構的有效性。

3結語

本文在理解Lenet-5結構的基礎上,提出一種適用于ORL人臉數據集的卷積神經網絡結構。實驗結果表明,本文提出的卷積神經網絡結構,不僅避免了復雜的顯式特征提取過程,在ORL數據集上獲得98.30%的識別正確率,而且比大多數傳統人臉識別算法的效果都好。此外,本文還通過大量驗就每個卷積層卷積核個數對網絡識別準確率的影響進行了詳細研究與分析,這對設計CNN網絡結構具有一定的參考意義。

參考文獻參考文獻:

[1]李武軍,王崇駿,張煒,等.人臉識別研究綜述[J].模式識別與人工智能,2006,19(1):5866.

[2]張翠平,蘇光大.人臉識別技術綜述[J].中國圖象圖形學報,2000,5(11):885894.

[3]YANG M H.Face recognition using kernel methods[J].Nips,2002(2):14571464.

[4]祝秀萍,吳學毅,劉文峰.人臉識別綜述與展望[J].計算機與信息技術,2008(4):5356.

[5]SAMARIA F,YOUNG S.HMMbased architecture for face identification[J].Image and Vision Computing,1994,12(8):537543.

[6]LAWRENCE S,GILES C L,TSOI A C.Convolutional neural networks for face recognition[C].Proceedings CVPR'96,1996 IEEE Computer Society Conference on Computer Vision and Pattern Recognition,1996:217222.

[7]陳耀丹,王連明.基于卷積神經網絡的人臉識別方法[J].東北師范大學學報:自然科學版,2016,48(2):7076.

[8]盧官明,何嘉利,閆靜杰,等.一種用于人臉表情識別的卷積神經網絡[J].南京郵電大學學報:自然科學版,2016,36(1):1622.

[9]李彥冬,郝宗波,雷航.卷積神經網絡研究綜述[J].計算機應用,2016,36(9):25082515.

[10]LCUN Y,BOTTOU L,BENGIO Y,et al.Gradientbased learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):22782324.

篇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);//用樣本訓練