backpropagation

一、BP算法由来
其实,训练模型可以直接上梯度下降法,但是参数太多了,很难计算。为了效率,发明了BP算法!
二、推导
在学习模型参数的时候,可以分为两个阶段:forward pass 和back pass!
根据输出函数的不同,Neural network可以做分类、回归、soft classification 。为此,我们也有不同的损失函数。这里,简单起见,若我们做软分类任务,使用cross_entropy,记为L。有n个样本,但我们只分析一个样本的损失值。
在这里插入图片描述根据链式法则,我们可以将希望求得的梯度利用链式法则展开,也因此有了上文的forward pass和backward pass。

在这里插入图片描述
forward pass:
前向传播,每个neuron的输出便是我们希望求得的梯度中的第一个微分值。
在这里插入图片描述
backward pass:
计算梯度值,比较麻烦的是第二个微分,先从输出层开始计算,这个轻易求得:
在这里插入图片描述如果不在输出层:
在这里插入图片描述
具体说来,上图计算公式是如何得到的呢?依旧利用链式法则,可以看到这里用到了上次学习到的权重,以及从后向前学到的偏导数值,这就组成了上图。
在这里插入图片描述
在这里插入图片描述因此在计算梯度时,利用forward pass和backward pass可以很快地计算出整个网络参数梯度。相较于直接的梯度下降法,有规律可循!
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值