深度学习导论 - 读李宏毅《1天搞懂深度学习》
先引用他人關于李宏毅教授關于深度學習導論的PPT,應該非常容易入門。
”《1天搞懂深度學習》,300多頁的ppt,臺灣李宏毅教授寫的,非常棒。不夸張地說,是我看過最系統(tǒng),也最通俗易懂的,關于深度學習的文章。“
這是slideshare的鏈接:
http://www.slideshare.net/tw_dsconf/ss-62245351?qid=108adce3-2c3d-4758-a830-95d0a57e46bc&v=&b=&from_search=3
沒梯子的同學,可以從我的網(wǎng)盤下:
鏈接:http://pan.baidu.com/s/1nv54p9R 密碼:3mty
深度學習概論
介紹深度學習
作者非常淺顯的指出機器(深度)學習過程非常簡單,分為定義方法、判斷方法的優(yōu)劣、挑選出最佳的方法。
對于深度學習,首先第一步定義方法 - 神經(jīng)網(wǎng)絡。深度學習顧名思義是指多層的神經(jīng)網(wǎng)絡。
神經(jīng)網(wǎng)絡的思想來源于對于人腦的生理上的研究,人腦由數(shù)億個神經(jīng)元組成,神經(jīng)元通過軸突互相連接通信。神經(jīng)網(wǎng)絡和人腦類似,存在多個層級(layer),每個層級都有多個節(jié)點(神經(jīng)元),層級和層級之間相互連接(軸突),最終輸出結(jié)果。
對于神經(jīng)網(wǎng)絡的計算能力可以理解為通過一層層Layer的計算歸納,逐步的將抽象的原始數(shù)據(jù)變的具體。以圖片識別為例,輸入是一個個像素點,經(jīng)過每層神經(jīng)網(wǎng)絡,逐步變化成為線、面、對象的概念,然后機器有能力能夠識別出來。
?
?第二步,評估方法的優(yōu)劣。
Loss function是用于評估方法優(yōu)劣,通常我們用學習出來的參數(shù)對測試數(shù)據(jù)進行計算,得出對應的預測(y)然后和真實的測試數(shù)據(jù)的目標值(t)進行比對,y和t之間的差距往往就是Loss。那么評估一個算法的好壞,就是要盡可能的降低Loss。
?
第三步,如何獲得最佳的學習方法
獲得最佳的學習是采用梯度下降算法,作者也提到梯度下降算法存在局部最優(yōu)解的問題。人們往往認為機器無所不能,實際上更像是在一個地圖上面拓荒,對周邊一無所知。神經(jīng)網(wǎng)絡計算梯度的算法是反向傳播算法,簡稱BP。
?
Why Deep?
作者首先指出越多的參數(shù)往往帶來越好的預測能力,所以神經(jīng)網(wǎng)絡往往參數(shù)越多越好。那么如果是同樣的參數(shù)情況下,為什么層級較多的表現(xiàn)會更好呢?
?
作者認為深度網(wǎng)絡可以帶來模塊化的好處,隨著網(wǎng)絡的層級,神經(jīng)網(wǎng)絡會將像素元素逐漸歸納出一些基本的特征,進而變成紋理,進而變成對象。
?
訓練方法
?
作者總結(jié)下來訓練過程中會發(fā)現(xiàn)了兩種情況:
1. 沒有辦法得到很好的訓練結(jié)果 ---》 重新選擇訓練方式
2. 沒有辦法得到很好的測試結(jié)果 ---》 往往由于過度擬合導致,需要重新定義方法
?
優(yōu)化訓練方法的手段:
1. 選擇合適的Loss function:使用Cross Entropy效果要優(yōu)于Mean Square Error
2. Mini-batch: 每次訓練使用少量數(shù)據(jù)而不是全量數(shù)據(jù)效率更高
3. Activation Function:使用ReLU替代Sigmoid可以解決梯度消失的問題,可以訓練更深的神經(jīng)網(wǎng)絡
4. Adaptive Learning Rate:可以隨著迭代不斷自我調(diào)整,提高學習效率
5. Momentum: 可以一定程度上避免陷入局部最低點的問題
?
避免過度擬合(overfitting)的方法:
1. Early Stopping:使用cross validation的方式,不斷對validation data進行檢驗,一旦發(fā)現(xiàn)預測精度下降則停止。
2. Weight Decay:參數(shù)正則化的一種方式?
3. Dropout:通過隨機去掉一些節(jié)點的連接達到改變網(wǎng)絡形式,所以會產(chǎn)生出多種網(wǎng)絡形態(tài),然后匯集得到一個最佳結(jié)果
4. Network Structure: 例如CNN等其他形態(tài)的網(wǎng)絡
?
神經(jīng)網(wǎng)絡變體
Convolutional Neural Network (CNN)
通常情況下,一個CNN包含多次的卷積、池化,然后Flatten,最終再通過一個深度神經(jīng)網(wǎng)絡進行學習預測。CNN在圖像、語音識別取得非常好的成績,核心的想法在于一些物體的特征往往可以提取出來,并且可能出現(xiàn)在圖片的任何位置,而且通過卷積、池化可以大大減少輸入數(shù)據(jù),加快訓練效率。
?
Recurrent Neural Network (RNN)
RNN的想法是可以將hidden layer的數(shù)據(jù)存儲下來,然后作為輸入給下一個網(wǎng)絡學習。這種網(wǎng)絡的想法可以解決自然語言中前后詞語是存在關聯(lián)性的,所以RNN可以把這些關聯(lián)性放到網(wǎng)絡中進行學習。
?
其他前沿技術
Ultra Deep Network:2015年出現(xiàn)了152層的Residual Net實現(xiàn)了圖片3.57%錯誤率
?
Reinforcement Learning: 通過獎勵機制強化學習,并且做出相應的動作
Unsupervised Learning:
1. Deep Style
2. 生成圖片
?
3. 無需人工介入理解文字的含義
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/wdsunny/p/6477018.html
總結(jié)
以上是生活随笔為你收集整理的深度学习导论 - 读李宏毅《1天搞懂深度学习》的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记一次用WPScan辅助渗透WordPr
- 下一篇: 一天搞懂深度学习—学习笔记4(knowl