反向传播

反向传播(简述)

这次简单的记录一下反向传播是怎么回事。
在最开始,先引入一个概念:

Computational Graphs 计算图

以带正则惩罚项的线性分类器为例,它的计算图简述如下:
在这里插入图片描述
这个理解起来比较简单,就是把运算符顺序排好之后,把变量通过运算符组合成中间变量,最后到达L的一张图就好了。这里再给出一个函数来辅助理解这件事情:
在这里插入图片描述
它的计算图如下所示:
在这里插入图片描述
接下来我们就以此为例展开说明反向传播。

反向传播

由计算图我们可以比较清晰的看到,最左边设置的初始参数,经过乘法门、加法门、exp门等得到了中间变量值和最后的值,这是所谓的“正向”。那么反向是怎么回事呢?对于最终的结果,如果与我们期望的结果有差异,我们会调整W和X,那么如何调整呢?
不难想到,要运用导数或者说梯度的观点来考虑。要知道W与X中任何一个发生变化,都会对最终结果L造成影响,这个影响一般用偏导数来衡量较为准确。最终结果与期望结果有差值,那我们就把这个差异除以偏导数,就是我们要对自变量的修正。最终得出的各节点修正如下图所示:
在这里插入图片描述
我们将计算呈现出来来辅助理解:

  • 从后往前来看,
  • 经过1/x门处的(本地)导数为-1/x2,+1门的导数为1,exp门的导数为ex,*-1门的导数为-1,加法门的导数为1,乘法门的导数为另一个连接元素。
  • 起始的传入导数为1,下一层传入导数即为传入导数与本地导数的积,所以下一层是1*(-1/x2)=1*(-1/(1.372)=-0.53,再下一层是1*-0.53=-0.53,接下来是-0.53*e-1.00=-0.20,以此类推。

事实上,上例有更好的方法,我们将WX看作一个整体,留下的部分是一个sigmoid函数的形式,被蓝色框选的部分就是一个sigmoid门,而且它的导数很优美,为σ(1-σ)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值