吳恩達DeepLearning.ai筆記(1-4)-- 深層神經網路
阿新 • • 發佈:2019-01-10
神經網路和深度學習—深層神經網路
1.深度網路中的前向傳播
2. 核對矩陣的維度
DNN結構示意圖如圖所示:
對於第L層神經網路,單個樣本其各個引數的矩陣維度為:
- W[l]:(n[l],n[l−1])
- b[l]:(n[l],1)
- dW[l]:(n[l],n[l−1])
- db[l]:(n[l],1)
- Z[l]:(n[l],1)
- A[l]=Z[l]:(n[l],1)
3. 為什麼使用深層表示
人臉識別和語音識別:
對於人臉識別,神經網路的第一層從原始圖片中提取人臉的輪廓和邊緣,每個神經元學習到不同邊緣的資訊;網路的第二層將第一層學得的邊緣資訊組合起來,形成人臉的一些區域性的特徵,例如眼睛、嘴巴等;後面的幾層逐步將上一層的特徵組合起來,形成人臉的模樣。隨著神經網路層數的增加,特徵也從原來的邊緣逐步擴充套件為人臉的整體,由整體到區域性,由簡單到複雜。層數越多,那麼模型學習的效果也就越精確。
對於語音識別,第一層神經網路可以學習到語言發音的一些音調,後面更深層次的網路可以檢測到基本的音素,再到單詞資訊,逐漸加深可以學到短語、句子。
所以從上面的兩個例子可以看出隨著神經網路的深度加深,模型能學習到更加複雜的問題,功能也更加強大。
電路邏輯計算:
假定計算異或邏輯輸出:
y=x1⊕x2⊕x3⊕⋯⊕xn對於該運算,若果使用深度神經網路,每層將前一層的相鄰的兩單元進行異或,最後到一個輸出,此時整個網路的層數為一個樹形的形狀,網路的深度為O(log2(n)),共使用的神經元的個數為:
即輸入個數為n,輸出個數為n-1。
但是如果不使用深層網路,僅僅使用單隱層的網路(如右圖所示),需要的神經元個數為24. 前向和反向傳播
首先給定DNN的一些引數:
4. 引數和超引數
引數:
引數即是我們在過程中想要模型學習到的資訊,W[l],b[l]。
超引數:
超引數即為控制引數的輸出值的一些網路資訊,也就是超引數的改變會導致最終得到的引數W[l],b[l]的改變。
舉例:
- 學習速率:α
- 迭代次數:N
- 隱藏層的層數:L
- 每一層的神經元個數:n[1],n[2],⋯
- 啟用函式g(z)的選擇