当前位置: 首页 > 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://www.xdnf.cn/news/1126585.html

相关文章:

  • 单臂路由实现VLAN互通实验
  • 编译原理第一到三章(知识点学习/期末复习/笔试/面试)
  • HashMap详解
  • 优学教育官网搭建01首页
  • 多模态大语言模型arxiv论文略读(157)
  • Node.js 中http 和 http/2 是两个不同模块对比
  • React源码4 三大核心模块之一:Schedule,scheduleUpdateOnFiber函数
  • GBase 8a 与 Spring Boot + MyBatis 整合实战:从环境搭建到CRUD操作
  • Springboot集成SpringSecurity的介绍及使用
  • 【实时Linux实战系列】使用系统调用实现实时同步
  • 【PTA数据结构 | C语言版】前序遍历二叉树
  • 2025国自然青基、面上资助率,或创新低!
  • 板凳-------Mysql cookbook学习 (十一--------11)
  • C#,List<T> 与 Vector<T>
  • 焊接机器人智能节气阀
  • 关于list
  • 微信小程序入门实例_____从零开始 开发一个每天记账的微信小程序
  • 【GPIO】从STM32F103入门GPIO寄存器
  • 153.在 Vue 3 中使用 OpenLayers + Cesium 实现 2D/3D 地图切换效果
  • 淘宝扭蛋机小程序开发:重构电商娱乐化体验的新范式
  • Kruskal重构树
  • Linux操作系统从入门到实战(九)Linux开发工具(中)自动化构建-make/Makefile知识讲解
  • 12.6 Google黑科技GShard:6000亿参数MoE模型如何突破显存限制?
  • 导出内存溢出案例分析
  • 学习秒杀系统-实现秒杀功能(商品列表,商品详情,基本秒杀功能实现,订单详情)
  • JavaScript认识+JQuery的依赖引用
  • ethers.js-8-bigNmber和callstatic模拟
  • 2025年最新香港站群服务器租用价格参考
  • 探索阿里云ESA:开启边缘安全加速新时代
  • 基于Ruoyi和PostgreSQL的统一POI分类后台管理实战