1506.01186-Cyclical Learning Rates for Training Neural Networks
1506.01186-Cyclical Learning Rates for Training Neural Networks
论文中提出了一种循环调整学习率来训练模型的方式。
如下图:

通过循环的线性调整学习率,论文作者观察到的一种比较典型的曲线如下图:

图中,使用循环调整方式的模型,虽然训练中准确度有很大的波动,但是这种波动并不影像模型很快的收敛,并且以更快的速度收敛到了固定学习率或者学习率衰减方案中能达到的最高准确率。
这种方式需要设置的超参有三个, min bound,max bound ,step size。
step size一般选择epoch的step数的2-8倍。例如一个epoch里面有500步,则2000作为step size是不错的选择。
确定step size之后,使用一个简短的训练来确定 min-max bound,在一个训练里,以循环学习率的方式,线性的提升学习率,画出学习率与准确率关系的曲线。模型准确率最快增长的学习率适合用来做min bound,模型准确率增长减缓甚至直接出现负增长的地方,适合作max bound。如下图中所示:

模型一开始就出现了很快的准确率增长,所以选择0.001作为min bound,而0.005的位置出现了负增长,这里作为max bond。
另外论文提出了另外两种变种:
triangular2; the same as the triangular policy except the learning rate difference is cut in half at the end of each cycle. This means the learning rate difference drops after each cycle.
每次cycle之间才做一次lr decay
exp range; the learning rate varies between the minimum and maximum boundaries and each boundary value declines by an exponential factor of gamme^iteration
随着每个iteration都做一次lr decay
论文还尝试把循环学习率与各种优化算法都结合了一下,但是看结果,除了nestrov动量法,其他几种优化算法的效果都不好。
这是可以理解的,因为除了单纯的动量法,其他几种方法,都会针对学习率进行动态的调整。而循环学习率引入的学习率循环变化必然会破坏学习率动态调整的某些特性。所以结果就变得无法估计。
另外,针对学习率固定decay的效果与循环学习率的对比,论文作者单独设计了一个实验,循环学习率只循环一次,在学习率达到最小的时候,就固定住,或者做decay,不再上升,但是最后的结果,还是不如循环学习率的效果好。
这种循环学习率的方式,似乎是因为循环引入了更多的随机性?让梯度有了更多的机会往不同的方向探索?
论文中没有提出很好的理论解释。
1506.01186-Cyclical Learning Rates for Training Neural Networks的更多相关文章
- (转)A Recipe for Training Neural Networks
A Recipe for Training Neural Networks Andrej Karpathy blog 2019-04-27 09:37:05 This blog is copied ...
- [Converge] Training Neural Networks
CS231n Winter 2016: Lecture 5: Neural Networks Part 2 CS231n Winter 2016: Lecture 6: Neural Networks ...
- Coursera Deep Learning 2 Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization - week2, Assignment(Optimization Methods)
声明:所有内容来自coursera,作为个人学习笔记记录在这里. 请不要ctrl+c/ctrl+v作业. Optimization Methods Until now, you've always u ...
- Training Neural Networks: Q&A with Ian Goodfellow, Google
Training Neural Networks: Q&A with Ian Goodfellow, Google Neural networks require considerable t ...
- 实现径向变换用于样本增强《Training Neural Networks with Very Little Data-A Draft》
背景: 做大规模机器学习算法,特别是神经网络最怕什么--没有数据!!没有数据意味着,机器学不会,人工不智能!通常使用样本增强来扩充数据一直都是解决这个问题的一个好方法. 最近的一篇论文<Trai ...
- Learning How To Code Neural Networks
原文:https://medium.com/learning-new-stuff/how-to-learn-neural-networks-758b78f2736e#.ly5wpz44d This i ...
- A Recipe for Training Neural Networks [中文翻译, part 1]
最近拜读大神Karpathy的经验之谈 A Recipe for Training Neural Networks https://karpathy.github.io/2019/04/25/rec ...
- [CS231n-CNN] Training Neural Networks Part 1 : activation functions, weight initialization, gradient flow, batch normalization | babysitting the learning process, hyperparameter optimization
课程主页:http://cs231n.stanford.edu/ Introduction to neural networks -Training Neural Network ________ ...
- Coursera Deep Learning 2 Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization - week1, Assignment(Initialization)
声明:所有内容来自coursera,作为个人学习笔记记录在这里. Initialization Welcome to the first assignment of "Improving D ...
随机推荐
- MQ实战
MQ是什么? MQ(消息队列)是一种跨进程的通信机制,用于上下游传递消息. MQ的优点 异步处理,代码解藕. spring中集成MQ的实现 1. xml配置 <?xml version=&quo ...
- jdk1.8api帮助文档,转载
链接:https://pan.baidu.com/s/1jkDC68t6ha3PrSbx2BMevQ 密码:o425 转自https://blog.csdn.net/weixin_37012881/a ...
- 在mysql配置文件修改sql_mode或sql-mode 怎么办?
很多在安装程序配置数据库这一步中会出现: 请在mysql配置文件修改sql_mode或sql-mode 这个问题处理很简单: mysql中修改my.cnf,找到sql_mode,修改值为: NO_AU ...
- Eclipse中Java build path的使用
1.Eclipse中,工程属性的Java Build Path的Library标签页下,有如下几个按钮:Add Jars...添加JAR包,是指本Eclipse当前包含的工程中的,在工程列表下选取即可 ...
- 通过localhost访问和通过IP地址访问页面CSS样式不一样
在开发ICT项目管理系统时,发现在开发环境下看到的页面和在部署环境下看到的页面不一样.开发环境下看到的页面比较舒服,部署后看到的页面比较生涩.究其原因,发现地址栏里面一个是localhost,一个是I ...
- 没有可用软件包 libgdiplus 解决方法
1.下载 epel-release-7-11.noarch.rpm wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel ...
- 语音识别传统方法(GMM+HMM+NGRAM)概述
春节后到现在近两个月了,没有更新博客,主要是因为工作的关注点正从传统语音(语音通信)转向智能语音(语音识别).部门起了个新项目,要用到语音识别(准备基于Kaldi来做).我们之前做的传统音频已基本成熟 ...
- bootice-diskinfo参数
http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=57675&pid=3023573&fro ...
- python css选择器
css 选择器 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- 应用程序嵌入PowerBI报表登陆认证问题解决
https://github.com/AzureAD/azure-activedirectory-library-for-java/issues/144