李宏毅机器学习&深度学习课程|网络训练3:自动调整学习速率

Adaptive Learning Rate技术:介绍了Adaptive Learning Rate技术,即为每个参数设置不同的学习率。讲解了当Loss不再下降时,Gradient并没有变得很小的情况,说明卡住不一定是走到了Critical Point。提醒在训练网络时,不能随便说卡在Local Minima或Saddle Point,需要分析具体原因。同时,解释了如何画出Error Surface图,并指出走到Critical Point是困难的事情,训练往往在此之前停止。最后强调了Critical Point并非训练停滞的主要原因,而是其他因素。

Error Surface的概念:介绍了一个Error Surface的概念,它是一个凸面,椭圆形的等高线表示其形状。在横轴上,梯度变化小,坡度平滑;而在纵轴上,梯度变化大,坡度陡峭。即使是这样简单的Error Surface,使用Gradient Descent也难以找到最低点。调整学习率后,仍然无法到达终点。说明即使是凸面也难以用Gradient Descent优化。对于更复杂的Error Surface,Gradient Descent是唯一可靠的工具,但它需要更好的版本。下一步是讲解如何定制化学习率,根据梯度的大小进行调整。

参数相关的学习率更新方法:介绍了一种参数相关的学习率更新方法,通过将学习率设置为参数除以参数相关梯度的均方根来实现。该方法可以根据参数的不同和迭代的不同来自动调整学习率,使得在梯度较大时学习率减小,在梯度较小时学习率增大。这种方法可以提高梯度下降算法的效率。

利用Sigma自动调整Learning Rate:讲解了在参数更新过程中如何利用Sigma来自动调整Learning Rate的大小。Theta1的坡度小,导致Gradient值小,Sigma小,Learning Rate大;而Theta2的坡度大,Gradient值大,Sigma大,Learning Rate小。根据Gradient的不同,每个参数的Learning Rate可以动态调整。介绍了RMS Prop方法,通过调整α的大小来决定最新Gradient的重要性。这个方法在Deep Learning课程中被提到,没有论文可引用,可以通过影片链接引用。

使用RNSPARP和adaptive learning rate进行参数更新:讲解了使用RNSPARP和adaptive learning rate来进行参数更新的方法。通过动态调整σ值,可以控制步伐的大小,避免出现过大的步幅导致的问题。同时介绍了add-in算法,即将RNSPARP与momentum相结合的优化策略。最后讲解了adagrade算法的原理和使用方法,在训练过程中自动调整学习率,使得模型能够持续前进。然而,由于在某些方向上的gradient很小,累积的σ值也会变得很小,导致步幅过大,出现爆炸的情况。但是,一旦超出范围后,可以通过走到gradient较大的区域,再次调整σ值修正回来。

学习率调度的常见策略:讲解了学习率调度的两种常见策略:学习率衰减和Warm-up。学习率衰减是让学习率随着时间和参数更新逐渐减小,使参数更新逐渐减缓,以更平稳地达到终点。Warm-up是先让学习率增大再减小,这是一种黑科技,可以在训练中使用。这些策略在机器学习中非常常见。

学习率的变化和Warm Up技术:讲述了学习率的变化和Warm Up技术在优化网络中的应用。初始阶段学习率较小,让参数在初始位置探索并收集有关误差曲面和Sigma的统计数据。随着Sigma统计的精确度提高,学习率逐渐增加。此外,还介绍了优化算法中的动量和RMSProp,以及学习率调度的作用。最后,提到了优化器的变种,如Adam。此章节强调了当误差曲面崎岖不平时,需要使用适当的优化方法来改善训练效果。

本文资料来源于互联网,仅做网络分享,如有侵权,请联系删除;不代表Sora中文网立场,如若转载,请注明出处:https://www.allinsora.com/6548

(0)
上一篇 2024年3月28日 下午3:05
下一篇 2024年3月28日 下午4:07

相关推荐

  • 哈佛CS50 Python入门课程 | L6自然语言处理1(语言,语法与语义,nltk,n-grames)

    这个视频介绍了自然语言处理的基本概念,包括语法和语义的重要性,以及使用上下文无关语法和印迹来分析文本结构。视频还演示了如何使用Python库NLTK来进行单词标记化和句子标记化,以及如何提取最常见的单词序列和短语。通过示例句子和文本数据,展示了如何将文本分解成单词和句子,并分析不同长度的序列出现频率。 自然语言处理概述:这个章节介绍了自然语言处理的重要性和挑…

    2024年4月9日
    0066
  • 哈佛CS50 Python入门课程 | 课程内容介绍

    这是CS50课程,一门关于使用Python进行人工智能介绍的课程。接下来,我们将自我探索现代人工智能的基础概念,从如何寻找解决问题的方案开始。无论是学习如何玩游戏,还是寻找目的地的行车路线,我们都将一一探讨。 同时,我们也将学习如何代表那些可能具有不确定性的信息和事件。更重要的是,我们将学会如何利用这些信息来得出推断和结论。 此外,我们还将探索如何解决各种类…

    2024年3月14日
    00118
  • 哈佛CS50 Python入门课程 | L2 不确定性2 (联合概率,贝叶斯网络)

    这个视频介绍了贝叶斯网络的推理过程,通过计算不同事件的概率来做出决策。视频展示了如何利用Python库pomegranate实现贝叶斯网络,并通过计算不同条件下的概率来预测结果。推理算法可根据已知条件计算隐藏变量的概率分布,从而做出准确的推断。通过近似推理,可以更快地得出结论,尽管结果可能不够精确,但仍可提供有效的决策参考。 联合概率与条件概率:这个章节讲解…

    2024年4月7日
    0086
  • 李宏毅机器学习&深度学习课程|概述强化学习3:Actor-Critic

    评估actor的表现:介绍了RL中的critic,即价值函数。价值函数的作用是评估一个actor在某个游戏画面下可能获得的奖励。通过估算discounted cumulative reward,价值函数可以预测在某个状态下actor可能得到的总奖励。这种预测能力使得价值函数在游戏还未结束时就能估计actor的表现。 训练value function:讲解了如…

    2024年4月3日
    00687
  • 斯坦福深度学习课程 | 对抗性攻击

    ️对抗性攻击与生成对抗网络:关于对抗性示例和生成对抗网络的讲座。教授讨论了神经网络的盲点,如何攻击网络并使其错误分类,并介绍了两个主题:攻击神经网络和生成对抗网络。讲座涵盖了在图像中如何攻击神经网络的方法以及如何防御这些攻击。同时,讲座还提到了相关论文和实践过程中的细节。 生成对抗性示例讨论:讨论了如何生成对抗性示例,分为非针对性攻击和有针对性攻击。黑盒攻击…

    2024年3月27日
    00473

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

关注微信
Sora改变AI认知方式,开启走向「世界模拟器」的史诗级的漫漫征途。