天天看点

yolov2学习率更新策略总结CONSTANT:STEP:EXP:POLY:STEPS:SIG:RANDOM:

yolov2中的学习率一共有如下几种,CONSTANT, STEP, EXP, POLY, STEPS, SIG, RANDOM

CONSTANT:

即学习率固定,这个是最简单的学习率变化策略(不变),配置文件中只需要一个参数,实际中用得比较少,原因是:为了避免跳过全局最优,当参数状态越来越逼近全局最优点时,我们应该降低学习率。

yolov2学习率更新策略总结CONSTANT:STEP:EXP:POLY:STEPS:SIG:RANDOM:

STEP:

在迭代固定的次数之后以一定的比例降低学习率,这个策略很常用,是一种离散的学习率变化策略简单且非常优秀。

yolov2学习率更新策略总结CONSTANT:STEP:EXP:POLY:STEPS:SIG:RANDOM:

EXP:

表达式为:new_lr = base_lr * (gamma^iter),它符合指数函数的变化规律,是一种连续的学习率变化策略

这种策略的学习率衰减非常快,gamma越大学习率衰减越慢,在caffe中以iter为指数而iter通常非常大,所以学习率衰减仍然非常快。

yolov2学习率更新策略总结CONSTANT:STEP:EXP:POLY:STEPS:SIG:RANDOM:

POLY:

表达式为:new_lr = base_lr * (1 - iter / maxiter)^power,从表达式可以看出学习率曲线主要由power值控制。当power = 1时,学习率曲线为一条直线。当power < 1时,学习率曲线为凸状。当power > 1时,学习率曲线为凹状

yolov2学习率更新策略总结CONSTANT:STEP:EXP:POLY:STEPS:SIG:RANDOM:

STEPS:

在迭代预设的不同次数后以一定的比例降低学习率,这个策略也很常用,也是一种离散的学习率变化策略简单且非常优秀,与step不同的是学习率发生改变的迭代次数不均匀。

yolov2学习率更新策略总结CONSTANT:STEP:EXP:POLY:STEPS:SIG:RANDOM:

SIG:

表达式为:new_lr = base_lr * (1 / (1 + exp(-gamma * (iter - stepsize)))),其中,参数gamma控制学习率变化速率,gamma < 0时学习率才会下降。

yolov2学习率更新策略总结CONSTANT:STEP:EXP:POLY:STEPS:SIG:RANDOM:

RANDOM:

参考链接:

https://blog.csdn.net/cuijyer/article/details/78195178

https://blog.csdn.net/u012224349/article/details/86621605

继续阅读