深度學(xué)習(xí)的發(fā)展歷史

本次深度學(xué)習(xí)系列主要從以下幾個(gè)方面記錄,主要為CNN相關(guān)?

另外最后會(huì)專留一章講述CNN與計(jì)算機(jī)視覺中的目標(biāo)檢測(cè)的發(fā)展。

?發(fā)展歷史?

?基礎(chǔ)結(jié)構(gòu)?

?損失函數(shù)?

?優(yōu)化方法?

?訓(xùn)練trick

學(xué)習(xí)任一門知識(shí)都應(yīng)該先從其歷史開始,把握了歷史,也就抓住了現(xiàn)在與未來?

———by BryantLJ

首先盜一張圖(來自于“深度學(xué)習(xí)大講堂”微信公眾號(hào)~),該圖形象的展示DL今年來的發(fā)展歷程及關(guān)鍵節(jié)點(diǎn):

由圖可以明顯看出DL在從06年崛起之前經(jīng)歷了兩個(gè)低谷,這兩個(gè)低谷也將神經(jīng)網(wǎng)絡(luò)的發(fā)展分為了三個(gè)不同的階段,下面就分別講述這三個(gè)階段

第一代神經(jīng)網(wǎng)絡(luò)(1958~1969)

最早的神經(jīng)網(wǎng)絡(luò)的思想起源于1943年的MCP人工神經(jīng)元模型,當(dāng)時(shí)是希望能夠用計(jì)算機(jī)來模擬人的神經(jīng)元反應(yīng)的過程,該模型將神經(jīng)元簡(jiǎn)化為了三個(gè)過程:輸入信號(hào)線性加權(quán),求和,非線性激活(閾值法)。如下圖所示

第一次將MCP用于機(jī)器學(xué)習(xí)(分類)的當(dāng)屬1958年Rosenblatt發(fā)明的感知器(perceptron)算法。該算法使用MCP模型對(duì)輸入的多維數(shù)據(jù)進(jìn)行二分類,且能夠使用梯度下降法從訓(xùn)練樣本中自動(dòng)學(xué)習(xí)更新權(quán)值。1962年,該方法被證明為能夠收斂,理論與實(shí)踐效果引起第一次神經(jīng)網(wǎng)絡(luò)的浪潮。

然而學(xué)科發(fā)展的歷史不總是一帆風(fēng)順的。

1969年,美國(guó)數(shù)學(xué)家及人工智能先驅(qū)Minsky在其著作中證明了感知器本質(zhì)上是一種線性模型,只能處理線性分類問題,就連最簡(jiǎn)單的XOR(亦或)問題都無法正確分類。這等于直接宣判了感知器的死刑,神經(jīng)網(wǎng)絡(luò)的研究也陷入了近20年的停滯。

第二代神經(jīng)網(wǎng)絡(luò)(1986~1998)

第一次打破非線性詛咒的當(dāng)屬現(xiàn)代DL大牛Hinton,其在1986年發(fā)明了適用于多層感知器(MLP)的BP算法,并采用Sigmoid進(jìn)行非線性映射,有效解決了非線性分類和學(xué)習(xí)的問題。該方法引起了神經(jīng)網(wǎng)絡(luò)的第二次熱潮。

1989年,Robert Hecht-Nielsen證明了MLP的萬(wàn)能逼近定理,即對(duì)于任何閉區(qū)間內(nèi)的一個(gè)連續(xù)函數(shù)f,都可以用含有一個(gè)隱含層的BP網(wǎng)絡(luò)來逼近該定理的發(fā)現(xiàn)極大的鼓舞了神經(jīng)網(wǎng)絡(luò)的研究人員。

也是在1989年,LeCun發(fā)明了卷積神經(jīng)網(wǎng)絡(luò)-LeNet,并將其用于數(shù)字識(shí)別,且取得了較好的成績(jī),不過當(dāng)時(shí)并沒有引起足夠的注意。

