基于神經(jīng)網(wǎng)絡(luò)的人臉識別研究_第1頁
基于神經(jīng)網(wǎng)絡(luò)的人臉識別研究_第2頁
基于神經(jīng)網(wǎng)絡(luò)的人臉識別研究_第3頁
基于神經(jīng)網(wǎng)絡(luò)的人臉識別研究_第4頁
基于神經(jīng)網(wǎng)絡(luò)的人臉識別研究_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

PAGEPAGEIV摘要由于人臉表情的多樣性、背景的復(fù)雜性、光照的變化、姿態(tài)的差異等,人臉識別在實際應(yīng)用中仍然具有挑戰(zhàn)性。人臉作為一種生物特征,在公安、圖像搜索等領(lǐng)域也有著非常方便的應(yīng)用,具有廣闊的應(yīng)用前景。由于近年來神經(jīng)網(wǎng)絡(luò)的研究成果,神經(jīng)網(wǎng)絡(luò)再次成為當(dāng)前的研究熱點。卷積神經(jīng)網(wǎng)絡(luò)比傳統(tǒng)神經(jīng)網(wǎng)絡(luò)更適合于圖像處理。人臉識別技術(shù)是利用人臉來完成身份識別和驗證任務(wù)的。本文利用卷積神經(jīng)網(wǎng)絡(luò)在近年來深學(xué)習(xí)領(lǐng)域的研究熱點,完成了人臉識別中的驗證任務(wù)。本文主要設(shè)計了兩種完全不同的深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),一種是輕量級VGG卷積神經(jīng)網(wǎng)絡(luò),另一種是殘差卷積神經(jīng)網(wǎng)絡(luò),并進(jìn)行人臉識別方面實驗和分析。實驗結(jié)果表明,在人臉識別權(quán)威測試集LFW和YTF上獲得了99.1%和93.32%的精度,相對于主流基礎(chǔ)模型分別提高0.57%和0.52%。另外,本文統(tǒng)計了改進(jìn)模型和基礎(chǔ)模型在LFW上測試的詳細(xì)數(shù)據(jù),探討了改進(jìn)模型在效果上獲得提升的原因。關(guān)鍵詞:人臉識別身份驗證深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)

