梯度反向传播求解示例

深度学习中进行网络的训练的时候,常常采用梯度反向传递的方式对网络中的参数进行调整,那么具体是怎么实现的呢?我用一个简单的例子进行推导求解。

如下图,这里采用的是两层网络,损失函数采用的是平方差损失函数,激励函数采用的是sigmoid函数,sigmoid函数的导数在我的上篇文章中有写,这里直接用,不再赘述。



        通过上面的一系列推导就可以看出,反向传播网络的工作过程是首先进行信息的前馈,计算出各个节点的输入输出值,网络最终的输出,并把各个节点的输入输出值进行存储,利用损失函数求出最终的损失,然后进行损失的反向传播,在损失反向传播的过程中实际上是对各个节点的输出进行求梯度,那么在这个过程中我们发现用到的值都是之前前馈过程中的输入输出值,只要推导出计算公式,就可以直接利用存储的中间变量实现反向传播的梯度求解,然后是对各个权值进行更新,在更新的过程中会用到先前求解的对于各个节点输出梯度。

可能整个的推导过程看着有点晕,但是只有踏踏实实推导一遍,对于反向传播网络才会有一个更加清晰的认识与了解~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值