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

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

3天内不再提示

解决机器学习中有关学习率的常见问题

倩倩 来源:不靠谱的猫 2020-04-15 11:52 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

什么是学习率?它的用途是什么?

神经网络计算其输入的加权和,并通过一个激活函数得到输出。为了获得准确的预测,一种称为梯度下降的学习算法会在从输出向输入后退的同时更新权重。

梯度下降优化器通过最小化一个损失函数(L)来估计模型权重在多次迭代中的良好值,这就是学习率发挥作用的地方。它控制模型学习的速度,换句话说,控制权重更新到l最小点的速度。新(更新后)和旧(更新前)权重值之间的关系如下:

学习率是否为负值?

梯度L/w是损失函数递增方向上的向量。L/w是L递减方向上的向量。由于η大于0,因此是正值,所以-ηL/w朝L的减小方向向其最小值迈进。如果η为负值,则您正在远离最小值,这是它正在改变梯度下降的作用,甚至使神经网络无法学习。如果您考虑一个负学习率值,则必须对上述方程式做一个小更改,以使损失函数保持最小:

学习率的典型值是多少?

学习率的典型值范围为10 E-6和1。

梯度学习率选择错误的问题是什么?

达到最小梯度所需的步长直接影响机器学习模型的性能:

小的学习率会消耗大量的时间来收敛,或者由于梯度的消失而无法收敛,即梯度趋近于0。

大的学习率使模型有超过最小值的风险,因此它将无法收敛:这就是所谓的爆炸梯度。

梯度消失(左)和梯度爆炸(右)

因此,您的目标是调整学习率,以使梯度下降优化器以最少的步数达到L的最小点。通常,您应该选择理想的学习率,该速率应足够小,以便网络能够收敛但不会导致梯度消失,还应足够大,以便可以在合理的时间内训练模型而不会引起爆炸梯度。

除了对学习率的选择之外,损失函数的形状以及对优化器的选择还决定了收敛速度和是否可以收敛到目标最小值。

错误的权重学习率有什么问题?

当我们的输入是图像时,低设置的学习率会导致如下图所示的噪声特征。平滑、干净和多样化的特征是良好调优学习率的结果。是否适当地设置学习率决定了机器学习模型的预测质量:要么是进行良好的训练,要么是不收敛的网络。

绘制神经网络第一层产生的特征:不正确(左)和正确(右)设置学习率的情况

我们可以事先计算出最佳学习率吗?

通过理论推导,不可能计算出导致最准确的预测的最佳学习率。为了发现给定数据集上给定模型的最佳学习率值,必须进行观察和体验。

我们如何设置学习率?

以下是配置η值所需了解的所有内容。

使用固定学习率:

您确定将在所有学习过程中使用的学习率的值。这里有两种可能的方法。第一个很简单的。它由实践中常用的常用值组成,即0.1或0.01。第二种方法,您必须寻找适合您的特定问题和神经网络架构的正确学习率。如前所述,学习率的典型值范围是10 E-6和1。因此,你粗略地在这个范围内搜索10的各种阶数,为你的学习率找到一个最优的子范围。然后,您可以在粗略搜索所找到的子范围内以较小的增量细化搜索。你在实践中可能看到的一种启发式方法是在训练时观察损失,以找到最佳的学习率。

学习率时间schedule的使用:

与固定学习率不同,此替代方法要求根据schedule在训练epochs内改变η值。在这里,您将从较高的学习率开始,然后在模型训练期间逐渐降低学习率。在学习过程的开始,权重是随机初始化的,远远没有优化,因此较大的更改就足够了。随着学习过程的结束,需要更完善的权重更新。通常每隔几个epochs减少一次学习Learning step。学习率也可以在固定数量的训练epochs内衰减,然后对于其余的训练epochs保持较小的恒定值。

常见的两种方案。第一种方案,对于固定数量的训练epochs,每次损失平稳(即停滞)时,学习率都会降低。第二种方案,降低学习率,直到达到接近0的较小值为止。三种衰减学习率的方法,即阶跃衰减、指数衰减和1/t衰减。

在SGD中添加Momentum:

它是在经典的SGD方程中加入一项:

这个附加项考虑了由于Vt-1而带来的权重更新的历史,Vt-1是过去梯度的指数移动平均值的累积。这就平滑了SGD的进程,减少了SGD的振荡,从而加速了收敛。然而,这需要设置新的超参数γ。除了学习率η的挑战性调整外,还必须考虑动量γ的选择。γ设置为大于0且小于1的值。其常用值为0.5、0.9和0.99。

自适应学习率的使用:

与上述方法不同,不需要手动调整学习率。根据权重的重要性,优化器可以调整η来执行更大或更小的更新。此外,对于模型中的每个权重值,都确保了一个学习率。Adagrad,Adadelta,RMSProp和Adam是自适应梯度下降变体的例子。您应该知道,没有哪个算法可以最好地解决所有问题。

学习率配置主要方法概述

学习率的实际经验法则是什么?

学习率是机器学习模型所依赖的最重要的超参数。因此,如果您不得不设置一个且只有一个超参数,则必须优先考虑学习率。

机器学习模型学习率的调整非常耗时。因此,没有必要执行网格搜索来找到最佳学习率。为了得到一个成功的模型,找到一个足够大的学习率使梯度下降法有效收敛就足够了,但又不能大到永远不收敛。

如果您选择一种非自适应学习率设置方法,则应注意该模型将具有数百个权重(或者数千个权重),每个权重都有自己的损失曲线。因此,您必须设置一个适合所有的学习率。此外,损失函数在实际中往往不是凸的,而是清晰的u形。他们往往有更复杂的非凸形状局部最小值。

