←上一篇 | ↓↑ | 下一篇→ |
---|---|---|
4.1 深层神经网络 | 回到目录 | 4.3 核对矩阵的维数 |
深层网络中的前向传播 (Forward Propagation in a Deep Network)
跟往常一样,我们先来看对其中一个训练样本 x x x 如何应用前向传播,之后讨论向量化的版本。
第一层需要计算 z [ 1 ] = w [ 1 ] x + b [ 1 ] , a [ 1 ] = g [ 1 ] ( z [ 1 ] ) ( x 可 以 看 作 a [ 0 ] ) z^{[1]}=w^{[1]}x+b^{[1]},\quad a^{[1]}=g^{[1]}(z^{[1]})\quad(x 可以看作a^{[0]}) z[1]=w[1]x+b[1],a[1]=g[1](z[1])(x可以看作a[0])
第二层需要计算 z [ 2 ] = w [ 2 ] a [ 1 ] + b [ 2 ] , a [ 2 ] = g [ 2 ] ( z [ 2 ] ) z^{[2]}=w^{[2]}a^{[1]}+b^{[2]},\quad a^{[2]}=g^{[2]}(z^{[2]}) z[2]=w[2]a[1]+b[2],a[2]=g[2](z[2])
以此类推,
第四层为 z [ 4 ] = w [ 4 ] a [ 3 ] + b [ 4 ] , a [ 4 ] = g [ 4 ] ( z [ 4 ] ) z^{[4]}=w^{[4]}a^{[3]}+b^{[4]},\quad a^{[4]}=g^{[4]}(z^{[4]}) z[4]=w[4]a[3]+b[4],a[4]=g[4](z[4])
前向传播可以归纳为多次迭代 z [ l ] = w [ l ] a [ l − 1 ] + b [ l ] , a [ l ] = g [ l ] ( z [ l ] ) z^{[l]}=w^{[l]}a^{[l-1]}+b^{[l]},\quad a^{[l]}=g^{[l]}(z^{[l]}) z[l]=w[l]a[l−1]+b[l],a[l]=g[l](z[l])
向量化实现过程可以写成:
Z [ l ] = W [ l ] A [ l − 1 ] + b [ l ] , A [ l ] = g [ l ] ( Z [ l ] ) , ( A [ 0 ] = X ) Z^{[l]}=W^{[l]}A^{[l-1]}+b^{[l]},\quad A^{[l]}=g^{[l]}(Z^{[l]}),\quad (A^{[0]}=X) Z[l]=W[l]A[l−1]+b[l],A[l]=g[l](Z[l]),(A[0]=X)
这里只能用一个显式for循环, l l l 从1到 L L L ,然后一层接着一层去计算。下一节讲的是避免代码产生BUG,我所做的其中一件非常重要的工作。
课程PPT
←上一篇 | ↓↑ | 下一篇→ |
---|---|---|
4.1 深层神经网络 | 回到目录 | 4.3 核对矩阵的维数 |