图解深度学习 - 基于梯度的优化(梯度下降)

news2025/6/3 11:54:19

在模型优化过程中,我们曾尝试通过手动调整单个标量系数来观察其对损失值的影响。具体来说,当初始系数为0.3时,损失值为0.5。随后,我们尝试增加系数至0.35,发现损失值上升至0.6;相反,当系数减小至0.25时,损失值下降至0.4。这一实验结果表明,在该特定情境下,减小系数值有助于降低模型的损失值。

然而,这种方法在实际应用中非常低效,因为模型通常包含大量的系数(可能达到上千个甚至上百万个),对每个系数进行两次前向传播来计算不同取值下的损失值,计算成本极高。

为了解决这个问题,引入了梯度下降法作为一种更高效的优化方法。梯度下降法通过计算损失函数对每个系数的梯度(即损失值对系数的导数),能够指导我们如何调整每个系数以最小化损失值,而无需对每个系数进行多次前向传播试验。

图片


资料分享

为了方便大家学习,我整理了一份深度学习资料+80G人工智能资料包(如下图)

不仅有入门级教程,配套课件,还有进阶实战,源码数据集,更有面试题帮你提升~

需要的兄弟可以按照这个图的方式免费获取


一、梯度下降

梯度下降(Gradient Descent是什么梯度下降是一种通过迭代计算损失函数梯度并沿其反方向更新参数以最小化损失值的优化算法。

梯度下降法基于这样一个观察:如果一个函数在某点处可微且有定义,那么函数在该点沿着梯度的反方向下降最快。因此,算法从初始估计的参数点开始,通过计算损失函数的梯度,并沿着梯度的反方向进行迭代搜索,逐步接近函数的局部极小值。

  1. 初始化参数:选择一个起始点作为初始参数,这些参数可以是任意值或随机选择的值。

  2. 计算梯度:计算当前参数点处的损失函数的梯度。梯度是一个向量,表示损失函数在每个参数维度上的变化率。

  3. 更新参数:使用梯度信息来更新参数,以使损失函数的值减小。这通常是通过沿着梯度的反方向进行调整来实现的,调整的大小由学习率决定

  4. 迭代更新:重复计算梯度和更新参数的步骤,直到满足停止准则,如达到预设的最大迭代次数或损失函数值减小到足够小的值。

图片

“一图 + 一句话”彻底搞懂梯度下降。

“梯度下降是一种通过迭代计算损失函数梯度并沿其反方向调整参数,以最小化损失值的优化算法,它避免了手动调整每个参数的繁琐和高昂计算成本

图片


二、BGD、SGD、MBGD

梯度下降算法有哪些批量梯度下降(BGD)利用全部数据计算梯度,收敛快但计算量大;随机梯度下降(SGD)每次仅使用一个样本,计算量小但收敛慢且可能震荡;小批量梯度下降(MBGD)则是两者的折中,选择部分样本计算梯度,既降低了计算量又保持了较快的收敛速度。

图片

1. 批量梯度下降(Batch Gradient Descent,BGD):在每次迭代中使用全部的训练数据来计算梯度,然后更新模型参数。

  • 优点:收敛速度相对较快,可以利用矩阵运算加速计算,且在凸优化问题中能保证收敛到全局最优解。

  • 缺点:在处理大规模数据集时,计算梯度的时间和空间复杂度较高,内存使用量可能过大。

2. 随机梯度下降(Stochastic Gradient Descent,SGD):在每次迭代中随机选择一个样本来计算梯度,然后更新模型参数。

  • 优点:计算梯度的时间和空间复杂度较低,适用于处理大规模数据集,且能跳出局部最优解(因为每次更新参数的方向不一定是相同的)。

  • 缺点:收敛速度较慢,且可能会出现震荡现象,对于稠密数据集的计算速度可能较慢。

3. 小批量梯度下降(Mini-Batch Gradient Descent):在每次迭代中选择一小部分样本来计算梯度,然后更新模型参数,是批量梯度下降和随机梯度下降的折中方案。

  • 优点:计算梯度的时间和空间复杂度较低,收敛速度较快,且可以利用矩阵运算的并行性加速计算,同时能跳出局部最优解。

  • 缺点:需要手动设置小批量大小,如果选择不当可能会影响收敛速度和精度。对于大规模、稀疏或实时数据流问题,其计算效率可能不如SGD,但比BGD要好。

图片

“一图 + 一句话”彻底搞懂BGD、SGD、MBGD。

“ 梯度下降算法主要包括批量梯度下降(BGD,利用全部数据,收敛快但计算量大)随机梯度下降(SGD,每次仅用一个样本,计算量小但收敛慢且可能震荡)小批量梯度下降(MBGD,部分样本折中方案,既降低计算量又保持较快收敛速度)

图片

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

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

相关文章

MySql--定义表存储引擎、字符集和排序规则

示例: CREATE TABLE users (id INT PRIMARY KEY,name VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci,email VARCHAR(100) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci;注意事项: 字符集和排序规则可以按列覆盖表…

优化版本,增加3D 视觉 查看前面的记录

上图先 运来的超出发表上限,重新发。。。 #11:06:57Current_POS_is: X:77Y:471Z:0U:-2 C:\Log\V55.txt import time import tkinter as tk from tkinter import messagebox from PIL import Image, ImageTk import socket import threading from date…

WWW22-可解释推荐|用于推荐的神经符号描述性规则学习

论文来源:WWW 2022 论文链接:https://web.archive.org/web/20220504023001id_/https://dl.acm.org/doi/pdf/10.1145/3485447.3512042 最近读到一篇神经符号集成的论文24年底TOIS的,神经符号集成是人工智能领域中,将符号推理与深…

Linux:shell脚本常用命令

一、设置主机名称 1、查看主机名称 2、用文件的方式更改主机名称 重启后: 3、 通过命令修改主机名 重启后: 二、网络管理命令 1、查看网卡 2、设置网卡 (1)网卡未被设置过时 (2)当网卡被设定&#xff0c…

OpenTelemetry × Elastic Observability 系列(一):整体架构介绍

本文是 OpenTelemetry Elastic Observability 系列的第一篇,将介绍 OpenTelemetry Demo 的整体架构,以及如何集成 Elastic 来采集和可视化可观测性数据。后续文章将分别针对不同编程语言,深入讲解 OpenTelemetry 的集成实践。 程序架构 Op…

STM32高级物联网通信之以太网通讯

目录 以太网通讯基础知识 什么是以太网 互联网和以太网的区别 1)概念与范围 (1)互联网 (2)以太网 2)技术特点 (1)互联网 (2)以太网 3)应…

