Learning representations by back-propagating errors

这篇文章清晰地阐释了backpropagation的过程。

backpropagation的精髓就在于chain rule。同时利用神经网络的结构,使得gradient descent的过程就如同反向的神经网络一般。

假设我们有如下一个神经网络

其中

Y_{ij}=\frac{1}{1+e^{-{X_{ij}}}}

X_{ij}=\sum_{j = 1}^{n}{W_{i-1,j}Y_{i-1,j}}

最终的loss function被定义为

L=\frac{1}{2}\sum_{i=1}^{m}{(y^{(i)}_{out}-d^{(i)})^2}

gradient descent所做的事情就是不断调整W的取值,使得最终的loss function最小化。

文中提到如果没有hidden layer,那么GD是一件相对容易的事情;但是如果有hidden layer,事情会复杂很多。

我们需要通过计算W的偏导数来更新W的数值,根据chain rule,可以得到第一步的分解式

\frac{\partial L}{\partial W_{ij}^{(k)}}=\frac{\partial L}{\partial Y_{k+1,j}}\frac{\partial Y_{k+1,j}}{\partial W_{ij}^{(k)}}

其中分解的第一个偏导数可以直接从loss function的定义中得到。

至于第二个偏导数我们可以利用chain rule继续分解

\frac{\partial Y_{k+1,j}}{\partial W_{ij}}=\frac{\partial Y_{k+1,j}}{\partial X_{k+1,j}}\frac{\partial X_{k+1,j}}{​{\partial W_{ij}}}

这一步中的第一个偏导数是sigmoid function的偏导数可以很简单地计算出来,第二个偏导数我们发现就是

\frac{\partial X_{k+1,j}}{​{\partial W_{ij}^{(k)}}}=Y_{ij}

然后递归下去,便可以更新所有W的值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值