临界点其实不一定是在训练神经网络过程中遇到的最大阻碍。

随着对参数的不断更新,Loss值会不断下降,直至几乎没有变化,不再下降。当参数更新到临界点时,意味着gradient非常小,所以要认定参数是否到达临界点应当确认gradient值是否很小。当Loss不再下降时,且gradient没有很小,则说明此时参数并未到达临界点。

训练停滞\neq小的梯度

Loss几乎不再变化,但gradient却还在变化,可以发生了锯齿现象。

梯度下降法的锯齿现象是指在优化过程中参数更新呈现来回震荡的趋势,导致迭代路径形成类似锯齿的形状。这种现象通常发生在目标函数具有高频振荡特性或学习率设置过高时,参数更新可能超过最优解并反复震荡。 ‌

学习率也可以理解为步长,如果太大会产生震荡的效果,但是如果太小则很难靠近真正的Loss值最小的点。 

学习率应当为每一个参数量身定做。

如果在某一个方向上变化十分平坦(坡度很小),则我们希望学习率可以变大一些,如果在某一个方向上非常陡峭(坡度很大),我们希望学习率可以变小一些。

原先的式子:

可以自动调整学习率的式子:

i表示第i个参数(某一个参数),t代表的是参数的迭代次数,\eta是学习率。

Root Mean Square

当在一条坡度较小的曲线上时,算出的均方根较小所以学习率(红框)就大,步伐大;反之在一条坡度较大的曲线上时,算出的出的均方根较小所以学习率(红框)就小,步伐小。

以上所考虑的是同一个参数,其梯度的大小(变化率)是固定差不多的值。

RMSProp

但是实际上,情况会十分复杂,就算是同一个参数、同一个方向,也想要学习率可以动态调整。

第一步,与均方根的方法相同。第二步 ,均方根中每一个gradient都有同等的重要性,但在RMSProp中,可以自己调整现在的这个gradient的权重。

学习率调整机制(Learning Rate Scheduling)

为防止出现大幅波动的情况,引入学习率调整机制。

此时的\eta与时间有关。

Learning Rate Decay

随着时间的不断进行,随着参数不断的更新,\eta让其越来越小,因为一开始距离终点很远,随着参数的不断更新,距离终点你越来越近,所以把学习率减小,让参数的更新慢下来。

Warm Up 

Warm Up的思想是让\eta先变大再变小。

总结

Momentum和\sigma都是考虑到过去所以的gradient,它们会不会相互抵消呢,其实他们在使用过去所有gradient的方式不同。Momentum是直接将所有的gradient通通加起来,所有它有考虑方向,也有考虑gradient的正负号。但是均方根就不考虑gradient方向了,它只考虑的是gradient的大小。所有它们不会互相抵消掉。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/88436.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/88436.shtml
英文地址,请注明出处:http://en.pswp.cn/web/88436.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Uniapp中的uni.scss

uni.scss为uni-app新建项目自带工程文件,使用的预处理器为sass/scss,由此可见,uni-app官方推荐的是scss。 uni.scss特点 无需引入,uni-app在编译时,会自动引入此文件在此中定义的scss变量,可以全局使用&…

PreparedStatement 实现分页查询详解

