01.神经网络和深度学习 W4.深层神经网络
文章目錄
- 1. 深層神經網絡
- 2. 前向傳播和反向傳播
- 3. 核對矩陣維數
- 4. 參數、超參數
參考:
吳恩達視頻課
深度學習筆記
1. 深層神經網絡
有的時候只有非常深的神經網絡才能發揮作用。
但是無法提前預知多少層的神經網絡合適,可以先嘗試邏輯回歸,嘗試一層,然后兩層隱含層,然后把隱含層的數量當作超參數,然后交叉驗證
2. 前向傳播和反向傳播
前向傳播:
- 輸入: a[l?1]a^{[l-1]}a[l?1]
- 輸出:a[l]a^{[l]}a[l]
- 緩存:z[l],w[l],b[l]z^{[l]},w^{[l]},b^{[l]}z[l],w[l],b[l]
z[l]=W[l]?a[l?1]+b[l]z^{[l]}=W^{[l]} \cdot a^{[l-1]}+b^{[l]}z[l]=W[l]?a[l?1]+b[l]
a[l]=g[l](z[l])a^{[l]}=g^{[l]}\left(z^{[l]}\right)a[l]=g[l](z[l])
向量化寫法
z[l]=W[l]?A[l?1]+b[l]z^{[l]}=W^{[l]} \cdot A^{[l-1]}+b^{[l]}z[l]=W[l]?A[l?1]+b[l]
A[l]=g[l](Z[l])A^{[l]}=g^{[l]}\left(Z^{[l]}\right)A[l]=g[l](Z[l])
后向傳播:
- 輸入: da[l]da^{[l]}da[l]
- 輸出: da[l?1],dw[l],db[l]da^{[l-1]},dw^{[l]},db^{[l]}da[l?1],dw[l],db[l]
dz[l]=da[l]?g[l]′(z[l])dw[l]=dz[l]?a[l?1]db[l]=dz[l]da[l?1]=w[l]T?dz[l]dz[l]=w[l+1]Tdz[l+1]?g[l]′(z[l])\begin{array}{l}d z^{[l]}=d a^{[l]} * g^{[l]^{\prime}}\left(z^{[l]}\right) \\ d w^{[l]}=d z^{[l]} \cdot a^{[l-1]} \\ d b^{[l]}=d z^{[l]} \\ d a^{[l-1]}=w^{[l] T} \cdot d z^{[l]} \\ d z^{[l]}=w^{[l+1] T} d z^{[l+1]} \cdot g^{[l]^{\prime}}\left(z^{[l]}\right)\end{array}dz[l]=da[l]?g[l]′(z[l])dw[l]=dz[l]?a[l?1]db[l]=dz[l]da[l?1]=w[l]T?dz[l]dz[l]=w[l+1]Tdz[l+1]?g[l]′(z[l])?
向量化寫法
dZ[l]=dA[l]?g[l]′(Z[l])dW[l]=1mdZ[l]?A[l?1]Tdb[l]=1mnp?sum?(dz[l],axis=1,keepdims?=True)dA[l?1]=W[l]T?dZ[l]\begin{array}{l}d Z^{[l]}=d A^{[l]} * g^{[l]^{\prime}}\left(Z^{[l]}\right) \\ d W^{[l]}=\frac{1}{m} d Z^{[l]} \cdot A^{[l-1] T} \\ d b^{[l]}=\frac{1}{m} n p \cdot \operatorname{sum}\left(d z^{[l]}, \text {axis}=1, \text { keepdims }=\text {True}\right) \\ d A^{[l-1]}=W^{[l] T} \cdot d Z^{[l]}\end{array}dZ[l]=dA[l]?g[l]′(Z[l])dW[l]=m1?dZ[l]?A[l?1]Tdb[l]=m1?np?sum(dz[l],axis=1,?keepdims?=True)dA[l?1]=W[l]T?dZ[l]?
3. 核對矩陣維數
4. 參數、超參數
參數有 W, b
超參數:
- 學習率
- 梯度下降 迭代次數
- 隱藏層數量
- 隱藏層單元數量
- 激活函數選擇
- momentum
- mini batch size
- 正則化參數
多種組合,各種嘗試,選擇效果最好的參數組合,第二門課會介紹
總結
以上是生活随笔為你收集整理的01.神经网络和深度学习 W4.深层神经网络的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 625. 最小因式分解
- 下一篇: 梳理百年深度学习发展史-七月在线机器学习