深度学习21天实战Caffe学习笔记--笔记5--caffe中前向传播、反向传播及最优化求解过程
2017-03-07 22:29
344 查看
1. 前向传播
(1)前向传播时,由数据读取层获取数据,经过逐层处理,带最后一层(可能是损失层或特征层)得到输出。
(2)网络路径实际上是一个有向无环图(Directed Acycline Graph),DAG。
(3)DAG构造过程。从.prototxt文件读取网络结构,并获得NetParameter对象的初始化值,使用Init()函数实现初始化。Init()完成网络初始化和层初始化的操作。
(4)Net Forward的实现。对于每个Layer,调用Forward()函数,得到每层的loss,逐层计算即就是前向传播的过程。
2. 反向传播
(1)在前向传播阶段,网络依次计算每一层的输出。利用损失函数将网络最后一层的输出与目标值比较,得到损失值,将损失通过反向传播逐层传递直到第一层,反向传播结束之后更新所有层的连接权值。
3. Caffe最优化求解
求解器具有如下特性:
(1)记录优化过程,创建用于学习的训练网络和用于评估学习效果的测试网络。
(2)调用前向传播函数计算输出和损失,调用反向传播函数计算梯度值,根据求解器的方法将梯度转化为权值增量,依据学习率、历史权值和所用求解方法等信息更新求解器状态。
(3)周期性评测网络。在优化过程中为模型、求解器的状态记录快照。
Tips:
1. caffe中默认使用系统时钟生成随机数种子。这意味着得到两个相同的初始化是非常困难的。
2. caffe在训练过程中会保存有snapshot文件,当需要在某个状态下继续训练时可以使用该文件。只需要在train.sh中修改一下设置,将-weight=$.caffemodel修改为-snapshot=$.solverstate
(1)前向传播时,由数据读取层获取数据,经过逐层处理,带最后一层(可能是损失层或特征层)得到输出。
(2)网络路径实际上是一个有向无环图(Directed Acycline Graph),DAG。
(3)DAG构造过程。从.prototxt文件读取网络结构,并获得NetParameter对象的初始化值,使用Init()函数实现初始化。Init()完成网络初始化和层初始化的操作。
(4)Net Forward的实现。对于每个Layer,调用Forward()函数,得到每层的loss,逐层计算即就是前向传播的过程。
2. 反向传播
(1)在前向传播阶段,网络依次计算每一层的输出。利用损失函数将网络最后一层的输出与目标值比较,得到损失值,将损失通过反向传播逐层传递直到第一层,反向传播结束之后更新所有层的连接权值。
3. Caffe最优化求解
求解器具有如下特性:
(1)记录优化过程,创建用于学习的训练网络和用于评估学习效果的测试网络。
(2)调用前向传播函数计算输出和损失,调用反向传播函数计算梯度值,根据求解器的方法将梯度转化为权值增量,依据学习率、历史权值和所用求解方法等信息更新求解器状态。
(3)周期性评测网络。在优化过程中为模型、求解器的状态记录快照。
Tips:
1. caffe中默认使用系统时钟生成随机数种子。这意味着得到两个相同的初始化是非常困难的。
2. caffe在训练过程中会保存有snapshot文件,当需要在某个状态下继续训练时可以使用该文件。只需要在train.sh中修改一下设置,将-weight=$.caffemodel修改为-snapshot=$.solverstate
相关文章推荐
- 深度学习21天实战Caffe学习笔记--笔记5--caffe中前向传播、反向传播及最优化求解过程
- 深度学习21天实战caffe学习笔记《12:Caffe 最优化求解过程》
- 深度学习21天实战实战caffe学习笔记<11:Caffe 反向传播>
- 深度学习21天实战实战caffe学习笔记<10:Caffe前向传播>
- 深度学习21天实战caffe学习笔记《6 : Caffe代码梳理》
- 深度学习21天实战caffe学习笔记《1:深度学习的过往》
- 深度学习21天实战实战caffe学习笔记《14:Caffe可视化方法》
- 深度学习21天实战caffe学习笔记《7 :Caffe数据结构》
- 深度学习21天实战caffe学习笔记《4 : Caffe依赖包解析》
- 深度学习21天实战Caffe学习笔记一
- 深度学习21天实战caffe学习笔记《17:学习资源>
- 深度学习21天实战Caffe学习笔记--深度学习工具汇总
- 深度学习-21天实战caffe 笔记
- 深度学习21天实战实战caffe学习笔记《5 : Mnist手写体识别案例》
- 深度学习21天实战caffe学习笔记《13:Caffe 实用工具》
- 深度学习21天实战Caffe学习笔记--笔记3--caffe代码梳理
- 深度学习21天实战caffe学习笔记《16:Caffe迁移和部署》
- 深度学习21天实战caffe学习笔记《15:Caffe计算加速》
- 深度学习21天实战caffe学习笔记《2 :深度学习工具》
- 深度学习21天实战caffe学习笔记《0 : caffe包解析》