Caffe学习:Forward and Backward
来源:互联网 发布:a5淘宝客 编辑:程序博客网 时间:2024/06/06 07:36
原文
- forward and backward passes(前向迭代和反向迭代)是Net最基本的成分。
下面以简单的logistic regression classifier(逻辑回归分类器)为例。
- Forward Pass(前向迭代)利用给定的输入,根据模型设定的函数,计算出输出。This pass goes from bottom to top(数据流向从bottom到top)。
- 数据x通过一个inner product layer,函数为g(x),然后通过softmax layer,函数为h(x),最终将softmax loss输出为fW(x)。
- Backward Pass(反向迭代)计算由loss(损失)给出的gradient(梯度),用于学习、优化参数。Caffe反向计算每一层的gradient,通过automatic differentiation(自动微分)计算出整个模型的gradient(梯度)。这称为back-propagation(反向迭代)。This pass goes from top to bottom(数据流向从top到bottom)。
Backward Pass从loss开始,依据output的∂fW∂h计算出gradient,layer-by-layer地计算出整个模型的gradient。对于有参数的Layer,例如INNER_PRODUCT layer,根据其参数由∂fW∂Wip计算出其梯度。
Caffe如何进行forward and backward passes(前向迭代和反向迭代):
- 每一次计算时,Net::Forward()和Net::Backward() 方法会调用Layer::Forward()和Layer::Backward()方法
- 每一个Layer都有forward_{cpu,gpu}()和backward_{cpu,gpu}方法,一个Layer可以只使用CPU或者GPU模式,在某些特定约束条件下,或者为了便利。
- Solver(求解方法)优化模型的方法是:先调用forward pass计算output和loss,然后调用backward pass去计算模型的gradient。利用计算出的gradient赋予一定的weight(权重)去更新学习参数,以最大限度地降低loss。
- Solver,Net,和Layer之间的明确分工,是Caffe保持高度的模块化、开放的发展空间。
如果想要了解Caffe不同类型Layer的forward and backward step的细节,详见layer catalogue。
阅读全文
0 0
- Caffe学习:Forward and Backward
- Caffe学习:Forward and Backward
- Caffe学习:Forward and Backward
- Caffe入门(4)——Forward and Backward
- caffe study(2) 关于forward和backward - backward
- Brief overview of backward and forward
- Codeforces Gym 100889 B Backward and Forward
- Backward Elimination, Forward Selection and Stepwise
- CNTK学习笔记 -- Computation Network part 1 -- Forward and Backward Algorithm
- saliency detection by forward and backward cues in deep-cnn
- Andrew Ng 深度学习课程Deeplearning.ai 编程作业——forward and backward propagation(1-4.1)
- Forward-backward algorithm
- Forward, Backward, Backward+三种求SLCA的方法
- caffe中的backward理解
- Highly Efficient Forward and Backward Propagation of Convolutional Neural Networks for Pixelwise Cla
- Feed Forward and Backward Run in Deep Convolution Neural Network 论文阅读笔记
- HMM学习最佳范例:前向-后向算法(Forward-backward algorithm)
- caffe中backward过程总结
- 零基础入门深度学习(1)
- 实现一个Android锁屏App的难点总结
- Consst 用法
- 存储空间(Bucket)
- jquery 对 select 中option进行赋值,取值,append,remove操作
- Caffe学习:Forward and Backward
- 基于aspectj的aop操作
- 2017多校联合第五场1011/hdu6095Rikka with Competition(排序)
- ansible之patterns
- hpu暑假训练 B
- 【技术贴】ArcGIS Runtime for Xamarin 使用SPK构建逼真的三维场景
- spring声明式事务
- javaweb学习总结(十三)——JSP原理
- 属性的设置和获取