深度学习:SGD的缺点

首先看下述函数:
在这里插入图片描述最小值为x=0,y=0处
先了解下它的梯度特征。了理解其梯度特征,我们需要计算其梯度向量。
梯度向量 ∇f 是函数 f 在每个变量方向上的偏导数组成的向量。具体来说:
∇f=(∂f/∂x,∂f∂/y)
首先,我们计算 f 对 x 的偏导数:
∂f/∂x=10/x​
接着,我们计算 ff对 yy的偏导数:
∂f/∂y=2y
因此,梯度向量 ∇f为:
∇f=(x/10,2y)

从梯度向量的表达式可以看出:
在 x轴方向上,梯度分量是 x/10,这意味着梯度在 x轴方向上的变化相对较小,因为 x的系数是 1/10​,这是一个较小的数。
在 y 轴方向上,梯度分量是 2y,这意味着梯度在 y轴方向上的变化相对较大,因为 y的系数是 2,这是一个较大的数。

因此,这个函数的梯度特征是:在 y轴方向上变化较大,而在 x轴方向上变化较小。换句话说,函数 f在 y轴方向上的变化比在 x轴方向上的变化更为显著。
梯度图如下图所示:
在这里插入图片描述我们应用随机梯度下降(SGD)方法,从初始点 (x,y)=(−7.0,2.0)开始搜索,SGD会呈“之”字形移动,是一个相当低效的路径,如下图所示:
在这里插入图片描述是由于以下几个原因:
1.梯度方向的变化:
在给定的函数 f=120(x2)+y2f=201​(x2)+y2 中,梯度向量 ∇f=(x/10,2y)) 在不同点的方向是不同的。
初始点 (−7.0,2.0)处的梯度向量为 (−7.0/10,2⋅2.0)=(−0.7,4.0)
这意味着在初始点,梯度在 y轴方向上的分量(4.0)远大于在 x 轴方向上的分量(-0.7)。
2. 学习率的影响:
学习率(步长)的选择会影响搜索路径。如果学习率过大,可能会导致在 yy 轴方向上过度移动,而在 xx 轴方向上移动不足,从而形成之字形路径。
如果学习率过小,虽然可以避免之字形路径,但收敛速度会变慢。
3.局部最小值和鞍点:
在某些情况下,函数可能存在局部最小值或鞍点,这些点可能会导致SGD在搜索过程中来回摆动,形成之字形路径。
4. 随机性:
SGD方法中包含了随机性,每次迭代时只使用部分数据(或单个数据点)来计算梯度,这可能导致梯度估计的不稳定性,从而形成之字形路径。

为了更具体地理解为什么会出现之字形移动,我们可以考虑以下步骤:
初始点 (−7.0,2.0)
梯度向量 (−0.7,4.0)
如果学习率 ηη 较大,更新后的点可能为 (−7.0−η⋅(−0.7),2.0−η⋅4.0),即 (−7.0+0.7η,2.0−4η)
更新后的点:
如果 η 较大,y轴方向上的移动会显著大于x 轴方向上的移动,导致点在 y轴方向上大幅移动,而在 x 轴方向上移动较小。
这种不平衡的移动可能导致点在 y 轴方向上来回摆动,形成之字形路径。
综上所述,SGD方法在从 (−7.0,2.0)处开始搜索时,由于梯度方向的变化、学习率的影响以及随机性等因素,可能会呈现出之字形移动。

因此,SGD的缺点是,如果函数的形状非均向,比如呈延伸状,搜索的路径就会非常低效。因此,我们需要比单纯朝梯度方向前进的SGD更聪明的方法。SGD低效的根本原因是,梯度的方向并没有指向最小值的方向(在复杂的非凸优化问题中,函数可能存在多个局部最小值和鞍点。SGD可能会陷入这些不良点,导致优化过程停滞不前)。

改进SGD的方法

为了克服SGD的低效性,研究者们提出了许多改进方法,包括:
动量(Momentum):通过引入动量项,减少梯度噪声的影响,加速收敛。
自适应学习率方法:如AdaGrad、RMSprop、Adam等,根据参数的历史梯度自动调整学习率。
二阶优化方法:如牛顿法、拟牛顿法等,利用二阶导数信息加速收敛。
正则化技术:如L1、L2正则化,防止过拟合,提高模型的泛化能力。
批量归一化(Batch Normalization):通过归一化输入数据,加速训练过程。