PreparedStatement 实现分页查询详解 在 JDBC 中使用 PreparedStatement 实现分页查询是高效安全的方式,可以避免 SQL 注入并提升性能。下面我将详细说明实现步骤和原理。 📐 分页查询核心参数参数名说明计算公式pageNum当前页码(从1开始&…

ClamAV 和 FreshClam:Linux 服务器上的开源杀毒解决方案

ClamAV 和 FreshClam:Linux 服务器上的开源杀毒解决方案 1. 概述 ClamAV 是一款开源的防病毒引擎,专为 Linux 服务器设计,用于检测恶意软件、病毒、木马和其他安全威胁。它广泛应用于邮件服务器、文件存储系统和 Web 服务器,提供高效的病毒扫描功能。 主要特点: 免费开…

PySpark中python环境打包和JAR包依赖

在 PySpark 中打包 Python 环境并调度到集群是处理依赖一致性的关键步骤。以下是完整的解决方案,包含环境打包、分发和配置方法: 一、环境打包方法 使用 Conda 打包环境 # 创建 Conda 环境 conda create -n pyspark_env python3.8 conda activate pyspar…

和鲸社区深度学习基础训练营2025年关卡2(1)纯numpy

拟分3种实现方法:1.纯numpy2.sklearn中的MLPClassifier3.pytorch题目: 在 MNIST 数据集上训练 MLP 模型并比较不同的激活函数和优化算法任务描述:使用 MNIST 数据集中的前 20,000 个样本训练一个多层感知机 (MLP) 模型。你需要比较三种不同的…

Sequential Thinking:AI深度思考的新范式及其与CoT、ReAct的对比分析

引言:AI深度思考的演进与Sequential Thinking的崛起在人工智能技术快速发展的今天,AI模型的思考能力正经历着从简单应答到深度推理的革命性转变。这一演进过程不仅反映了技术本身的进步,更体现了人类对机器智能认知边界的持续探索。早期的大语…

云原生详解:构建现代化应用的未来

引言 在数字化转型的浪潮中,"云原生"已成为技术领域最热门的话题之一。从初创公司到全球500强企业,都在积极探索云原生技术以提升业务敏捷性和创新能力。本文将全面解析云原生的概念、核心技术、优势以及实践路径,帮助您深入理解这一改变IT格局的技术范式。 什么…

SSE事件流简单示例

文章目录1、推送-SseEmitter2、接收-EventSourceListenerSSE(Server-Sent Events,服务器推送事件)是一种基于HTTP的服务器向客户端实时推送数据的技术标准。1、推送-SseEmitter SseEmitter用于实现服务器向客户端单向、长连接的实时数据推送…

Elasticsearch RESTful API入门:基础搜索与查询DSL

Elasticsearch RESTful API入门:基础搜索与查询DSL 本文为Elasticsearch初学者详细解析RESTful API的核心操作与查询DSL语法,包含大量实战示例及最佳实践。 一、Elasticsearch与RESTful API简介 Elasticsearch(ES)作为分布式搜索…

(六)复习(OutBox Message)

文章目录 项目地址一、OutBox Message1.1 OutBox表配置1. OutBoxMessage类2. OutboxMessage表配置3. 给每个模块生成outboxmessage表1.2 发布OutBox Message1. 修改Intercepotor2. 配置Quartz3. 创建Quatz方法发布领域事件4. 创建Quatz定时任务5. 注册Quatz服务和配置6. 流程梳…

STM32-ADC内部温度

在通道16无引脚(测量温度不准确)跟ADC代码差不多;不需要使能引脚时钟;将内部温度测量打开/*** brief 启用或禁用温度传感器和内部参考电压功能* param NewState: 新的功能状态,取值为ENABLE或DISABLE* retval 无* no…

「Linux命令基础」文本模式系统关闭与重启

关机重启基本命令 直接拔掉计算机电源可能损坏内部元件;Linux系统通过命令关闭计算机则是安全流程,让所有程序有机会保存数据、释放资源。 关机命令:shutdown Linux系统提供了多种用于关闭或重启系统的命令,其中 shutdown 是最常用的一种,它可以安全地通知用户系统即将…

射频信号(大宽高比)时频图目标检测anchors配置

一、大宽高比目标YOLO检测参数设置 这是yolov7的一个label的txt文件: 1 0.500 0.201 1.000 0.091 2 0.500 0.402 1.000 0.150 3 0.500 0.604 1.000 0.093 0 0.500 0.804 1.000 0.217 对应的样本: 长宽比分别是:1/0.09110.98, 1/0.1506.67…

OpenStack 鉴权服务介绍.md

引言 OpenStack是一个开源的云计算管理平台,其中的Keystone组件承担了身份认证和授权的关键任务。Keystone的主要功能包括管理用户及其权限、维护OpenStack Services的Endpoint,以及实现认证(Authentication)和鉴权(Au…

Linux_3:进程间通信

IPC1.什么是IPC?Inter Process Communication2.进程间通信常用的几种方式1,管道通信:有名管道,无名管道2,信号- 系统开销小3,消息队列-内核的链表4,信号量-计数器5,共享内存6&#x…

【Springboot】Bean解释

在 Spring Boot 中,Bean 就像是你餐厅里的一名员工。比如,你有一名服务员(Service)、一名厨师(Chef)和一名收银员(Cashier)。这些员工都是餐厅正常运转所必需的,他们各自…

axios的post请求,数据为什么要用qs处理?什么时候不用?

为什么使用 qs 处理 POST 数据axios 的 POST 请求默认将 JavaScript 对象序列化为 JSON 格式(Content-Type: application/json)。但某些后端接口(尤其是传统表单提交)要求数据以 application/x-www-form-urlencoded 格式传输&…

【unitrix】 4.21 类型级二进制数基本结构体(types.rs)

一、源码 这段代码定义了一个类型级数值系统的 Rust 实现,主要用于在编译时表示和操作各种数值类型。 use crate::sealed::Sealed; use crate::number::{NonZero, TypedInt, Unsigned, Primitive}; // // 特殊浮点值枚举 ///// 特殊浮点值(NaN/∞&#x…

UI前端与数字孪生结合实践案例:智慧零售的库存管理优化系统

hello宝子们...我们是艾斯视觉擅长ui设计和前端数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩!一、引言:数字孪生重构零售库存的 “人 - 货 - 场” 协同在零售行业利润率持续承压的背景…

【Freertos实战】零基础制作基于stm32的物联网温湿度检测(教程非常简易)持续更新中.........

本次记录采用Freertos的第二个DIY作品,基于Onenet的物联网温湿度检测系统,此次代码依然是全部开源。通过网盘分享的文件:物联网温湿度检测.rar 链接: https://pan.baidu.com/s/1uj9UURVtGE6ZB6OsL2W8lw?pwdqm2e 提取码: qm2e 大家也可以看看…