摘要:Deep Learning[1]帶來了機(jī)器學(xué)習(xí)的新浪潮,Google Brain項目、微軟全自動同聲傳譯系統(tǒng)、百度研究院都是很好的見證。Deep Learning推動了“大數(shù)據(jù)+深度模型”時代的來臨,已經(jīng)受到學(xué)術(shù)界和工業(yè)界廣泛重視,它帶來的科技進(jìn)步將改變?nèi)藗兊纳?。本文從Deep Learning多隱含層感知架構(gòu)、訓(xùn)練和數(shù)據(jù)處理過程方面,分析Deep Learning算法;并基于Regularization of Neural Networks using DropConnect[2]模型,提出了新的改進(jìn)方法并描述分析了該新方法。最后提出了改進(jìn)Deep Learning算法的思維方式并展望了Deep Learning的美好前景。
關(guān)鍵詞:Deep Learning;多隱含層感知;DropConnect;算法
中圖分類號:TP181
Deep Learning是機(jī)器學(xué)習(xí)研究的新領(lǐng)域,它掀起了機(jī)器學(xué)習(xí)領(lǐng)域的第二次浪潮,并受到學(xué)術(shù)界到工業(yè)界高度重視。Deep Learning概念根源于人工神經(jīng)網(wǎng)絡(luò)[3],它由Geoffrey Hinton等在Science上提出。它致力于建立模擬人腦分析學(xué)習(xí)機(jī)制的多層次神經(jīng)網(wǎng)絡(luò),并通過這種網(wǎng)絡(luò)分析解釋數(shù)據(jù),如視頻、文本和聲音等。Deep Learning的多隱含層使得它具有優(yōu)異的特征學(xué)習(xí)能力,而且學(xué)習(xí)得到的特征對數(shù)據(jù)有更本質(zhì)的刻畫,從而有利于可視化或分類。它的“逐層初始化”(layer-wise pre-training[4])可以有效克服深度神經(jīng)網(wǎng)絡(luò)在訓(xùn)練上的難度。本文在對Deep Learning算法分析的基礎(chǔ)上,著重闡述了對Regularization of Neural Networks using DropConnect模型的改進(jìn)。
1 Deep Learning算法分析
1.1 Deep Learning多隱含層感知架構(gòu)
Deep Learning算法最優(yōu)秀特征是多隱含層感知器架構(gòu),這種架構(gòu)通過組合低層特征來形成更加抽象的高層屬性類別或特征,并實現(xiàn)對數(shù)據(jù)分布式表示。Deep Learning的多隱含層結(jié)構(gòu)是由輸入層、隱層(多層)、輸出層組成的多層網(wǎng)絡(luò)(如圖1所示),只有相鄰層神經(jīng)元之間有連接,同一層以及跨層節(jié)點之間相互無連接,每一層可以看作是一個淺層機(jī)器學(xué)習(xí)模型(如logistic regression,Support Vector Machines)。
圖1 含多個隱含層的Deep Learning模型
Deep Learning的多隱含層感知結(jié)構(gòu)模擬的是人腦的大腦皮層工作。人大腦皮層計算也是分多層進(jìn)行[5],例如圖像在人腦中是分多個階段處理,首先是進(jìn)入大腦皮層V1區(qū)提取邊緣特征,然后進(jìn)入大腦皮層V2區(qū)抽象成圖像的形狀或者部分,再到更高層,以此類推。高層的特征是由底層組合而成。使用含多隱含層感知器架構(gòu)網(wǎng)絡(luò)主要優(yōu)勢在于它能以更簡潔的方式表達(dá)比淺層網(wǎng)絡(luò)大得多的函數(shù)關(guān)系(如圖2)。通過這種深層非線性網(wǎng)絡(luò)結(jié)構(gòu),Deep Learning可以實現(xiàn)復(fù)雜函數(shù)的逼近,表征輸入數(shù)據(jù)的分布式表示,并展現(xiàn)了強(qiáng)大的從少數(shù)樣本集中學(xué)習(xí)數(shù)據(jù)集本質(zhì)特征的能力。
圖2 多層次實現(xiàn)復(fù)雜函數(shù)圖
1.2 Deep Learning訓(xùn)練過程
(1)首先逐層構(gòu)建單層神經(jīng)元,使得每次都是訓(xùn)練一個單層網(wǎng)絡(luò)。
(2)當(dāng)所有層訓(xùn)練完后,使用Wake-Sleep算法[6]進(jìn)行調(diào)優(yōu)。
將除最頂層的其它層間的權(quán)重是雙向的。向上的權(quán)重用于“認(rèn)知”,向下的權(quán)重用于“生成”。然后使用Wake-Sleep算法調(diào)整所有的權(quán)重。讓“認(rèn)知”和“生成”達(dá)成一致,也就是保證生成的最頂層表示能夠盡可能正確的復(fù)原底層的結(jié)點。
1.3 Deep Learning數(shù)據(jù)處理一般過程
Deep Learning算法通過傳感器等方式獲得數(shù)據(jù)之后,首先對數(shù)據(jù)進(jìn)行預(yù)處理。在數(shù)據(jù)預(yù)處理中,標(biāo)準(zhǔn)的第一步是數(shù)據(jù)歸一化處理,第二步是數(shù)據(jù)白化處理(如PCA白化和ZCA白化)。其次特征提取和特征選擇。然后將輸出作為下層的輸入,不斷進(jìn)行特征提取和特征選擇,直到學(xué)習(xí)到合符要求的最佳特征。在特征提取和特征選擇過程中,常用自動編碼、稀疏編碼、聚類算法、限制波爾茲曼機(jī)、卷積神經(jīng)網(wǎng)絡(luò)等算法進(jìn)行特征提取和特征選擇。然后用反向傳播算法、隨機(jī)梯度下降算法、批量梯度下降算法等進(jìn)行調(diào)優(yōu)處理,再用池化等算法避免特征過度擬合,從而得到最終提取特征。最后將學(xué)習(xí)到的最終提取特征輸入到分類器(如softmax分類器,logistic回歸分類器)進(jìn)行識別、推理或預(yù)測。
2 基于Regularization of Neural Networks using DropConnect模型改進(jìn)
2.1 Regularization of Neural Networks using DropConnect模型[2]
該模型的四個基本組成成分是:
(1)特征提?。簐=g(x;Wg)。x是輸入層的輸入數(shù)據(jù),Wg是特征提取函數(shù)的參數(shù),v是輸出的提取特征,特征提取函數(shù)g()。其中g(shù)()為多層卷積神經(jīng)網(wǎng)絡(luò)算法函數(shù),而Wg卷積神經(jīng)網(wǎng)絡(luò)的偏值。
(2)DropConnect層:r=a(u)=a((M*W)v)如圖3。v是輸出的提取特征,W是完全連接的權(quán)重矩陣,M是二進(jìn)制掩碼矩陣,該矩陣的每個元素隨機(jī)的以1-p概率設(shè)置為0或以p概率設(shè)置為1,a()是一個非線性激活函數(shù),r是輸出向量。M*W是矩陣對應(yīng)元素相乘。
(3)Softmax分類器層:o=s(r;Ws)。將r映射到一個k維的輸出矩陣(k是類的個數(shù)),Ws是softmax分類函數(shù)的參數(shù)。
(4)交叉熵?fù)p失:A(y,o)=-∑yi㏒(oi),i∈﹛1,2,3…k﹜。y是標(biāo)簽,o是概率。
圖3 DropConnect示意圖
2.2 模型改進(jìn)描述和分析
對DropConnect模型的改進(jìn)主要集中在上面它的四個基本組成成分中的DropConnect層。由于該層以隨機(jī)方式讓掩碼矩陣M的每個元素Mij按1-p的概率設(shè)置為0,然后讓掩碼矩陣與層間的權(quán)重矩陣對應(yīng)相乘即M*W。相對DropOut模型r=a((M*(Wv))得到的特征,r=a((M*W)v)得到的特征是比較好的特征r,同時也提高算法的泛化性。因為Dropconnect模型在權(quán)重W和v運算之前,將權(quán)重以一定的概率稀疏了,從運行結(jié)果看整體算法的錯誤率降低了。但是,由于是隨機(jī)的讓Mij按1-p的概率為0,并且這種隨機(jī)是不可以預(yù)測的,故可能會導(dǎo)致某些重要特征對應(yīng)的權(quán)重被屏蔽掉,最終造成輸出ri的準(zhǔn)確性降低。故就此提出了新的設(shè)計思想。
改進(jìn)思想是用單層稀疏編碼層代替DropConnect層,通過稀疏編碼訓(xùn)練出一組最佳稀疏的特征。具體描述:讓經(jīng)過多層卷積神經(jīng)網(wǎng)絡(luò)提取到的特征v作為稀疏編碼的輸入,經(jīng)過稀疏編碼重復(fù)訓(xùn)練迭代,最終得到最佳的稀疏的特征r。因為稀疏編碼算法是一種無監(jiān)督學(xué)習(xí)方法,用它可以尋找出一組“超完備”基向量來更高效地表示輸入數(shù)據(jù)。
總之任何對Deep Learning算法的改進(jìn),都是為了提取出最佳特征,并使用優(yōu)秀的分類算法來分類、預(yù)測或推理,最終降低算法的錯誤率。而對于怎樣改進(jìn)算法,以何種方式降低錯誤率,則沒有具體的限制。并且各種提取特征和特征選擇的算法之間并不是互斥的,它們之間可以有各種形式的嵌套,最終的目標(biāo)都是提高算法的正確率和效率。
3 結(jié)束語
Deep Learning使得語音、圖像和文本等的智能識別和理解取得驚人進(jìn)展,如Google Brain項目和微軟推同聲傳譯系統(tǒng)。它極大地推動了人工智能和人機(jī)交互快速發(fā)展。隨著從學(xué)術(shù)界到工業(yè)界的廣泛重視,Deep Learning算法的改進(jìn)依然在繼續(xù),Deep Learning算法的正確率和效率仍在不斷提高。Deep Learning的發(fā)展將加快“大數(shù)據(jù)+深度模型”時代來臨。
參考文獻(xiàn):
[1]Hinton G E,Salakhutdinov R R.Reducing the dimensionality of data with neural networks[J].Science,2006(5786):504-507
[2]湯姆·米切爾.機(jī)器學(xué)習(xí)[M].北京:機(jī)械工業(yè)出版社,2003:1-280.
[3]吳昌友.神經(jīng)網(wǎng)絡(luò)的研究及應(yīng)用[D].哈爾濱:東北農(nóng)業(yè)大學(xué),2007.
[4]HINTON G,OSINDERO S,TEH Y. A fast learning algorithm for deep belief nets[J].Neural Computation,2006(07):1527-1554.
[5]Hubel D H, Wiesel T N. Receptive fields,binocular interaction and functional architecture in the cat's visual cortex[J].The Journal of physiology,1962(01):106.
[6]Chuang Gao,Bin Chen,Wei Wei.Dynamic detection of wake-sleep transition with reaction time-magnitude[J].Neural Regenerattion Research,2009(07):552-560.
作者簡介:魯向擁(1992-),男,河南開封人,在校本科生,研究方向:計算機(jī)科學(xué)與技術(shù);陳悅(1992-),女,河南濮陽人,計算機(jī)科學(xué)技術(shù)專業(yè)在校本科生,研究方向:計算機(jī)科學(xué)與技術(shù);張瞳(1992-),男,河南鄭州人,在校本科生,研究方向:計算機(jī)科學(xué)與技術(shù);葛貝(1991-),男,河南開封人,在校本科生,研究方向:技術(shù)經(jīng)濟(jì)與管理。
作者單位:河南大學(xué) 計算機(jī)與信息工程學(xué)院,河南開封 475000;河南大學(xué) 國際教育學(xué)院,河南開封 475000;西北農(nóng)林科技大學(xué) 經(jīng)濟(jì)管理學(xué)院,陜西咸陽 712100