天天看點

吳恩達深度學習——深度學習概論

引言

本文是吳恩達深度學習第一課:神經網絡與深度學習的筆記。神經網絡與深度學習主要讨論了如何建立神經網絡(包括一個深度神經網絡)、以及如何訓練這個網絡。

第一課有以下四個部分,本文是第一部分。

  1. 深度學習概論
  2. ​​神經網絡基礎​​
  3. ​​淺層神經網絡​​
  4. ​​深層神經網絡​​
需要機器學習基礎

什麼是神經網絡

吳恩達深度學習——深度學習概論

假設我們知道六個房屋價格樣本,特征是房屋大小。它們的分布如上圖,縱軸是房屋價格,标簽。橫軸是特征房屋大小。

我們知道通過一條直線可以拟合隻寫樣本點,并且房屋價格不會是負數,是以畫出了上面這樣一條直線。

我們可以把剛才得到的拟合房屋價格的函數看成是一個最簡單的神經網絡(Neural Network,NN)。

吳恩達深度學習——深度學習概論

我們輸入了房屋大小Size,通過剛才的拟合函數可以得到一個價格的輸出。

這個拟合函數可以看成是神經網絡中的神經元(Neuron)。

這個神經元的作用是接收輸入,進行線性運算,取不小于0的值,最後得到預測價格。

剛才這個函數叫ReLu(Rectified Linear Unit,修正線性單元),它的函數圖像是下面這樣的

吳恩達深度學習——深度學習概論

修正指的是函數取不小于0的值,它也是一種激活函數,就像Sigmoid函數,後面還會看到。

吳恩達深度學習——深度學習概論

這隻是一個簡單的單神經元網絡,大一點的神經網絡是把這個單神經元堆疊起來而形成的。

下面來看個例子,假設我們不僅通過房屋的大小(size)來預測價格(price),我們還通過卧室的數量(bedrooms)、郵編(zip code,代表能否步行去學校、超市,說的是交通便利性)、富裕程度(wealth)這四個特征來決定。

吳恩達深度學習——深度學習概論

然後Size和bedrooms能說明适合多大的家庭;zip code代表交通便利;zip code和富裕程度可能決定附近學校的品質。

上面每一個圓圈都代表一個ReLu,一個神經元。輸入size和bedrooms可以得到家庭大小;輸入zip code可以得到交通便利情況等等。

家庭大小、交通便利情況以及學校品質又可以作為最後一個神經元的輸入,經過ReLu得到最終的房屋價格。

這裡​

​x​

​​表示上面的輸入(size,bedrooms,zip code,wealth) ​

​y​

​表示價格的輸出。

神經網絡的神奇之處在于,我們隻要輸入​

​x​

​​,就能得到輸出​

​y​

​,中間的這些family size,school quality等等是神經網絡自己幫我們計算的。

上面我們就得到了這樣一個神經網絡:

吳恩達深度學習——深度學習概論

我們用到分别表示size到wealth,這一層稱為輸入層(Input layer);

中間的有兩層,其中一層有3個神經元,另一層隻有1個神經元,叫隐藏層(Hidden layer)

最後輸出,也可以看成一層,叫輸出層(Output layer)

用神經網絡進行監督學習

如今幾乎所有由神經網絡創造的經濟價值都基于監督學習。

下面簡單的看一些應用。

Input(x) Output(y) 應用
房屋特征 房屋價格 房地産(常用标準的神經網絡)
廣告資訊、使用者資訊 該使用者是否會點選廣告(0/1) 線上廣告(标準的神經網絡)
圖像 物體 給照片打标簽(卷積神經網絡)
語音 文本 語音識别(循環神經網絡)
英文 中文 機器翻譯(更複雜的循環神經網絡)
汽車前方的圖像以及雷達資訊 汽車的位置 自動駕駛(混合神經網絡)

監督學習

你可能會聽過結構化資料與非結構化資料。

吳恩達深度學習——深度學習概論

用像資料庫中的表儲存的資料就是結構化資料;語音、圖像以及文本是非結構化資料。

結構化資料的每個特征都有清晰的定義,而非結構化資料中的特征可能是圖像中的某個像素或是文本中的某個單詞。非結構化資料更難讓計算機了解。

幸運的是,我們有神經網絡技術。通過神經網絡技術可以讓計算機很好的了解非結構化資料。

為什麼深度學習現在才興起

吳恩達深度學習——深度學習概論

橫軸是資料的資料,縱軸是機器學習算法的表現。

  • 可以看到,像傳統的機器學習算法(SVM、邏輯回歸等等),它的表現會随着帶标簽的資料量的增大而變好,但是當達到一個門檻值後,便不會增加,如上圖紅線所示,因為這些算法無法處理海量資料。
  • 而神經網絡算法在大量資料的情況下,可以随着規模的增加表現不斷變好。

是以我們說規模推動着神經網絡的進步,這裡的規模不僅指的是神經網絡的規模,還指資料的規模。

但是這隻能在一定程度上起作用,因為随着規模的增加,訓練時間的增長也是比較驚人的。哪怕有海量的資料,如果訓練一個網絡需要一年,這肯定不是我們能忍受的。這一點要注意。

我們用表示訓練集的大小,這就是為什麼你可以在橫軸上的括号裡面看到一個。

參考

繼續閱讀