历年西安交通大学计算机保研上机真题

2025西安交通大学计算机保研上机真题 2024西安交通大学计算机保研上机真题 2023西安交通大学计算机保研上机真题 在线测评链接:https://pgcode.cn/school 计算圆周率近似值 题目描述 根据公式 π / 4 1 − 1 / 3 1 / 5 − 1 / 7 … \pi / 4 1 - 1/3 1/5 - …

基本数据指针的解读-C++

1、引言 笔者认为对于学习指针要弄清楚如下问题基本可以应付大部分的场景: ① 指针是什么? ② 指针的类型是什么? ③ 指针指向的类型是什么? ④ 指针指向了哪里? 2、如何使用指针 使用时的步骤如下: ① …

基于多模态脑电、音频与视觉信号的情感识别算法【Nature核心期刊,EAV:EEG-音频-视频数据集】

简述 理解情感状态对于开发下一代人机交互界面至关重要。社交互动中的人类行为会引发受感知输入影响的心理生理过程。因此,探索大脑功能与人类行为的努力或将推动具有类人特质人工智能模型的发展。这里原作者推出一个多模态情感数据集,包含42名参与者的3…

【QueryServer】dbeaver使用phoenix连接Hbase(轻客户端方式)

一、轻客户端连接方式 (推荐) 演示无认证配置方式, 有认证填入下方有认证参数即可 1, 新建连接 → Hadoop/大数据 → Apache Phoenix 2, 手动配置QueryServer驱动: 填入: “类名”, “URL模版”(注意区分有无认证), “端口号”, (勾选无认证) 类名: org.apache.phoenix…

