1. 程式人生 > >吳恩達【深度學習工程師】學習筆記(一)

吳恩達【深度學習工程師】學習筆記(一)

吳恩達【深度學習工程師】專項課程包含以下五門課程:

1、神經網路和深度學習;
2、改善深層神經網路:超引數除錯、正則化以及優化;
3、結構化機器學習專案;
4、卷積神經網路;
5、序列模型。

今天介紹《神經網路與深度學習》系列第一講:深度學習概述。

主要內容:

1、使用房價預測的例子來建立神經網路模型;

2、介紹不同的神經網路型別:Standard NN、CNN 及 RNN;

3、在處理非結構化資料上,深度學習近年來發展的非常快;

4、深度學習飛速發展的三要素:大資料、GPU計算及深度學習演算法。

1、什麼是神經網路?

假如我們要建立房價的預測模型,我們已知模型輸入面積 

x 及輸出價格  y ,來預測房價:y = f(x),我們用一條直線來擬合圖中這些離散點(建立房價與面積的線性模型)。

這個簡單的模型(藍色折線)就是一個最簡單的神經網路。

這裡寫圖片描述

該神經網路的輸入 x 是房屋面積,輸出 y 是房價,中間包含了一個神經元(neuron),即房價預測函式(藍色折線),該神經元的功能就是實現函式f(x)的功能。

除了考慮房屋面積(size)之外,我們還考慮臥室數目(#bedrooms),房屋的郵政編碼(zip code/postal code),還有地區財富水平(wealth)。因此,這個神經網路有四個輸入,分別是size,#bedrooms,zip code和wealth。

這裡寫圖片描述

其中 x1 所在的位置稱之為輸入層,三個神經元所在的位置稱之為中間層或者隱藏層,y 所在的位置稱之為輸出層。這就是基本的神經網路模型結構。

2、監督學習

監督學習與非監督學習本質區別就是是否已知訓練樣本的輸出 y,也就是樣本是否含標籤資訊。

下面是幾個監督式學習在神經網路中應用的例子:

1)、房價預測:輸入 x 是房屋的各種引數,輸出是房價;

2、線上廣告:輸入 x 是廣告和使用者個人資訊,輸出是使用者是否對廣告進行點選;

3、計算機視覺:輸入 x 是圖片畫素值,輸出是圖片所屬的不同類別等;

4、語音識別:輸入 x 是一段語音訊號,輸出是文字資訊;

5、機器翻譯:輸入 x 是一種語言,輸出是表達相同意思的另一種語言;

6、自動駕駛:輸入 x 一張圖片或者汽車雷達資訊等,輸出是相應的路況資訊並作出相應的決策等。

這裡寫圖片描述

不同的情況,一般使用不同的網路模型:

1)、對於一般的監督學習(房價預測和線上廣告),我們使用標準的神經網路模型;

2)、對於計算機視覺處理問題,我們使用CNN(Convolution Neural Network);

3)、對於語音這樣的時序訊號處理,我們使用RNN(Recurrent Neural Network)。

這裡寫圖片描述

3、資料型別

資料型別一般分為兩種:結構化資料 和 非結構化資料。

這裡寫圖片描述

結構化資料:例如房價預測中的size,#bedrooms,price等;線上廣告中的User Age,Ad ID等。

非結構化資料:例如聲音、影象或者文字等。

尤其是在非結構化資料上,深度學習方法更能展示相對於其他方法的優越性,更能創造出巨大的實用價值。

4、深度學習飛速發展的要素

如下圖所示,橫座標 x 表示資料量(Amount of data),縱座標 y 表示機器學習模型的效能表現(Performance)。

這裡寫圖片描述

圖中共有 4 條曲線。

1、紅色曲線代表了傳統機器學習演算法的表現,它在資料量很大的時候表現很一般;

2、黃色曲線代表了規模較小的神經網路模型(Small NN),它在資料量較大時候的效能優於傳統的機器學習演算法;

3、藍色曲線代表了規模中等的神經網路模型(Media NN),它在資料量更大的時候的表現比Small NN更好;

4、綠色曲線代表更大規模的神經網路(Large NN),它在資料量更大的時候的表現比Media NN更好,並且保持了快速上升的趨勢。

可以看出,更復雜的深度學習模型,對海量資料的處理和分析更有效。其原因是:可供使用來訓練的樣本資料量承幾何級數增加、訓練伺服器使用計算力極強的GPU架構以及幾年來學術界更多的演算法上的創新和改進。