0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于神经网络的十大学习率衰减提效策略

深度学习自然语言处理 来源:炼丹笔记 作者:时晴 2021-06-16 17:48 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

十大学习率衰减策略!

简 介

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

学习率衰减

01

分段常数衰减

在对应区间置中不同的学习率的常数值,一般初始学习率会大一些,后面越来越小,要根据样本量的大小设置区间的间隔大小,样本量越大,区间间隔要小一点。在真正的网络训练中,需要操作人员根据具体任务对学习率具体设置

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

02

指数衰减

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

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

2089ade2-cab3-11eb-9e57-12bb97331649.png

03

自然指数衰减

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

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

04

多项式衰减

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

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

降到最低学习率后,到训练结束可以一直使用最低学习率进行更新;

另一个是再次将学习率调高,使用decay_steps的倍数,取第一个大于global_steps的结果,即:

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

05

倒数衰减

倒数衰减的数学公式为:

21befb18-cab3-11eb-9e57-12bb97331649.png

06

余弦衰减

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

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

221ba6a6-cab3-11eb-9e57-12bb97331649.png

07

循环学习率衰减

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

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

08

线性余弦衰减

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

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

09

噪声线性余弦衰减

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

0110

自定义学习率

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

参考文献

tensorflow learning schedule之分段常数衰减用法

An Overview of Deep Learning Optimization Methods and Learning Rate Attenuation Methods

Tensorflow中learning rate decay的奇技淫巧

TensorFlow使用记录 (三):Learning Rate Scheduling

深度学习中的固定学习率衰减策略总结

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/training/learning_rate_decay.py

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 噪声
    +关注

    关注

    13

    文章

    1162

    浏览量

    49429
  • 神经网络
    +关注

    关注

    42

    文章

    4842

    浏览量

    108178
  • 函数
    +关注

    关注

    3

    文章

    4422

    浏览量

    67847

原文标题:神经网络十大学习率衰减提效策略!

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为什么 VisionFive V1 板上的 JH7100 中并存 NVDLA 引擎和神经网络引擎?

    我想知道为什么 VisionFive V1 板上的 JH7100 中并存 NVDLA 引擎和神经网络引擎,请问?您能否举一些关于他们的用例的例子?
    发表于 03-25 06:01

    神经网络的初步认识

    日常生活中的智能应用都离不开深度学习,而深度学习则依赖于神经网络的实现。什么是神经网络神经网络的核心思想是模仿生物
    的头像 发表于 12-17 15:05 460次阅读
    <b class='flag-5'>神经网络</b>的初步认识

    自动驾驶中常的卷积神经网络是个啥?

    在自动驾驶领域,经常会听到卷积神经网络技术。卷积神经网络,简称为CNN,是一种专门用来处理网格状数据(比如图像)的深度学习模型。CNN在图像处理中尤其常见,因为图像本身就可以看作是由像素排列成的二维网格。
    的头像 发表于 11-19 18:15 2246次阅读
    自动驾驶中常<b class='flag-5'>提</b>的卷积<b class='flag-5'>神经网络</b>是个啥?

    NMSIS神经网络库使用介绍

    NMSIS NN 软件库是一组高效的神经网络内核,旨在最大限度地提高 Nuclei N 处理器内核上的神经网络的性能并最​​大限度地减少其内存占用。 该库分为多个功能,每个功能涵盖特定类别
    发表于 10-29 06:08

    构建CNN网络模型并优化的一般化建议

    :Dropout层随机跳过神经网络模型中某些神经元之间的连接,通过随机制造缺陷进行训练提升整个神经网络的鲁棒性。 6)指定合理的学习
    发表于 10-28 08:02

    在Ubuntu20.04系统中训练神经网络模型的一些经验

    本帖欲分享在Ubuntu20.04系统中训练神经网络模型的一些经验。我们采用jupyter notebook作为开发IDE,以TensorFlow2为训练框架,目标是训练一个手写数字识别的神经网络
    发表于 10-22 07:03

    CICC2033神经网络部署相关操作

    在完成神经网络量化后,需要将神经网络部署到硬件加速器上。首先需要将所有权重数据以及输入数据导入到存储器内。 在仿真环境下,可将其存于一个文件,并在 Verilog 代码中通过 readmemh 函数
    发表于 10-20 08:00

    液态神经网络(LNN):时间连续性与动态适应性的神经网络

    1.算法简介液态神经网络(LiquidNeuralNetworks,LNN)是一种新型的神经网络架构,其设计理念借鉴自生物神经系统,特别是秀丽隐杆线虫的神经结构,尽管这种微生物的
    的头像 发表于 09-28 10:03 1563次阅读
    液态<b class='flag-5'>神经网络</b>(LNN):时间连续性与动态适应性的<b class='flag-5'>神经网络</b>

    神经网络的并行计算与加速技术

    随着人工智能技术的飞速发展,神经网络在众多领域展现出了巨大的潜力和广泛的应用前景。然而,神经网络模型的复杂度和规模也在不断增加,这使得传统的串行计算方式面临着巨大的挑战,如计算速度慢、训练时间长等
    的头像 发表于 09-17 13:31 1297次阅读
    <b class='flag-5'>神经网络</b>的并行计算与加速技术

    如何在机器视觉中部署深度学习神经网络

    图 1:基于深度学习的目标检测可定位已训练的目标类别,并通过矩形框(边界框)对其进行标识。 在讨论人工智能(AI)或深度学习时,经常会出现“神经网络”、“黑箱”、“标注”等术语。这些概念对非专业
    的头像 发表于 09-10 17:38 1049次阅读
    如何在机器视觉中部署深度<b class='flag-5'>学习</b><b class='flag-5'>神经网络</b>

    基于神经网络的数字预失真模型解决方案

    在基于神经网络的数字预失真(DPD)模型中,使用不同的激活函数对整个系统性能和能有何影响?
    的头像 发表于 08-29 14:01 3667次阅读

    无刷电机小波神经网络转子位置检测方法的研究

    摘要:论文通过对无刷电机数学模型的推导,得出转角:与三相相电压之间存在映射关系,因此构建了一个以三相相电压为输人,转角为输出的小波神经网络来实现转角预测,并采用改进遗传算法来训练网络结构与参数,借助
    发表于 06-25 13:06

    神经网络专家系统在电机故障诊断中的应用

    摘要:针对传统专家系统不能进行自学习、自适应的问题,本文提出了基于种经网络专家系统的并步电机故障诊断方法。本文将小波神经网络和专家系统相结合,充分发挥了二者故障诊断的优点,很大程度上降低了对电机
    发表于 06-16 22:09

    神经网络RAS在异步电机转速估计中的仿真研究

    众多方法中,由于其结构简单,稳定性好广泛受到人们的重视,且已被用于产品开发。但是MRAS仍存在在低速区速度估计精度下降和对电动机参数变化非常敏感的问题。本文利用神经网络的特点,使估计更为简单、快速
    发表于 06-16 21:54

    基于FPGA搭建神经网络的步骤解析

    本文的目的是在一个神经网络已经通过python或者MATLAB训练好的神经网络模型,将训练好的模型的权重和偏置文件以TXT文件格式导出,然后通过python程序将txt文件转化为coe文件,(coe
    的头像 发表于 06-03 15:51 1504次阅读
    基于FPGA搭建<b class='flag-5'>神经网络</b>的步骤解析