学习率是神经网络训练中最重要的超参数之一,针对学习率的优化方式很多,Warmup是其中的一种
(一)、什么是Warmup?
Warmup是在ResNet论文中提到的一种学习率预热的方法,它在训练开始的时候先选择使用一个较小的学习率,训练了一些epoches或者steps(比如4个epoches,10000steps),再修改为预先设置的学习来进行训练。

(二)、为什么使用Warmup?
由于刚开始训练时,模型的权重(weights)是随机初始化的,此时若选择一个较大的学习率,可能带来模型的不稳定(振荡),选择Warmup预热学习率的方式,可以使得开始训练的几个epoches或者一些steps内学习率较小,在预热的小学习率下,模型可以慢慢趋于稳定,等模型相对稳定后再选择预先设置的学习率进行训练,使得模型收敛速度变得更快,模型效果更佳。

ExampleExampleExample:Resnet论文中使用一个110层的ResNet在cifar10上训练时,先用0.01的学习率训练直到训练误差低于80%(大概训练了400个steps),然后使用0.1的学习率进行训练。

(三)、Warmup的改进
(二)所述的Warmup是constant warmup,它的不足之处在于从一个很小的学习率一下变为比较大的学习率可能会导致训练误差突然增大。于是18年Facebook提出了gradual warmup来解决这个问题,即从最初的小学习率开始,每个step增大一点点,直到达到最初设置的比较大的学习率时,采用最初设置的学习率进行训练。

warmup_proportion表示,慢热学习的比例。比如warmup_proportion=0.1,总步数=100,那么warmup步数就为10。在1到10步中,学习率会比10步之后低,10步之后学习率恢复正常。

在1到10步之间,学习率的改变一般有以下几种方式:

“warmup_cosine”: WarmupCosineSchedule,
“warmup_constant”: WarmupConstantSchedule,
“warmup_linear”: WarmupLinearSchedule

预热学习率的作用warmup相关推荐

  1. Warmup预热学习率

    学习率是神经网络训练中最重要的超参数之一,针对学习率的优化方式很多,Warmup是其中的一种 (一).什么是Warmup? Warmup是在ResNet论文中提到的一种学习率预热的方法,它在训练开始的 ...

  2. 为什么要 conda 作用_烤箱预热有什么作用?为什么烘焙一定要预热烤箱?怎么正确预热?...

    生活中常见的预热 预热是一项生活中十分常见的活动,人们进行预热, 一方面是为了操作过程中设备器材的安全性,如: 1.化学上的预热 "化学加热液体时的预热:用试管进行加热的时候, 为了使它受热 ...

  3. 梯度下降中的学习率的作用

    如图所示: 如果不用学习率或者说学习率为1,使用负梯度,即最速下降法,永远无法下降到最优值即0点处:作一次梯度下降,就移动相对称的点上:来来回回走:

  4. 【深度学习】网络训练的原理:什么是梯度下降?学习率的作用是什么?

    对于输入 x x x,通过某个网络后给出预测的结果 y y y,但是其正确结果为 y ^ \hat y y^​,预测结果和真实结果之间的差距我们称之为损失 L L L 这里要注意,衡量二者之间的差距的 ...

  5. listary 指定目录搜索_everything

    20211009 https://zhuanlan.zhihu.com/p/225414423 listary详细使用 20210710 everything搜索文件,结果出现相同的2个重复情况,路径 ...

  6. dataframe sample 采样,抽样

    20220324 https://blog.csdn.net/DSTJWJW/article/details/90667570 不重复随机抽样 20211223 # 读取数据集 test_data_a ...

  7. Hopfiled 神经网络实例解释

    Hopfiled 神经网络入门 进击吧程序猿 2018-01-01 23:04:27 本文参考 Hinton 的机器学习课程,总结了 Hopfield 神经网络,整个学习的脉络是:Hopfield 网 ...

  8. pytorch之学习率变化策略之LambdaLR

    pytorch提供了两类函数用于学习率调整 torch.optim.lr_scheduler: 根据学习率更新次数调整学习率 torch.optim.lr_scheduler.ReduceLROnPl ...

  9. 学习率预热warmup

    学习率衰减 学习率:权重更新的控制因子 训练神经网络的常规策略是初始时使用较大的学习率(好处是能使网络收敛迅速),随着训练的进行,学习率衰减: warmup是什么? 在训练初期,loss很大,因此计算 ...

最新文章

  1. 2020浙江9月计算机等级考试,浙江2020年9月计算机等级报考具体流程
  2. 《JavaScript高级程序设计》阅读笔记(二十一):JavaScript中的XML
  3. 正尝试安装的adobe flash player不是最新版本
  4. java语言基础及集合基础大总结
  5. MySQL各种类型实验
  6. linux下raid5的配置
  7. [华为机试练习题]60.水仙花数
  8. qmenu点击后不关闭_速腾关闭点火开关后发动机不立即熄火
  9. js面试题:创建一个json对象people,并追加属性:姓名、性别、年龄,追加run方法...
  10. 功能机也不放过,谷歌或为 Chrome 提供非触控模式
  11. 群晖Docker部署MySQL服务
  12. python实现hbase增删改查
  13. 8款高质量小程序推荐:(工具类、电影类、阅读类)
  14. VC遍历文件夹下所有文件和文件夹
  15. 金山是微软VBA的正式授权用户
  16. 【壁纸】 Kali Linux 2020.1b 最新原版壁纸
  17. 12月30日goCom社区OSGi Topic大纲和PPT
  18. mendeley导入pdf后无法打开:unable to open this file解决办法
  19. 【做人:一,性格和习惯的重要性[转载]】
  20. 【TVOS】媒体融合 智慧乡村——TVOS绍兴试点项目正式启动

热门文章

  1. 基于Golang的CLI 命令行程序开发
  2. 2022-2028年中国二次供水设备行业研究及前瞻分析报告
  3. 2022-2028年中国体育用品行业投资分析及前景预测报告(全卷)
  4. 你的能力代表你能走多远
  5. 未授予用户在此计算机上的请求登陆类型处理办法
  6. python 正则括号的使用及踩坑
  7. RNN,LSTM,GRU基本原理的个人理解重点
  8. LeetCode中等题之二倍数对数组
  9. Json文件解析(上)
  10. 微调BERT:序列级和令牌级应用程序