4.3 核对矩阵的维数-深度学习-Stanford吴恩达教授
| 4.2 深層網絡中的前向傳播 | 回到目錄 | 4.4 為什么使用深層表示 |
核對矩陣的維數 (Getting Your Matrix Dimensions Right)
當實現深度神經網絡的時候,其中一個我常用的檢查代碼是否有錯的方法就是拿出一張紙過一遍算法中矩陣的維數。
www 的維度是(下一層的維數,前一層的維數),即 w[l]w^{[l]}w[l] : (n[l],n[l?1])(n^{[l]},n^{[l-1]})(n[l],n[l?1]) ;
bbb 的維度是(下一層的維數,1),即 b[l]b^{[l]}b[l] : (n[l],1)(n^{[l]},1)(n[l],1);z[l],a[l]z^{[l]},\ a^{[l]}z[l],?a[l] : (n[l],1)(n^{[l]},1)(n[l],1)
dw[l]dw^{[l]}dw[l] 和 w[l]w^{[l]}w[l] 維度相同, db[l]db^{[l]}db[l] 和 b[l]b^{[l]}b[l] 維度相同,且 www 和 bbb 向量化維度不變,但 z,az,az,a 以及 xxx 的維度會向量化后發生變化。
向量化后:
Z[l]Z^{[l]}Z[l] 可以看成由每一個單獨的 Z[l]Z^{[l]}Z[l] 疊加而得到,Z[l]=(z[l][1],z[l][2],z[l][3],?,z[l][m]),Z^{[l]}=(z^{[l][1]},z^{[l][2]},z^{[l][3]},\cdots,z^{[l][m]}),Z[l]=(z[l][1],z[l][2],z[l][3],?,z[l][m]),
mmm 為訓練集大小,所以 z[l]z^{[l]}z[l] 的維度不再是 (n[l],1)(n^{[l]},1)(n[l],1) ,而是 (n[l],m)(n^{[l]},m)(n[l],m) 。
A[l]:(n[l],m),A[0]=X=(n[l],m)A^{[l]}:(n^{[l]},m),\ A^{[0]}=X=(n^{[l]},m)A[l]:(n[l],m),?A[0]=X=(n[l],m)
在你做深度神經網絡的反向傳播時,一定要確認所有的矩陣維數是前后一致的,可以大大提高代碼通過率。下一節我們講為什么深層的網絡在很多問題上比淺層的好。
課程PPT
| 4.2 深層網絡中的前向傳播 | 回到目錄 | 4.4 為什么使用深層表示 |
總結
以上是生活随笔為你收集整理的4.3 核对矩阵的维数-深度学习-Stanford吴恩达教授的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4.2 深层网络中的前向传播-深度学习-
- 下一篇: 4.4 为什么使用深层表示-深度学习-S