学习率衰减策略
参数学习率
参考
学习率机制
- “fixed”
- “inv”
- “step”
- “multistep”
- “stepearly”
- “poly”
/caffe-master/src/caffe/proto/caffe.proto文件说明
学习率衰减政策。 目前实施的学习率策略如下:
-
fixed:始终返回base_lr。
-
step:分段常数
return base_lr * gamma ^(floor(iter / step))
-
exp:指数型
return base_lr * gamma ^ iter
-
inv:学习率下降为~1 / T.
return base_lr *(1 + gamma * iter)^( - power)
-
multistep:类似于step但它允许由stepvalue定义的非均匀步骤
-
poly:有效学习率遵循多项式衰减
当max_iter时为零。 return base_lr(1 - iter / max_iter)^(power)
-
sigmoid:有效学习率遵循sigmod衰减
return base_lr(1 /(1 + exp(-gamma *(iter - stepsize))))
其中base_lr,max_iter,gamma,step,stepvalue和power在solver参数协议缓冲区中定义,iter是当前迭代。
1. fixed: 固定学习率
在训练过程中,学习率不变。
2. inv:学习率下降为~1 / T.
需要设置:参数 gamma 与 power(caffe框架)
-
公式
-
图例
3. step:逐步衰减
台阶式变化(step by step):学习速率是分段常数,每X次迭代都会下降一次 。
需要设置:gamma 与 stepsize(caffe框架);scale与step(darknet框架)。
-
公式
-
图例
4. multistep:任意间隔的分段常数
在任意区间可设置多个 stepvalue的值, 它由参数 stepsize 与 stepvalue 决定。它在达到我们设定的stepvalue的时候,更新学习率。
需要设置: stepsize 与 stepvalue(caffe框架);scales与steps(darknet框架)。
-
无公式
-
图例
5. exp : 指数型学习率
需要设置:参数gamma(caffe框架)。
- 公式
- 图例(暂无)
6. poly : 多项式衰减
当到达最大次数时, 学习率衰减到0。
- 公式
- 图例(暂无)