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

深度神经网络的前向传播

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
    评论
BP神经网络的正向传播和反向传播是神经网络训练的两个关键步骤。在正向传播过程中,输入数据通过网络的各个层,逐层计算并传递,最终得到输出结果。具体来说,每个神经元将接收到上一层神经元的输出,并根据权重和激活函数计算自己的输出。这个过程一直持续到输出层,得到最终的输出结果。\[1\] 在反向传播过程中,首先计算输出层的损失值,即预测值与真实值之间的差异。然后,通过链式法则将损失值反向传播回隐藏层和输入层,计算每个神经元的梯度。梯度表示了损失函数对于每个权重的变化率,可以用来指导权重的更新。具体来说,通过计算每个神经元的梯度,可以确定每个权重的调整方向和大小,以使得损失函数最小化。最后,根据梯度的方向和学习率,更新网络中的权重和偏置,以提高网络的性能。\[3\] 总结起来,BP神经网络的正向传播是将输入数据通过网络计算得到输出结果的过程,而反向传播是根据损失函数计算梯度并更新权重的过程。这两个过程相互配合,通过多次迭代训练,使得神经网络能够逐渐优化并逼近已知样本的类标记。\[2\] #### 引用[.reference_title] - *1* [bp神经网络反向传播原理,BP神经网络反向传播](https://blog.csdn.net/mynote/article/details/126263464)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [神经网络及反向传播(bp)算法详解](https://blog.csdn.net/momaojia/article/details/76269468)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值