神经网络十大学习率衰减提效策略!

目前越来越多非结构化问题的出现,神经网络也扮演着愈加重要的作用。一个好的神经网络对于最终任务的预测至关重要,但要得到一个好的神经网络则需要考虑众多的因素,本文我们重点介绍神经网络中调参重学习率衰减的调节策略。本文介绍目前tensorflow中的9大学习率衰减策略。

exponential_decay = learning_rate_decay.exponential_decay
piecewise_constant = learning_rate_decay.piecewise_constant
polynomial_decay = learning_rate_decay.polynomial_decay
natural_exp_decay = learning_rate_decay.natural_exp_decay
inverse_time_decay = learning_rate_decay.inverse_time_decay
cosine_decay = learning_rate_decay.cosine_decay
cosine_decay_restarts = learning_rate_decay.cosine_decay_restarts
linear_cosine_decay = learning_rate_decay.linear_cosine_decay
noisy_linear_cosine_decay = learning_rate_decay.noisy_linear_cosine_decay

在对应区间置中不同的学习率的常数值,一般初始学习率会大一些,后面越来越小,要根据样本量的大小设置区间的间隔大小,样本量越大,区间间隔要小一点。在真正的网络训练中,需要操作人员根据具体任务对学习率具体设置。下图即为分段常数衰减的学习率变化图,横坐标代表训练次数,纵坐标代表学习率。

该方法有助于针对不同任务进行精细地调参,在任意步长后下降任意数值的learning rate。

指数衰减的方式,学习率的大小和训练次数指数相关,指数衰减简单直接,收敛速度快,是最常用的学习率衰减方式,其数学公式为:

如下图所示,红色的为学习率随训练次数的指数衰减方式,蓝色的即为分段常数衰减 。

自然指数衰减和指数衰减方式相似,不同的在于它的衰减底数是e,所以它的收敛的速度更快,一般用于相对比较容易训练的网络,便于较快的收敛,其更新公式为:

和分段常数以及指数衰减相比,其中绿色的是自然指数衰减。

多项式衰减的方式进行更新学习率,需要给定初始学习率和最低学习率,然后按照给定的衰减方式将学习率从初始值衰减到最低值,其更新规则即为:

此处需要注意有两个机制:

  1. 降到最低学习率后,到训练结束可以一直使用最低学习率进行更新;
  2. 另一个是再次将学习率调高,使用decay_steps的倍数,取第一个大于global_steps的结果,即:

可以用它来防止神经网络在训练的后期由于学习率过小而导致的网络一直在某个局部最小值附近震荡,在后期增大学习率跳出局部极小值。

倒数衰减的数学公式为:

顾名思义,就是采用余弦方式进行学习率的衰减。其更新机制如下:

其中alpha可以看作是baseline,保证学习率不会低于某个值。不同alpha的影响如下:

学习率以循环周期进行衰减。是循环学习率的cycle版本。

余弦函数式的下降模拟了大lr找潜力区域然后小lr快速收敛的过程,加之restart带来的cycle效果,有涨1-2个点的可能。

线性余弦衰减方式是基于余弦方式的衰减策略,其数学公式为:

线性余弦衰减一般应用领域是增强学习领域

在线性余弦衰减的基础上,加入了噪声。就得到了噪声线性余弦衰减。噪声线性余弦衰减提升了学习率寻找最优值的随机性和可能性。

大家还可以依据自己的想法自定义学习率衰减策略,例如可以依据验证集合的表现,来更新学习率,如果验证集合上评估指标在不断变好,则保持lr,否则降低学习率。

