【機器學習】李宏毅《1天搞懂深度學習》

寫在前面的話:

網上找了很多資料,還是李宏毅老師的《1天搞懂深度學習》好評如潮,有的資料比較分散,就把一些很不錯的鏈接集中在這裏了。

PPT:

這是slideshare的鏈接:
http://www.slideshare.net/tw_dsconf/ss-62245351?qid=108adce3-2c3d-4758-a830-95d0a57e46bc&v=&b=&from_search=3

百度雲鏈接:

鏈接: https://pan.baidu.com/s/1lgMGT-L_KwlBLkWr70TAxQ 提取碼: gap5

視頻:

YouTube鏈接:

https://www.youtube.com/playlist?list=PLJV_el3uVTsPMxPbjeX7PicgWbY7F8wW9

斯坦福計算機視覺課程:

https://study.163.com/course/courseLearn.htm?courseId=1004697005#/learn/video?lessonId=1049395813&courseId=1004697005

乾貨總結:

https://mp.weixin.qq.com/s?__biz=MzU0NTAyNTQ1OQ==&mid=2247486273&idx=2&sn=d0c8c831dff03b1670eb05eda6ccc541&chksm=fb72779dcc05fe8b75b0c223fb546e561f26f37b777c4f073dfb5f0b9e476b495d0ca171489f&mpshare=1&scene=1&srcid=1229SGI66dWQ3CtstzgDqrCc#rd  (感謝實驗室大帥哥的分享=-=)

https://blog.csdn.net/dulingwen/article/details/88924695

 

下面是一些PPT頁的說明總結,轉自:

https://blog.csdn.net/u010164190/article/details/72633245

整個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. 無需人工介入理解文字的含義

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章