如何直观的解释back propagation算法(二)


利用计算图做自动微分时,既有前向模式,也有反向模式。而神经网络中的反向传播就是自动微分的反向模式。事实上,我们还可以用“前向传播”来计算神经网络中的梯度值,但是由于效率原因这个方法并没有被采用。

我们首先考虑下面这个计算图

我们的终极目标是为了计算输出对输入的梯度,即\partial L/\partial x (注意,这里输出L是一维的,即实数,因此是梯度。而x,y,z可以是多维的向量。这个维度的差异非常关键)。y与z可以看做中间状态变量,数学上并不是必须存在的,完全可以去掉它们,直接考虑L(x) 这个函数及其梯度。但是为了自动求梯度,我们把x到L的计算过程拆分成一些基本运算(如加减乘除)的序列执行,这样相邻两层之间的梯度就只有有限几种简单的形式,从而可以结合链式法则自动计算梯度。

由于这样的拆分,我们预先就知道了相邻两层的微分(例如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值