machine-learning - Caffe中的 `lr_policy`是什么?

标签 machine-learning neural-network deep-learning caffe gradient-descent

我只是想知道如何使用 Caffe 。为此,我只是查看了示例文件夹中的不同 .prototxt 文件。有一个选项我不明白:

# The learning rate policy
lr_policy: "inv"

可能的值似乎是:

  • “已修复”
  • “inv”
  • “步骤”
  • “多步”
  • “提前”
  • “聚”

有人可以解释一下这些选项吗?

最佳答案

随着优化/学习过程的进展,降低学习率 (lr) 是一种常见的做法。然而,目前尚不清楚学习率到底应该如何作为迭代次数的函数而降低。

如果您使用DIGITS作为 Caffe 的接口(interface),您将能够直观地看到不同的选择如何影响学习率。

固定:学习率在整个学习过程中保持固定。

<小时/>

inv:学习率衰减为 ~ 1/T
enter image description here

<小时/>

步骤:学习率是分段常数,每 X 次迭代就会下降
enter image description here

<小时/>

多步:任意间隔的分段常数
enter image description here

<小时/>

您可以在函数 SGDSolver<Dtype>::GetLearningRate 中准确地看到学习率是如何计算的。 (solvers/sgd_solver.cpp 第 ~30 行)。

<小时/>

最近,我遇到了一种有趣且非传统的学习率调整方法:Leslie N. Smith's work "No More Pesky Learning Rate Guessing Games" 。 Leslie 在他的报告中建议使用 lr_policy在降低和提高学习率之间交替。他的工作还提出了如何在 Caffe 中实现此策略。

关于machine-learning - Caffe中的 `lr_policy`是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30033096/

相关文章:

python - 如何在pybrain中实现正则化

python - Tensorflow conv2d_transpose(deconv)out_backprop的行数与计算的不匹配

python - ValueError : Error when checking input: expected gru_5_input to have shape (None, None, 10) 但得到形状为 (1, 4, 1) 的数组

tensorflow - Keras ModelCheckpoint 是否会在多个拟合 session 中保存最佳模型?

python - Tensorflow CNN 图像增强管道

python - sklearn模型数据转换错误: CountVectorizer - Vocabulary wasn't fitted

numpy - 多项朴素贝叶斯与 scikit-learn 用于连续和分类数据

machine-learning - SVM light 的训练和测试文件

python - 具有 Softmax 输出的神经网络

python - 将 Pandas 数据框转换为列表列表以输入到 RNN