Caffe Solver

1、Caffe Solver

Caffe Solver通过协调Net的前向推断计算和反向梯度计算对参数进行更新,从而达到减小loss的目的。Caffe模型的学习分为两个部分:Solver优化、更新参数、以及Net计算loss和gradient。

Caffe支持Solvers有:

  • Stochastic Gradient Descent (SGD)随机梯度下降
  • AdaDelta
  • Adaptive Gradient(AdaGrad)自适应梯度
  • Adam
  • Nesterov's Accelerated Gradient (Nesterov)
  • RMSprop

Caffe Solver的主要功能包括:

  • 优化过程记录,创建训练网络和测试网络;
  • 通过forward和backward来迭代优化和更新参数;
  • 周期性地用测试网络评估模型性能;
  • 在优化过程中记录模型和Solver状态的快照。

每一次迭代完成以下功能:

  • 调用Net的前向过程计算输出和loss;
  • 调用Net的后向过程计算梯度;
  • 根据Solver方法,利用梯度更新参数;
  • 根据学习率,历史数据和求解方法更新Solver状态,使权重从初始化状态逐步更新到最终的学习状态。

2、Solver方法

Solver方法是计算最小化损失(loss)值。给定一个数据集D,优化额目标是D中所有数据损失的均值,即平均损失,取得最小值。

参考:《深度学习——Caffe之经典模型详解与实战》

猜你喜欢

转载自blog.csdn.net/juluwangriyue/article/details/115103519