【深度学习基础】正反向传播

深度神经网络的前向传播

1. 前向传播的公式推导

下图中红色标注的是层间的递推公式。

2. 具体实现细节

正向传播
在这里插入图片描述
更新前向函数的方法是:
z [ l ] = w [ l ] ∗ a [ l − 1 ] + b [ l ] z^{[l]} = w^{[l]} * a^{[l-1]} + b^{[l]} z[l]=w[l]a[l1]+b[l]
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],输出的是 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 z [ l ] = d z [ l ] ∗ ( g [ l ] ) ′ ( z [ l ] ) dz^{[l]} = dz^{[l]} * (g^{[l]})^{'} (z^{[l]}) dz[l]=dz[l](g[l])(z[l])
d w [ l ] = d z [ l ] ∗ a [ l − 1 ] dw^{[l]} = dz^{[l]} * a^{[l-1]} dw[l]=dz[l]a[l1]
d b [ l ] = d z [ l ] db^{[l]} = dz^{[l]} db[l]=dz[l]
d z [ l − 1 ] = ( w [ l ] ) T ∗ d z [ l ] dz^{[l-1]} = (w^{[l]}) ^ {T} * dz^{[l]} dz[l1]=(w[l])Tdz[l]
综合上面4个式子,得到
d z [ l ] = ( w [ l + 1 ] ) T ∗ d z [ l + 1 ] ∗ ( g [ l ] ) ′ ( z [ l ] ) dz^{[l]} = (w^{[l+1]}) ^ {T} * dz^{[l+1]} * (g^{[l]})^{'}(z^{[l]}) dz[l]=(w[l+1])Tdz[l+1](g[l])(z[l])
输入的是 d a [ l ] d_a^{[l]} da[l],输出的是 d a [ l − 1 ] d_a^{[l-1]} da[l1],并记录下当前的 d w l d_w^{l} dwl d b [ l ] d_b^{[l]} db[l]
在这里插入图片描述
多层就会得到:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值