[9-1] USART串口协议 江协科技学习笔记(13个知识点)

1 2 3 4全双工就是两个数据线,半双工就是一个数据线 5 6 7 8 9 10 TTL(Transistor-Transistor Logic)电平是一种数字电路中常用的电平标准,它使用晶体管来表示逻辑状态。TTL电平通常指的是5V逻辑电平,其中:…

Oracle基础知识(五)——ROWID ROWNUM

目录 一、ROWID 伪列 二、ROWNUM——限制查询结果集行数 1.ROWNUM使用介绍 2.使用ROWNUM进行分页查询 3.使用ROWNUM查看薪资前五位的员工 4.查询指定条数直接的数据 三、ROWNUM与ROWID不同 一、ROWID 伪列 表中的每一行在数据文件中都有一个物理地址,ROWID…

EMS只是快递那个EMS吗?它跟能源有什么关系?

在刚刚落幕的深圳人工智能终端展上,不少企业展示了与数字能源相关的技术和服务,其中一项关键系统——EMS(Energy Management System,能量管理系统)频频亮相。这个看似低调的名字,实际上正悄然成为未来能源管…

日志技术-LogBack、Logback快速入门、Logback配置文件、Logback日志级别

一. 日志技术 1. 程序中的日志,是用来记录应用程序的运行信息、状态信息、错误信息等。 2. JUL:(java.util.logging)这是JavaSE平台提供的官方日志框架,也被称为JUL。配置相对简单,但不够灵活,性能较差。 3.Logs4j&…

修改Cinnamon主题

~/.themes/Brunnera-Dark/cinnamon/cinnamon.css 1.修改 Tooltip 圆角大小,边框颜色,背景透明度 #Tooltip { border-radius: 10px; color: rgba(255, 255, 255, 0.8); border: 1px solid rgba(255, 255, 255, 0.6); background-color: rgba(0,…

91.评论日记

2025年5月30日20:27:06 AI画减速器图纸? 呜呜为什么读到机械博士毕业了才有啊 | 新迪数字2025新品发布会 | AI工业软件 | 三维CAD | 国产自主_哔哩哔哩_bilibili

HTML5实现简洁的端午节节日网站源码

HTML5实现简洁的端午节节日网站源码 前言一、设计来源1.1 网站首页界面1.2 端午由来界面1.3 节日活动界面1.4 传统美食界面1.5 民俗文化界面1.6 登录界面1.7 注册界面 二、效果和源码2.1 动态效果2.2 源代码 结束语 HTML5实现简洁的端午节节日网站源码,酷炫的大气简…

Window10+ 安装 go环境

一、 下载 golang 源码: 去官网下载: https://go.dev/dl/ ,当前时间(2025-05)最新版本如下: 二、 首先在指定的磁盘下创建几个文件夹 比如在 E盘创建 software 文件夹 E:\SoftWare,然后在创建如下几个文件夹 E:\S…

一、Sqoop历史发展及原理

作者:IvanCodes 日期:2025年5月30日 专栏:Sqoop教程 在大数据时代,数据往往分散存储在各种不同类型的系统中。其中,传统的关系型数据库 (RDBMS) 如 MySQL, Oracle, PostgreSQL 等,仍然承载着大量的关键业务…

React 编译器 RC

🤖 作者简介:水煮白菜王,一位前端劝退师 👻 👀 文章专栏: 前端专栏 ,记录一下平时在博客写作中,总结出的一些开发技巧和知识归纳总结✍。 感谢支持💕💕&#…