自适应方法极大地简化了具有挑战性的学习率配置任务,这使得它们变得更加常用。此外,它的收敛速度通常更快,并且优于通过非自适应方法不正确地调整其学习率的模型。

SGD with Momentum,RMSProp和Adam是最常用的算法,因为它们对多种神经网络架构和问题类型具有鲁棒性。

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

    关注

    42

    文章

    4827

    浏览量

    106795
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66837
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ZYNQ UltraScalePlus RFSOC QSPI Flash固化常见问题说明

    璞致 ZYNQ UltraScalePlus RFSOC QSPI Flash 固化常见问题说明
    发表于 08-08 15:49 0次下载

    贸泽电子2025边缘AI与机器学习技术创新论坛回顾(上)

    2025年,随着人工智能技术的快速发展,边缘AI与机器学习市场迎来飞速增长,据Gartner预计,2025年至2030年,边缘AI市场将保持23%的复合年增长
    的头像 发表于 07-21 11:08 989次阅读
    贸泽电子2025边缘AI与<b class='flag-5'>机器</b><b class='flag-5'>学习</b>技术创新论坛回顾(上)

    FPGA在机器学习中的具体应用

    随着机器学习和人工智能技术的迅猛发展,传统的中央处理单元(CPU)和图形处理单元(GPU)已经无法满足高效处理大规模数据和复杂模型的需求。FPGA(现场可编程门阵列)作为一种灵活且高效的硬件加速平台
    的头像 发表于 07-16 15:34 2632次阅读

    PCBA代工避坑指南:常见问题+解决方案全解析

    一站式PCBA加工厂家今天为大家讲讲PCBA代工代购元器件常见问题有哪些?PCBA代工代购元器件常见问题及解决方案。随着科技的不断发展和市场需求的变化,越来越多的企业选择通过外包方式进行PCBA生产
    的头像 发表于 07-09 09:38 461次阅读

    deepin 25系统安装常见问题

    随着 deepin 25 系列版本的发布,我们特别推出 deepin Q&A 常见问题指南,旨在帮助您轻松应对安装、升级及使用过程中可能遇到的常见问题
    的头像 发表于 04-14 14:08 4481次阅读
    deepin 25系统安装<b class='flag-5'>常见问题</b>

    机器学习模型市场前景如何

    当今,随着算法的不断优化、数据量的爆炸式增长以及计算能力的飞速提升,机器学习模型的市场前景愈发广阔。下面,AI部落小编将探讨机器学习模型市场的未来发展。
    的头像 发表于 02-13 09:39 619次阅读

    如何优化BP神经网络的学习

    优化BP神经网络的学习是提高模型训练效率和性能的关键步骤。以下是一些优化BP神经网络学习的方法: 一、理解学习
    的头像 发表于 02-12 15:51 1423次阅读

    嵌入式机器学习的应用特性与软件开发环境

    设备和智能传感器)上,这些设备通常具有有限的计算能力、存储空间和功耗。本文将您介绍嵌入式机器学习的应用特性,以及常见机器学习开发软件与开发
    的头像 发表于 01-25 17:05 1210次阅读
    嵌入式<b class='flag-5'>机器</b><b class='flag-5'>学习</b>的应用特性与软件开发环境

    华为云 Flexus X 实例部署安装 Jupyter Notebook,学习 AI,机器学习算法

    前言 由于本人最近在学习一些机器算法,AI 算法的知识,需要搭建一个学习环境,所以就在最近购买的华为云 Flexus X 实例上安装了学习环境,Jupyter Notebook。没想到
    的头像 发表于 01-02 13:43 860次阅读
    华为云 Flexus X 实例部署安装 Jupyter Notebook,<b class='flag-5'>学习</b> AI,<b class='flag-5'>机器</b><b class='flag-5'>学习</b>算法

    传统机器学习方法和应用指导

    在上一篇文章中,我们介绍了机器学习的关键概念术语。在本文中,我们会介绍传统机器学习的基础知识和多种算法特征,供各位老师选择。 01 传统机器
    的头像 发表于 12-30 09:16 1981次阅读
    传统<b class='flag-5'>机器</b><b class='flag-5'>学习</b>方法和应用指导

    如何选择云原生机器学习平台

    当今,云原生机器学习平台因其弹性扩展、高效部署、低成本运营等优势,逐渐成为企业构建和部署机器学习应用的首选。然而,市场上的云原生机器
    的头像 发表于 12-25 11:54 699次阅读

    电子设备EMC测试整改:常见问题与解决方案

    深圳南柯电子|电子设备EMC测试整改:常见问题与解决方案
    的头像 发表于 12-23 11:47 1856次阅读
    电子设备EMC测试整改:<b class='flag-5'>常见问题</b>与解决方案

    zeta在机器学习中的应用 zeta的优缺点分析

    的应用(基于低功耗广域物联网技术ZETA) ZETA作为一种低功耗广域物联网(LPWAN)技术,虽然其直接应用于机器学习的场景可能并不常见,但它可以通过提供高效、稳定的物联网通信支持,间接促进
    的头像 发表于 12-20 09:11 1626次阅读

    cmp在机器学习中的作用 如何使用cmp进行数据对比

    机器学习领域,"cmp"这个术语可能并不是一个常见的术语,它可能是指"比较"(comparison)的缩写。 比较在机器学习中的作用 模型
    的头像 发表于 12-17 09:35 1323次阅读

    构建云原生机器学习平台流程

    构建云原生机器学习平台是一个复杂而系统的过程,涉及数据收集、处理、特征提取、模型训练、评估、部署和监控等多个环节。
    的头像 发表于 12-14 10:34 676次阅读