动量(Momentum):在此例中应用Momentum方法,虽然x轴方向上受到的力非常小,但是一直在同一方向上受力,所以朝同一个方向会有一定的加速。反过来,虽然y轴方向上受到的力很大,但是因为交互地受到正方向和反方向的力,它们会互相抵消,所以y轴方向上的速度不稳定。因此,和SGD时的情形相比,可以更快地朝x轴方向靠近,减弱“之”字形的变动程度。如下图所示:
在这里插入图片描述AdaGrad:AdaGrad会为参数的每个元素适当地调整学习率。参数的元素中变动较大(被大幅更新)的元素的学习率将变小。也就是说,可以按参数的元素进行学习率衰减,使变动大的参数的学习率逐渐减小。如下图所示:
在这里插入图片描述函数的取值高效地向着最小值移动。由于y轴方向上的梯度较大,因此刚开始变动较大,但是后面会根据这个较大的变动按比例进行调整,减小更新的步伐。因此,y轴方向上的更新程度被减弱,“之”字形的变动程度有所衰减。

**Adam:**融合了Momentum和AdaGrad的方法。通过组合前面两个方法的优点,有望实现参数空间的高效搜索。此外,进行超参数的“偏置校正”也是Adam的特征。如下图所示:
在这里插入图片描述

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

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

相关文章

【北京迅为】《STM32MP157开发板嵌入式开发指南》-第六十七章 Trusted Firmware-A 移植

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐…

Qt | windows视频播放器小项目

点击上方"蓝字"关注我们 01、前言 >>> Windows平台如果播放不了视频,记得下载编解码工具:https://www.mediaplayercodecpack.com/#google_vignette media.player.codec.pack.v4.6.0.setup.exe 下载后双击安装。 02、videowidget.pro >>> (.pro…

Android Activity SingleTop启动模式使用场景

通知栏 当用户点击通知栏中的通知时,可以使用单顶启动模式来打开对应的活动,并确保只有一个实例存在。 简单集成极光推送 创建应用 获取appkey参数 切换到极光工作台 极光sdk集成 Project 根目录的主 gradle 配置 Module 的 gradle 配置 Jpush依赖配置 配置推送必须…

ssm基于vue框架和elementui组件的手机官网+vue

系统包含:源码论文 所用技术:SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习,获取源码请私聊我 需要定制请私聊 目 录 目 录 III 1 绪论 1 1.1 研究背景 1 1.2 目的和意义 1 1.3 论文结构安排 2 2 相关技术 3 2.1 SSM框…

【Android】perfetto使用学习

在开发者选项中的系统跟踪里抓取的perfetto文件是保存在/data/local/traces 里的 adb pull /data/local/traces ./ 主线程中的执行是受vsync信号控制的,即间隔调用的 如果写一个while线程,一直使用cpu,是怎样的呢,这里我们来试验一…

技术周总结 10.21~10.27周日

文章目录 一、10.24 周四 程序员节2.1)问题01: Memory Analysis Tool的使用方法 二、10.27 周日2.1) J2EE架构J2EE 的核心组件与技术J2EE 的多层架构J2EE 的优缺点J2EE 的应用场景 2.2)web应用开发中的 "web服务器" 和 …

探讨Facebook的AI研究:未来社交平台的技术前瞻

在数字时代,社交媒体已成为人们日常生活的重要组成部分。作为全球最大的社交网络之一,Facebook不断致力于人工智能(AI)的研究与应用,以提升用户体验、增强平台功能并推动技术创新。本文将探讨Facebook在AI领域的研究方…

国标GB28181视频平台EasyGBS国标GB28181软件实现无需插件的视频监控对讲和网页直播

在当今社会,视频监控已经成为公共安全、企业管理、智能城市建设等领域不可或缺的一部分。然而,由于不同厂家和平台之间的兼容性问题,视频监控系统的联网和整合面临巨大挑战。为了解决这个问题,国家制定了《公共安全视频监控联网系…

【网络面试篇】三次握⼿、四次挥手综述

