網(wǎng)站首頁企業(yè)百科 產(chǎn)品百科 技術(shù)百科 人物百科
深度學(xué)習(xí)的概念源于人工神經(jīng)網(wǎng)絡(luò)的研究。含多隱層的多層感知器就是一種深度學(xué)習(xí)結(jié)構(gòu)。深度學(xué)習(xí)通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。
深度學(xué)習(xí)的概念由Hinton等人于2006年提出?;谏疃戎眯啪W(wǎng)絡(luò)(DBN)提出非監(jiān)督貪心逐層訓(xùn)練算法,為解決深層結(jié)構(gòu)相關(guān)的優(yōu)化難題帶來希望,隨后提出多層自動編碼器深層結(jié)構(gòu)。此外Lecun等人提出的卷積神經(jīng)網(wǎng)絡(luò)是個真正多層結(jié)構(gòu)學(xué)習(xí)算法,它利用空間相對關(guān)系減少參數(shù)數(shù)目以提高訓(xùn)練性能。
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)中一種基于對數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的方法。觀測值(例如一幅圖像)可以使用多種方式來表示,如每個像素強(qiáng)度值的向量,或者更抽象地表示成一系列邊、特定形狀的區(qū)域等。而使用某些特定的表示方法更容易從實例中學(xué)習(xí)任務(wù)(例如,人臉識別或面部表情識別)。深度學(xué)習(xí)的好處是用非監(jiān)督式或半監(jiān)督式的特征學(xué)習(xí)和分層特征提取算法來替代手工獲取特征。
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)研究中的一個新的領(lǐng)域,其動機(jī)在于建立、模擬人腦進(jìn)行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),它模仿人腦的機(jī)制來解釋數(shù)據(jù),例如圖像,聲音和文本。
同機(jī)器學(xué)習(xí)方法一樣,深度機(jī)器學(xué)習(xí)方法也有監(jiān)督學(xué)習(xí)與無監(jiān)督學(xué)習(xí)之分.不同的學(xué)習(xí)框架下建立的學(xué)習(xí)模型很是不同.例如,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks,簡稱CNNs)就是一種深度的監(jiān)督學(xué)習(xí)下的機(jī)器學(xué)習(xí)模型,而深度置信網(wǎng)(Deep Belief Nets,簡稱DBNs)就是一種無監(jiān)督學(xué)習(xí)下的機(jī)器學(xué)習(xí)模型。
目錄
機(jī)器學(xué)習(xí)(Machine Learning)是一門專門研究計算機(jī)怎樣模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為,以獲取新的知識或技能,重新組織已有的知識結(jié)構(gòu)使之不斷改善自身的性能的學(xué)科。機(jī)器能否像人類一樣能具有學(xué)習(xí)能力呢?1959年美國的塞繆爾(Samuel)設(shè)計了一個下棋程序,這個程序具有學(xué)習(xí)能力,它可以在不斷的對弈中改善自己的棋藝。4年后,這個程序戰(zhàn)勝了設(shè)計者本人。又過了3年,這個程序戰(zhàn)勝了美國一個保持8年之久的常勝不敗的。這個程序向人們展示了機(jī)器學(xué)習(xí)的能力,提出了許多令人深思的社會問題與哲學(xué)問題。
從一個輸入中產(chǎn)生一個輸出所涉及的計算可以通過一個流向圖(flow graph)來表示:流向圖是一種能夠表示計算的圖,在這種圖中每一個節(jié)點(diǎn)表示一個基本的計算以及一個計算
的值,計算的結(jié)果被應(yīng)用到這個節(jié)點(diǎn)的子節(jié)點(diǎn)的值??紤]這樣一個計算集合,它可以被允許在每一個節(jié)點(diǎn)和可能的圖結(jié)構(gòu)中,并定義了一個函數(shù)族。輸入節(jié)點(diǎn)沒有父節(jié)點(diǎn),輸出節(jié)點(diǎn)沒有子節(jié)點(diǎn)。
這種流向圖的一個特別屬性是深度(depth):從一個輸入到一個輸出的長路徑的長度。
傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)能夠被看做擁有等于層數(shù)的深度(比如對于輸出層為隱層數(shù)加1)。SVMs有深度2(一個對應(yīng)于核輸出或者特征空間,另一個對應(yīng)于所產(chǎn)生輸出的線性混合)。
人工智能研究的方向之一,是以所謂 “專家系統(tǒng)” 為代表的,用大量 “如果-就” (If - Then) 規(guī)則定義的,自上而下的思路。人工神經(jīng)網(wǎng)絡(luò) ( Artifical Neural Network),標(biāo)志著另外一種自下而上的思路。神經(jīng)網(wǎng)絡(luò)沒有一個嚴(yán)格的正式定義。它的基本特點(diǎn),是試圖模仿大腦的神經(jīng)元之間傳遞,處理信息的模式。
需要使用深度學(xué)習(xí)解決的問題有以下的特征:
深度不足會出現(xiàn)問題。
人腦具有一個深度結(jié)構(gòu)。
認(rèn)知過程逐層進(jìn)行,逐步抽象。
在許多情形中深度2就足夠表示任何一個帶有給定目標(biāo)精度的函數(shù)。但是其代價是:圖中所需要的節(jié)點(diǎn)數(shù)(比如計算和參數(shù)數(shù)量)可能變的非常大。理論結(jié)果證實那些事實上所需要的節(jié)點(diǎn)數(shù)隨著輸入的大小指數(shù)增長的函數(shù)族是存在的。
我們可以將深度架構(gòu)看做一種因子分解。大部分隨機(jī)選擇的函數(shù)不能被有效地表示,無論是用深的或者淺的架構(gòu)。但是許多能夠有效地被深度架構(gòu)表示的卻不能被用淺的架構(gòu)表示。一個緊的和深度的表示的存在意味著在潛在的可被表示的函數(shù)中存在某種結(jié)構(gòu)。如果不存在任何結(jié)構(gòu),那將不可能很好地泛化。
大腦有一個深度架構(gòu)
例如,視覺皮質(zhì)得到了很好的研究,并顯示出一系列的區(qū)域,在每一個這種區(qū)域中包含一個輸入的表示和從一個到另一個的信號流(這里忽略了在一些層次并行路徑上的關(guān)聯(lián),因此更復(fù)雜)。這個特征層次的每一層表示在一個不同的抽象層上的輸入,并在層次的更上層有著更多的抽象特征,他們根據(jù)低層特征定義。
需要注意的是大腦中的表示是在中間緊密分布并且純局部:他們是稀疏的:1%的神經(jīng)元是同時活動的。給定大量的神經(jīng)元,仍然有一個非常地(指數(shù)級)表示。
認(rèn)知過程逐層進(jìn)行,逐步抽象
人類層次化地組織思想和概念;
人類首先學(xué)習(xí)簡單的概念,然后用他們?nèi)ケ硎靖橄蟮模?BR>
工程師將任務(wù)分解成多個抽象層次去處理;
學(xué)習(xí)/發(fā)現(xiàn)這些概念(知識工程由于沒有反省而失???)是很美好的。對語言可表達(dá)的概念的反省也建議我們一個稀疏的表示:僅所有可能單詞/概念中的一個小的部分是可被應(yīng)用到一個特別的輸入(一個視覺場景)。
假設(shè)我們有一個系統(tǒng)S,它有n層(S1,…Sn),它的輸入是I,輸出是O,形象地表示為: I =>S1=>S2=>…..=>Sn => O,如果輸出O等于輸入I,即輸入I經(jīng)過這個系統(tǒng)變化之后沒有任何的信息損失,設(shè)處理a信息得到b,再對b處理得到c,那么可以證明:a和c的互信息不會超過a和b的互信息。這表明信息處理不會增加信息,大部分處理會丟失信息。保持了不變,這意味著輸入I經(jīng)過每一層Si都沒有任何的信息損失,即在任何一層Si,它都是原有信息(即輸入I)的另外一種表示?,F(xiàn)在回到主題Deep Learning,需要自動地學(xué)習(xí)特征,假設(shè)我們有一堆輸入I(如一堆圖像或者文本),假設(shè)設(shè)計了一個系統(tǒng)S(有n層),通過調(diào)整系統(tǒng)中參數(shù),使得它的輸出仍然是輸入I,那么就可以自動地獲取得到輸入I的一系列層次特征,即S1,…, Sn。
對于深度學(xué)習(xí)來說,其思想就是對堆疊多個層,也就是說這一層的輸出作為下一層的輸入。通過這種方式,就可以實現(xiàn)對輸入信息進(jìn)行分級表達(dá)了。
另外,前面是假設(shè)輸出嚴(yán)格地等于輸入,這個限制太嚴(yán)格,可以略微地放松這個限制,例如只要使得輸入與輸出的差別盡可能地小即可,這個放松會導(dǎo)致另外一類不同的Deep Learning方法。上述就是Deep Learning的基本思想。
把學(xué)習(xí)結(jié)構(gòu)看作一個網(wǎng)絡(luò),則深度學(xué)習(xí)的核心思路如下:
?、贌o監(jiān)督學(xué)習(xí)用于每一層網(wǎng)絡(luò)的pre-train;
?、诿看斡脽o監(jiān)督學(xué)習(xí)只訓(xùn)練一層,將其訓(xùn)練結(jié)果作為其高一層的輸入;
?、塾米皂敹碌谋O(jiān)督算法去調(diào)整所有層
線性代數(shù)、概率和信息論
欠擬合、過擬合、正則化
大似然估計和貝葉斯統(tǒng)計
隨機(jī)梯度下降
監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)
深度前饋網(wǎng)絡(luò)、代價函數(shù)和反向傳播
正則化、稀疏編碼和dropout
自適應(yīng)學(xué)習(xí)算法
卷積神經(jīng)網(wǎng)絡(luò)
循環(huán)神經(jīng)網(wǎng)絡(luò)
遞歸神經(jīng)網(wǎng)絡(luò)
深度神經(jīng)網(wǎng)絡(luò)和深度堆疊網(wǎng)絡(luò)
LSTM長短時記憶
主成分分析
正則自動編碼器
表征學(xué)習(xí)
蒙特卡洛
受限波茲曼機(jī)
深度置信網(wǎng)絡(luò)
softmax回歸、決策樹和聚類算法
KNN和SVM
生成對抗網(wǎng)絡(luò)和有向生成網(wǎng)絡(luò)
機(jī)器視覺和圖像識別
自然語言處理
語音識別和機(jī)器翻譯
有限馬爾科夫
動態(tài)規(guī)劃
梯度策略算法
增強(qiáng)學(xué)習(xí)(Q-learning)
轉(zhuǎn)折點(diǎn)
2006年前,嘗試訓(xùn)練深度架構(gòu)都失敗了:訓(xùn)練一個深度有監(jiān)督前饋神經(jīng)網(wǎng)絡(luò)趨向于產(chǎn)生壞的結(jié)果(同時在訓(xùn)練和測試誤差中),然后將其變淺為1(1或者2個隱層)。
2006年的3篇論文改變了這種狀況,由Hinton的革命性的在深度信念網(wǎng)(Deep Belief Networks, DBNs)上的工作所:
Hinton, G. E., Osindero, S. and Teh, Y.,A fast learning algorithm for deep belief nets.Neural Computation 18:1527-1554, 2006
Yoshua Bengio, Pascal Lamblin, Dan Popovici and Hugo Larochelle,Greedy LayerWise Training of Deep Networks, in J. Platt et al. (Eds), Advances in Neural Information Processing Systems 19 (NIPS 2006), pp. 153-160, MIT Press, 2007
Marc’Aurelio Ranzato, Christopher Poultney, Sumit Chopra and Yann LeCun Efficient Learning of Sparse Representations with an Energy-Based Model, in J. Platt et al. (Eds), Advances in Neural Information Processing Systems (NIPS 2006), MIT Press, 2007
在這三篇論文中以下主要原理被發(fā)現(xiàn):
表示的無監(jiān)督學(xué)習(xí)被用于(預(yù))訓(xùn)練每一層;
在一個時間里的一個層次的無監(jiān)督訓(xùn)練,接著之前訓(xùn)練的層次。在每一層學(xué)習(xí)到的表示作為下一層的輸入;
用有監(jiān)督訓(xùn)練來調(diào)整所有層(加上一個或者更多的用于產(chǎn)生預(yù)測的附加層);
DBNs在每一層中利用用于表示的無監(jiān)督學(xué)習(xí)RBMs。Bengio et al paper 探討和對比了RBMs和auto-encoders(通過一個表示的瓶頸內(nèi)在層預(yù)測輸入的神經(jīng)網(wǎng)絡(luò))。Ranzato et al paper在一個convolutional架構(gòu)的上下文中使用稀疏auto-encoders(類似于稀疏編碼)。Auto-encoders和convolutional架構(gòu)將在以后的課程中講解。
從2006年以來,大量的關(guān)于深度學(xué)習(xí)的論文被發(fā)表。
1、計算機(jī)視覺
ImageNet Classification with Deep Convolutional Neural Networks, Alex Krizhevsky, Ilya Sutskever, Geoffrey E Hinton, NIPS 2012.
Learning Hierarchical Features for Scene Labeling, Clement Farabet, Camille Couprie, Laurent Najman and Yann LeCun, IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013.
Learning Convolutional Feature Hierarchies for Visual Recognition, Koray Kavukcuoglu, Pierre Sermanet, Y-Lan Boureau, Karol Gregor, Micha?l Mathieu and Yann LeCun, Advances in Neural Information Processing Systems (NIPS 2010), 23, 2010.
2、語音識別
微軟研究人員通過與hinton合作,首先將RBM和DBN引入到語音識別聲學(xué)模型訓(xùn)練中,并且在大詞匯量語音識別系統(tǒng)中獲得巨大成功,使得語音識別的錯誤率相對減低30%。但是,DNN還沒有有效的并行快速算法,很多研究機(jī)構(gòu)都是在利用大規(guī)模數(shù)據(jù)語料通過GPU平臺提高DNN聲學(xué)模型的訓(xùn)練效率。
在國際上,IBM、google等公司都快速進(jìn)行了DNN語音識別的研究,并且速度飛快。
國內(nèi)方面,阿里巴巴,科大訊飛、百度、中科院自動化所等公司或研究單位,也在進(jìn)行深度學(xué)習(xí)在語音識別上的研究。
3、自然語言處理等其他領(lǐng)域
很多機(jī)構(gòu)在開展研究,2013年Tomas Mikolov,Kai Chen,Greg Corrado,Jeffrey Dean發(fā)表論文Efficient Estimation of Word Representations in Vector Space建立word2vector模型,與傳統(tǒng)的詞袋模型(bag of words)相比,word2vector能夠更好地表達(dá)語法信息。深度學(xué)習(xí)在自然語言處理等領(lǐng)域主要應(yīng)用于機(jī)器翻譯以及語義挖掘等方面。
參考資料編輯區(qū)域