当前位置: 首页 > news >正文

(李宏毅)deep learning(五)--learning rate

一,关于learning rate的讨论:

(1)在梯度下降的过程中,当我们发现loss的值很小的时候,这时我们可能以为gradident已经到了local min=0(低谷),但是很多时候,loss很小并不是因为已经到达了低谷,而是(如下图):

如上图,当右上角的loss几乎为0时,右下角的gradient并没有趋近于0,而是出现反复的极值 ,这种情况下是因为learning rate过大,是的变化的幅度过大,是的optimisization卡在山腰(如左下角)。


(2)然而,我们指的learning rate并不是越大越好,也不是越小越好。

如上图左下角,因为learning rate过大,使得梯度跨度过大不能进入低谷到达黄色叉叉,而如果选择 learning rate过大,梯度移动缓慢,在进入低谷后在大updates之后还是难以到达黄色叉叉。


因为,我们需要一个自动化改变的learning rate,在坡度较陡的时候减小learning rate,在坡度较小的时候增大.

这时,我们想着在之前的learning rate 下加一个随i变化的δ。

δ的求法如下:
(第一种求法)δ是前面所有gradient绝对值的均方

(第二种求法) :第一种的缺点是,因为是全部平均,难以在陡的地方快速减小gradident,在缓的地方减小gradident。为此,我们添加了α权重,减少之前的梯度影响,但又保留一定的惯性。

但是呢,运行后的结果会出现:

 这是因为,在y轴方向,一开始较陡,δ较大,当左转进入较缓的低谷时,δ中的gardient不断增大,当前面的大gradient的和影响不断减小,由当前的δ占主导时,小δ使得y轴learning rate突然增大,发生沿y方向移动,之后由于遇上陡坡,learning rate减小而返回。


解决方法:让learning rate n也随着t减小(有点模拟退火的思维)

还有一个方法:进行预加热(Warm up)。

Warmup的核心思想是在训练的初始阶段,将学习率从较小的值逐步增加到预设的目标值,而不是直接使用较大的学习率。这一过程类似于“热身”,让模型在训练初期逐步适应数据分布,从而减少训练的不稳定性。

今天就学到这啦。 


文章转载自:
http://agrestial.hfytgp.cn
http://catbrier.hfytgp.cn
http://beekeeper.hfytgp.cn
http://barie.hfytgp.cn
http://atrabilious.hfytgp.cn
http://bedkey.hfytgp.cn
http://baneberry.hfytgp.cn
http://carousel.hfytgp.cn
http://camail.hfytgp.cn
http://carve.hfytgp.cn
http://agalloch.hfytgp.cn
http://centralise.hfytgp.cn
http://blackbuck.hfytgp.cn
http://bastile.hfytgp.cn
http://butterball.hfytgp.cn
http://airbag.hfytgp.cn
http://byre.hfytgp.cn
http://ampul.hfytgp.cn
http://bowshot.hfytgp.cn
http://adrenalin.hfytgp.cn
http://alleged.hfytgp.cn
http://aldol.hfytgp.cn
http://boxroom.hfytgp.cn
http://browse.hfytgp.cn
http://amboinese.hfytgp.cn
http://capeline.hfytgp.cn
http://angle.hfytgp.cn
http://azine.hfytgp.cn
http://broadmoor.hfytgp.cn
http://behoof.hfytgp.cn
http://www.dtcms.com/a/280797.html

相关文章:

  • 从底层技术到产业落地:优秘企业智脑的 AI 革命路径解析
  • NAT的核心原理以及配置
  • CCF-GESP 等级考试 2025年6月认证Python四级真题解析
  • RDMA over RoCE V2设计2:系统框架设计考虑
  • Datawhale AI夏令营 机器学习2.1
  • 详解低速容错CAN(附与高速CAN对比表)
  • RabbitMQ第三章(企业级MQ应用方案)
  • 基于uniapp+vue3封装的一个日期选择组件
  • 【图像处理基石】什么是解析力?
  • A*算法详解
  • Transformer江湖录 第九章:大道归一 - 总结与展望
  • 鸿蒙和Android知识点
  • 微信小程序翻书效果
  • 面试遇到的问题
  • 服务器上PHP环境安装与更新版本和扩展(安装PHP、Nginx、Redis、Swoole和OPcache)
  • 如何解决服务器频繁重启的问题?
  • Linux修改ssh默认端口,禁止root登录,禁止密码登录并同时开启公钥认证
  • session与cookie的区别
  • 55 个热门网络面试问题及答案
  • KMP (Knuth-Morris-Pratt) 算法详解
  • UE5多人MOBA+GAS 23、制作一个地面轰炸的技能
  • NE综合实验3:链路聚合、VLAN与Trunk、STP、DHCP、OSPF及PPP整合部署
  • Redis 数据持久化
  • 渲染设计图的空间革命:可视化技术如何重塑设计决策
  • WPF中ListView控件详解
  • 阿里云ssh证书过期,如果更换并上传到服务器
  • 3D数据:从数据采集到数据表示,再到数据应用
  • 服务器、花生壳一个端口部署前后端分离项目
  • 微算法科技技术突破:用于前馈神经网络的量子算法技术助力神经网络变革
  • 从基础到进阶:MyBatis-Plus 分页查询封神指南