反向传播的工作过程以及公式推导
2018-04-01 11:19
369 查看
作者:陈唯源
链接:https://www.zhihu.com/question/24827633/answer/91489990
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
一般都是用链式法则解释
比如如下的神经网络
前向传播
对于节点
来说,
的净输入
如下:
接着对
做一个sigmoid函数得到节点
的输出:
类似的,我们能得到节点
、
、
的输出
、
、
。
误差
得到结果后,整个神经网络的输出误差可以表示为:
其中
就是刚刚通过前向传播算出来的
、
;
是节点
、
的目标值。
用来衡量二者的误差。
这个
也可以认为是cost function,不过这里省略了防止overfit的regularization term(
)
展开得到
后向传播
对输出层的
通过梯度下降调整
,需要求
,由链式法则:
,
如下图所示:
以上3个相乘得到梯度
,之后就可以用这个梯度训练了:
很多教材比如Stanford的课程,会把中间结果
记做
,表示这个节点对最终的误差需要负多少责任。。所以有
。
对隐藏层的
通过梯度下降调整
,需要求
,由链式法则:
,
如下图所示:
参数
影响了
,进而影响了
,之后又影响到
、
。
求解每个部分:
,
其中
,这里
之前计算过。
的计算也类似,所以得到
。
的链式中其他两项如下:
,
相乘得到
得到梯度后,就可以对
迭代了:
。
在前一个式子里同样可以对
进行定义,
,所以整个梯度可以写成
=======================
上述
就是教程Unsupervised Feature Learning and Deep Learning Tutorial 中第三步计算的由来。。
<img src="https://pic1.zhimg.com/50/2d29c11b1c9da7652c63f01d5e31284e_hd.jpg" data-rawwidth="822" data-rawheight="428" class="origin_image zh-lightbox-thumb" width="822" data-original="https://pic1.zhimg.com/2d29c11b1c9da7652c63f01d5e31284e_r.jpg">
所谓的后向传播,其实就是『将来在宣传传播上出了偏差,你们要负责的!』,每一个节点负责的量用
表示,那么,隐藏节点需要负责的量,就由输出节点负责的量一层层往前传导。
参考:
【1】A Step by Step Backpropagation Example
【2】Unsupervised Feature Learning and Deep Learning Tutorial编辑于 2016-04-02
链接:https://www.zhihu.com/question/24827633/answer/91489990
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
一般都是用链式法则解释
比如如下的神经网络
前向传播
对于节点
来说,
的净输入
如下:
接着对
做一个sigmoid函数得到节点
的输出:
类似的,我们能得到节点
、
、
的输出
、
、
。
误差
得到结果后,整个神经网络的输出误差可以表示为:
其中
就是刚刚通过前向传播算出来的
、
;
是节点
、
的目标值。
用来衡量二者的误差。
这个
也可以认为是cost function,不过这里省略了防止overfit的regularization term(
)
展开得到
后向传播
对输出层的
通过梯度下降调整
,需要求
,由链式法则:
,
如下图所示:
以上3个相乘得到梯度
,之后就可以用这个梯度训练了:
很多教材比如Stanford的课程,会把中间结果
记做
,表示这个节点对最终的误差需要负多少责任。。所以有
。
对隐藏层的
通过梯度下降调整
,需要求
,由链式法则:
,
如下图所示:
参数
影响了
,进而影响了
,之后又影响到
、
。
求解每个部分:
,
其中
,这里
之前计算过。
的计算也类似,所以得到
。
的链式中其他两项如下:
,
相乘得到
得到梯度后,就可以对
迭代了:
。
在前一个式子里同样可以对
进行定义,
,所以整个梯度可以写成
=======================
上述
就是教程Unsupervised Feature Learning and Deep Learning Tutorial 中第三步计算的由来。。
<img src="https://pic1.zhimg.com/50/2d29c11b1c9da7652c63f01d5e31284e_hd.jpg" data-rawwidth="822" data-rawheight="428" class="origin_image zh-lightbox-thumb" width="822" data-original="https://pic1.zhimg.com/2d29c11b1c9da7652c63f01d5e31284e_r.jpg">
所谓的后向传播,其实就是『将来在宣传传播上出了偏差,你们要负责的!』,每一个节点负责的量用
表示,那么,隐藏节点需要负责的量,就由输出节点负责的量一层层往前传导。
参考:
【1】A Step by Step Backpropagation Example
【2】Unsupervised Feature Learning and Deep Learning Tutorial编辑于 2016-04-02
相关文章推荐
- BP神经网络,BP推导过程,反向传播算法,误差反向传播,梯度下降,权值阈值更新推导,隐含层权重更新公式
- 根据经纬度计算两点之间的距离的公式推导过程以及google.maps的测距函数
- LSTM详解 反向传播公式推导
- 双层神经网络与逻辑回归正反向传播数学公式简要推导
- 神经网络反向传播算法公式推导详解
- 三、梯度下降与反向传播(含过程推导及证明)
- DNN反向传播推导过程
- 卷积神经网络(二):Softmax损失以及反向传播导数推导
- 深度网络中softmax_loss、Smooth L1 loss计算以及反向传播推导
- 神经网络反向传播公式的推导
- Batch Normalization 反向传播(backpropagation )公式的推导
- 深度学习基础:反向传播即BP算法的推导过程
- BP神经网络:误差反向传播公式的简单推导
- DNN反向传播推导过程
- 反向传播(Back propagation)算法推导具体过程
- caffe loss以及正则项反向传播过程
- 总结2: Batch Normalization反向传播公式推导及其向量化
- CNN反向传播公式推导
- 神经网络反向传播(相关公式)
- 基于回归曲线拟合模型的ALS(最小二乘法)推导过程以及Python实现