caffe中的backward理解
2016-08-10 12:42
211 查看
1. 在本质上backward解决的是导数计算的问题,用的就是BP算法,所谓的BP算法就是使用当前层权重对于当前误差加权然后传递到下层节点的一个流程。下图是caffe的doc中示意的,这里面有两部分,一个部分就是向下传递的对于g的偏导数,这个数值就是反向传播的输出;另外一部分就是在当前层中对于当前权重的求导。
2. 下面将通过一个简单的三层网络来说明一下caffe的backward过程所传递的内容的具体形式。
a. 如下图所示,这是一个简单的NN的结构,其输出层就一个节点。其中x代表输入数据,a代表每一层的激活值,对应h。在下面的描述中采用z来对应g。
在加入正则项之后,loss形式为
b. 对于输入层net的求导
对于第n_{l} 输出层 的每个输出单元i ,我们根据以下公式计算对于z的导数,把z看成一个局部net的话,这个就是对于net进行的求导。
其中s_{nt}为当前输出层的神经元的个数,a为第j个神经元的激活值,这个值是通过激活函数f计算得到(如的logistic函数),f的输入就是z。因为当 i != j 的时候,导数为0,因此得到了第三行的求导结果。
c. 对于非输入层net的求导
根据基本的链式法则可以推导到倒数第二行,里面的导数部分就变成了当前层的每一个神经元z_{j}对于下一层的z_{i}求导的一个过程,将z_{j}做一个展开,就是z_{i}层激活的一个加权和,如b所示,得到了最终的对于非输入层的导数。其中W_{ji}指的的是输出层和隐藏层之间的权重链接。
这个导数分为两部分,一部分就是括号内的,是上层导数在当前层节点上的加权和,这个定义了误差专递的方式,也就是反向传播的一个核心;第二项就是当前层激活函数对于net的导数。这样就得到了一个反向转播的递推公式。caffe中backward的就是在传递每一个节点的导数的计算值。
d. 在传递完
2. 下面将通过一个简单的三层网络来说明一下caffe的backward过程所传递的内容的具体形式。
a. 如下图所示,这是一个简单的NN的结构,其输出层就一个节点。其中x代表输入数据,a代表每一层的激活值,对应h。在下面的描述中采用z来对应g。
在加入正则项之后,loss形式为
b. 对于输入层net的求导
对于第n_{l} 输出层 的每个输出单元i ,我们根据以下公式计算对于z的导数,把z看成一个局部net的话,这个就是对于net进行的求导。
其中s_{nt}为当前输出层的神经元的个数,a为第j个神经元的激活值,这个值是通过激活函数f计算得到(如的logistic函数),f的输入就是z。因为当 i != j 的时候,导数为0,因此得到了第三行的求导结果。
c. 对于非输入层net的求导
根据基本的链式法则可以推导到倒数第二行,里面的导数部分就变成了当前层的每一个神经元z_{j}对于下一层的z_{i}求导的一个过程,将z_{j}做一个展开,就是z_{i}层激活的一个加权和,如b所示,得到了最终的对于非输入层的导数。其中W_{ji}指的的是输出层和隐藏层之间的权重链接。
这个导数分为两部分,一部分就是括号内的,是上层导数在当前层节点上的加权和,这个定义了误差专递的方式,也就是反向传播的一个核心;第二项就是当前层激活函数对于net的导数。这样就得到了一个反向转播的递推公式。caffe中backward的就是在传递每一个节点的导数的计算值。
d. 在传递完
相关文章推荐
- Caffe2源码理解系列之存储
- Caffe学习:Forward and Backward
- caffe(六)-------把原始图片数据转化为caffe能理解的数据
- Caffe中learning rate 和 weight decay 的理解
- 从交叉熵角度理解caffe中softmax_loss层
- caffe中backward过程总结
- pytorch学习笔记(七):pytorch hook 和 关于pytorch backward过程的理解
- Caffe框架的理解(二):详解AlexNet
- Caffe上LeNet模型理解
- caffe用matlab提特征和python提特征值不同?重要的地方要注意!看“后篇”理解处
- Caffe中learning rate 和 weight decay 的理解
- caffe中的train_val.prototxt的文件的理解
- caffe mnist loss函数的理解
- caffe code 理解之 blob.hpp + blob.cpp
- Pytorch的backward()相关理解
- Caffe框架初步理解
- Caffe源码理解(1)——caffe框架梳理
- Caffe上LeNet模型理解
- caffe中backward过程总结
- caffe框架翻译-理解(转载)