引言:最近實驗室在組織一起學(xué)習(xí)深度學(xué)習(xí),為了讓自己加深理解,遂記下如下筆記,方便以后查閱:
一:深度學(xué)習(xí)的發(fā)展史:
1:First winter of NN;
1:1949年:神經(jīng)元學(xué)習(xí)模型Learning model of neurons被提出來
2:1958年:感知器,Perceptron概念被提出來;
3:1983年: 神經(jīng)網(wǎng)絡(luò)的反向傳播 ,Neural network Back propagation
-
2:機(jī)器學(xué)習(xí)第一次浪潮:淺層學(xué)習(xí)模型 (Shallow Learning)
80年代年代初開始2006年左右
用于人工神經(jīng)網(wǎng)絡(luò)的反向傳播算法(也叫Back Propagation算法或者BP算法)的發(fā)明,給機(jī)器學(xué)習(xí)帶來了希望,掀起了基于統(tǒng)計模型的機(jī)器學(xué)習(xí)熱潮。這個熱潮一直持續(xù)到今天。人們發(fā)現(xiàn),利用BP算法可以讓一個人工神經(jīng)網(wǎng)絡(luò)模型從大量訓(xùn)練樣本中學(xué)習(xí)出統(tǒng)計規(guī)律,從而對未知事件做預(yù)測。這種基于統(tǒng)計的機(jī)器學(xué)習(xí)方法比起過去基于人工規(guī)則的系統(tǒng),在很多方面顯示出優(yōu)越性。這個時候的人工神經(jīng)網(wǎng)絡(luò),雖然也被稱作多層感知機(jī)(Multi-layer Perceptron),但實際上是一種只含有一層隱層節(jié)點的淺層模型。
其實Deep Learning是 Machine Learning的一個分支,Deep Learning可以看做是Neural Network(人工神經(jīng)網(wǎng)絡(luò))的進(jìn)一步發(fā)展;由于Neural Network(神經(jīng)網(wǎng)絡(luò))暴露了以下問題- 1:容易過擬合,調(diào)參難
- 2:訓(xùn)練比較慢,在層數(shù)小于3層時效果不占優(yōu)勢;
20世紀(jì)90年代,由于神經(jīng)網(wǎng)絡(luò)的種種弊病,人們提出了各種淺層機(jī)器學(xué)習(xí)模型
1:SVM支持向量機(jī)(Support Vector Machines):只有一層隱含節(jié)點
2:Boosting:只有一層隱含節(jié)點
3:Decision Tree(決策樹)
4:最大商法( Logistic Regression邏輯回歸):沒有隱含層
3:深度學(xué)習(xí)第二大浪潮(Deep Learning):
2006年,加拿大多倫多大學(xué)教授、機(jī)器學(xué)習(xí)領(lǐng)域泰斗——Geoffrey Hinton和他的學(xué)生Ruslan Salakhutdinov在頂尖學(xué)術(shù)刊物《科學(xué)》上發(fā)表了一篇文章,開啟了深度學(xué)習(xí)在學(xué)術(shù)界和工業(yè)界的浪潮。這篇文章有兩個主要的信息:
1.多隱層的人工神經(jīng)網(wǎng)絡(luò)具有優(yōu)異的特征學(xué)習(xí)能力,學(xué)習(xí)得到的特征對數(shù)據(jù)有更本質(zhì)的刻畫,從而有利于可視化或分類;
2.深度神經(jīng)網(wǎng)絡(luò)在訓(xùn)練上的難度,可以通過“逐層初始化”(Layer-wise Pre-training)來有效克服,在這篇文章中,逐層初始化是通過無監(jiān)督學(xué)習(xí)實現(xiàn)的。
對比:
淺層學(xué)習(xí)模型局限性:有限的樣本和計算單元情況下對復(fù)雜函數(shù)的表示能力有限。
深度學(xué)習(xí):通過學(xué)習(xí)一種深度非線性網(wǎng)格結(jié)構(gòu)實現(xiàn)向復(fù)雜函數(shù)逼近;表征輸入數(shù)據(jù)分布式表示,并展現(xiàn)了強(qiáng)大的從少數(shù)樣本集中學(xué)習(xí)數(shù)據(jù)集本質(zhì)特征的能力。
深度模型是手段,特征學(xué)習(xí)是目的;
深度學(xué)習(xí)和淺層學(xué)習(xí)的區(qū)別:
1:強(qiáng)調(diào)了模型結(jié)構(gòu)的深度;
2:突出了特征學(xué)習(xí)的重要性;也就是說,通過逐層特征變換,將樣本在原空間的特征表示變換到一個新特征空間,從而使分類或預(yù)測更加容易。與人工規(guī)則構(gòu)造特征的方法相比,利用大數(shù)據(jù)來學(xué)習(xí)特征,更能夠刻畫數(shù)據(jù)的豐富內(nèi)在信息。
二:BP算法及其應(yīng)用:
- 1:傳統(tǒng)分類算法:
如:邏輯回歸,Logistic regression
都是采用線性的,對于簡單的分類問題可以解決,但是對于非線性復(fù)雜的分類問題就沒有辦法;或者容易過擬合; -
2:BPNet(反向傳播網(wǎng)絡(luò)):
通過增加隱含層,可以解決使一些使用簡單的分類算法無法解決的問題;
如下圖帶有一層隱含層的神經(jīng)網(wǎng)絡(luò)模型:
Paste_Image.png


- 2.1:損失函數(shù):Loss Function
為什么損失函數(shù)是凸形的 - 2.2:regularization terms 正則化項?
防止過擬合 - 2.3:the gradient descent 梯度下降怎么和BPNet相結(jié)合
求偏導(dǎo)
三:神經(jīng)網(wǎng)絡(luò)實例以及自編碼
1:什么是自編碼?