值得強(qiáng)調(diào)的是在1989年以后由于沒有特別突出的方法被提出,且NN一直缺少相應(yīng)的嚴(yán)格的數(shù)學(xué)理論支持,神經(jīng)網(wǎng)絡(luò)的熱潮漸漸冷淡下去。冰點(diǎn)來自于1991年,BP算法被指出存在梯度消失問題,即在誤差梯度后向傳遞的過程中,后層梯度以乘性方式疊加到前層,由于Sigmoid函數(shù)的飽和特性,后層梯度本來就小,誤差梯度傳到前層時(shí)幾乎為0,因此無法對(duì)前層進(jìn)行有效的學(xué)習(xí),該發(fā)現(xiàn)對(duì)此時(shí)的NN發(fā)展雪上加霜。

1997年,LSTM模型被發(fā)明,盡管該模型在序列建模上的特性非常突出,但由于正處于NN的下坡期,也沒有引起足夠的重視。

統(tǒng)計(jì)學(xué)習(xí)方法的春天(1986~2006)

1986年,決策樹方法被提出,很快ID3,ID4,CART等改進(jìn)的決策樹方法相繼出現(xiàn),到目前仍然是非常常用的一種機(jī)器學(xué)習(xí)方法。該方法也是符號(hào)學(xué)習(xí)方法的代表。?

1995年,線性SVM被統(tǒng)計(jì)學(xué)家Vapnik提出。該方法的特點(diǎn)有兩個(gè):由非常完美的數(shù)學(xué)理論推導(dǎo)而來(統(tǒng)計(jì)學(xué)與凸優(yōu)化等),符合人的直觀感受(最大間隔)。不過,最重要的還是該方法在線性分類的問題上取得了當(dāng)時(shí)最好的成績(jī)。?

1997年,AdaBoost被提出,該方法是PAC(Probably Approximately Correct)理論在機(jī)器學(xué)習(xí)實(shí)踐上的代表,也催生了集成方法這一類。該方法通過一系列的弱分類器集成,達(dá)到強(qiáng)分類器的效果。?

2000年,KernelSVM被提出,核化的SVM通過一種巧妙的方式將原空間線性不可分的問題,通過Kernel映射成高維空間的線性可分問題,成功解決了非線性分類的問題,且分類效果非常好。至此也更加終結(jié)了NN時(shí)代。?

2001年,隨機(jī)森林被提出,這是集成方法的另一代表,該方法的理論扎實(shí),比AdaBoost更好的抑制過擬合問題,實(shí)際效果也非常不錯(cuò)。?

2001年,一種新的統(tǒng)一框架-圖模型被提出,該方法試圖統(tǒng)一機(jī)器學(xué)習(xí)混亂的方法,如樸素貝葉斯,SVM,隱馬爾可夫模型等,為各種學(xué)習(xí)方法提供一個(gè)統(tǒng)一的描述框架。

第三代神經(jīng)網(wǎng)絡(luò)-DL(2006-至今)

該階段又分為兩個(gè)時(shí)期:快速發(fā)展期(2006~2012)與爆發(fā)期(2012~至今)

快速發(fā)展期(2006~2012)

2006年,DL元年。是年,Hinton提出了深層網(wǎng)絡(luò)訓(xùn)練中梯度消失問題的解決方案:無監(jiān)督預(yù)訓(xùn)練對(duì)權(quán)值進(jìn)行初始化+有監(jiān)督訓(xùn)練微調(diào)。其主要思想是先通過自學(xué)習(xí)的方法學(xué)習(xí)到訓(xùn)練數(shù)據(jù)的結(jié)構(gòu)(自動(dòng)編碼器),然后在該結(jié)構(gòu)上進(jìn)行有監(jiān)督訓(xùn)練微調(diào)。但是由于沒有特別有效的實(shí)驗(yàn)驗(yàn)證,該論文并沒有引起重視。

2011年,ReLU激活函數(shù)被提出,該激活函數(shù)能夠有效的抑制梯度消失問題。

2011年,微軟首次將DL應(yīng)用在語(yǔ)音識(shí)別上,取得了重大突破。

爆發(fā)期(2012~至今)

2012年,Hinton課題組為了證明深度學(xué)習(xí)的潛力,首次參加ImageNet圖像識(shí)別比賽,其通過構(gòu)建的CNN網(wǎng)絡(luò)AlexNet一舉奪得冠軍,且碾壓第二名(SVM方法)的分類性能。也正是由于該比賽,CNN吸引到了眾多研究者的注意。?

