deeplearning.ai課程學習(1)

本系列主要是我對吳恩達的deeplearning.ai課程的理解和記錄,完整的課程筆記已經有不少了,所以只記錄我認爲重要的東西和本身的一些理解。html

 

第一門課 神經網絡和深度學習(Neural Networks and Deep Learning)

第一週:深度學習引言(Introduction to Deep Learning)

一、經常使用神經網絡的結構與對應的數據類型

數據類型算法

結構化數據:表格類型的數據,有明確的行和列。網絡

非結構化數據:音頻、視頻、圖像、文本等類型的數據。less

網絡結構機器學習

標準的NN結構以下圖,包含輸入層、隱藏層、輸出層,前一層的全部節點和下一層的全部節點所有相連。能夠認爲標準的NN是全鏈接層組成的。函數

是最多見的網絡結構,在數據量充足或者輸入層的特徵合適的狀況下會得到較好的性能。它的輸入通常都是性能

對於圖像應用,咱們常常在神經網絡上使用卷積(Convolutional Neural Network),一般縮寫爲CNN。學習

正如其名,CNN會包含輸入層、卷積層、輸出層(還會有池化層)。CNN的最大特色就是使用了卷積來提取特徵。spa

對於序列數據,例如音頻,有一個時間組件,隨着時間的推移,音頻被播放出來。做爲一維時間序列(兩種英文說法one-dimensional time series / temporal sequence)。視頻

在序列數據上常用RNN,一種遞歸神經網絡(Recurrent Neural Network)。英語和漢語字母表或單詞都是逐個出現的,因此語言也是最天然的序列數據。

 

固然,現實中的實際問題會有更復雜的狀況,好比自動駕駛,會使用一些更復雜的混合的神經網絡結構。

 

二、爲何深度學習會興起?

假設有一個任務好比說準確率體如今垃圾郵件過濾或者廣告點擊預測,或者是神經網絡在自動駕駛汽車時判斷位置的準確性。若是把一個傳統機器學習算法的性能與數據量的關係畫出來,可能獲得一個彎曲的線,以下圖。它的性能一開始在增長更多數據時會上升,可是一段變化後它的性能就會像一個高原同樣。假設你的水平軸拉的很長很長,它們不知道如何處理規模巨大的數據,而過去十年的社會裏,咱們遇到的不少問題只有相對較少的數據量。如今,咱們的任何行爲都會產生數據,而且被收集,使用。

神經網絡展示出的是,若是你訓練一個小型的神經網絡,那麼這個性能可能會像下圖黃色曲線表示那樣;若是你訓練一個稍微大一點的神經網絡,好比說一箇中等規模的神經網絡(下圖藍色曲線),它在某些數據上面的性能也會更好一些;若是你訓練一個很是大的神經網絡,它就會變成下圖綠色曲線那樣,而且保持變得愈來愈好。所以能夠注意到兩點:若是你想要得到較高的性能體現,那麼你有兩個條件要完成,第一個是你須要訓練一個規模足夠大的神經網絡,以發揮數據規模量巨大的優勢,另外你須要能畫到x軸的這個位置,因此你須要不少的數據。

 

能夠發現,想要在神經網絡上得到更好的性能,每每就是要麼訓練一個更大的神經網絡,要麼投入更多的數據。另外這裏說的數據是有標籤的數據。

 此外,紅框部分想要說明的是,在數據量較小的狀況下,各類算法的性能沒有明確的好壞區分。此時決定算法性能的效果取決於你的特徵工程以及後續的一些處理(模型融合)。

 

三、評估與迭代

最近幾年,深度學習算法的創新主要在算法計算速度的提升上,例如激活函數從Sigmoid變爲了ReLU一方面爲了使梯度降低算法運行更快。

在擁有數據的前提下,算法的速度提升意味着在一樣的時間內咱們能嘗試更多的想法,從而最後在應用是可以更好。

 

 

參考文獻:

[1]. 課程視頻:Coursera-deeplearning.ai / 網易雲課堂

[2]. 深度學習筆記

相關文章
相關標籤/搜索