caffe中的学习率的衰减机制

 

根据  caffe/src/caffe/proto/caffe.proto 里的文件,可以看到它有以下几种学习率的衰减速机制:

1. fixed:   在训练过程中,学习率不变;

2. step:  它的学习率的变化就像台价一样;step by step 的; 其中的 gamma 与 stepsize需要设置的;

学习率=base lr * gamma^(iter num / step)

clip_image002[5]

3.exp :表示指数型的,其中参数 gamma 需要设置;

clip_image002[7]

学习率=base_lr*gamma^iter

4. inv : 其中参数 gamma 与 power 都需要设置;

clip_image002[9]

学习率 = base_lr*(1+gamma*iter)^(-power)

5.multistep: 可以设置多个 stepvalue的值, 在prototxt里面也没有具体介绍, 它由参数 stepsize 与 stepvalue 决定; 它不是每时第刻都去计算 学习率,而是达到我们设定的stepvalue的时候,才去计算(根据方法2中的公式),然后更新学习率; stepvalue 可以设置多个的,下面是 stepvalue的定义;

183   repeated int32 stepvalue = 34;

6.poly :多项式衰减 ,当到达最大次数时, 学习率变为了0;

  

clip_image002[11]

lr = base_lr * (1 - iter/maxiter )^power

7.sigmoid形的:

clip_image002[13]

lr = base_lr * (1 / (1+e^(-gamma*(iter-stepsize)) ))

。;

猜你喜欢

转载自www.cnblogs.com/sddai/p/10200427.html