1. 程式人生 > >吳恩達《深度學習》第一門課(4)深層神經網絡

吳恩達《深度學習》第一門課(4)深層神經網絡

加網 分享 傳遞 height 經驗 技術分享 image 進行 sig

4.1深層神經網絡

(1)到底是深層還是淺層是一個相對的概念,不必太糾結,以下是一個四層的深度神經網絡:

技術分享圖片

(2)一些符號定義:

a[0]=x(輸入層也叫做第0層)

L=4:表示網絡的層數

g:表示激活函數

第l層輸出用a[l],最終的輸出用a[L]表示

n[1]=5:表示第一層有五個神經元,第l層神經元個數用n[l]表示

4.2前向傳播和反向傳播

(1)前向傳播:輸入a[l-1],輸出是a[l],緩存為z[l],步驟如下:(下面第一個式子應該是a[l-1]

技術分享圖片

技術分享圖片

向量化:

技術分享圖片

技術分享圖片

(2)反向傳播:輸入da[l],輸出da[l-1],dw[l],db[l]

技術分享圖片

(4)da[l-1]=w[l]T·dz[l]

由第四個式子帶入到第一各式子中得

技術分享圖片

向量化:

技術分享圖片

(3)總結:第一層可能是Relu激活函數,第二層為另一個Relu函數,第三層可能是sigmoid函數(如果做二分類的話),輸出值為a[L],用來計算損失,這樣就可以以向後叠代進行反向傳播就到來求dw[3],db[3],dw[2],db[2],dw[1],db[1].在計算的時候,緩存會把z[1]z[2]z[3]傳遞過來,然後回傳da[2],da[1],可以用來計算da[0],但是不會使用它。整個過程如下圖所示

技術分享圖片

4.3深層網絡的前向傳播

(1)前向傳播歸納為:

技術分享圖片

向量化實現過程:

技術分享圖片

4.4核對矩陣的維數

(1)w的維度是(下一層的維數,上一層的維數),即w[l]

:(n[l],n[l-1])

(2)b的維度時(下一層的維數,1)

(3)z[l],a[l]:(n[l],1)

(4)dw[l]和w[l]維度相同,db[l]和b[l]維度相同,且w,b向量化維度不變,但z,a以及x的維度會向量化後發生改變。

向量化後:

Z[l]:(n[l],m),A[l]同Z[l]

4.5為什麽使用深層表示

增加網絡的深度比廣度更有效。

4.6搭建神經網絡塊

(1)針對一層的正向和反向傳播:

技術分享圖片

(2)整個過程示意圖:

技術分享圖片

4.7參數VS超參數

(1)W,b是參數

(2)學習率、叠代次數、層數、每層的單元數、momentum、mini batch size、regularization perameters等能影響W、b的都稱為超參數,超參數的選擇需要不斷嘗試和靠經驗,以及一些策略。

4.8深度學習和大腦的關聯性

深度學習和大腦其實沒什麽直接關系。

技術分享圖片

吳恩達《深度學習》第一門課(4)深層神經網絡