神经网络十大学习率衰减提效策略相关推荐

  1. 详细解读神经网络十大误解,再也不会弄错它的工作原理

    来源:http://www.cstor.cn/textdetail_10544.html_biz=MjM5OTA1MDUyMA==&mid=407358558&idx=2&sn ...

  2. 解读神经网络十大误解

    神经网络是机器学习算法中最流行和最强大的一类.在计量金融中,神经网络常被用于时间序列预测.构建专用指标.算法交易.证券分类和信用风险建模.它们也被用于构建随机过程模型和价格衍生品.尽管神经网络有这些用 ...

  3. 详细解读神经网络十大误解,再也不会弄错它的事情原理

    选自 TuringFinance作者:Stuart Reid机械之心编译到场:吴攀,chenxiaoqing,赵天昊,原野,微胖 神经网络是机械学习算法中最盛行和最强盛的一类.但在作者看来,由于人们对 ...

  4. 前端必备,5大mock省时提效小tips,用了提前下班一小时

    一.一些为难前端的业务场景 在我的工作经历里,需要等待后端童鞋配合我的情形大概有以下几种: a.我们跟外部有项目合作,需要调用到第三方接口. 一般这种情况下,商务那边谈合同,走流程,等第三方审核,我们 ...

  5. 神经网络十大算法有哪些,神经网络十大算法排名

    数学建模的十大算法 . 1.蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟可以来检验自己模型的正确性,是比赛时必用的方法)2.数据拟合.参数估计.插值等数据 ...

  6. 程序员十大非技术面试问题及策略

    社会竞争很残酷.面试其实就是一场表演,企业永远喜欢可以随机应变.聪明的求职者.而不喜欢看似老实.实则笨拙不懂变通的求职者.所以,大家也要按套路出牌,出面试官喜欢的牌才能有更多的胜算.面试官也知道求职者 ...

  7. 2019通用设备行业ERP系统十大品牌排行榜

    2019通用设备行业ERP系统十大品牌排行榜 https://www.toutiao.com/i6755745882680852999/?tt_from=weixin&utm_campaign ...

  8. 如何用增长的思维做提效?

    简介:本文将讨论一种尚未被实践过的方法论,即能否将"增长黑客"理论作用到研发过程的改进上,从而实现更可靠的定向效能优化? 埋点作为记录用户行为的常规手段,伴随着前端技术的发展早已历 ...

  9. PyTorch框架学习十四——学习率调整策略

    PyTorch框架学习十四--学习率调整策略 一._LRScheduler类 二.六种常见的学习率调整策略 1.StepLR 2.MultiStepLR 3.ExponentialLR 4.Cosin ...

最新文章

  1. window.name实现的跨域数据传输
  2. selenium根据文本匹配定位
  3. python的celery的面试_python 面试
  4. pandas保存新增sheet表,且不overwrite原有内容
  5. 关于c语言中合法的数值常量
  6. nodejs和python和php_PHP和Nodejs能配合使用吗?
  7. rsync 未授权访问漏洞
  8. 最新!清华大学:元宇宙发展研究报告2.0版发布!205页PPT
  9. Robot Framework自动化测试框架核心指南-如何使用Java编写自定义的RobotFramework Lib
  10. 女孩和程序员相亲,吃饭消费了380,他没结账就先走,晚上收到微信愣了
  11. TMS、物流系统、司机运输商、承运商、结算流程、运输流程、运输调度、结构图、在途跟踪、提货单、签收单、回单交接、车辆管理、运力资源、报价管理、发票管理、询价单管理、审批报价、KPI数据、适度配载
  12. 矩池云升级JupyterLab版本教程
  13. imx6ull 485 调试
  14. WARNING: There was an error checking the latest version of pip.
  15. [cadfil] 基于隐形飞机喷气式发动机双S弯喷管的纤维缠绕工艺
  16. 爬虫--可视化项目(一)
  17. matplotlib绘图颜色大全
  18. mac SnailSVN如何拉取多个svn副本
  19. P14-Vue-supermall项目-BetterScroll滚动插件基本使用
  20. 11 02 11 无用功

热门文章

  1. 洛谷 P2908 [USACO08OPEN]文字的力量Word Power
  2. MyBatis笔记——EhCache二级缓存
  3. (解决)mysql1366中文显示错误的终极解决方案
  4. ggplot2绘图入门系列之二:图层控制与直方图
  5. .NET 导出Excel
  6. 一步步教你如何用疯狂.NET架构中的通用权限系统 -- 如何控制用户显示的菜单权限...
  7. Asp.net生成缩略图
  8. java适配器模式 场景_Java设计模式之《适配器模式》及应用场景
  9. python 办公_python 让办公变得自动化
  10. 跟着这篇柳叶刀的文章来学会重复测量方差分析