ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

学习率调整CLR

2022-07-11 16:03:42  阅读:157  来源: 互联网

标签:iteration 学习 调整 step lr size CLR Cycle


三种 Cyclical Learning Rate (CLR)

周期性学习率遵从从小到大再从大到小,然后又是从小到大再从大到小,如此这般循环下去。

1个Cycle定义为从小到大再从大到小的变化。1个Cycle由两个step_size组成,见下图1:

对于CLR,需要设定一个最大的学习率(max_lr) 和一个最小的学习率(base_lr), 整个学习率在训练期间会在这两个限定值之间来回振荡。

按照振荡的方式不同,这里介绍三种CLR。

 

1.第一种CLR命名为"triangular",每一个Cycle的max_lr是不变的,也即为图1所示情况。


2.第二种CLR命名为"triangular2",每一个Cycle的max_lr会逐渐减半,如下图2所示。


3.第三种CLR命名为"exp_range",每一个Cycle的max_lr随着Cycle指数下降,如下图3所示。

对于第一种Triangular型周期性学习率,由于即便到了训练的末期,其学习率仍然可以达到最大或者比较大的一个值,

因此就有可能会使得原本已经训练到了最优的模型又跳出最优点位置,使得模型的训练结果变得不太稳定。

因此后面的trainglar2 和 exp_rangle两种类型的周期性学习率可以保证避免这种不稳定性问题。

 

1.  batch_size: 每一批同时输入模型进行前向和反向传播的数据量;

2.  iteration:     表示每一轮(epoch)中,参数更新的次数,它等于 “总的样本数/batch_size”(向上取整)。

                         学习率在每一个iteration都是变化的。不要把它理解为在某一段iterations区间它是不变的,进入下一个区间它才变化。

3.  Cycle:         它表示学习率从base_lr增大到max_lr,再从max_lr减少到base_lr所需要的iteration数目。

                         通常1个Cycle所包含的iteration数目比一轮(epoch)训练所包含的iteration要多。

                          也就是说,经过几个epoch才完成1个Cycle。

4.  step_size:  半个Cycle所需要的iterations, CLR的发明者Leslie Smith建议,1个step_size可以取 (2-8)*training_iterations_in_epoch。

                         而前面提到的Adrian Rosebrock发现在大部分情形下,取4或者8就足以得到不错的结果。

                         也就是说通常step_size也要跨越4个或者8个epoch。

                          比如,num_epochs=96, step_size=8, 那么: 1 cycle = 96/(8*2) = 6 。

                          也就是说在96轮迭代中,一共有6个学习率调整周期。

         个人理解:通常设置的 num_epochs 能够被 2*step_size 整除,这样才能保证最后一个iteration对应的学习率最小,从而保证模型收敛于一个局部最优解。

————————————————
原文链接:https://blog.csdn.net/qwertyu_1234567/article/details/103859465

标签:iteration,学习,调整,step,lr,size,CLR,Cycle
来源: https://www.cnblogs.com/realyuan2022/p/16466731.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有