传统学习率策略:

之前的学习率调整策略可以分为两种,分别是逐渐衰减策略和自适应调整策略。常用的逐渐衰减策略包括阶梯式地衰减(step learning rate decay)和指数衰减(expotianally learning rate decay)策略

阶梯式衰减的例子:初始学习率为0.01,在训练分别执行到50、90和120周期数时将学习率减少为原来的1/10(乘以0.1)。指数衰减就是每个周期都将学习率减少一点,比如减少到原来的0.9。 具有代表性的自适应调整策略便是Ada系列的优化算法(Adagrad、Adadelta、Adam等),这些优化算法一般都包含对初始学习率进行自适应地调整,而且每个可学习参数具有独立的学习率,不像逐渐衰减策略一样,每个参数使用的是公共的全局学习率。

以上两种策略具有一个共同的特点:学习率都是逐渐减小的,其实这么做是有原因的,因为研究社区对神经网络模型的研究认为,随着学习的进行,模型不断接近极值点,这时如果学习率太大的话会造成模型越过极值点或者发散。但是,随着对神经网络参数空间的不断理解,研究者们发现,模型参数空间中存在的大多是鞍点或者表现较差的极小值点,前者会严重影响模型的学习效率,后者会使得模型的最终表现很差。

Cyclical Learning Rates:

训练时偶尔增大学习率(不是持续减少),虽然短期内会造成模型性能表现较差,但是最终训练结果在测试集上表现却比传统的逐渐衰减策略更好。因为这样会让模型以更快的(更大的学习率)速度逃离鞍点,从而加速模型收敛。而且,如果模型收敛到了半径较窄的吸引盆区域的极值点区域(泛化能力差),那么突然增大学习率也可以让模型跳出该极值点区域,从到收敛到不易跳出的较宽的(泛化能力强)吸引盆区域的极值点。

CLR实现

CLR的实现很简单,而且很容易集成到目前的大部分模型中,而且不会引入没有额外的计算负担:

  1. 首先确定学习率的上下界(即基础(最小)学习率和最大学习率)、一个循环的步长数(即占用多少个训练step)和学习率增减方式;
  2. 根据增加方式以循环步长的1/2的(step size)在每步训练结束后增加学习率直到达到最大学习率,然后根据减少方式以剩余的1/2周期步长数(step size)在每步训练结束后减少学习率直到最小学习率;
  3. 重复步骤2直到训练结束,下图2为CLR方法的直观表示,其使用了三角式学习率增减方式(线性增加和线性减少)。

CLR还需要确定三个超参数,一个是学习率上下界,另一个是一个循环步长。

确定学习率边界

论文中提出使用“LR Range test”的方法确定学习率上下界:先预定义一个较大范围的学习率区间(如[0,2.0]),将模型训练一些周期,训练的每个周期(epoch)从学习率区间的下限线性增加学习率,直到区间上限,然后会得到一个学习率与训练集精度的曲线图(如下图),在该图中选择精度稳定增长的学习率范围作为CLR的学习率上下界(如从图中可以确定的上下界分别为0.001和0.006)。或者根据经验确定区间:学习率上界一般是使模型收敛的最大学习率的2倍,学习率下界一般是上界的1/4到1/3。

确定循环步长

作者指出模型的精度其实对循环的步长数是比较鲁棒的,根据他们的实验,循环的步长数一般为一个周期步长数的2~7倍,也就是说一个学习率调整(增和减)循环周期会跨越2到7个训练周期。注意:最好在循环结束时停止训练,此时学习率最小,准确率最高

Cyclical Learning Rates相关推荐

  1. Mechine Learning 机器学习笔记

    笔记作者:OUC_Shizue 参考课程:复旦大学 邱锡鹏 <神经网络与深度学习> 第一章:机器学习概论 一.机器学习的定义 1.直接定义 ​ 机器学习≈计算机自动构建映射函数 ​ Mac ...

  2. 计算机视觉技术 图像分类_如何训练图像分类器并教您的计算机日语

    计算机视觉技术 图像分类 介绍 (Introduction) Hi. Hello. こんにちは 你好 你好. こんにちは Those squiggly characters you just saw ...

  3. 八大深度学习最佳实践

    翻译 | AI科技大本营 参与 | 刘畅 [AI 科技大本营导读] 2017年,许多的人工智能算法得到了实践和应用.名博Hack Noon作者 Brian Muhia 认为想要玩转人工智能,不仅要拥有 ...

  4. 写给新手:2021版调参上分手册!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:山竹小果,来源:夕小瑶的卖萌屋 在日常调参的摸爬滚打中,参考了不少 ...

  5. 深度学习调参tricks总结!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:山竹小果,来源:NewBeeNLP 寻找合适的学习率(learni ...

  6. PyTorch | 优化神经网络训练的17种方法

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者 | LORENZ KUHN 来源 | 人工智能前沿讲习 编辑 ...

  7. 训练AI要“什么自行车” 只用了1万辆小破车 | ICCV2021 VIPriors

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者 | 阿里安全人工智能治理与可持续发展实验室(AAIG) 编辑 ...

  8. 写给新手炼丹师:2021版调参上分手册

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨山竹小果 来源丨夕小瑶的卖萌屋 编辑丨极市平台 导读 在日常调 ...

  9. 让PyTorch训练速度更快,你需要掌握这17种方法

    选自efficientdl.com 作者:LORENZ KUHN 机器之心编译 编辑:陈萍 掌握这 17 种方法,用最省力的方式,加速你的 Pytorch 深度学习训练. 近日,Reddit 上一个帖 ...

  10. PyTorch训练加速17种技巧

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 文自 机器之心 作者:LORENZ KUHN 编辑:陈萍 掌握这 ...

最新文章

  1. socket的半包,粘包与分包的问题
  2. python 统计文件top IP
  3. cookie session token区别_彻底理解cookie,session,token
  4. eclipse m2e配置_使用此首选项可加快Eclipse m2e配置
  5. 自研芯片鸿蒙系统,华为智慧屏:自研智慧芯片鸿蒙系统 9月发布
  6. Cell|严景华/齐建勋首次发现新冠病毒进入细胞的详细分子细节
  7. 20145209预备作业01
  8. android spi串口调试,PIC入门3,SPI通信和串口调试实验
  9. 搜索接口php,【微信公众平台开发】百度周边搜索接口php封装
  10. hive plsql使用示例
  11. mis系统的编写与设计
  12. 广西南宁机器人比赛_缤纷校园|2018年广西中小学电脑机器人竞赛开赛 南宁学子大显身手...
  13. wps for linux显示系统缺失字体解决办法
  14. 支付业务-信用卡拒付
  15. 前端常见面试题及答案
  16. 【附源码】计算机毕业设计JAVA医院远程诊断系统
  17. addEventListener() 方法,事件监听
  18. laravel安装的几种方法总结
  19. 模拟卷Leetcode【普通】537. 复数乘法
  20. 使用HTML+javascript编写了一个生成题库小工具

热门文章

  1. 高德地图哪个语音包最好_用高德地图录制语音包,听自己的声音导航更有个性...
  2. Linux配置本地yum源(光盘镜像挂载)
  3. 如何清除 浏览器-hao123的绑定
  4. python 中搞错工作路径的意思导致的相对路径产生bug:[Errno 2] No such file or directory:
  5. MTK 驱动开发---Vibrator
  6. CentOS7.5 Qihoo360/wayne部署(Dashboard 管理K8S集群)
  7. 计算机动画相关论文,计算机动画论文.doc
  8. llvm greedy register allocator
  9. linux下LTP工具说明
  10. 支付宝公布春节抢红包大数据 金华人全国第五壕