Caffe入门(4)——Forward and Backward

2016/9/13

Forward前向和Backward反向通道是深度网络必须的计算流程。

这里写图片描述

前向通道根据输入计算输出,过程是自底(bottom)向顶(top)的。

反向通道根据学习的损失计算梯度,在反向通道中,Caffe反向组合每一层的梯度来计算整个模型的梯度,这个过程是自顶(top)向底(bottom)的。

反向通道计算从损失开始计算最后一个计算层的导数,模型剩余的其他导数将通过链式法则逐层计算,使用适当的最优化方法,使整个网络的参数逐渐更新。

这些计算在定义模型之后立即开始。Caffe可以为我们安排并且实施这些计算。

Net::Forward()和Net::Backward()方法执行各自的通道操作而 Layer::Forward()和Layer::Backward()执行注步计算。
每一层都含有forward和backward方法来按模式(mode:cpu,gpu)计算。一个层可以只使用CPU或者GPU模式。

解决器(Solver)通过以下过程优化模型:首先调用前向通道计算输出和损失,然后调用反向通道得到模型的导数,之后按权重合并这些导数更新模型以期最小化损失。Solver,Net,Layer的分离使得Caffe非常模块化且利于开发。

参考文献:http://caffe.berkeleyvision.org/tutorial/forward_backward.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值