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