資源共享分類 |
|
微信:HuangL1121
Q Q:1224848052
團隊:嘉興麥特萊博軟件開發工作室 地址:嘉興港區
|
|
|
智能優化 |
MATLAB代做|MATLAB專業代做|深度學習常見算法的介紹和比較 |
來源:本站 日期:2019/8/3 瀏覽量:1224 |
|
|
功能描述:
很多人都有誤解,以為深度學習比機器學習先進。其實深度學習是機器學習的一個分支。可以理解為具有多層結構的模型。具體的話,深度學習是機器學習中的具有深層結構的神經網絡算法,即機器學習>神經網絡算法>深度神經網絡(深度學習)。
關于深度學習的理論推導,太大太復雜,一些常見的深度學習算法本人也是模模糊糊的,看過好多次的,隔斷時間就會忘記,現在對其系統的整理一下(從歷史,致命問題出發,再看具體算法的思想,框架,優缺點和改進的方向,又總結了CNN和RNN的比較)。
一、歷史:多層感知機到神經網絡,再到深度學習
神經網絡技術起源于上世紀五、六十年代,當時叫感知機(perceptron),擁有輸入層、輸出層和一個隱含層。輸入的特征向量通過隱含層變換達到輸出層,在輸出層得到分類結果。(扯一個不相關的:由于計算技術的落后,當時感知器傳輸函數是用線拉動變阻器改變電阻的方法機械實現的,腦補一下科學家們扯著密密麻麻的導線的樣子…)
心理學家Rosenblatt提出的單層感知機有一個嚴重得不能再嚴重的問題,即它對稍復雜一些的函數都無能為力(比如最為典型的“異或”操作)。
這個缺點直到上世紀八十年代才被Rumelhart、Williams、Hinton、LeCun等人發明的多層感知機解決,多層感知機解決了之前無法模擬異或邏輯的缺陷,同時更多的層數也讓網絡更能夠刻畫現實世界中的復雜情形。
多層感知機可以擺脫早期離散傳輸函數的束縛,使用sigmoid或tanh等連續函數模擬神經元對激勵的響應,在訓練算法上則使用Werbos發明的反向傳播BP算法。這就是我們現在所說的【神經網絡】,BP算法也叫BP神經網絡具體過程可參見我轉載的文章(http://blog.csdn.net/abc200941410128/article/details/78708319)。
但是BP神經網絡(多層感知機)面臨在致命問題(見下節)。隨著神經網絡層數的加深,有兩個重大問題:一是優化函數越來越容易陷入局部最優解,并且這個“陷阱”越來越偏離真正的全局最優。利用有限數據訓練的深層網絡,性能還不如較淺層網絡。同時,另一個不可忽略的問題是“梯度消失”現象更加嚴重。
2006年,Hinton利用預訓練方法緩解了局部最優解問題,將隱含層推動到了7層,神經網絡真正意義上有了“深度”,由此揭開了深度學習的熱潮,隨后的DBN、CNN、RNN、LSTM等才逐漸出現。
這里的“深度”并沒有固定的定義——在語音識別中4層網絡就能夠被認為是“較深的”,而在圖像識別中20層以上的網絡屢見不鮮。
為了克服梯度消失,ReLU、maxout等傳輸函數代替了sigmoid,形成了如今DNN的基本形式。單從結構上來說,全鏈接的多層感知機是沒有任何區別的。
二、深度神經網絡的致命問題
隨著神經網絡層數的加深,有三個重大問題:一是非凸優化問題,即優化函數越來越容易陷入局部最優解;二是(Gradient Vanish)梯度消失問題;三是過擬合問題。
2.1 非凸優化問題
線性回歸,本質是一個多元一次函數的優化問題,設f(x,y)=x+y
多層神經網絡,本質是一個多元K次函數優化問題,設f(x,y)=xy
在線性回歸當中,從任意一個點出發搜索,最終必然是下降到全局最小值附近的。所以置0也無妨(這也是為什么我們往往解線性回歸方程時初值為0)。
而在多層神經網絡中,從不同點出發,可能最終困在局部最小值。局部最小值是神經網絡結構帶來的揮之不去的陰影,隨著隱層層數的增加,非凸的目標函數越來越復雜,局部最小值點成倍增長,利用有限數據訓練的深層網絡,性能還不如較淺層網絡。。避免的方法一般是權值初始化。為了統一初始化方案,通常將輸入縮放到[−1,1],但是仍然無法保證能夠達到全局最優,其實這也是科學家們一直在研究而未解決的問題。
所以,從本質上來看,深度結構帶來的非凸優化仍然不能解決(包括現在的各類深度學習算法和其他非凸優化問題都是如此),這限制著深度結構的發展。
2.2 (Gradient Vanish)梯度消失問題
這個問題實際上是由激活函數不當引起的,多層使用Sigmoid系函數,會使得誤差從輸出層開始呈指數衰減。在數學上,激活函數的作用就是將輸入數據映射到0到1上(tanh是映射-1到+1上)。至于映射的原因,除了對數據進行正則化外,大概是控制數據,使其只在一定的范圍內。當然也有另外細節作用,例如Sigmoid(tanh)中,能在激活的時候,更關注數據在零(或中心點)前后的細小變化,而忽略數據在極端時的變化,例如ReLU還有避免梯度消失的作用。通常,Sigmoid(tanh)多用于全連接層,而ReLU多用于卷積層。
|
|
|
|
|