李海峰,李純果
(1.河北大學 教務(wù)處,河北 保定 071002;2.河北大學 數(shù)學與計算機學院,河北 保定 071002)
深度學習結(jié)構(gòu)和算法比較分析
李海峰1,李純果2
(1.河北大學 教務(wù)處,河北 保定 071002;2.河北大學 數(shù)學與計算機學院,河北 保定 071002)
Hinton等人提出的深度機器學習,掀起了神經(jīng)網(wǎng)絡(luò)研究的又一個浪潮.介紹了深度機器學習的基本概念和基本思想.對于目前比較成熟的深度機器學習結(jié)構(gòu)深度置信網(wǎng)DBNs和約束Boltzmann機(RBM)的結(jié)構(gòu)和無監(jiān)督貪婪學習算法作了比較詳細的介紹和比較,并對算法的改進方向提出了有建設(shè)性的意見,對深度機器學習的未來發(fā)展方向和目前存在的問題進行了深刻的分析.
深度機器學習;無監(jiān)督貪婪學習算法;DBNs;RBMs
隨著電腦的普及與發(fā)展,智能化、機械化成為人們關(guān)注的熱點.機器學習是仿照人類大腦工作的方式,讓電腦進行計算,學習到類似于大腦的工作方式.為此,研究學者需要構(gòu)建計算機能夠運作的模型,例如,神經(jīng)網(wǎng)絡(luò)就是根據(jù)人類的大腦神經(jīng)的激活或抑制的信號傳輸構(gòu)建的模型[1].神經(jīng)網(wǎng)絡(luò)的基本組成單位就是神經(jīng)元,神經(jīng)元的構(gòu)造方式完全模擬了人類大腦細胞的結(jié)構(gòu),如圖1.但是,顯而易見,人工神經(jīng)元只是簡單的結(jié)構(gòu)的模擬,要想達到與生物神經(jīng)元有相同的功能,還遠遠的不夠.科研工作者就其訓練的方式對其進行訓練,試圖讓人工神經(jīng)網(wǎng)絡(luò)的運算功能盡可能的與人類接近.簡單的網(wǎng)絡(luò)已經(jīng)可以進行基本的運算,甚至有2個隱含層的非線性神經(jīng)網(wǎng)絡(luò)已經(jīng)能夠?qū)θ我獾暮瘮?shù)進行平滑的逼近.從1943年McCulloch和Pitts提出的簡單神經(jīng)元開始,神經(jīng)網(wǎng)絡(luò)經(jīng)歷了幾度興衰.神經(jīng)網(wǎng)絡(luò)已經(jīng)深入到各個領(lǐng)域,技術(shù)相對比較成熟,然而也很難再有新突破.人類完成的日常生活中的各種簡單的動作,如果讓計算機來完成,就需要高度復(fù)雜的神經(jīng)網(wǎng)絡(luò)來完成.因此,Hinton等人提出了深度學習,掀起了神經(jīng)網(wǎng)絡(luò)研究的又一次浪潮.
圖1 生物神經(jīng)元與人工神經(jīng)元Fig.1 Structure of biological and artificial neurons
深度學習是為了能夠得到有助于理解圖片、聲音、文本等的數(shù)據(jù)所表述的意義而進行的多層次的表示和抽取的學習[2].例如,給定圖2中的圖片,大腦做出的反應(yīng)是:“許多黃色的郁金香.”同樣的圖片,輸入到計算機中,是描述圖片的最原始數(shù)據(jù),那就是用向量表示的像素.用簡單的機器學習,例如用含2個或3個隱含層的神經(jīng)網(wǎng)絡(luò),是不可能達到與人類類似的判別決策的.這就需要多層的學習器,逐層學習并把學習到的知識傳遞給下一層,以便下層能夠得到更高級別的表述形式,期望可以得到與人類類似的結(jié)論[2].
1.1 學習的深度
學習器的深度,決定于學習器的構(gòu)造.假設(shè)學習器為一個有向流通圖,那么深度就是從開始結(jié)點到結(jié)束結(jié)點(或從輸入結(jié)點到輸出結(jié)點)的最長路徑.例如,一個支撐向量機的深度是2,是輸入經(jīng)過一個核變換到核空間,再加上一個線性組合.再如多層前傳神經(jīng)網(wǎng)絡(luò)的深度是隱含層層數(shù)加1(輸出層).如果說學習到一次知識,就是一個深度的話,那么,學習的深度是原始數(shù)據(jù)被逐層學習的次數(shù).
根據(jù)學習的深度,機器學習可以分為淺度學習和深度學習.對于簡單的計算,淺度學習可以有效地進行計算,例如二進制數(shù)據(jù)的邏輯運算.顯然,如果想讓機器達到人腦的反應(yīng)效果,淺度學習是遠遠不夠的,必須要進行深度的機器學習,才有可能得到與人腦反應(yīng)近似的結(jié)果.實際上,深度的機器學習正是模擬了人腦的工作方式.對于圖2中的圖片,先由視網(wǎng)膜接受數(shù)據(jù)信號,視網(wǎng)膜通過神經(jīng)鏈接,把看到的圖片轉(zhuǎn)化成腦波信號傳輸?shù)酱竽X中,由于大腦的不同部位處理不同的問題,信號不可能一下子就傳到相應(yīng)位置,需要層層傳輸.同時,在信號傳輸過程中,大腦會提取不同的信息,例如,花的顏色、形狀、個數(shù)、位置、個體差異等等.因此,深度的機器學習模型需要具備類似的特征,也即,深度的機器學習模型可以提取觀察對象的不同方面的特征.為此,深度的機器學習模型通常為分層結(jié)構(gòu),每一層提取數(shù)據(jù)的1個或多個不同方面的特征,并把提取出的特征作為下一層的輸入.圖3是一個典型的深度學習模型.
圖2 待識別的圖片F(xiàn)ig.2 Picture for recognition
圖3 深度機器學習模型Fig.3 Deep learning model
1.2 深度學習的動機
從早期的神經(jīng)網(wǎng)絡(luò)的學習,到現(xiàn)在的深度學習,究其機制,都是從模擬大腦的構(gòu)架并輔以一定的學習算法,從而使計算機的工作方式盡可能地接近人類的工作方式.機器學習從僅有2層左右的學習構(gòu)架,要向有多層的結(jié)構(gòu)發(fā)展,不僅有生物神經(jīng)元的啟示,也是對現(xiàn)有的機器學習結(jié)構(gòu)的弊端的改進.
首先,人類大腦的神經(jīng)元系統(tǒng)是一個龐大的結(jié)構(gòu),由無數(shù)個神經(jīng)元共同組成,完成一定的生理功能.例如,從視網(wǎng)膜到處理視網(wǎng)膜的大腦區(qū)域,需要經(jīng)過無數(shù)層的神經(jīng)元層層傳遞視覺信息,最終到達大腦的視覺處理區(qū)域,然后再經(jīng)過信息處理,把信息反饋到肌肉神經(jīng),或語言區(qū)域.這個過程在生物神經(jīng)元系統(tǒng)只不過是瞬間的事情,但是,完成這個過程,是由已經(jīng)訓練好的神經(jīng)系統(tǒng)完成的,神經(jīng)系統(tǒng)對整個過程的處理,與從出生到成人的認知過程是分不開的.而這一切,要用電腦來完成,不是構(gòu)造簡單的人工神經(jīng)元就能夠完成的,需要大規(guī)模的神經(jīng)元組織和鏈接,并經(jīng)過來自于外界信息的不斷強化和訓練.故從結(jié)構(gòu)上,神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)要加深.
由于其自身的復(fù)雜性,深度學習算法很多年都沒有新的進展.就監(jiān)督的多層神經(jīng)網(wǎng)絡(luò)來說,無論是測試精度還是訓練精度,深度學習的結(jié)果遠遠不如有1個或2個隱含層的神經(jīng)網(wǎng)絡(luò)的結(jié)果.直到2006年,Hinton等人提出了貪婪無監(jiān)督逐層學習算法[4],深度學習的問題才有所突破.
同機器學習方法一樣,深度機器學習方法也有監(jiān)督學習與無監(jiān)督學習之分.不同的學習框架下建立的學習模型很是不同.例如,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks,簡稱CNNs)就是一種深度的監(jiān)督學習下的機器學習模型,而深度置信網(wǎng)(Deep Belief Nets,簡稱DBNs)就是一種無監(jiān)督學習下的機器學習模型.
2.1 卷積神經(jīng)網(wǎng)絡(luò)
20世紀60年代,Hubel和Wiesel在研究貓腦皮層時,發(fā)現(xiàn)了一種獨特的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),可以有效地降低反饋神經(jīng)網(wǎng)絡(luò)的復(fù)雜性,進而提出了卷積神經(jīng)網(wǎng)絡(luò)[5].現(xiàn)在,卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)發(fā)展成一種高效的圖像識別方法[6].
其中,i和j標注了該神經(jīng)元在特征平面上的位置.
圖4 用于圖像識別的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Convolution network for image recognition
圖5 卷積層的接受域Fig.5 Receptive field of one neuron in a convolution layer
每個卷積層都會緊跟1個次抽樣層.輸入數(shù)據(jù)經(jīng)過卷積后,進入高維空間,換句話說,卷積層進行了升維映射.如果不斷地進行升維,則不可避免地陷入維數(shù)災(zāi)難.同卷積層類似,次抽樣層的每個特征平面上的神經(jīng)元也共享連接權(quán)重,且每個神經(jīng)元都從其接受域中接受數(shù)據(jù).卷積層的每個特征平面都對應(yīng)了次抽樣層的1個特征平面,次抽樣層中的神經(jīng)元對其接受域中的數(shù)據(jù)進行抽樣(例如,取大,取小,取平均值,等等),因此次抽樣層的特征平面上的神經(jīng)元的個數(shù)往往會減半.
卷積層的每一個平面都抽取了前一層某一個方面的特征.每個卷積層上的每個結(jié)點,作為特征探測器,共同抽取輸入圖像的某個特征,例如45°角、反色、拉伸、翻轉(zhuǎn)、平移等.圖像經(jīng)過一層卷積,就由原始空間被影射到特征空間,在特征空間中進行圖像的重構(gòu).卷積層的輸出,為圖像在特征空間中重構(gòu)的坐標,作為下一層也就是次抽樣層的輸入.
LeCun從1998年開始,專注于卷積神經(jīng)網(wǎng)絡(luò)的研究,提出了LeNet模型[8](如圖6),用于識別手寫和機打字體,逐漸已經(jīng)適用識別很多類圖形問題.由圖6所示,輸入層后有2組隱含層抽取輸入圖像的特征,最后有一個全連接的隱含層完成對輸入圖像的識別.LeNet模型在識別手寫數(shù)字上達到很高的識別率,而且具有拉伸、擠壓、反轉(zhuǎn)的不變性,而且抗噪能力很強.模型用傳統(tǒng)的BP進行訓練.
圖6 LeNet模型Fig.6 LeNet Model
2.2 深度置信網(wǎng)
其中x是可見變量,描述可以觀察的數(shù)據(jù);h是隱含變量,無法觀察到其實際取值;b和h分別是可見變量和隱含變量的閾值;W,U,V是結(jié)點之間的連接權(quán)重.如果對Boltzmann機加以約束條件,令其自身不與自身連接,則得到一個有向無環(huán)圖RBM(如圖7a),其能量函數(shù)定義為E(x,h)=-b′x-c′h-x′Wh.
一個典型的置信網(wǎng)可以看成是由多個隨機變量組成的有向無環(huán)圖,也可以看成是多個RBM的累加,而深層置信網(wǎng)就是一個復(fù)雜度很高的有向無環(huán)圖.Hinton等人[3]認為,一個有l(wèi)個隱含層的典型的DBN,可以用聯(lián)合概率分布刻畫輸入向量x和隱含向量h的關(guān)系
其中x=h0,P(hk|hk+2)是條件概率分布.DBN學習的過程,就是學習聯(lián)合概率分布的過程.而聯(lián)合概率分布的學習是機器學習中的產(chǎn)生式學習方式.
圖7 深度學習模型Fig.7 Deep Learning Model
對于深度的機器學習,由于參數(shù)變量很多,所以合適的訓練算法直接決定了學習器的性能.以往的基于最速梯度下降的BP算法,在經(jīng)典的神經(jīng)網(wǎng)絡(luò)中被廣泛應(yīng)用,可以得到泛化性能很好的網(wǎng)絡(luò)結(jié)構(gòu),但是BP算法對于深度學習器的訓練卻存在一定的困難.這主要是BP算法本身的約束所在.首先,BP算法是監(jiān)督學習,訓練數(shù)據(jù)必須是有類標數(shù)據(jù).但是,實際能得到的數(shù)據(jù)大都是無類標數(shù)據(jù).其次,BP算法不適合有很多隱含層的學習結(jié)構(gòu),一是計算偏導數(shù)很困難,二是誤差需要層層逆?zhèn)?,收斂速度很?最后,BP算法經(jīng)常會陷入到局部最優(yōu)解,不能到達全局最優(yōu)解.因此,Hinton等人提出了貪婪的逐層無監(jiān)督訓練算法[4].
貪婪無監(jiān)督學習算法的基本思想是,把一個DBN網(wǎng)絡(luò)分層,對每一層進行無監(jiān)督學習,最后對整個網(wǎng)絡(luò)用監(jiān)督學習進行微調(diào).把一個DBN網(wǎng)絡(luò)分層,每層都由若干計算單元(常常是幾百個或幾千個)組成(如圖7b),各自獨立計算該層接受到的數(shù)據(jù),每個層的節(jié)點之間沒有連接.與外界環(huán)境連接的節(jié)點層為輸入層,輸入層接受來自于外界的輸入,例如圖像數(shù)據(jù).第1層(即輸入層)與第2層構(gòu)成一個典型的RBM,根據(jù)無監(jiān)督學習調(diào)節(jié)網(wǎng)絡(luò)參數(shù),使得RBM達到能量平衡.然后,第1層的輸出作為第2層與第3層構(gòu)成一個新的RBM,第1層的輸出作為外界輸入,繼續(xù)調(diào)節(jié)參數(shù),使當前RBM結(jié)構(gòu)達到能量平衡.如此進行下去,直到最后一層(如圖7c).當完成無監(jiān)督逐層訓練學習后,再以原始外界輸入和目標輸出對整個網(wǎng)絡(luò)進行有監(jiān)督學習,以最大似然函數(shù)為目標,精調(diào)網(wǎng)絡(luò)各層的參數(shù).
Gibbs抽樣技術(shù)是在訓練每個RBM時采用的有效隨機抽樣技術(shù)[11].設(shè)需要從未知的聯(lián)合概率分布f(x1,…,xk)中抽取n個樣本X(1),X(2),…,X(n).由于
在貪婪學習算法中,也采用了Wake-Sleep算法的基本思想[12].算法在覺醒階段,采用學習到的權(quán)重,按照自底朝上的順序,為下一層產(chǎn)生訓練需要用的數(shù)據(jù),而在睡眠階段,按照自頂朝下,用權(quán)重對數(shù)據(jù)進行重建,如表1.
表1 貪婪學習算法實現(xiàn)步驟Tab.1 Implementing procedure of greedy layer-wise learning
神經(jīng)網(wǎng)絡(luò)是人工智能領(lǐng)域的一個重要分支,利用神經(jīng)網(wǎng)絡(luò)可以任意精度逼近任意光滑的曲線,這使得神經(jīng)網(wǎng)絡(luò)成為人工智能、數(shù)據(jù)挖掘等領(lǐng)域的一個重要工具.本文主要是簡要介紹了深度機器學習的主要思想,以及有效的學習算法.深度機器學習是神經(jīng)網(wǎng)絡(luò)又一次興起的標志.但是,深度機器學習的訓練時間過長,常常需要幾個星期的訓練時間,如果能合并訓練,提高訓練速度,則會大大提高深度機器學習的實用性.另外,深度機器學習學習到的知識表示的物理意義很不明確,如果能把各層學習到的知識表示成有物理意義的知識,則會增加學習到知識的可理解性.這些問題都有待解決.
[1] HAYKIN S.Neural Networks:A comprehensive foundation[M].2nd ed.New York:Prentice-Hall,1999.
[2] BENGIO Y.Learning deep architectures for AI[J].Foundations and Trends in Machine Learning,2009,2(1):1-127.
[3] HINTON G E,MCCLELLAND J L,RUMELHART D E.Distributed Representations[M].Cambridge:MIT Press,1986.
[4] HINTON G E,OSINDERO S.A fast learning algorithm for deep belief nets[J].Neural Computation,2006,18:1527-1554.
[5] HUBEL D,WIESEL T.Receptive fields,binocular interaction,and functional architecture in the cat's visual cortex[J].Journal of Physiology,1962,160:106-154.
[6] LECUNY,KAVUKCUOGLUK,F(xiàn)ARABET C.Convolutional networks and applications in vision[Z].International Symposium on Circuits and Systems,Paris,2010.
[7] LASERSON J.From neural networks to deep learning:zeroing in on the human brain[J].XRDS,2011,18(1):29-34.
[8] LECUNY,BOTTOU L,BENGIO Y,et al.Gradient-based learning applied to document recognition[J].Proceedings of IEEE,1998,86(11):2278-2324.
[9] ERHAND,BENGIO Y,COURVILE A,et al.Why does unsupervised pre-training help deep learning[J].Journal of Machine Learning Research,2010,11:625-660.
[10] BENGIO Y,LAMBLIN P,POPOVICI D,et al.Greedy layer-wise training of deep networks[J].Advances in Neural Information Processing Systems,2007,19:153-160.
[11] BISHOP C M.Pattern recognition and machine learning[M].New York:Springer,2006.
[12] HINTON G E,DAYAN P,F(xiàn)REY B,et al.The wake-sleep algorithm for unsupervised neural network[J].Science,1995,268:1158-1161.
Note on deep architecture and deep learning algorithms
LI Haifeng1,LI Chunguo2
(1.Department of Academic Affairs,Hebei University,Baoding 071002,China;2.College of Mathematics and Computer Science,Hebei University,Baoding 071002,China)
Deep architectures proposed by Hinton et al stir up another study wave in neural networks.This paper introduced the idea and basic concepts in deep learning.DBNs and RBMs are the advanced structures of deep learning,whose structures and effective learning algorithm are also introduced in detail in this paper.In addition,open questions in deep learning are also briefly displayed so that researchers who are interested in can devote themselves into those questions and solve them.
deep learning;greedy learning algorithm;DBNs;RBMs
TP391
A
1000-1565(2012)05-0538-07
2012-04-05
保定市科學技術(shù)研究與發(fā)展指導計劃項目(12ZG005);河北省高等學校科學研究計劃項目(JYGH2011011)
李海峰(1980-),男,河北唐縣人,河北大學講師,主要從事機器學習、教學信息化等研究.
E-mail:lihf@hbu.edu.cn
孟素蘭)