目录 一、三次握手 1. 过程描述 2. 为什么不是四次握手?为什么不能两次握手? 二、四次挥手 1. 过程描述 2. 为什么是四次挥手? 一、三次握手 1. 过程描述 ① 客户端 向 服务器 发送 SYN 报文、初始化序列号 ISN(seqx&…

JavaSet集合

无序(指的是添加顺序和获取出的数据顺序不一致,不重复,无索引 既然Set没有索引,因此功能同上一篇Connection的功能,几乎没有额外的功能 HashSet的原理 为什么是无序(要构建红黑树)&#xff0…

【测试平台】Odin-ws 工程环境部署

背景: 这个是我4年半以前接受测试平台过程中遇到问题记录,因为交接成都这边,拿出来直接用了。这里做个记录。 一、美东测试服务器相关 1.主服务器部署机器 该机器是美东服务器。 机器配置:t5.xlarge cpu 4核, 内存…

Android Junit 单元测试 | 依赖配置和编译报错解决

问题 为什么在依赖中添加了testImplement在build APK的时候还是会报错?是因为没有识别到test文件夹是test源代码路径吗? 最常见的配置有: implementation - 所有源代码集(包括test源代码集)中都有该依赖库.testImplementation - 依赖关系仅在test源代码…

如何将png格式的图片做成序列帧

类似以上的图片&#xff0c;根据图片的总长度和图片总数进行计算 <div class"frogeggitem"></div>.frogeggitem {width: 900rpx;height: 1000rpx;background: url(https://frog-skin.haoxgame.com/status2/frog/frogegg.png)no-repeat;background-size:…

学习笔记——动态路由——OSPF(距离矢量协议)OSPF路由类型

OSPF路由类型 在OSPF中&#xff0c;路由类型指的是不同种类的路由&#xff0c;用于描述网络中不同的路由信息及其传输方式。 1、Intra Area路由(区域内路由) Intra Area路由(区域内路由/本地路由/内部路由)是OSPF协议中的一种路由类型&#xff0c;用于描述在同一个OSPF区域内…

Android Studio Dolphin 下载、安装与配置教程

文章目录 Android Studio Dolphin简介一、核心特性二、新增功能三、用户体验优化 一&#xff0c;下载百度网盘迅雷云盘 二&#xff0c;安装三&#xff0c;下载组件四&#xff0c;添加SDK五&#xff0c;创建项目六&#xff0c;安装 Device模拟器运行项目 Android Studio Dolphin…

磁盘分区工具 DiskGenius Pro v5.5.0.1488 中文汉化版

DiskGenius 是一款专家级数据恢复软件&#xff0c;集数据恢复、硬盘分区、系统备份还原等多种功能于一身的超级工具软件&#xff0c;功能全面&#xff0c;安全可靠。可以提供磁盘的数据找回、备份、分区、修复、删除、格式化等操作&#xff0c;也能帮助用户修复磁盘坏道、彻底删…

《一人公司:失业潮中的高新技术工作者》读书笔记

基本信息 书名&#xff1a;一人公司&#xff1a;失业潮中的高新技术工作者作者&#xff1a;[美]卡丽莱恩&#xff08;Carrie M. Lane&#xff09;出版社&#xff1a;广东人民出版社出版时间&#xff1a;2023年11月 内容简介 本书通过18个月的田野调查和9年的跟踪寻访&#…

部署DNS主从服务器

一。DNS主从服务器作用&#xff1a; DNS作为重要的互联网基础设施服务&#xff0c;保证DNS域名解析服务的正常运转至关重要&#xff0c;只有这样才能提供稳定、快速日不间断的域名查询服务 DNS 域名解析服务中&#xff0c;从服务器可以从主服务器上获取指定的区域数据文件&…

es(1)(仅供自己参考)

elasticsearch&#xff08;ES&#xff09;是一款非常强大的开源搜索引擎&#xff0c;可以帮助我们从海量的数据中快速找到需要的内容。 elastic stack&#xff08;ELK&#xff09;&#xff1a;elasticsearch结合kibana、Logstash、Beats。被广泛的应用在日志数据分析、实时监控…

信创认证(信创人才考评证书)的含金量?到底有多少?

“信创认证”是什么&#xff1f; 信创认证是由工业和信息化部教育与考试中心推出的国家级权威认证&#xff0c;旨在推动信息技术应用创新产业的发展&#xff0c;并构建完善的信创产业人才培养体系。该认证在个人信息技术领域具有极高的认可度。 信创认证分为初级、中级和高级三…