ABSTRACTFacerecognitionisstillchallenginginpracticalapplicationsduetothediversityoffacialexpressions,thecomplexityofbackground,thechangeofilluminationandthedifferenceofposture.Face,asabiologicalfeature,hasaveryconvenientapplicationinpublicsecurity,imagesearchandotherfields,andhasbroadapplicationprospects.Becauseoftheresearchachievementsofneuralnetworksinrecentyears,neuralnetworkshavebecomethecurrentresearchhotspotagain.Asakindofneuralnetwork,convolutionalneuralnetworkhasthreeparts:localperception,weightsharinganddownsampling,whichcaneffectivelyimprovetheperformanceoftraditionalneuralnetwork.Theresultsshowthatconvolutionalneuralnetworkismoresuitableforimageprocessingthantraditionalneuralnetwork.Facerecognitiontechnologyusesfacetocompleteidentificationandverificationtasks.Thispapercompletestheverificationtaskoffacerecognitionbyusingtheresearchhotspotofconvolutionalneuralnetworkinthefieldofdeeplearninginrecentyears.Inthispaper,twocompletelydifferentstructuresofdeepconvolutionneuralnetworkaredesigned,oneisthelightweightVGGconvolutionneuralnetwork,theotheristheresidualconvolutionneuralnetwork,andfacerecognitionexperimentsandanalysisarecarriedout.Theexperimentalresultsshowthat99.1%and93.32%accuracyareobtainedonLFWandYTF,whichareimprovedby0.57%and0.52%respectivelycomparedwiththemainstreambasicmodel.Inaddition,thispaperstatisticsthedetaileddataoftheimprovedmodelandthebasicmodeltestedonLFW,andexploresthereasonswhytheimprovedmodelhasbeenimprovedineffect.KEYWORDS:Facerecognition;Authentication;Deeplearning;Convolutionalneuralnetwork目錄第1章緒論 11.1課題研究的背景與意義 11.2國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢 2第2章相關(guān)算法概述 52.1人工神經(jīng)網(wǎng)絡(luò) 52.1.1神經(jīng)元 52.1.2神經(jīng)網(wǎng)絡(luò)模型 72.2卷積神經(jīng)網(wǎng)絡(luò) 142.2.1卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu) 152.2.2卷積神經(jīng)網(wǎng)絡(luò)相關(guān)改進(jìn)方法 182.2.3卷積神經(jīng)網(wǎng)絡(luò)的性能 202.3典型的網(wǎng)絡(luò)結(jié)構(gòu) 212.3.1AlexNet 212.3.2VGG-Net 222.3.3GoogLeNet 232.3.4ResNet 24第3章輕量級VGG卷積神經(jīng)網(wǎng)絡(luò) 263.1輕量級VGG 263.1.1原VGG網(wǎng)絡(luò)結(jié)構(gòu)簡析 263.1.2輕量級VGG神經(jīng)網(wǎng)絡(luò)模型 283.2輕量級VGG模型的訓(xùn)練與實驗分析 313.2.1圖片數(shù)據(jù)庫與預(yù)處理 313.2.2輕量級VGG網(wǎng)絡(luò)模型的訓(xùn)練與實驗分析 323.2.2.1模型訓(xùn)練 333.2.2.2實驗結(jié)果與分析比較 333.3本章小結(jié) 36第4章殘差卷積神經(jīng)網(wǎng)絡(luò) 374.1深層網(wǎng)絡(luò)優(yōu)化難題 374.2殘差學(xué)習(xí)(ResidualLearning) 384.3殘差卷積神經(jīng)網(wǎng)絡(luò) 394.3.1BatchNormalization 394.3.2ResidualBlock局部單元 404.4殘差卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練與實驗分析 414.4.1圖片數(shù)據(jù)與預(yù)處理 414.4.2網(wǎng)絡(luò)的訓(xùn)練 424.4.3LFW驗證結(jié)果分析 434.5本章小結(jié) 44第5章總結(jié)與展望 45參考文獻(xiàn) 46發(fā)表論文和參加科研情況說明 51致謝 52第1章緒論PAGE40第1章緒論 1.1課題研究的背景與意義隨著計算機技術(shù)和信息處理技術(shù)的發(fā)展,計算機視覺逐漸成為一個備受關(guān)注的領(lǐng)域。利用計算機技術(shù)對可視化信息進(jìn)行采集、處理和響應(yīng),具有方便、快捷、高效、便于管理和統(tǒng)計分析等優(yōu)點。與指紋、虹膜、DNA等其他生物特征相比,人臉特征更加突出,易于采集。它們適用于各種環(huán)境和情況下的生物特征信息采集和處理。利用計算機視覺技術(shù)對人臉信息進(jìn)行分析和處理,可以廣泛應(yīng)用于虛擬現(xiàn)實、安全監(jiān)控、醫(yī)療診斷、高級人機交互、視頻會議、基于內(nèi)容的圖像存儲和檢索等領(lǐng)域。具有廣闊的應(yīng)用前景和潛在的經(jīng)濟價值。因此,這一領(lǐng)域吸引了世界上許多科研機構(gòu)和研究人員,成為一個非?;钴S的研究課題。人臉分析包括人臉識別、人臉跟蹤、人臉識別、人臉表情分析等。人臉識別與跟蹤是人臉信息處理的第一步。當(dāng)我們識別一個人時,首先在需要檢索的圖像場景中確定人臉的位置,然后檢測該位置以確定該區(qū)域是否為人臉區(qū)域,稱為人臉識別,檢測完人臉后,我們需要實時跟蹤和確定人臉區(qū)域,并保持這個區(qū)域。鎖定一個人臉區(qū)域稱為人臉跟蹤,識別和判斷被跟蹤人臉區(qū)域的任務(wù)稱為人臉識別,可以分析人臉圖像區(qū)域的表達(dá)。這個過程對人來說很簡單,但卻是計算機視覺領(lǐng)域的一個難題因此,人臉識別與跟蹤技術(shù)是一個極具挑戰(zhàn)性的研究方向,目前所有的理論和算法都在從各個方面逼近這種識別能力。1.2國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢20世紀(jì)末是人臉識別快速發(fā)展的時期?;谥鞒煞址治觯≒CA)的特征臉方法已經(jīng)被廣泛應(yīng)用。在此階段,Belhumeur等人同時提出了基于線性判別分析(LDA)的FISHE算法。面法。在這一階段,人臉識別領(lǐng)域積累了一系列重要的理論。從1998年到2014年,人臉識別進(jìn)入了成熟階段。這一階段的主要研究目標(biāo)是解決人臉識別中光照、表情、姿態(tài)、遮擋、噪聲等外部因素引起的變化。針對這一目標(biāo),提出了基于PCA和LDA的擴展方法?;诹餍螌W(xué)習(xí)的人臉識別方法突破了以往人臉識別的瓶頸。流形學(xué)習(xí)得到的非線性子空間能夠更好地表達(dá)人臉的特征,掌握樣本的全局和局部信息。基于局部特征的人臉識別方法在這一階段取得了良好的效果。常用的局部特征方法有局部二值模式(LBP)、GABOR小波等。這種方法提取人臉細(xì)節(jié)特征,對光照、遮擋、姿態(tài)等變化不敏感,引起了眾多研究者的關(guān)注。2014年以來,深度學(xué)習(xí)開啟了人臉識別的新時代。大量基于深度學(xué)習(xí)的人臉識別方法被提出,“大數(shù)據(jù)+深度學(xué)習(xí)”已成為人臉識別技術(shù)的主流手段。2014,臉譜網(wǎng)推出了4000張400萬人的深臉網(wǎng)絡(luò),在測試中達(dá)到了97.25%的準(zhǔn)確率,成為人臉識別領(lǐng)域深入學(xué)習(xí)的基礎(chǔ)。香港中文大學(xué)的研究團隊提出了一系列基于深度學(xué)習(xí)的人臉識別方法:Deepid1、Deepid2、Deepid2+和deepid3。隨著網(wǎng)絡(luò)結(jié)構(gòu)的發(fā)展和網(wǎng)絡(luò)層次的逐步深入,Deepid3在lfw測試集中取得了99.53%的良好效果[1]。這一系列的方法采用由幾個相同的小網(wǎng)絡(luò)組成的網(wǎng)絡(luò)結(jié)構(gòu)。每個小網(wǎng)絡(luò)在對人臉圖像進(jìn)行分割后,接收一個固定大小的面片的輸入,并將每個面片學(xué)習(xí)到的特征進(jìn)行融合,得到整個人臉圖像的特征向量。2015年,Google的Facenet算法提出使用三重?fù)p失函數(shù)進(jìn)行網(wǎng)絡(luò)訓(xùn)練,并在此算法的基礎(chǔ)上,使用2億張人臉圖像進(jìn)行訓(xùn)練,在LFW測試集上達(dá)到99.63%的準(zhǔn)確率[2]。同年,百度、騰訊、無知等擁有海量數(shù)據(jù)的大公司也提出了自己的基于深度學(xué)習(xí)算法的研究。隨著硬件平臺的發(fā)展,網(wǎng)絡(luò)模式的深度學(xué)習(xí)呈現(xiàn)出層次越來越深的趨勢。同時,由于網(wǎng)絡(luò)層次太深,在訓(xùn)練中也存在一些困難,包括訓(xùn)練收斂、訓(xùn)練耗時等。因此,提出了一系列的訓(xùn)練技術(shù),如Google提出的BN加速機制和HE等人提出的網(wǎng)絡(luò)剪枝技術(shù)。加快網(wǎng)絡(luò)深度訓(xùn)練。從網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計的角度來看,也有解決這些問題的方法,如Resnet和Densenet網(wǎng)絡(luò)模型。同時,還存在用于人臉識別評價的數(shù)據(jù)集。深度學(xué)習(xí)給人臉識別技術(shù)帶來了飛速的發(fā)展,也終結(jié)了作為評價數(shù)據(jù)集的性能競爭。近年來,人臉識別的研究逐漸集中在實際應(yīng)用場景上。一些更具挑戰(zhàn)性的面部評估數(shù)據(jù)集已經(jīng)發(fā)布,如ijb-a數(shù)據(jù)集、Ms-Celeb-1m、Megaface數(shù)據(jù)庫[3]。深度學(xué)習(xí)已經(jīng)成為人臉識別乃至計算機視覺領(lǐng)域的主流方法。從近年來人臉識別的發(fā)展來看,我們可以看到幾個變化:(1)主流網(wǎng)絡(luò)模式結(jié)構(gòu)正在向縱深發(fā)展。相關(guān)實驗證明,層次越深,從網(wǎng)絡(luò)模型中提取的特征的表示能力越好?,F(xiàn)代計算機計算能力的增強也為網(wǎng)絡(luò)的深化和復(fù)雜化提供了堅實的平臺。(2)數(shù)據(jù)是提高深度學(xué)習(xí)成績的關(guān)鍵。學(xué)術(shù)界公布的標(biāo)注信息數(shù)據(jù)為深度學(xué)習(xí)創(chuàng)造了良好的學(xué)習(xí)資源,海量數(shù)據(jù)的使用也是目前深度學(xué)習(xí)的發(fā)展方向。(3)龐大復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)和海量的數(shù)據(jù)不僅帶來了效益,而且增加了網(wǎng)絡(luò)模型的訓(xùn)練難度和訓(xùn)練時間。如何解決網(wǎng)絡(luò)精度下降的問題第3章輕量級VGG卷積神經(jīng)網(wǎng)絡(luò)第2章相關(guān)算法概述2.1人工神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)(ann)是根據(jù)腦神經(jīng)的工作原理建立的數(shù)學(xué)模型。它由大量相互連接的節(jié)點組成。每個節(jié)點代表一個輸出函數(shù)。兩個相互連接的節(jié)點之間有一個權(quán)重,用于通過連接對信號進(jìn)行權(quán)重。網(wǎng)絡(luò)模型的輸出受輸出函數(shù)和權(quán)重的影響。值效果,輸出可以是函數(shù)值或邏輯表達(dá)式。2.1.1神經(jīng)元對神經(jīng)元的研究始于1904年,當(dāng)時生物學(xué)家對神經(jīng)元的組成非常熟悉。一個神經(jīng)可以有多個樹突來接收信息;一個神經(jīng)元中只有一個軸突,軸突末梢可以將信息傳遞給其他神經(jīng)元[4]。不同神經(jīng)元通過軸突與樹突相互連接并傳遞信號。在生物學(xué)中連接的位置叫“突觸”。下圖是人腦神經(jīng)元的簡單說明:圖2.1生物神經(jīng)元圖2.2:神經(jīng)元模型圖2.2是一個簡單的神經(jīng)元模型,有三個輸入和一個相應(yīng)的輸出。神經(jīng)元之間的連接具有權(quán)值,在神經(jīng)元信息的傳遞中起著重要的作用。訓(xùn)練神經(jīng)元模型的目的是優(yōu)化模型中的權(quán)值,以達(dá)到最佳的預(yù)測效果。如果A是神經(jīng)元模型的輸入,W是神經(jīng)元模型的權(quán)重,則信號A通過神經(jīng)元模型的權(quán)重從神經(jīng)元的輸入變?yōu)锳*W。神經(jīng)元模型中的箭頭表示重量轉(zhuǎn)移。流程圖如圖2.3所示。圖2.3:神經(jīng)元模型[5]圖2.2的運算過程可以用如下公式表示:(2.1)可見z是在輸入和權(quán)值的線性加權(quán)和疊加了一個函數(shù)g的值。在MP模型中函數(shù)g是取符號函數(shù),函數(shù)的輸入大于0為1其他為0[6]。對圖2.3中的神經(jīng)元進(jìn)行一些改變,把sum與sgn函數(shù)結(jié)合,代表神經(jīng)元的內(nèi)部運算,然后表明輸入輸出。神經(jīng)元可以看作是存儲單元可以有多個輸出,神經(jīng)元對其輸入有計算功能,并且能暫存計算結(jié)構(gòu),然后傳遞到下一層如下圖所示。圖2.4:神經(jīng)元擴展用神經(jīng)元模型組成網(wǎng)絡(luò)后,描述某個神經(jīng)元模型,我們用unit指代,神經(jīng)網(wǎng)絡(luò)也是有向圖模型所以可以用node表示同樣的意思。神經(jīng)元的模型有一個數(shù)據(jù)稱作樣本,樣本中有4個屬性其中3個是已知的屬性1個是未知的屬性,通過3個已知屬性求未知屬性是我們要做的。運用神經(jīng)元的公式對已知數(shù)據(jù)進(jìn)行說明,屬性a1,a2,a3是已知屬性,z是未知屬性,z通過公式可以得出,模型中已知屬性稱作特征,未知屬性稱作目標(biāo)[7]。特征與目標(biāo)的關(guān)系如果是線性的,那我們就能通過已知的權(quán)值w1,w2,w3計算出z的結(jié)果。2.1.2神經(jīng)網(wǎng)絡(luò)模型神經(jīng)網(wǎng)絡(luò)是由大量神經(jīng)元組成的。由大量神經(jīng)元組成的復(fù)雜神經(jīng)網(wǎng)絡(luò)具有許多與人腦相似的基本特征。神經(jīng)網(wǎng)絡(luò)是一個高度復(fù)雜的學(xué)習(xí)系統(tǒng)。該系統(tǒng)具有并行、自學(xué)習(xí)、并行存儲、自組織和自適應(yīng)能力,具有并行、自學(xué)習(xí)和自適應(yīng)能力。處理具有不確定性或多因素的信息處理問題。神經(jīng)元是神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)。神經(jīng)元與動物神經(jīng)元相似。當(dāng)人們分析神經(jīng)系統(tǒng)時,他們會受到啟發(fā),將動物神經(jīng)元轉(zhuǎn)化為數(shù)學(xué)模型,可以模擬動物神經(jīng)元。(1)單層神經(jīng)網(wǎng)絡(luò)及工作過程最早的MP模型雖然只擁有簡單的機構(gòu),rosenblatt在1958年提出兩層神經(jīng)元組成的神經(jīng)網(wǎng)絡(luò),它叫做感知器。感知器是當(dāng)時第一個學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)。rosenblatt[8]通過演示感知器模型學(xué)習(xí)識別圖像的過程引起了轟動。許多研究者認(rèn)為人們已經(jīng)發(fā)現(xiàn)了智力的奧秘并將其投入到相關(guān)的研究中。美國軍方也在神經(jīng)網(wǎng)絡(luò)的相關(guān)研究上投入巨資,稱神經(jīng)網(wǎng)絡(luò)甚至比原子彈更重要。這可以看作是神經(jīng)網(wǎng)絡(luò)發(fā)展的第一個高潮。在MP模型中,加入神經(jīng)元節(jié)點代替原始輸入,稱為輸入單元。圖2.5顯示了神經(jīng)元的變化。圖2.5:單層神經(jīng)網(wǎng)絡(luò)感知器分為輸入層和輸出層。輸入單元只負(fù)責(zé)傳輸數(shù)據(jù)而不進(jìn)行計算。在輸出單元輸出之前進(jìn)行計算。從而生成計算層。包含計算的網(wǎng)絡(luò)稱為單層神經(jīng)網(wǎng)絡(luò)。我們可以根據(jù)網(wǎng)絡(luò)的層數(shù)來命名網(wǎng)絡(luò),例如,通過命名網(wǎng)絡(luò)?!薄案兄鳌北环Q為兩層神經(jīng)網(wǎng)絡(luò),但在本文中,我們根據(jù)計算層的數(shù)量將其命名為[9]。因此,感知器又稱為兩層神經(jīng)網(wǎng)絡(luò)。如果預(yù)測值從一個數(shù)字變?yōu)橐粋€向量,我們需要增加輸出單位,如圖2.6所示。圖2.6:單層神經(jīng)網(wǎng)絡(luò)如圖所示z1的值并沒有變化我們可以把z1的輸出結(jié)果向多個神經(jīng)元傳遞。z2的求解過程,如圖2.7所示。圖2.7:單層神經(jīng)網(wǎng)絡(luò)z2的計算過程與z1不同點是權(quán)值不同,z1的權(quán)值是w1,w2,w3,z2的權(quán)值是w4,w5,w6,圖2.8給出求解過程。圖2.8:單層神經(jīng)網(wǎng)絡(luò)通過觀察,我們發(fā)現(xiàn)這個公式是一個線性方程。我們可以用矩陣運算來表示輸出公式,它可以表示為g(w*a)=z;這個公式是神經(jīng)網(wǎng)絡(luò)的矩陣運算。感知器的權(quán)值與神經(jīng)元模型的權(quán)值不同,但它是通過訓(xùn)練獲得的。如前所述,感知器是一個可以執(zhí)行線性分類任務(wù)的模型。我們可以通過決策邊界來觀察效果。決策劃分是在二維數(shù)據(jù)平面上加一條分界線。如果是三維數(shù)據(jù),我們需要找到一個分割面。如果數(shù)據(jù)是n維的,我們需要n1維超平面來劃分它。圖2.9顯示了二維感知器的分界效果。圖2.9:單層神經(jīng)網(wǎng)絡(luò)的決策分界(2)兩層神經(jīng)網(wǎng)絡(luò)及其工作過程雙層神經(jīng)網(wǎng)絡(luò)是神經(jīng)網(wǎng)絡(luò)的重要模型,因為在這一時期,神經(jīng)網(wǎng)絡(luò)得到了前所未有的發(fā)展和應(yīng)用。兩層神經(jīng)網(wǎng)絡(luò)證明了minsky的問題是不存在的。Rumelhar和Hinton的研究人員提出了神經(jīng)網(wǎng)絡(luò)的反向傳播算法,首次解決了這兩層問題。神經(jīng)網(wǎng)絡(luò)的計算復(fù)雜性[11]。兩層神經(jīng)網(wǎng)絡(luò)增加了中間層,輸入層、輸出層、輸出層和中間層都是計算層。因此,加入了神經(jīng)網(wǎng)絡(luò)的權(quán)值矩陣。我們使用二維向量的第一維來表示神經(jīng)網(wǎng)絡(luò)一層中節(jié)點的排序,而第二維來表示神經(jīng)網(wǎng)絡(luò)一層,例如矩陣axy代表y層的第x節(jié)點。圖2.10給出了a12,a22的運算公式。圖2.10:兩層神經(jīng)網(wǎng)絡(luò)的中間層計算計算兩層神經(jīng)網(wǎng)絡(luò)的輸出z的過程中運用到了中間層a12,a22,具體過程如圖2.11所示。圖2.11:兩層網(wǎng)絡(luò)輸出層計算如果預(yù)測輸出結(jié)果是一個向量那么可以通過在輸出層增加節(jié)點改變向量的維數(shù),用z表示網(wǎng)絡(luò)中輸出向量,W1,W2表示不同層之間的權(quán)值矩陣,得到的神經(jīng)網(wǎng)絡(luò)工作過程如下圖所示:圖2.12:兩層網(wǎng)絡(luò)的向量形式矩陣運算的表達(dá)式可以用如下公式表示:(2.2)(2.3)通過觀察計算過程不難發(fā)現(xiàn),運算的表達(dá)式很簡單不會因為節(jié)點增多而變得復(fù)雜,神經(jīng)網(wǎng)絡(luò)的模型中有可能存在只具備存儲功能的點也叫作偏置點,偏置點是默認(rèn)存在的,值永遠(yuǎn)是1。神經(jīng)網(wǎng)絡(luò)中除了輸出層每層都含有一個偏置點,我們稱偏置點向量為b如圖2.13所示:圖2.13:帶偏置點的兩層網(wǎng)絡(luò)由上圖可以看出偏置點沒有輸入,一般情況下神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖是不會給出偏置點的,考慮偏執(zhí)點的情況下神經(jīng)網(wǎng)絡(luò)的運算公式如下:(2.4)(2.5)在兩層神經(jīng)網(wǎng)絡(luò)中,由于sigmid函數(shù)比較光滑,所以我們用sigmoid函數(shù)代替sgn函數(shù)作為神經(jīng)網(wǎng)絡(luò)模型的激活函數(shù)。神經(jīng)網(wǎng)絡(luò)的本質(zhì)是通過激活函數(shù)和參數(shù)來擬合神經(jīng)網(wǎng)絡(luò)模型目標(biāo)與神經(jīng)網(wǎng)絡(luò)模型特征之間的函數(shù)關(guān)系。為了實現(xiàn)神經(jīng)網(wǎng)絡(luò),需要線性代數(shù)庫。理論上,兩層神經(jīng)網(wǎng)絡(luò)可以無限逼近任意連續(xù)函數(shù),因此兩層神經(jīng)網(wǎng)絡(luò)能夠很好地處理非線性的復(fù)雜分類任務(wù)[12]。單層神經(jīng)網(wǎng)絡(luò)的瓶頸問題很容易用雙層神經(jīng)網(wǎng)絡(luò)來解決。目前,兩層神經(jīng)網(wǎng)絡(luò)已在人臉識別、語音識別、自動駕駛、圖形識別等領(lǐng)域顯示出其應(yīng)用價值。(3)神經(jīng)網(wǎng)絡(luò)相關(guān)知識1)學(xué)習(xí)規(guī)則學(xué)習(xí)規(guī)則是修正神經(jīng)網(wǎng)絡(luò)權(quán)值和偏差的方法。有三種學(xué)習(xí)方法:監(jiān)督學(xué)習(xí)、強化學(xué)習(xí)和無監(jiān)督學(xué)習(xí)。在監(jiān)督學(xué)習(xí)中,當(dāng)輸入數(shù)據(jù)進(jìn)入網(wǎng)絡(luò)模型時,應(yīng)將網(wǎng)絡(luò)模型的輸出與期望目標(biāo)進(jìn)行比較,并根據(jù)學(xué)習(xí)規(guī)則調(diào)整網(wǎng)絡(luò)的權(quán)值和偏差。增強學(xué)習(xí)由于沒有給出相應(yīng)的輸入目標(biāo),所以只能給出一個范圍限制。該學(xué)習(xí)規(guī)則適用于控制系統(tǒng)應(yīng)用領(lǐng)域。無監(jiān)督學(xué)習(xí)只根據(jù)輸入改變網(wǎng)絡(luò)的權(quán)值和偏差,適用于矢量量化等問題。2)正則化只有一個隱層神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)任何非線性關(guān)系。多隱層神經(jīng)網(wǎng)絡(luò)具有較強的學(xué)習(xí)能力。但是,如果樣本數(shù)太少,就會出現(xiàn)過擬合問題。為了避免過擬合問題,可以通過正則化來減小權(quán)值的變化范圍。3)培訓(xùn)方法網(wǎng)絡(luò)模型的訓(xùn)練方法主要有四種:a.逐數(shù)據(jù)訓(xùn)練。一個接一個地將輸入數(shù)據(jù)提供給神經(jīng)網(wǎng)絡(luò)模型,然后用一個反向傳播算法對網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,直到達(dá)到理想水平才進(jìn)行下一次數(shù)據(jù)輸入。b.批量數(shù)據(jù)培訓(xùn)。所有數(shù)據(jù)一次提供給網(wǎng)絡(luò)模型。在所有數(shù)據(jù)通過網(wǎng)絡(luò)模型后,通過反向傳播算法依次調(diào)整權(quán)值c.隨機數(shù)據(jù)訓(xùn)練。與逐數(shù)據(jù)訓(xùn)練一樣,網(wǎng)絡(luò)模型一次只接受一個數(shù)據(jù),但每個數(shù)據(jù)只向后傳播一次并更新其參數(shù),然后替換下一個數(shù)據(jù)。小樣本培訓(xùn)。批量數(shù)據(jù)訓(xùn)練的相同點是,批量數(shù)據(jù)被發(fā)送到網(wǎng)絡(luò),但不是全部,而是只有一小部分。將整個數(shù)據(jù)分成幾個小部分后,分別對每個小部分進(jìn)行批量訓(xùn)練。在上述四種訓(xùn)練方法中,逐數(shù)據(jù)訓(xùn)練和隨機數(shù)據(jù)訓(xùn)練所需的存儲空間較小。與批量數(shù)據(jù)訓(xùn)練和小樣本訓(xùn)練相比,逐數(shù)據(jù)訓(xùn)練具有更好的隨機跟蹤能力。然而,如果網(wǎng)絡(luò)模型的第一個數(shù)據(jù)是噪聲數(shù)據(jù),則通過數(shù)據(jù)訓(xùn)練可以使網(wǎng)絡(luò)模型的訓(xùn)練成為可能。訓(xùn)練過程正在向錯誤的方向發(fā)展。盡管隨機數(shù)據(jù)訓(xùn)練也有噪聲的影響,但它比逐個數(shù)據(jù)訓(xùn)練要小得多[14]。2.2卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)的分類模型相比,基于卷積神經(jīng)網(wǎng)絡(luò)的分類模型的不同之處在于,卷積神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)是二維圖像本身,分類結(jié)果是輸出,特征提取過程雖然可以隱藏在神經(jīng)網(wǎng)絡(luò)模型中。實現(xiàn)了超連通多層神經(jīng)網(wǎng)絡(luò)模型,但仍存在如下問題:a.一般情況下,圖像包含的像素較多。對于全連通神經(jīng)網(wǎng)絡(luò)模型,僅100個隱含層的權(quán)值就將達(dá)到數(shù)萬個,大大增加了神經(jīng)網(wǎng)絡(luò)模型的計算量,需要一定的樣本預(yù)防。停止導(dǎo)致網(wǎng)絡(luò)過度安裝。b.全連通多層神經(jīng)網(wǎng)絡(luò)對尺度變化或其他變形敏感。在多層神經(jīng)網(wǎng)絡(luò)中,同一類型的兩幅圖像只要經(jīng)歷微小的位移變化,就會有很大的差別。全連通多層神經(jīng)網(wǎng)絡(luò)的輸入是整個圖像忽略了圖像的局部信息。卷積神經(jīng)網(wǎng)絡(luò)通過權(quán)值共享、局部感知和下采樣相結(jié)合,實現(xiàn)了網(wǎng)絡(luò)模型的位移、形狀等變化的不變性。2.2.1卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)卷積神經(jīng)網(wǎng)絡(luò)模型由輸入層、卷積層、采樣層、全連接層和輸出層組成。通常,取幾個交替的卷積層和池層,每個層與池層相連,每個池層與卷積基相連[17]。卷積神經(jīng)網(wǎng)絡(luò)的輸入是局部連通的。卷積神經(jīng)網(wǎng)絡(luò)的輸入值可以通過對局部輸入和相應(yīng)的連接權(quán)值求和并加上偏差得到。這是一個相當(dāng)于卷積的過程,因此卷積神經(jīng)網(wǎng)絡(luò)被命名為卷積神經(jīng)網(wǎng)絡(luò)。圖2.14:基于卷積神經(jīng)網(wǎng)絡(luò)的人臉識別第一個卷積層包含六個擁有28*28個神經(jīng)元的特征映射,其中的神經(jīng)元是通過5*5的卷積核提取的輸入層局部特征。(1)局部感知域傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)是通過輸入層和隱藏層的充分連接來處理數(shù)據(jù)的。如果輸入的圖像很小,這種方法是可行的,但是當(dāng)遇到較大的圖像時會變得非常耗時。卷積層通過限制輸入單元和隱藏層單元很好地解決了這些問題。在卷積神經(jīng)網(wǎng)絡(luò)中,隱藏層中的每個單元連接輸入圖像的一小部分,而這一部分是連接的。(2)配重權(quán)重共享是一種降低計算復(fù)雜度的策略。例如,輸入的人臉圖像為32×32灰度圖像,輸出為相應(yīng)的識別結(jié)果。卷積神經(jīng)網(wǎng)絡(luò)的輸入圖像經(jīng)過多個卷積層和采樣層處理,然后通過全連接層映射到輸出目標(biāo)。卷積層和采樣層包含多個特征映射,這是一個由多個神經(jīng)元組成的平面。利用卷積核提取輸入圖像中包含的特征。例如,輸入圖像是7×7的矩陣,卷積核是3×3的矩陣,卷積運算步驟設(shè)置為2,在輸入圖像和卷積核運算后卷積輸出為3×3。圖2.15:卷積操作示例如圖2.15所示輸入圖像是7*7的矩陣,卷積核是3*3的矩陣,卷積操作步長設(shè)為2,輸入圖像與卷積核操作過后所得卷積輸出結(jié)果為3*3矩陣。(3)池化池化操作也被稱作下采樣,池化操作的目的是減少運算量,當(dāng)運算量較大時很難形輸入分類器,并且可能過擬合[19]。圖2.16:最大池化圖2.16是步長為2的最大池化,池化操作對4組操作數(shù)進(jìn)行池化后得到一個具有深度不變性的矩陣。對卷積層進(jìn)行池化操作時,神經(jīng)元對應(yīng)的局部接受域也同時被池化,相當(dāng)于對神經(jīng)網(wǎng)絡(luò)模型做了第二次特征提取操作,目前比較常用的池化方法有最大值池化法、隨機池化、均值池化,最大池化是取局部接受域的最大值,均值是取局部接受域的平均值、隨機池化是通過對局部接受域取隨機值[20-22]。池化可以有效減少神經(jīng)元的數(shù)量,降低神經(jīng)網(wǎng)絡(luò)模型的計算量。(4)卷積層卷積層包含許多特征曲面,每個特征曲面由神經(jīng)網(wǎng)絡(luò)模型中的神經(jīng)元組成。特征面上的神經(jīng)元通過卷積核與卷積神經(jīng)網(wǎng)絡(luò)模型的上層連接。這是第一次提取出簡單的結(jié)構(gòu)特征。例如,簡單的特征如直線、邊和邊界、復(fù)雜的機構(gòu)通常由高級卷積層完成[23]。卷積層與其輸入層特征面的局部區(qū)域相連接。通過適當(dāng)?shù)暮瘮?shù)計算局部區(qū)域的加權(quán)和,得到神經(jīng)網(wǎng)絡(luò)模型的輸出值。將卷積神經(jīng)網(wǎng)絡(luò)的權(quán)值分?jǐn)偟接赏惠斎肷傻妮敵鎏卣髅嫔?。?quán)重分配可以降低模型的復(fù)雜度,便于訓(xùn)練。實踐。(5)激勵函數(shù)激發(fā)函數(shù)可以控制神經(jīng)元的正向或反向傳播。乙狀結(jié)腸是一種激發(fā)函數(shù)。因為函數(shù)的值總是在0到1之間,所以我們可以根據(jù)這個值來確定網(wǎng)絡(luò)信號的強度。nair[24]證明了sigmoid可以顯著提高卷積神經(jīng)網(wǎng)絡(luò)的性能。因此,在確定神經(jīng)網(wǎng)絡(luò)模型的深度、卷積核的大小和特征曲面的數(shù)目時,應(yīng)綜合考慮各種因素,以達(dá)到預(yù)期的效果。不要花太多的訓(xùn)練時間。圖2.17:Sigmoid函數(shù)[25](6)全連接層與多利神經(jīng)網(wǎng)絡(luò)類似,它連接一個或多個完全連接的網(wǎng)絡(luò),然后是多個連接和貧困。所有連接層中的所有神經(jīng)與層前的所有神經(jīng)完全連接。全連接在卷積神經(jīng)網(wǎng)絡(luò)模型的計算過程中集成了區(qū)分局部信息,提高了卷積神經(jīng)網(wǎng)絡(luò)的性能[26]。在計算整個連接的激勵函數(shù)后,外觀的值被傳輸?shù)酵庥^。外包可以通過更多的物流回歸進(jìn)行分類。5。正確的分類對于分類任務(wù)模型是非常重要的。卷積神經(jīng)網(wǎng)絡(luò)通常采用bp算法進(jìn)行訓(xùn)練。2.2.2卷積神經(jīng)網(wǎng)絡(luò)相關(guān)改進(jìn)方法(1)網(wǎng)中網(wǎng)結(jié)構(gòu)所謂微神經(jīng)網(wǎng)絡(luò)模型是一種多神經(jīng)網(wǎng)絡(luò)模型。傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)模型的卷積層是線性的,而網(wǎng)絡(luò)中的網(wǎng)絡(luò)采用非線性卷積層,用多層神經(jīng)網(wǎng)絡(luò)代替廣義線性回歸模型。網(wǎng)絡(luò)中的網(wǎng)絡(luò)模型通過微神經(jīng)網(wǎng)絡(luò)得到特征曲面。與卷積層的權(quán)值分擔(dān)相似,多層神經(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ò)算法進(jìn)行訓(xùn)練。同時,多層神經(jīng)網(wǎng)絡(luò)是一種深度學(xué)習(xí)模型。多層神經(jīng)網(wǎng)絡(luò)可以處理更復(fù)雜的問題,識別更抽象的特征。目前,在卷積神經(jīng)網(wǎng)絡(luò)模型中,全連接層參數(shù)過多,容易出現(xiàn)過擬合現(xiàn)象,部分參數(shù)過于依賴正則化技術(shù)。在網(wǎng)絡(luò)模型中,采用全局平均池的方法改變原有的全連接層,大大降低了模型的參數(shù)。通過將多層神經(jīng)網(wǎng)絡(luò)的最后一個卷積層匯集起來,對網(wǎng)絡(luò)特征進(jìn)行平均和連接,然后傳遞到分類層。全局平均池化的作用可以看成是一個正則化的參數(shù),可以避免出現(xiàn)過擬合。此外這種方式是對空間信息求和所得到的所以擁有較強的魯棒性。Lin等[28]研究人員通過將算法在數(shù)據(jù)集SVHN和MNIST上進(jìn)行應(yīng)用,驗證了這種算法的有效性。Xu等[29]研究人員在網(wǎng)中網(wǎng)網(wǎng)絡(luò)模型的基礎(chǔ)上提出了ML-DNN網(wǎng)絡(luò)模型,這種模型已經(jīng)被實驗證實了具有更好的性能。(2)空間變換網(wǎng)絡(luò)盡管卷積神經(jīng)網(wǎng)絡(luò)模型已經(jīng)是非常強大的分類模型,但這不代表它不會受到數(shù)據(jù)多樣性的影響。Jaderberg等[30]研究人員采用空間變換網(wǎng)絡(luò)解決網(wǎng)絡(luò)空間上數(shù)據(jù)多樣性的問題,這種模型由三個部分構(gòu)成,本地化網(wǎng)絡(luò)模型、網(wǎng)格生成器和采樣器可以運用到卷積層,也可以運用到輸入層或其他層之后,不必改變原有的卷積神經(jīng)網(wǎng)絡(luò)模型的內(nèi)部結(jié)構(gòu)??臻g變換網(wǎng)絡(luò)模型的空間變換和對齊有自適應(yīng)性,使卷積神經(jīng)網(wǎng)絡(luò)模型具有一定的平移、旋轉(zhuǎn)、縮放等其他變換的不變性??臻g變換網(wǎng)絡(luò)幾乎不會影響到卷積神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練速度。2.3典型的網(wǎng)絡(luò)結(jié)構(gòu)由LecunYan提出的LeNet[43]是卷積神經(jīng)網(wǎng)絡(luò)的開山之作,近年來,許多研究學(xué)者基于LeNet提出了新的CNN結(jié)構(gòu)模型。其中應(yīng)用在圖像領(lǐng)域的具有代表性的模型有AlexNet[44],VGG-Net[45],GoogleNet[23,46-48]和ResNet[25]等,下面將對這幾種經(jīng)典的網(wǎng)絡(luò)模型進(jìn)行介紹。2.3.1AlexNet2012年由Alex等人提出的AlexNe模型在當(dāng)時以絕對的優(yōu)勢刷新了ImageNet競賽(ImageNetLargeScaleVisualRecognitionChallenge,ILSVRC)的記錄。從結(jié)構(gòu)上來講,AlexNet是類似于LeNet但更寬和更深的網(wǎng)絡(luò)。ReLU激活函數(shù)[49]、Dropout、數(shù)據(jù)增強(DataAugmentation)和LRN歸一化這些關(guān)鍵技術(shù)也是首次在AlexNet模型中應(yīng)用,同時AlexNet模型中使用了多GPU加速計算。AlexNet網(wǎng)絡(luò)結(jié)構(gòu)如圖2.18所示。圖2.18:AlexNet模型結(jié)構(gòu)2.3.2VGG-NetKaren等人提出的VGG-Net模型是2014年ImageNet競賽中的亞軍。與AlexNet模型相比,VGG-Net使用了更深的網(wǎng)絡(luò)結(jié)構(gòu),拋棄了LRN層。VGG-Net沿用了AlexNet數(shù)據(jù)增強的方法。VGG-Net較Alexnet模型層數(shù)更深,訓(xùn)練花費的時間更長,但訓(xùn)練時達(dá)到收斂需要的迭代次數(shù)要少很多。圖2.19是VGG-Net的網(wǎng)絡(luò)結(jié)構(gòu)配置情況,實驗是為了研究網(wǎng)絡(luò)深度對模型的影響。經(jīng)過實驗證明,LRN方法對性能提升幫助不大,但十分耗時。網(wǎng)絡(luò)層次越深,訓(xùn)練的模型效果越好。圖2.19:VGG-Net網(wǎng)絡(luò)配置第3章輕量級VGG卷積神經(jīng)網(wǎng)絡(luò)本章的主要目的是利用有限的硬件計算資源(有限的存儲空間和有限的圖形卡計算能力),構(gòu)造一個合理的簡化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)來完成人臉識別任務(wù)。首先,在原有VGG網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,詳細(xì)闡述了改進(jìn)的輕量級VGG網(wǎng)絡(luò)模型結(jié)構(gòu)。該模型主要減少了參數(shù)的個數(shù),降低了對硬件的要求。然后,對模型結(jié)構(gòu)進(jìn)行了測試。最后,通過實驗結(jié)果分析了該模型在人臉識別中的有效性及其識別效果。為了適應(yīng)硬件條件的限制,輕量級VGG網(wǎng)絡(luò)模型的參數(shù)更少,模型深度略微有所減少,而且該網(wǎng)絡(luò)模型在復(fù)雜人臉圖片效果不理想。針對這個問題,增加了使用Contrastive損失函數(shù)作為目標(biāo)函數(shù)的Siamese網(wǎng)絡(luò),降低了人臉特征向量的維度的同時,也使得整個模型框架在復(fù)雜人臉圖片的數(shù)據(jù)庫上的性能提升不少。這為提升卷積神經(jīng)網(wǎng)絡(luò)的識別性能增加了經(jīng)驗,啟發(fā)式的為進(jìn)一步的網(wǎng)絡(luò)性能優(yōu)化指導(dǎo)了方向。3.1輕量級VGG卷積神經(jīng)網(wǎng)絡(luò)模型VGG-Net是一個應(yīng)用在物體分類與識別方面的神經(jīng)網(wǎng)絡(luò),在2014年的ILSVRLocalization和classification兩個項目上面,分別取得了第一名和第二名,可見其對于圖片特征的提取能力是很優(yōu)秀的。先簡要介紹原始的VGG的網(wǎng)絡(luò)模型,然后詳細(xì)介紹改進(jìn)以后的,并適用于有限硬件計算資源應(yīng)用場景的輕量級VGG神經(jīng)網(wǎng)絡(luò)模型。3.1.1原VGG網(wǎng)絡(luò)結(jié)構(gòu)簡析VGG-Net的輸入是固定尺寸大小的RGB的2D圖像,接著依次通過一系列堆疊的,核大小為3×3的卷積層。每兩個或者三個連續(xù)堆疊的卷積層,為一個網(wǎng)絡(luò)的小的單元模塊,命名為Block。每一個Block后面會接入一個Max-pooling層,用于減小輸入的尺寸大小,并保持網(wǎng)絡(luò)的平移不變性。經(jīng)過多個堆疊的Block單元后的輸出,會接入一個三層的傳統(tǒng)神經(jīng)網(wǎng)絡(luò),也就是三層全連接層。最后的分類輸出是一個softmax多分類器。圖3.4:VGG原始模型示意圖在連續(xù)疊層局部塊胞模型中,每個卷積層(conv)的核大小為3x3,核的滑動步長為1。在卷積運算之前,需要輸入外設(shè)擴展(填充),擴展大小為1。該局部Block單元中的連續(xù)卷積層之間沒有Max-pooling層,只是在每個Block單元之后接一層Max-pooling層。連續(xù)堆疊的卷積層全部使用的是3×3大小的卷積核,它是能覆蓋輸入的左上、右上、左下、右下,以及上、下、左、右、中共9個方向的最小的卷積核,這樣就能對輸入進(jìn)行更為密集的卷積操作,提取更多的特征。而且通過堆疊連續(xù)的多個3×3卷積核的卷積層,能夠等效于一層卷積核為5×5,或者卷積核為7×7的卷積層。但是多個小核卷積層的堆疊,會比大維度卷積核的單個卷積層的非線性轉(zhuǎn)換效果好,具有更好的提取關(guān)鍵特征的能力。網(wǎng)絡(luò)中的每一個卷積層、全連接層后面所使用的激活函數(shù)都是ReLU,進(jìn)行非線性的映射計算。在第一個和第二個全連接層的后面還使用了dropout技術(shù),來提高網(wǎng)絡(luò)的泛化能力,防止網(wǎng)絡(luò)的過擬合。圖3.5:不同大小卷積和與堆疊卷積3.1.2輕量級VGG神經(jīng)網(wǎng)絡(luò)模型在有限硬件計算資源的條件下,網(wǎng)絡(luò)模型的訓(xùn)練學(xué)習(xí)、識別測試階段中,不僅僅要關(guān)注網(wǎng)絡(luò)模型結(jié)構(gòu)的合理性、網(wǎng)絡(luò)收斂情況、網(wǎng)絡(luò)的分類的正確率等等,這些直接影響網(wǎng)絡(luò)模型的特征提取效果的因素,還要考慮到網(wǎng)絡(luò)參數(shù)總數(shù),以及內(nèi)存、顯存的使用情況等,這些對硬件計算能力和存儲能力的主要制約因素。原始的VGG-16網(wǎng)絡(luò),其在訓(xùn)練階段需要保存的網(wǎng)絡(luò)參數(shù)和中間結(jié)果是很龐大的。在有限的硬件條件下,單個普通顯卡是無法滿足其對顯存容量的需求,或者能勉強運行但不能充分訓(xùn)練,取得好的識別效果。出現(xiàn)上述問題的主要原因是:VGG-16網(wǎng)絡(luò)模型的參數(shù)太多,在訓(xùn)練階段還需要保存權(quán)值(weight)和偏置(bias)的偏導(dǎo)數(shù),以及部分中間輸出結(jié)果數(shù)據(jù)。這些數(shù)據(jù)都需要存放在GPU有限的顯存上(不考慮CPU上計算的情況,因為其內(nèi)存空間充足,并可擴充),如果使用批度(batch)樣本訓(xùn)練,這些顯存占用量就會成倍的增長。通過實驗很容易知道,單個普通4G顯存容量的GPU是無法滿足批量訓(xùn)練的顯存需求。所以,必須對VGG-16網(wǎng)絡(luò)進(jìn)行詳細(xì)的參數(shù)數(shù)量分析,根據(jù)實際有限硬件資源情況做適當(dāng)?shù)男薷?,以使其能夠適應(yīng)有限的顯存,在顯卡計算能力要求和網(wǎng)絡(luò)識別效果上選擇一個折中的方案。3.1.2.1網(wǎng)絡(luò)結(jié)構(gòu)修改對上一小結(jié)中的VGG-16網(wǎng)絡(luò)的每一層的學(xué)習(xí)參數(shù)數(shù)量進(jìn)行詳細(xì)分析、統(tǒng)計,得到表3.2。表3.2:VGG-16參數(shù)統(tǒng)計該表只統(tǒng)計每層帶參數(shù)(卷積層和全連接層、池不含參數(shù))的學(xué)習(xí)參數(shù)總數(shù)(浮點型)。研究發(fā)現(xiàn),整個網(wǎng)絡(luò)的大部分參數(shù)集中在最后三個全連接層。FC-4096這一層有4096個節(jié)點,但是它的參數(shù)數(shù)目占據(jù)了全部參數(shù)的70%多左右。FC-1000這一層是對應(yīng)于最后識別分類的1000類,必須要1000個輸出節(jié)點,然后輸入到softmax層,所以該層節(jié)點數(shù)是依數(shù)據(jù)集總類別數(shù)而改變,其參數(shù)不定,可以不需要統(tǒng)計。從神經(jīng)網(wǎng)絡(luò)對特征逐層提取的特性來看,越靠近輸入端的卷積層,提取的都是一些點、線、像素梯度等元素級別的基本特征信息,越靠近輸出端的是越抽象的圖形特征。VGG網(wǎng)絡(luò)在ImageNet識別上的矚目效果,可以認(rèn)為原VGG網(wǎng)絡(luò)底層的對于圖片基礎(chǔ)特征信息提取是很充分的,保留底層的網(wǎng)絡(luò)結(jié)構(gòu),對于神經(jīng)網(wǎng)絡(luò)的識別效果是必要的。所以主要的修改思路就是保留底層的網(wǎng)絡(luò)模型結(jié)構(gòu),修改頂層的,尤其是靠近輸出層的全連接層的網(wǎng)絡(luò)結(jié)構(gòu)。3.1.2.2輕量級VGG模型的整體結(jié)構(gòu)事實上,卷積層是一種特殊的全連接層,權(quán)值部分共享。與全連接層相比,卷積層的學(xué)習(xí)參數(shù)要少得多。減少部分全連接層可以有效降低整個網(wǎng)絡(luò)的參數(shù)。改進(jìn)的策略是降低網(wǎng)絡(luò)后幾層的參數(shù),主要是降低全連接層的參數(shù)。圖3.6:輕量級VGG網(wǎng)絡(luò)模型示意圖輕量級VGG神經(jīng)網(wǎng)絡(luò)模型配置參數(shù)與原VGG網(wǎng)絡(luò)中的Block1~Block4單元相比較,其中的卷積層和pooling層的配置都是完全一樣的,以保證網(wǎng)絡(luò)對基礎(chǔ)圖像特征的提取能力,也就是保持原有的底層的那些卷積核。與原始的VGG-16網(wǎng)絡(luò)在Block5區(qū)域相比,將每一層的卷積核由512增加到了600,目的是希望能夠提取更多豐富的、不同的圖像高層抽象特征。并且去掉了原來的全連接層-1和全連接層-2,這樣參數(shù)的數(shù)量可以進(jìn)一步大量的減少。輕量級VGG模型將Block5后面原始的Max-pooling層換成了一個使用均值下采樣的Pooling層(AveragePooling),這種做法在GoogleNet等一些網(wǎng)絡(luò)中也出現(xiàn)過,同樣是在最后舍棄了全連接層,直接使用了均值下采樣層。這種方法減少全連接層的參數(shù)個數(shù)的同時也對網(wǎng)絡(luò)性能沒有較大的影響,還能進(jìn)一步促使模型提取更加抽象的、更具有辨識度的特征。3.2輕量級VGG模型的訓(xùn)練與實驗分析3.2.1圖片數(shù)據(jù)庫與預(yù)處理選擇FaceScrub人臉數(shù)據(jù)庫作為輕量級VGG網(wǎng)絡(luò)模型的訓(xùn)練集,訓(xùn)練后的模型會在LFW數(shù)據(jù)庫上面進(jìn)行測試,完成兩張圖片對是否屬于同一個人的身份認(rèn)證問題。在對網(wǎng)絡(luò)進(jìn)行訓(xùn)練前,需要對數(shù)據(jù)進(jìn)行預(yù)處理,主要包括以下方面:(1)對人臉進(jìn)行裁剪。原始圖片的周圍有太多的背景圖案,這對人臉識別的網(wǎng)絡(luò)模型來說,不屬于有用的數(shù)據(jù)部分,裁剪掉多余的背景部分。(2)神經(jīng)網(wǎng)絡(luò)充分訓(xùn)練需要大量的數(shù)據(jù)集,以此來學(xué)習(xí)更多的具有區(qū)分性的特征。擴大數(shù)據(jù)集能有效提高網(wǎng)絡(luò)的識別效果和泛化能力。對訓(xùn)練集進(jìn)行擴充,主要使用了兩個方法:一是進(jìn)行圖像左右的翻轉(zhuǎn);二是進(jìn)行圖像中間區(qū)域的隨機裁剪。這樣做就大大增加了訓(xùn)練集的數(shù)據(jù)總量,增加了更多的差異性圖片,使得網(wǎng)絡(luò)對背景變化不敏感,具有很好的平移不變性。(3)計算訓(xùn)練數(shù)據(jù)集的均值圖像。將訓(xùn)練集的所有圖片對應(yīng)位置上的像素值相加然后取平均,得到一個均值人臉圖像。在網(wǎng)絡(luò)訓(xùn)練的時候,訓(xùn)練集和測試集都要減去該均值圖像,目的是:對輸入圖片進(jìn)行歸一化處理,將數(shù)據(jù)(圖片像素值)更加均勻的分布在整個空間中,加速網(wǎng)絡(luò)的收斂。3.2.2輕量級VGG網(wǎng)絡(luò)模型的訓(xùn)練與實驗分析用于訓(xùn)練的FaceScrub人臉數(shù)據(jù)庫大小有限,并沒有像目前某些大型神經(jīng)網(wǎng)絡(luò)模型那樣,使用百萬數(shù)量級的人臉圖片。海量的訓(xùn)練圖片,對于神經(jīng)網(wǎng)絡(luò)來說,確實是能夠有效提升網(wǎng)絡(luò)模型的準(zhǔn)確率、泛化能力的。但是,自己進(jìn)行海量的人臉圖片的收集和標(biāo)簽注釋,需要耗費大量的時間和精力。對于許多研究者來說,是很難構(gòu)建自己的海量圖片數(shù)據(jù)庫的。使用已有的優(yōu)秀的網(wǎng)絡(luò)模型參數(shù)初始化,是可以在一定程度上,緩解因圖片數(shù)量不足導(dǎo)致的泛化性較差以及模型過擬合的問題。改進(jìn)后的輕量級VGG網(wǎng)絡(luò)相對于原VGG-16網(wǎng)絡(luò)的16層參數(shù)層(卷積層加上全連接層),雖然減少2個參數(shù)層,但是依然算是一個相對較深的網(wǎng)絡(luò)。如果網(wǎng)絡(luò)的參數(shù)有一個比較合理的初始化,這些問題都能在很大程度上緩解。為了避免上述問題,能夠讓網(wǎng)絡(luò)模型能夠良好的進(jìn)行訓(xùn)練,并能獲得較為優(yōu)秀的圖片特征提取能力,初始的網(wǎng)絡(luò)參數(shù)使用的是KarenSimonyan等人公布的VGG-16的權(quán)值參數(shù),該參數(shù)在ImgaeNet數(shù)據(jù)庫上訓(xùn)練達(dá)到了Top-5錯誤率8%左右。我們只取其中的前面12層卷積層的參數(shù),其余的參數(shù)層全部重新訓(xùn)練,以適應(yīng)新的人臉數(shù)據(jù)庫。使用這樣的預(yù)訓(xùn)練參數(shù)的好處就是,避免從頭開始訓(xùn)練,減少網(wǎng)絡(luò)無法收斂的機率,并減少了網(wǎng)絡(luò)模型的訓(xùn)練時間。對于輕量級VGG神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練,一共分為三個步驟:(1)構(gòu)建網(wǎng)絡(luò)以后,使用原VGG網(wǎng)絡(luò)在ImageNet上的前幾層卷積層的參數(shù),對新的網(wǎng)絡(luò)模型前幾層進(jìn)行參數(shù)初始化。(2)然后,將輕量級VGG網(wǎng)絡(luò)在Facescrub數(shù)據(jù)庫上進(jìn)行訓(xùn)練。隨機的將Facescrub數(shù)據(jù)庫中1/10部分?jǐn)?shù)據(jù)集作為驗證集,剩余的為訓(xùn)練集。網(wǎng)絡(luò)模型如3.3.2所述,只是最后的一層的全連接的節(jié)點數(shù)等于Facescrub數(shù)據(jù)庫的圖片類別數(shù)。網(wǎng)絡(luò)剛開始訓(xùn)練的時候,使用的是0.001的學(xué)習(xí)率進(jìn)行學(xué)習(xí),大約經(jīng)過10個epoch左右學(xué)習(xí)率降低1/10,一個epoch為所有訓(xùn)練樣本循環(huán)一次的時間。此時,測試集的準(zhǔn)確率大約達(dá)到了50%;然后保持學(xué)習(xí)率再學(xué)習(xí)10個epoch,然后學(xué)習(xí)率再次降低1/10。以后依次以1/10的倍率降低學(xué)習(xí)率。(3)接著,將訓(xùn)練好的輕量級VGG網(wǎng)絡(luò)作為一個人臉特征的提取器,提取LFW中所有人臉圖片的特征,用于人臉的驗證階段(verification)。將LFW中的所有圖片,依次經(jīng)過網(wǎng)絡(luò)的前向計算,轉(zhuǎn)換為其對應(yīng)的特征值表示,也就是提取averagepooling層的輸出特征向量。使用LFW官方提供的測試集進(jìn)行測試,測試集是一系列的圖片對,圖片對有是同一個人的,也有不是同一個人的。人臉驗證方式就是計算測試集中每一對特征向量之間的歐式距離(對應(yīng)L2范數(shù)),然后測試集分成十份,十份中的九份作為SVM的訓(xùn)練樣本,尋找區(qū)分相似與否的閾值,另外一份作為測試樣本,交替循環(huán)進(jìn)行測試,最后取平均結(jié)果。3.2.2.1模型訓(xùn)練多分類任務(wù)的神經(jīng)網(wǎng)絡(luò)的訓(xùn)練情況主要查看兩個指標(biāo),一個是網(wǎng)絡(luò)的損失函數(shù)(lossfunction)的輸出值(loss值),一個是驗證集的測試準(zhǔn)確率。loss值可以看出網(wǎng)絡(luò)是否正確收斂,一般值是隨著訓(xùn)練越來越?。欢炞C集的測試準(zhǔn)確率是查看網(wǎng)絡(luò)分類效果如何,一般是隨著訓(xùn)練進(jìn)行準(zhǔn)確率越來越高。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練需要使用合適的學(xué)習(xí)率。驗證階段是在大約第3peoch開始間隔執(zhí)行的,可以看到網(wǎng)絡(luò)的驗證集準(zhǔn)確率是隨著模型的收斂在不斷上升的,驗證了網(wǎng)絡(luò)收斂的正確性,以及網(wǎng)絡(luò)對特征提取的有效性。圖3.7:輕量級VGG網(wǎng)絡(luò)訓(xùn)練學(xué)習(xí)率的走勢圖3.2.2.2實驗結(jié)果與分析比較將輕量級VGG網(wǎng)絡(luò)作為一個特征提取器,使用LFW數(shù)據(jù)庫進(jìn)行人臉驗證實驗(verification任務(wù))。具體的步驟如下:(1)將LFW數(shù)據(jù)庫中的所有圖片通過輕量級VGG網(wǎng)絡(luò)提取到人臉特征,提取的是該模型中的averagepooling層的輸出特征向量,維度是1×1×600。(2)將這些特征向量進(jìn)行歸一化處理,例如一個樣本的特征向量,d=600。先求得這個樣本的每一維度的平方和,如公式(3.3)所示。然后每一維度除以,得到新的歸一化后的特征向量。 (3.3)(3)計算一個特征向量對的歐式距離。假設(shè)兩個歸一化以后的特征向量與,d=600。按公式(3-4)求得其歐式距離dist。(3.3)(4)使用十折交叉驗證方式,用SVM分類器在訓(xùn)練樣本對應(yīng)的歐式距離數(shù)據(jù)集上進(jìn)行訓(xùn)練,得到同一類樣本和不同類樣本之間的最佳分界面,然后用測試樣本進(jìn)行測試,最后對十次實驗結(jié)果取平均值。最終實驗是在兩個不同處理類型的同一數(shù)據(jù)庫上面進(jìn)行的。類型A是LFW官方原始的數(shù)據(jù)庫中的圖片,沒有經(jīng)過嚴(yán)格的人臉對齊圖片,僅僅是對背景進(jìn)行了裁剪,比較接近自然環(huán)境;類型B是與FaceScrub數(shù)據(jù)庫進(jìn)行相似的人臉對齊處理和部分背景的去除,如3.4.1所述。通過實驗得到了兩者的平均結(jié)果,見表3-2。表3-2:類型A和類型B數(shù)據(jù)庫測試結(jié)果對比表中十折測試平均準(zhǔn)確率是指十折交叉驗證的整體分類的平均準(zhǔn)確率。有同類、不同類兩種不同樣本類型。被模型預(yù)測為正的正樣本數(shù)為TP(truepositive);預(yù)測為負(fù)的負(fù)樣本數(shù)為TN(truenegative)為正的負(fù)樣本數(shù)為FP(falsepositive);預(yù)測為負(fù)的正樣本數(shù)為FN(falsenegative)。真正率=TP/(TP+FN);假正率=FP/(FP+TN)。正負(fù)(同類/不同類)是相對而言。預(yù)測準(zhǔn)確率表示被模型預(yù)測為某類的所有樣本中,正確的樣本所占比率。輕量級VGG網(wǎng)絡(luò)對未被處理的自然條件下的人臉圖片依然有較強的特征提取能力,也說明這個網(wǎng)絡(luò)的泛化性能比較優(yōu)秀。對于經(jīng)過圖片預(yù)處理的類型B,網(wǎng)絡(luò)識別的性能達(dá)到94%左右,這說明了該網(wǎng)絡(luò)對于經(jīng)過和訓(xùn)練圖片庫同樣預(yù)處理的人臉圖片,能提取出更加具有辨別能力的圖片特征。圖3.14:類型A的相似度分布可視化圖3.15:類型B的相似度分布可視化圖3-14和3-15是測試樣本一共6000對人臉之間的歐式距離的相似值進(jìn)行可視化,same表示的是同一個人的人臉圖片對,different表示的是不同人的人臉圖片對。兩張圖對比可知,類型B明顯要比類型A的數(shù)據(jù)分布具有更好的區(qū)分度,直觀上的分界面更加明顯一些,而且在類型B中的“same”樣本的相似度值的整體分布更加的靠近0.3,說明它對同一個人的人臉圖片能夠提取出更多的共性特征。在實際測試中,通過SVM分類器經(jīng)過十折交叉驗證,在類型B的分布中確實找到一個平均預(yù)測準(zhǔn)確度更高的一個分界面。3.3本章小結(jié)本章節(jié)詳細(xì)說明了為應(yīng)對在有限硬件計算資源條件下的應(yīng)用,對VGG網(wǎng)絡(luò)的進(jìn)行改進(jìn),得到了一個新的、有效的LightenedVGG卷積神經(jīng)網(wǎng)絡(luò)模型,且成功的應(yīng)用在人臉識別任務(wù)上。第4章殘差卷積神經(jīng)網(wǎng)絡(luò)第4章殘差卷積神經(jīng)網(wǎng)絡(luò)第三章針對原VGG模型在硬件計算資源有限的設(shè)備上應(yīng)用的不足,對原神經(jīng)網(wǎng)絡(luò)模型進(jìn)行了改進(jìn)。并在LFW人臉庫上對改進(jìn)后的神經(jīng)網(wǎng)絡(luò)模型進(jìn)行了測試,驗證了改進(jìn)后的網(wǎng)絡(luò)的有效性。輕量級VGG網(wǎng)絡(luò)利用Imagenet圖片庫上的預(yù)訓(xùn)練參數(shù),避免了深度網(wǎng)絡(luò)模型中的梯度耗散和網(wǎng)絡(luò)爆炸問題。然而,這種深度網(wǎng)絡(luò)的優(yōu)化仍然是一個眾所周知的難題。特別是當(dāng)網(wǎng)絡(luò)從新數(shù)據(jù)庫開始訓(xùn)練時,會遇到網(wǎng)絡(luò)優(yōu)化問題,主要是由于網(wǎng)絡(luò)參數(shù)設(shè)置不當(dāng)和網(wǎng)絡(luò)結(jié)構(gòu)不合理。在這一章中,我們構(gòu)建了一個更深層的網(wǎng)絡(luò)結(jié)構(gòu),它仍然適用于有限的硬件計算資源。網(wǎng)絡(luò)結(jié)構(gòu)達(dá)到34層,在人臉數(shù)據(jù)庫上從頭開始訓(xùn)練。該模型結(jié)合了深度神經(jīng)網(wǎng)絡(luò)的許多最新技術(shù)和技術(shù),使深度模型更易于調(diào)整。4.1深層網(wǎng)絡(luò)優(yōu)化難題近年,深度學(xué)習(xí)尤其是深度卷積神經(jīng)網(wǎng)絡(luò),在圖像識別、語音識別、文字翻譯等相關(guān)領(lǐng)域取得了矚目的成績,長期不斷刷新最優(yōu)的記錄。隨著卷積神經(jīng)網(wǎng)絡(luò)在各種圖像識別任務(wù)上的成績不斷刷新的同時,網(wǎng)絡(luò)模型的深度也在不斷地加深,由當(dāng)初的LeNet-5的7層到GoolgeNet的上22層的神經(jīng)網(wǎng)絡(luò),同時對計算機硬件的計算能力要求也越來越高。按照深度學(xué)習(xí)理論,相比較于一個淺層的網(wǎng)絡(luò)模型,一個更深層次的網(wǎng)絡(luò)模型在同一個數(shù)據(jù)集上進(jìn)行訓(xùn)練,只要網(wǎng)絡(luò)不遇到梯度爆炸(exploding)和梯度消散(vanishing)問題,而且不要過擬合,那么網(wǎng)絡(luò)模型在理論上就應(yīng)該會有更好的效果。但是事實上并不是這樣,在網(wǎng)絡(luò)的深度由20增加到56層的時候,網(wǎng)絡(luò)的訓(xùn)練誤差并不是像理論上一樣會比淺層的更低。其實這是一個當(dāng)下普遍出現(xiàn)在深度學(xué)習(xí)方面的不合理的現(xiàn)象:當(dāng)更深層次的網(wǎng)絡(luò)模型能夠正常收斂,網(wǎng)絡(luò)模型的訓(xùn)練誤差能夠隨著訓(xùn)練的迭代次數(shù)快速的下降,但是當(dāng)網(wǎng)絡(luò)模型的準(zhǔn)確度達(dá)到飽和以后,網(wǎng)絡(luò)模型的準(zhǔn)確率會隨著網(wǎng)絡(luò)深度加深反而降低。這樣不太合理的現(xiàn)象,被叫做神經(jīng)網(wǎng)絡(luò)的退化問題(degradation)。這種退化現(xiàn)象并不是因為網(wǎng)絡(luò)的過擬合造成的,在其它一些實驗中也有同樣現(xiàn)象的闡述:給一個合理的網(wǎng)絡(luò)添加更多的層數(shù)會導(dǎo)致更高的訓(xùn)練誤差。導(dǎo)致這個現(xiàn)象主要原因是:隨著神經(jīng)網(wǎng)絡(luò)深度的加深,網(wǎng)絡(luò)模型的優(yōu)化問題會變得更加困難,模型更加難以學(xué)習(xí)到使得模型性能最優(yōu)的參數(shù)。圖4.1:深層與淺層網(wǎng)絡(luò)學(xué)習(xí)走勢圖4.2殘差學(xué)習(xí)(ResidualLearning)為了解決這種更深卷積神經(jīng)網(wǎng)絡(luò)優(yōu)化困難的問題,微軟亞洲研究院提出了一種基于殘差學(xué)習(xí)理論的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)。該神經(jīng)網(wǎng)絡(luò)局部模型結(jié)構(gòu)的思想是:通過調(diào)整包含學(xué)習(xí)參數(shù)(如兩層體積基)的連續(xù)多層非線性計算的參數(shù)來學(xué)習(xí)隱含的抽象映射關(guān)系(mappingfunction),但是這個隱含的映射關(guān)系并不好優(yōu)化(在較深的網(wǎng)絡(luò)中),所以轉(zhuǎn)換一種思路,可以通過優(yōu)化輸入數(shù)據(jù)與映射以后的輸出數(shù)據(jù)之間的殘差(residual),從而達(dá)到網(wǎng)絡(luò)學(xué)習(xí)抽象特征提取的能力。這個殘差(residual)越逼近于0,代表這個網(wǎng)絡(luò)提取的特征是與原始的輸入是越相近的。將這種希望學(xué)習(xí)到的隱含的映射關(guān)系表示為Hx,我們可以讓這些堆疊的非線性層來擬合另外一個映射關(guān)系(殘差)Fx,Hx,x。原始的映射就會被轉(zhuǎn)化為Fx+x。在理想情況下,如果這個映射關(guān)系能夠優(yōu)化的很理想,那么就會逐步的將這個殘差逼近于0。這樣,這個堆疊的非線性層的輸出就能最大限度的保存原來輸入的面貌,然后直接傳遞給下一層。這兩種方法都是一種很有效的圖片淺層特征表示的方法,在圖片搜索、分類方面有著不錯的性能。并且這種殘差的思想在部分淺層視覺和計算機圖像學(xué)方面的實驗中,體現(xiàn)了更快的收斂速度。4.3殘差卷積神經(jīng)網(wǎng)絡(luò)在這一部分中,根據(jù)殘差理論,構(gòu)建了一個更深層次的網(wǎng)絡(luò)模型。這種網(wǎng)絡(luò)模型的思想仍然是堆疊多個單元模塊,以深化網(wǎng)絡(luò)的整體結(jié)構(gòu)。重點是引入最小網(wǎng)絡(luò)模型殘差塊(remidualblock)來實現(xiàn)殘差學(xué)習(xí)的思想,然后對整個模型進(jìn)行詳細(xì)的闡述。接下來,簡要介紹了將在網(wǎng)絡(luò)中應(yīng)用的批量規(guī)范化新技術(shù)。4.3.1BatchNormalization在深度學(xué)習(xí)實驗中,對實驗數(shù)據(jù)集進(jìn)行預(yù)處理是一種非常有效的方法,如白化或zscore等,即使是最常用的減法運算也能在一定程度上加快網(wǎng)絡(luò)的收斂速度。減去圖像的平均值可以使數(shù)據(jù)在空間的每個象限中更加隨機分布,避免了數(shù)據(jù)集中在空間的一個或幾個象限中的分布,從而在使用梯度下降算法時,隨機初始化的參數(shù)可以快速收斂。白化的目的是去除數(shù)據(jù)之間的相關(guān)性,從而去除數(shù)據(jù)中的冗余信息,使訓(xùn)練學(xué)習(xí)和數(shù)據(jù)處理更加高效。雖然白化比減去平均值能更有效地加速收斂,減少網(wǎng)絡(luò)過度擬合的可能性,但白化的計算過于耗時和耗費空間。批度規(guī)范化(BatchNormalization,以下簡稱BN)也是一種新的數(shù)據(jù)處理的方法,主要是對深度網(wǎng)絡(luò)中的每一個參數(shù)層(主要是卷積層)中的輸出數(shù)據(jù)進(jìn)行規(guī)范化處理,也就是一般對激活函數(shù)的輸入值進(jìn)行處理,使得輸出向量的各個維度的均值為0、方差為1。使用BatchNormalization主要有以下幾點好處:(1)對每一層的輸出進(jìn)行了規(guī)范化,能夠有效的防止參數(shù)不穩(wěn)定的變動;參數(shù)的變化量穩(wěn)定一點,網(wǎng)絡(luò)的收斂也就穩(wěn)定一些。(2)BatchNormalization能夠使L2權(quán)重衰減系數(shù)降低,有效防止過擬合。4.3.2ResidualBlock局部單元ResidualBlock的模型每一個卷積層都要接一個非線性激活函數(shù)ReLU,但是ResidualBlock單元沒有Pooling層,主要是防止Pooling層的下采樣操作造成過多信息損失。取代Pooling的是一個滑動步長為2的卷積操作,以此來逐層將每層輸入的FeatureMap的尺寸大小減半。這樣就會有兩種不同的ResidualBlock單元結(jié)構(gòu),本文中標(biāo)注為A類型和B類型。ResidualBlock的A類型,該單元結(jié)構(gòu)是一個普通的單元模型,輸入輸出的FeatureMap尺寸大小并不改變。該結(jié)構(gòu)具體為:第一層是一個卷積層,卷積核的大小為3×3,核的滑動步長為1,Padding大小為1,這樣來保證輸入到輸出的FeatureMap尺寸大小不變;第二層為一個BatchNormalization層,主要是對卷積層的輸出做一個歸一化處理,來防止網(wǎng)絡(luò)過于深而發(fā)生網(wǎng)絡(luò)梯度消散的問題;第三層為一個激活函數(shù)ReLu層,一定程度上保證了網(wǎng)絡(luò)的稀疏性,并有更好的非線性映射的效果;第四層是一個與第一層的參數(shù)配置一樣的卷積層,而且核的數(shù)量也是一樣的;第五層依然是緊跟一個BatchNormlizaton層;第六層執(zhí)行的計算是對應(yīng)位置的元素相加的矩陣運算,這樣就實現(xiàn)了殘差理論中將要學(xué)習(xí)的特征映射轉(zhuǎn)換為F(x)+x;第七層為ReLU激活函數(shù)層,將前一層的線性求和運算后的矩陣進(jìn)行一個非線性的操作,然后輸出的結(jié)果輸入到下一個ResidualBlock單元中。以上7層構(gòu)成了這個ResidualBlock的A類型,對其中的參數(shù)進(jìn)行分析統(tǒng)計,忽略BatchNorm的少量參數(shù),其具體網(wǎng)絡(luò)配置和參數(shù)統(tǒng)計情況如表4-1所示。模型,該單元的最終輸出的FeatureMap尺寸大不會減半,作用類似于Pooling層的下采樣(Subsample)操作,起到將網(wǎng)絡(luò)中間FeatureMap尺寸維度降低,使得網(wǎng)絡(luò)提取特征逐漸抽象化的作用。該結(jié)構(gòu)具體為:第一層是一個卷積層,卷積核的大小為3×3,但是不同于A類型結(jié)構(gòu)中的卷積層,該層卷積核的滑動步長為2,Padding(擴充)大小依然為1,這樣來保證輸入到輸出的FeatureMap尺寸大小減半;第二層同類型A一樣是BatchNormalizaton層;第三層緊接一個激活函數(shù)ReLu層,對前一層的輸入進(jìn)行非線性映射;第四層是依然是一個卷積層,卷積核的大小依然為3×3,但是與第一層的不一樣的是核的滑動步長為1,padding大小不變?yōu)?,保證輸入和輸出特征圖的大小不變,卷積核的數(shù)量也與第一層一樣,與類型A中的第四層一致;第五層依然是緊跟一個BatchNormlizaton層,與類型A中的第五層一致;第六層也是一個矩陣對應(yīng)元素相加的計算層,與類型A中的第六層一致;第七層對第六層的輸出映射ReLU激活函數(shù)層,與類型A中第七層一致。Mapping部分是B類型結(jié)構(gòu)特有的一個分支結(jié)構(gòu)。Mapping分支部分包括了一個卷積層和一個BatchNormlizaton層,卷積層的卷積核1×1的,核的滑動步長為2,擴充(padding)大小為0,作用是將輸入直接映射到一個尺寸減半的輸出特征圖(FeatureMap),并且該特征圖的大小與之前的第五層輸出的FeatureMap大小一致,這樣經(jīng)過接下來的BatchNormlizaton,將輸出FeatureMap進(jìn)行規(guī)范化處理后,能夠進(jìn)行第六層的對應(yīng)元素相加的矩陣操作,否者在輸出的FeatureMap的尺寸大小上會出現(xiàn)不一致。以上7層加上Mapping分支,共同構(gòu)成了這個ResidualBlock的B類型。4.4殘差卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練與實驗分析4.4.1圖片數(shù)據(jù)與預(yù)處理選擇CASIA人臉庫作為人臉庫中的訓(xùn)練集。訓(xùn)練結(jié)束后,剩余網(wǎng)絡(luò)仍將在lfw數(shù)據(jù)庫上進(jìn)行測試,完成lfw數(shù)據(jù)庫上兩張圖片的身份認(rèn)證。從表4-4可以看出,casiawebface數(shù)據(jù)庫中的圖片總數(shù)和人臉數(shù)遠(yuǎn)遠(yuǎn)超過其他兩個庫中的圖片總數(shù)和人臉數(shù)。顯然,在多分類問題中,使用更多的訓(xùn)練集對類別總數(shù)進(jìn)行訓(xùn)練,可以使網(wǎng)絡(luò)學(xué)習(xí)到更多區(qū)分這些不同人臉的不同特征,從而使網(wǎng)絡(luò)具有更好的識別效果。因此,選擇具有大量類別和樣本的casia-webface等數(shù)據(jù)庫,可以有效地提高具有隨機初始化參數(shù)(如殘差網(wǎng)絡(luò))的深度網(wǎng)絡(luò)的性能和精度。casiawebface數(shù)據(jù)庫中的圖像預(yù)處理是將人臉對齊并轉(zhuǎn)換成灰度圖像。圖片大小不是150x150。為了增加數(shù)據(jù)庫的數(shù)量和網(wǎng)絡(luò)的泛化能力,對圖片進(jìn)行了翻轉(zhuǎn)。lfw數(shù)據(jù)庫使用類似的處理方法。在網(wǎng)絡(luò)的實際訓(xùn)練中,整個圖片在casiawebface數(shù)據(jù)庫中的輸入并不是直接使用的,而是在圖像的中心區(qū)域附近,區(qū)域的隨機裁剪部分(randcrop),裁剪的大小是128×128,裁剪的方式如圖所示。4-7。隨機剪切不同區(qū)域后,得到更多的樣本,并且這些增加的樣本的背景和人臉位置是不同的。這樣,網(wǎng)絡(luò)模型對背景的變化和人臉位置的平移不敏感,從而提高了網(wǎng)絡(luò)的泛化性能。4.4.2網(wǎng)絡(luò)的訓(xùn)練殘差網(wǎng)絡(luò)是一個深層次的網(wǎng)絡(luò),雖然Residual學(xué)習(xí)的思想可以讓網(wǎng)絡(luò)模型變得更加容易調(diào)優(yōu),更加易于訓(xùn)練和收斂。但是不合理的學(xué)習(xí)參數(shù)的設(shè)置,比如學(xué)習(xí)率、網(wǎng)絡(luò)參數(shù)初始化等等,在試驗中依然會導(dǎo)致網(wǎng)絡(luò)訓(xùn)練失敗的情況。4.4.2.1網(wǎng)絡(luò)學(xué)習(xí)率殘差網(wǎng)絡(luò)的學(xué)習(xí)率的設(shè)定,也是很重要的。過大的學(xué)習(xí)率會造成網(wǎng)絡(luò)的梯度爆炸,導(dǎo)致網(wǎng)絡(luò)崩塌;過小的會使網(wǎng)絡(luò)的收斂變慢,使訓(xùn)練時間過長。通過多次試驗,殘差網(wǎng)絡(luò)的學(xué)習(xí)率的走勢如圖4-9所示時,可以讓網(wǎng)絡(luò)很好的收斂。開始的時候網(wǎng)絡(luò)可以使用一個較大的學(xué)習(xí)率0.01來進(jìn)行學(xué)習(xí),大概進(jìn)行到整個網(wǎng)絡(luò)訓(xùn)練的20~30%階段的時候,將學(xué)習(xí)率降低到原來的1/10,也就是0.001。之后到達(dá)60%左右階段的時候再次下降,達(dá)到0.0001。以后網(wǎng)絡(luò)收斂逐漸達(dá)到一個平穩(wěn)狀態(tài),學(xué)習(xí)率每隔一段時間就再次下降1/10直到網(wǎng)絡(luò)收斂停止。4.4.2.2網(wǎng)絡(luò)訓(xùn)練分析按照之前介紹的參數(shù)初始化方法和學(xué)習(xí)率的改變策略對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,得到的殘差網(wǎng)絡(luò)loss值隨訓(xùn)練迭代次數(shù)的走勢圖。從loss值的走勢圖可以看出,網(wǎng)絡(luò)最開始的loss值很小,在9.0左右,相對于輕量級VGG網(wǎng)絡(luò)中的loss值的走勢圖,這個值相對來說比較大,這主要是因為網(wǎng)絡(luò)并沒有使用預(yù)訓(xùn)練的初始化參數(shù),而是隨機初始化而來,其參數(shù)是沒有優(yōu)化的。在訓(xùn)練的開始幾個epoch中,網(wǎng)絡(luò)的loss值下降的很快,說明網(wǎng)絡(luò)的收斂速度很快,網(wǎng)絡(luò)模型結(jié)構(gòu)是有效的。過程中,沒有遇到梯度消散和梯度爆炸問題,并且相對于輕量級VGG網(wǎng)絡(luò)的開始幾輪迭代中的收斂速度,殘差網(wǎng)絡(luò)的收斂速度更快,這些也從側(cè)面說明了這種新的參數(shù)初始化是有效。在之后的epoch中,殘差網(wǎng)絡(luò)收斂速度也是依然很快速,逐漸隨網(wǎng)絡(luò)優(yōu)化和學(xué)習(xí)率的下降而變緩慢。最終達(dá)到比較好的效果。殘差網(wǎng)絡(luò)在Casia-WebFace數(shù)據(jù)庫上訓(xùn)練后,驗證集的多分類測試達(dá)到了78%左右的正確率。這個準(zhǔn)確率并不高,主要是因為Casia-WebFace數(shù)據(jù)庫中有很多錯誤的臟數(shù)據(jù)。受到這些錯誤訓(xùn)練集的干擾,網(wǎng)絡(luò)模型難以在訓(xùn)練集上進(jìn)行良好的擬合,但是得益于大量的樣本種類,網(wǎng)絡(luò)模型依然對人臉特征有了很好的提取能力。4.4.3LFW驗證結(jié)果分析在LFW數(shù)據(jù)庫中對以上模型的有效性進(jìn)行測試與分析。殘差網(wǎng)絡(luò)主要是提取網(wǎng)絡(luò)的倒數(shù)第二層,均值下采樣層(averagepooling層)的輸出特征向量作為人臉的特征進(jìn)行分類識別。從殘差網(wǎng)絡(luò)的配置參數(shù)可以得知,人臉的特征向量是一個512維度的特征向量。人臉圖片對的相似程度,就通過這512維的向量之間的歐式距離進(jìn)行衡量。在計算歐式距離之前,依然是將特征向量進(jìn)行歸一化,也就是每一維度除以向量所有維度數(shù)據(jù)的平方和的平方根。在LFW驗證中依然使用了兩種數(shù)據(jù)進(jìn)行比較,類型A使用的是LFW沒有人臉對齊,僅僅只是裁剪掉部分背景的人臉圖片;類型B使用的LFW數(shù)據(jù)是經(jīng)過與訓(xùn)練集一樣進(jìn)行過裁剪和人臉對齊以后的圖片。4.5本章小結(jié)本章主要是引入了一個新的卷積網(wǎng)絡(luò)模型學(xué)習(xí)的思想——殘差學(xué)習(xí)(ResidualLearning),并根據(jù)這種思想構(gòu)造了一個新的卷積神經(jīng)網(wǎng)絡(luò),成功應(yīng)用于人臉識別任務(wù)。第5章總結(jié)與展望第5章總結(jié)與展望人臉識別技術(shù)是利用人臉來完成身份識別和驗證任務(wù)的。由于人臉表情的多樣性、背景的復(fù)雜性、光照的變化、姿態(tài)的差異等,人臉識別在實際應(yīng)用中仍然具有挑戰(zhàn)性。人臉作為一種生物特征,在公安、圖像搜索等領(lǐng)域也有著非常方便的應(yīng)用,具有廣闊的應(yīng)用前景。本文利用卷積神經(jīng)網(wǎng)絡(luò)在近年來深學(xué)習(xí)領(lǐng)域的研究熱點,完成了人臉識別中的驗證任務(wù)。近年來,深卷積神經(jīng)網(wǎng)絡(luò)在計算機視覺領(lǐng)域取得了比傳統(tǒng)技術(shù)更為顯著的成就。本文設(shè)計了兩種不同結(jié)構(gòu)的深卷積神經(jīng)網(wǎng)絡(luò)。通過對人臉優(yōu)化識別問題的研究,實現(xiàn)了一種基于卷積神經(jīng)網(wǎng)絡(luò)分類和塊Radon尺度變換信息增強的人臉識別算法。在卷積神經(jīng)網(wǎng)絡(luò)分類器中,利用Radon尺度變換的幾何不變性增強人臉的關(guān)鍵特征點。特征分類用于優(yōu)化特征提取和人臉識別。實驗表明,該方法具有較好的人臉識別精度、較高的大樣本人臉識別精度、較好的實時性和較高的應(yīng)用價值。雖然在LFW測試集中,人臉識別方法的準(zhǔn)確率分別達(dá)到了99.1%和93.32%,但與頂級的人臉識別方法相比,仍有很大的差距。由于時間有限,筆者有一些想法尚未實現(xiàn):1。在特征融合方面,首先提取每個基本模型的卷積層,然后通過預(yù)處理和融合得到組合卷積層。最后利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。這樣不僅可以得到卷積層提取的基本特征,而且可以利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行更有效的學(xué)習(xí)。2。在本文中,只有三個開源模型用作基本模型,只有兩個模型用作最佳模型。后續(xù)思路上,采用更基本的模型,可以整合更多模型的優(yōu)點,從而進(jìn)一步提高改進(jìn)模型的有效性。三。本文所使用的兩個訓(xùn)練集較小,較大的數(shù)據(jù)集對深度學(xué)習(xí)訓(xùn)練更有效。參考文獻(xiàn)[1]M.AliAkberDewan,E.Granger,G.-L.Marcialis,R.Sabourin,F.Roli.Adaptiveappearancemodeltrackingforstill-to-videofacerecognition[J].PatternRecognition,2016,49:.[2]SamikB,SukhenduD.Mutualvariationofinformationontransfer-CNNforfacerecognitionwithdegradedprobesamples[J].Neurocomputing,2018,12(04):11-18.[3]Young-JooH,WooseongK,Joon-SangP.EfficientEye-BlinkingDetectiononSmartphones:AHybridApproachBasedonDeepLearning[J].MobileInformationSystems,2018,05(11):1-8.[4]YongXu,ZhengZhang,GuangmingLu,JianYang.Approximatelysymmetricalfaceimagesforimagepreprocessinginfacerecognitionandsparserepresentationbasedclassification[J].PatternRecognition,2015,:.[5]Xiao-YuanJing,FeiWu,XiaokeZhu,XiweiDong,FeiMa,ZhiqiangLi.Multi-spectrallow-rankstructureddictionarylearningforfacerecognition[J].PatternRecognition,2016,:.[6]AbdolhosseinFathi,PendarAlirezazadeh,FardinAbdali-Mohammadi.AnewGlobal-Gabor-Zernikefeaturedescriptoranditsapplicationtofacerecognition[J].JournalofVisualCommunicationandImageRepresentation,2016,:.[7EverardoSantiagoRamírez.Optimization-basedmethodologyfortrainingsetselectiontosynthesizecompositecorrelationfiltersforfacerecognition[J].SignalProcessing:ImageCommunication,2016,:.[8]馬姍姍.基于深度學(xué)習(xí)的低畫質(zhì)人臉識別研究[D].電子科技大學(xué),2018.[9]林勝光.面向局部遮擋的人臉識別方法研究及實現(xiàn)[D].電子科技大學(xué),2018.[10]李自豪.基于卷積神經(jīng)網(wǎng)絡(luò)的人臉圖像識別研究[D].鄭州大學(xué),2018.[11]王浩,孫福明.基于人臉識別的身份識別系統(tǒng)[J].電腦知識與技術(shù),2017,13(33):211-212.[12]孫勁光,孟凡宇.基于深度神經(jīng)網(wǎng)絡(luò)的特征加權(quán)融合人臉識別方法[J].計算機應(yīng)用,2016,3602:437-443.[13]張延安,王宏玉,徐方.基于深度卷積神經(jīng)網(wǎng)絡(luò)與中心損失的人臉識別[J].科學(xué)技術(shù)與工程,2017,17(35):92-97.[14]盧宏濤,張秦川.深度卷積神經(jīng)網(wǎng)絡(luò)在計算機視覺中的應(yīng)用研究綜述[J].數(shù)據(jù)采集與處理,2016,3101:1-17.[15]王飛,李強.基于改進(jìn)的深度信念網(wǎng)絡(luò)的人臉識別算法研究[J].蘭州交通大學(xué)學(xué)報,2016,3501:42-47+58.[16]胡正平,何薇,王蒙,孫哲.Gabor調(diào)制的深度多層子空間人臉特征提取算法[J].信號處理,2017,33(03):338-345.[17]陳耀丹,王連明.基于卷積神經(jīng)網(wǎng)絡(luò)的人臉識別方法[J].東北師大學(xué)報(自然科學(xué)版),2016,4802:70-76.[18]張泊平.云計算平臺下的人臉識別[J].現(xiàn)代電子技術(shù),2016,3918:88-90+95.[19]楊鳴鳴.基于嵌入式系統(tǒng)的人臉識別算法研究及其優(yōu)化[J].微型機與應(yīng)用,2016,3519:50-52.[20]余丹,吳小俊.一種卷積神經(jīng)網(wǎng)絡(luò)和極限學(xué)習(xí)機相結(jié)合的人臉識別方法[J].數(shù)據(jù)采集與處理,2016,3105:996-1003.[21]李春利,柳振東,惠康華.基于卷積神經(jīng)網(wǎng)絡(luò)的人臉識別研究[J].軟件導(dǎo)刊,2017,16(05):186-188.[22]楊巨成,劉娜,房珊珊,謝迎.基于深度學(xué)習(xí)的人臉識別方法研究綜述[J].天津科技大學(xué)學(xué)報,2016,3106:1-10.[23]楊瑞,張云偉,茍爽,支艷利.Gabor特征與深度信念網(wǎng)絡(luò)結(jié)合的人臉識別方法[J].傳感器與微系統(tǒng),2017,36(05):68-70.[24]馮建洋,諶海云.基于人工神經(jīng)網(wǎng)絡(luò)的人臉識別研究[J].自動化與儀器儀表,2017,05:24-26+29.[25]郭曉潔,陳良,沈長青,劉承建.自適應(yīng)深度卷積神經(jīng)網(wǎng)絡(luò)在人臉識別上的應(yīng)用[J].自動化技術(shù)與應(yīng)用,2017,36(07):72-77.[26]陳志軒,周大可,黃經(jīng)緯.基于卷積神經(jīng)網(wǎng)絡(luò)的表情不變?nèi)S人臉識別[J].電子測量技術(shù),201

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論