吴恩达深度学习 —— 4.5 搭建深层神经网络块

如下图,这是一个层数较少的神经网络,我们选择其中一层,从第二层隐藏层的计算着手,在第l层有参数 W l [ ] W^{l[]} Wl[] b [ l ] b^{[l]} b[l],正向传播里有输入的激活函数,输入的前一层是 a [ l − 1 ] a^{[l-1]} a[l1],输出是 a [ l ] a^{[l]} a[l] z [ l ] = W [ l ] a [ l − 1 ] + b z^{[l]}=W^{[l]}a^{[l-1]}+b z[l]=W[l]a[l1]+b a [ l ] = g [ l ] ( z [ l ] ) a^{[l]}=g^{[l]}(z^{[l]}) a[l]=g[l](z[l]),这就是如何从输入 a [ l − 1 ] a^{[l-1]} a[l1]到输出的。
在这里插入图片描述
之后就可以把 z [ l ] z^{[l]} z[l]的值缓存起来,因为缓存的 z [ l ] z^{[l]} z[l]对以后的正向和反向传播的步骤非常有用。

在反向传播步骤,同样也是第 l l l层的计算,你会需要实现一个函数,输入为 d a [ l ] da^{[l]} da[l],输出为 d a [ l − 1 ] da^{[l-1]} da[l1]。一个小细节需要注意,输入在这里其实是 d a [ l ] da^{[l]} da[l]和缓存的 z [ l ] z^{[l]} z[l]值。输出除了 d a [ l − 1 ] da^{[l-1]} da[l1]外,还有 d w [ l ] dw^{[l]} dw[l] d b [ l ] db^{[l]} db[l]

总结起来就是,在第 l l l层会有正向函数,输入 a [ l − 1 ] a^{[l-1]} a[l1]并且输出 a [ l ] a^{[l]} a[l]。为了计算结果,还需要参数 W [ l ] W^{[l]} W[l] b [ l ] b^{[l]} b[l],以及输出到缓存的 z [ l ] z^{[l]} z[l]

然后用作反向传播的反向函数是另外一个函数,输入 d a [ l ] da^{[l]} da[l]输出 d a [ l − 1 ] da^{[l-1]} da[l1],这会得到对激活函数的导数,计算过程需要 W [ l ] W^{[l]} W[l] b [ l ] b^{[l]} b[l] d z [ l ] dz^{[l]} dz[l],可以计算输出 d W [ l ] dW^{[l]} dW[l] d b [ l ] db^{[l]} db[l]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值