背景

学习率是最影响性能的超参数之一,如果我们只能调整一个超参数,那么最好的选择就是它。 其实在我们的大多数情况下,遇到 loss 变成 NaN 的情况大多数是由于学习率选择不当引起的

warmup介绍

warmup可以称为训练热身。由于神经网络在刚开始训练的时候是非常不稳定的,因此刚开始的学习率应当设置得很低很低,这样可以保证网络能够具有良好的收敛性。但是较低的学习率会使得训练过程变得非常缓慢,因此这里会采用以较低学习率逐渐增大至较高学习率的方式实现网络训练的“热身”阶段,随着训练的进行学习率慢慢变大,到了一定程度,以设置的初始学习率进行训练,接着过了一些inter后,学习率再慢慢变小;学习率变化:上升——平稳——下降

warmup具体步骤

启用warm up,设置warm up setp(一般等于epoch*iter_one_epoch),当step小于warm up setp时,学习率等于基础学习率×(当前step/warmup_step),由于后者是一个小于1的数值,因此在整个warm up的过程中,学习率是一个递增的过程!当warm up结束后,学习率以基础学习率进行训练,再学习率开始递减。

warmup学习率计算公式:

其中base_lr是初始学习率,后面分式就是用来控制warm_up操作的,分子是模型训练当前迭代的step步数,分母中warm_epoch是设置的热身的epoch数(例如另epoch=5),iter_one_epoch是训练集迭代一个epoch需要的步数。

从上式中可以看出,前warm_epoch个训练阶段,随着step增加,学习率是递增的,一直到warm_epoch时,分子等于分母,此时学习率增长到初始学习率的值,warmup阶段完成。

学习率变化曲线:

应用场景

(1)训练出现NaN:当网络非常容易nan时候,采用warm up进行训练,可使得网络正常训练;

(2)过拟合:训练集损失很低,准确率高,但测试集损失大,准确率低,可用warm up;

应用原理

这个问题目前还没有被充分证明,目前效果有:
(1)有助于减缓模型在初始阶段对mini-batch的提前过拟合现象,保持分布的平稳;
(2)有助于保持模型深层的稳定性。

参考链接:https://blog.csdn.net/weixin_40051325/article/details/107465843

【深度学习】深度学习基础-Warm_up训练策略相关推荐

  1. DL:深度学习(神经网络)的简介、基础知识(神经元/感知机、训练策略、预测原理)、算法分类、经典案例应用之详细攻略

    DL:深度学习(神经网络)的简介.基础知识(神经元/感知机.训练策略.预测原理).算法分类.经典案例应用之详细攻略 目录 深度学习(神经网络)的简介 1.深度学习浪潮兴起的三大因素 深度学习(神经网络 ...

  2. 关于深度学习训练周期,训练时间表,训练时刻表,训练策略的说明——Training Schedules,Lr schd,1x,2x,mmDetection和Detectron中训练周期次数对比

    记录一下关于深度学习常用的训练策略说明: ID:wonyoungsen 通常的框架或者论文都会提到训练周期关于1x和2x,她的来历最初是从Detectron来的,在她的MODEL_ZOO.md介绍里面 ...

  3. 07组第二次作业 深度学习和pytorch基础

    07组第二次作业 深度学习和pytorch基础 1.视频学习 20020007118 张泽峰 1.1绪论 人工智能的前景比较广阔,人才缺口比较大. 专家系统 早期的人工智能依赖于专家系统 通过一些专家 ...

  4. OUC暑期培训(深度学习)——第一周学习记录:深度学习和pytorch基础

    第一周学习:深度学习和pytorch基础 目录 第一周学习:深度学习和pytorch基础 Part 1:视频学习: 1. 绪论: 2. 深度学习概述: Part 2:代码练习: 1. pytorch基 ...

  5. 人工智能深度学习框架MXNet实战:深度神经网络的交通标志识别训练

    人工智能深度学习框架MXNet实战:深度神经网络的交通标志识别训练 MXNet 是一个轻量级.可移植.灵活的分布式深度学习框架,2017 年 1 月 23 日,该项目进入 Apache 基金会,成为 ...

  6. 【深度学习系列】基础知识、模型学习

    基础知识 原创 [深度学习]--训练过程 原创 [深度学习]--BN层(batch normalization) 原创 [深度学习]--激活函数(sigmoid.tanh.relu.softmax) ...

  7. 水很深的深度学习-Task02机器学习基础

    机器学习基础 目录 机器学习基础 一.什么是机器学习? 如何寻找这个函数? 机器学习三板斧 学习路线 二.机器学习算法的类型 1. 有监督学习 2. 无监督学习 3. 强化学习 4.机器学习算法的系统 ...

  8. 第1周学习笔记:深度学习和pytorch基础

    目录 一 视频学习 1.绪论 2.深度学习概述 二 代码学习 1.Pytorch基础练习 2.螺旋数据分类 一 视频学习 1.绪论 人工智能(Artificial Intelligence):使一部机 ...

  9. [源码解析] 深度学习流水线并行 PipeDream(6)--- 1F1B策略

    [源码解析] 深度学习流水线并行 PipeDream(6)- 1F1B策略 文章目录 [源码解析] 深度学习流水线并行 PipeDream(6)--- 1F1B策略 0x00 摘要 0x01 流水线比 ...

最新文章

  1. ECCV 2020 | 对损失信息进行建模,实现信号处理高保真还原
  2. 计算机书籍- 网络爬虫开发实战
  3. android 相册 uri空,android拍照获得图片URI为空的处理方法
  4. javascript:void到底是个什么?
  5. 光学基础 光学积分器-通光管及透镜阵列
  6. matlab求kcf算法响应图_Kernelized Correlation Filters(KCF)算法
  7. Lost Cows(树状数组)
  8. P4199-万径人踪灭【FFT】
  9. Linux Kernel Oops异常分析
  10. 听说你盗图都盗绿了?
  11. 什么叫AI优先?不如你看谷歌CEO的办公位在哪儿
  12. 2016CCF-CCSP竞赛:第1题-虚拟机设计(共3题)
  13. STL - MainTao - 博客园
  14. 吾在这里给大家拜年啦!
  15. Java实现简易的文本编辑器
  16. 华为转正答辩ppt范文_华为转正答辩ppt模板下载-精选版.ppt
  17. plsql汉化包下载
  18. google map 地图图标大全
  19. list列表 for循环
  20. 机器人彩铅画_高达机器人铅笔画图片

热门文章

  1. 遇到“服务器内部错误http500怎么办?
  2. TCP与 UDP的区别
  3. MySql 存储boolean的数据
  4. 北京理工大学汇编语言复习重点(可打印)
  5. sr锁存器 数电_数字电路
  6. SIM逻辑模型与APDU
  7. Qt:QTextStream
  8. 父类引用指向子类对象,为什么会调用的是子类中重新的方法
  9. Ubuntu快捷键 终端快捷键
  10. 如何制作动态PPT,像播放电影一样,同时怎么插入音乐