AlexNet的創(chuàng)新點(diǎn):?

(1)首次采用ReLU激活函數(shù),極大增大收斂速度且從根本上解決了梯度消失問題;(2)由于ReLU方法可以很好抑制梯度消失問題,AlexNet拋棄了“預(yù)訓(xùn)練+微調(diào)”的方法,完全采用有監(jiān)督訓(xùn)練。也正因?yàn)槿绱耍?b>DL的主流學(xué)習(xí)方法也因此變?yōu)榱思兇獾挠斜O(jiān)督學(xué)習(xí);(3)擴(kuò)展了LeNet5結(jié)構(gòu),添加Dropout層減小過擬合,LRN層增強(qiáng)泛化能力/減小過擬合;(4)首次采用GPU對(duì)計(jì)算進(jìn)行加速;

2013,2014,2015年,通過ImageNet圖像識(shí)別比賽,DL的網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練方法,GPU硬件的不斷進(jìn)步,促使其在其他領(lǐng)域也在不斷的征服戰(zhàn)場(chǎng)

2015年,Hinton,LeCun,Bengio論證了局部極值問題對(duì)于DL的影響,結(jié)果是Loss的局部極值問題對(duì)于深層網(wǎng)絡(luò)來說影響可以忽略。該論斷也消除了籠罩在神經(jīng)網(wǎng)絡(luò)上的局部極值問題的陰霾。具體原因是深層網(wǎng)絡(luò)雖然局部極值非常多,但是通過DL的BatchGradientDescent優(yōu)化方法很難陷進(jìn)去,而且就算陷進(jìn)去,其局部極小值點(diǎn)與全局極小值點(diǎn)也是非常接近,但是淺層網(wǎng)絡(luò)卻不然,其擁有較少的局部極小值點(diǎn),但是卻很容易陷進(jìn)去,且這些局部極小值點(diǎn)與全局極小值點(diǎn)相差較大。論述原文其實(shí)沒有證明,只是簡(jiǎn)單敘述,嚴(yán)密論證是猜的。。。

2015,DeepResidualNet發(fā)明。分層預(yù)訓(xùn)練,ReLU和BatchNormalization都是為了解決深度神經(jīng)網(wǎng)絡(luò)優(yōu)化時(shí)的梯度消失或者爆炸問題。但是在對(duì)更深層的神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化時(shí),又出現(xiàn)了新的Degradation問題,即”通常來說,如果在VGG16后面加上若干個(gè)單位映射,網(wǎng)絡(luò)的輸出特性將和VGG16一樣,這說明更深次的網(wǎng)絡(luò)其潛在的分類性能只可能>=VGG16的性能,不可能變壞,然而實(shí)際效果卻是只是簡(jiǎn)單的加深VGG16的話,分類性能會(huì)下降(不考慮模型過擬合問題)“Residual網(wǎng)絡(luò)認(rèn)為這說明DL網(wǎng)絡(luò)在學(xué)習(xí)單位映射方面有困難,因此設(shè)計(jì)了一個(gè)對(duì)于單位映射(或接近單位映射)有較強(qiáng)學(xué)習(xí)能力的DL網(wǎng)絡(luò),極大的增強(qiáng)了DL網(wǎng)絡(luò)的表達(dá)能力。此方法能夠輕松的訓(xùn)練高達(dá)150層的網(wǎng)絡(luò)。

總結(jié)

從原理上解釋為什么CNN要比傳統(tǒng)的目標(biāo)檢測(cè)方法好??

(1)傳統(tǒng)方法都是通過人工提取特征,需要在領(lǐng)域?qū)<彝ㄟ^多年的積累和經(jīng)驗(yàn)才能手工設(shè)計(jì)出來,DL方法是通過大量的數(shù)據(jù),自動(dòng)學(xué)習(xí)到能夠反應(yīng)數(shù)據(jù)差別的特征,更具有代表性?

(2)對(duì)于視覺識(shí)別來說,CNN分層提取的特征與人的視覺機(jī)理(神經(jīng)科學(xué))類似,都是進(jìn)行邊緣->部分->全體的過程。

以上。


原文參考:http://blog.csdn.net/u012177034/article/details/52252851

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容