神经网络算法 - 一文搞懂Gradient Descent(梯度下降)

news2024/11/15 18:35:30

本文将从梯度下降的本质、梯度下降的原理、梯度下降的算法 三个方面,带您一文搞懂梯度下降 Gradient Descent | GD。

梯度下降

**__**一、**__**_****_**_**梯度下降的**_**本质_****_

机器学习“三板斧选择模型家族,定义损失函数量化预测误差,通过优化算法找到最小化损失的最优模型参数。

机器学习 vs 人类学习

  • 定义一个函数集合(模型选择)

  • 目标:确定一个合适的假设空间或模型家族。

  • 示例:线性回归、逻辑回归、神经网络、决策树等。

  • 考虑因素:问题的复杂性、数据的性质、计算资源等。

  • 判断函数的好坏(损失函数)

  • 目标:量化模型预测与真实结果之间的差异。

  • 示例:均方误差(MSE)用于回归;交叉熵损失用于分类。

  • 考虑因素:损失的性质(凸性、可微性等)、易于优化、对异常值的鲁棒性等。

  • 选择最好的函数(优化算法)

  • 目标:在函数集合中找到最小化损失函数的模型参数。

  • 主要方法:梯度下降及其变种(随机梯度下降、批量梯度下降、Adam等)。

  • 考虑因素:收敛速度、计算效率、参数调整的复杂性等。

梯度下降的本质: 用于求解机器学习和深度学习中的最优化问题。

梯度下降的基本思想是从一个初始点出发,沿着损失函数的负梯度方向不断更新参数,直到达到一个局部最小值或者全局最小值。

梯度下降的基本思想

  • 初始化参数: 选择一个初始的参数值。

  • 计算梯度: 计算损失函数在当前参数值下的梯度。

  • 更新参数: 沿着梯度的反方向更新参数,通常使用一个学习率(Learning Rate)来控制更新的步长。

  • 重复迭代: 重复步骤2和3,直到满足停止条件(如达到最大迭代次数、损失函数值小于一个阈值等)。

梯度下降的关键步骤

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈


_**二、_**_**_**_****_**_**梯度下降的**_**原理_****_**_**_**_**_

在梯度下降中,利用方向导数的最小值(即梯度的反方向)来更新参数,从而逼近函数的最小值。

方向导数:在梯度下降算法中,方向导数用于确定函数值下降的最快方向。

  • 定义:方向导数是函数在某一点沿特定方向的变化率。对于多元函数,它表示函数值在该点沿某一确定方向上的瞬时变化率。

  • 性质:方向导数的大小取决于函数在该点的梯度以及方向向量的选择。当方向向量与梯度方向相同时,方向导数达到最大值;当方向向量与梯度方向相反时,方向导数达到最小值。

  • 与梯度下降的关系:在梯度下降算法中,方向导数用于确定函数值下降的最快方向。通过计算负梯度方向上的方向导数,可以找到使函数值减小的方向,从而更新参数以逼近函数的最小值。

方向导数

梯度(Gradient):在梯度下降算法中,梯度提供了函数下降的方向和速度信息。

  • 定义:梯度是一个向量,它的每个分量是函数对相应自变量的偏导数。对于多元函数,梯度表示函数在某一点的最大变化率和该变化发生的方向。

  • 性质:梯度的方向总是指向函数值增长最快的方向,而梯度的大小(模长)表示该方向上的最大变化率。在函数的驻点(梯度为零的点)处,函数可能达到局部极小值、局部极大值或鞍点。

  • 与梯度下降的关系:梯度下降算法利用梯度的信息来更新参数,以最小化目标函数。在每一步迭代中,算法计算当前点的梯度,并沿着梯度的反方向(负梯度方向)移动一定的步长,这个步长通常由学习率控制。

梯度

_**三、梯度下降的****___**_******___**_****_**_算法_**_****_**___******_**___******_

__

批量梯度下降(BGD): 在每次迭代中,批量梯度下降使用整个数据集来计算损失函数的梯度,并根据这个梯度来更新模型的所有参数。

批量梯度下降(BGD)

  • 优点:

    稳定收敛:由于使用了整个数据集来计算梯度,批量梯度下降通常能够更稳定地收敛到损失函数的最小值,避免了在优化过程中的剧烈波动。

    全局视角:它考虑了数据集中的所有样本来进行参数更新,这有助于模型获得一个全局的视角,而不是仅仅关注于单个样本或一小部分样本。

    易于实现:批量梯度下降算法相对简单,容易理解和实现。

  • 缺点:

    计算成本高:当数据集非常大时,批量梯度下降的计算成本会变得非常高,因为每次迭代都需要处理整个数据集。

    内存消耗大:由于需要同时加载整个数据集到内存中,批量梯度下降对于内存的需求也相对较高。

    更新速度慢:由于每次更新都是基于整个数据集的平均梯度,因此在某些情况下,批量梯度下降可能会比随机梯度下降更慢地更新参数。

随机梯度下降(SGD): 与批量梯度下降不同,随机梯度下降在每次迭代中仅随机选择一个样本来计算损失函数的梯度,并根据这个梯度来更新模型的一个或多个参数。

随机梯度下降(SGD)

优点:

  1. 计算效率高:由于每次迭代只处理一个样本,随机梯度下降的计算效率通常比批量梯度下降高得多,特别是在处理大规模数据集时。

  2. 内存消耗小:随机梯度下降只需要加载一个样本到内存中,因此对于内存的需求相对较低。

  3. 有助于跳出局部最小值:由于每次更新都是基于单个样本的梯度,随机梯度下降在优化过程中具有更大的随机性,这有助于模型跳出局部最小值,找到更好的全局最小值。

缺点:

  1. 收敛过程不稳定:由于每次更新都是基于单个样本的梯度,随机梯度下降的收敛过程通常比批量梯度下降更不稳定,可能会产生较大的波动。

  2. 难以达到全局最优:在某些情况下,随机梯度下降可能会陷入局部最小值,而无法达到全局最优解。

  3. 需要额外的技巧:为了提高随机梯度下降的性能和稳定性,通常需要采用一些额外的技巧,如逐渐减小学习率(学习率衰减)、使用动量等。

在大模型时代,我们如何有效的去学习大模型?

现如今大模型岗位需求越来越大,但是相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。
在这里插入图片描述

掌握大模型技术你还能拥有更多可能性

• 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程;

• 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用;

• 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域;

• 更优质的项目可以为未来创新创业提供基石。

可能大家都想学习AI大模型技术,也_想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把都打包整理好,希望能够真正帮助到大家_。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,下面是我整理好的一套完整的学习路线,希望能够帮助到你们学习AI大模型。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述

三、AI大模型经典PDF书籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

四、AI大模型各大场景实战案例

在这里插入图片描述

结语

【一一AGI大模型学习 所有资源获取处(无偿领取)一一】
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

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

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

相关文章

docker GBase 8sV8.8使用的常见错误

因项目需要GBase 8sV8.8数据库环境,所以在搭建使用过程中有一些坑和错误,所以记录和分享 docker搭建 docker.com获取镜像 docker pull liaosnet/gbase8s:v8.8_3503x1_x64创建容器 docker run -d -p 19088:9088 \-e SERVERNAMEgbase01 \-e USERPASSGB…

CCleaner:系统优化与隐私保护的双重守护

大家好,今天电脑天空要介绍一款非常实用的系统优化工具——CCleaner。如果你的电脑运行速度越来越慢,或者担心隐私泄露问题,那么CCleaner可能是你的解决方案。 系统优化,一键搞定 CCleaner能够智能识别并清理电脑中的临时文件、…

基于Spring Boot的文字识别系统

前端使用htmlcssjs,后端使用Spring Boot,数据库使用mysql,识别算法有两个,一个是使用百度OCR接口,一个是自己写一个python,用flask包装。 其中百度OCR接口可以去免费申请,然后把appid、apikey、…

k8s 部署Ruoyi-Vue-Plus之vue打包镜像

在这里插入图片描述 在这篇文章中,解释如何通过容器化(Docker)来打包和部署前端项目,替代之前手动维护版本的方式 1.nginx配置 在 ruoyi-ui 项目的根目录下创建一个 nginx.conf 文件, 我没有使用monitor-admin和xxljob-admin模块…

【吊打面试官系列】为什么Mysql的索引结果用B+树

Mysql如何使用索引查询数据的 下图是一个B树我们的目标节点是 13 我们先根据 13 锁定非叶子节点 2,计算机进行一次IO操作把叶子节点取出来,在叶子节点2中找到叶子节点5 里面有 13 计算机也要进行一次IO将数据取到内存里然后读数据 一共进行了 3次磁盘I…

MATLAB 快速计算点到二维直线的距离并可视化(79)

计算点到二维直线距离,主要是还提供了具体的可视化方法 MATLAB 快速计算点到二维直线的距离并可视化(79) 一、算法介绍二、算法实现1.代码2.效果一、算法介绍 问题:给定一条直线的方程 (Ax + By + C = 0) 和一个点 ((x_0, y_0)),点到直线的距离 (d) 方法:运行此脚本后,…

区块链的搭建与运维4

区块链的搭建与运维4 任务一:区块链产品需求分析与方案设计 本任务需要依据项目背景完成需求分析与方案设计,具体要求如下: 按照新能源系统的需求规定,用户可以通过本系统实现能源管理与交易、新能源资产管理与交易、用户管理等功能。本系统软件部分可划分为浏览器页面、服务…

Tina-SDK开发

开发环境搭建 获取TinaSDK源码 Tina-SDKV2.0源码网盘链接:https://pan.baidu.com/s/13uKlqDXImmMl9cgKc41tZg?pwdqcw7 上传到ubuntu,创建文件夹用来保存源码: ubuntuubuntu1804:~$ mkdir Tina_SDK ubuntuubuntu1804:~$ cd Tina_SDK/ ubu…

【单片机】PIC16F1719 单片机,UART,串口发送

/** 文件: main.c* 目标: PIC16F1719* 编译器: XC8 v1.41* 开发环境: MPLABX v4.10** 创建日期: 2023年8月4日 下午2:58** PIC16F1719* +-----------------+* VPP -> 1 : RE3/MCLR/VPP : 40 <> PGD/RB7* <>…

【二分-BM19 寻找峰值】

题目 BM19 寻找峰值 描述 给定一个长度为n的数组nums&#xff0c;请你找到峰值并返回其索引。数组可能包含多个峰值&#xff0c;在这种情况下&#xff0c;返回任何一个所在位置即可。 分析 对一个左闭右闭的区间二分&#xff0c;通过改变l 或r 的值将原始查找区间缩小一半…

【HarmonyOS NEXT星河版开发实战】页面跳转

个人主页→VON 收录专栏→鸿蒙综合案例开发​​​​​ 代码及其图片资源会发布于gitee上面&#xff08;已发布&#xff09; gitee地址https://gitee.com/wang-xin-jie234 目录 前言 界面功能介绍 界面构建过程 知识点概述 页面跳转 页面传参 全套源代码 Index页面 Sec…

API 的多版本管理,如何在 Apifox 中操作?

开放 API 是技术团队向外部提供服务和数据的关键手段。随着业务的发展和技术的更新&#xff0c;API 也需要不断进行版本迭代。这种迭代通常是为了满足市场需求&#xff0c;优化现有功能&#xff0c;增加新特性&#xff0c;或者修复漏洞。 在多个版本共存的情况下&#xff0c;团…

pikachu靶场----ssrf实现

目录 ssrf简介 SSRF&#xff08;curl&#xff09; 1.后端代码分析 2.http协议连接本地文件 3.file协议读取C盘中的文件。 4.dict协议扫描内网其他主机的端口开放情况 5.使用burp扫描内网其他主机的端口开放情况 ssrf简介 SSRF(Server-Side Request Forgery:服务器端请求…

AI引领边缘计算变革,打造嵌入式产业新未来

在科技的洪流中&#xff0c;AI&#xff08;人工智能&#xff09;如同一位强大的领航者&#xff0c;正引领着边缘计算发生深刻的变革&#xff0c;为嵌入式产业开辟出一片充满无限可能的新未来。 曾经&#xff0c;我们难以想象智能设备能够在无需依赖云端强大计算能力的情况下&am…

.NET_WebForm_layui控件使用及与webform联合使用

使用layui控件填充布局 操作流程&#xff1a; 创建项目。引入css以及js样式。使用栅格样式进行布局。官网查找控件元素&#xff08;此处以图标和按钮为例&#xff09;。将对应的元素从官网复制下来。在布局中填充。很简单的操作&#xff0c;其他控件也同理&#xff0c;不再赘…

GlusterFS-分布式文件系统:概念、案例

目录 GlusterFS 简介 概念 文件系统 通信方式 Cluster特点 扩展性和高性能 高可用性 全局统一命名空间 弹性卷管理 基于标准协议 GlusterFS术语 &#xff08;1&#xff09;Brick &#xff08;2&#xff09;Volume &#xff08;3&#xff09;FUSE &#xff08;4…

因http连接问题产生的生产事故

早上7点接到报警&#xff08;有机器oom报警&#xff0c;且负载很高&#xff0c;运维看阿里云监控上的tcp链接&#xff09;&#xff0c;研发和运维小伙伴一起分析&#xff0c;因为怕影响线上客户&#xff0c;直接选择了服务回退&#xff08;昨天&#xff09;。 服务回退后&…

2024/08(二) 近期关于AI的阅读和理解[笔记]

## Multi Agent/Flow 最近团队在实验 flowise 的 Agentflows 设计&#xff0c;顺带看了现在市面多加解决方案&#xff0c;这两天偶尔看到蚂蚁CodeFuse团队开发的Mulit Agent框架开发思想&#xff0c; 所以将他们一起总结归纳下。 Agent Base&#xff1a;构建了四种基本的Agent…

【计算机三级-数据库技术】操作题大题(第1套)

46题 1 设要为某工厂设计一个数据库&#xff0c;需要记录如下信息&#xff08;有下划线的信息可作为唯一标识&#xff09;&#xff1a; •产品有产品名、规格&#xff1b; •每种产品拥有多道加工工序&#xff0c;每道加工工序只适用于一种产品&#xff1b; •每道工序需要记…

【CAN总线测试】——CAN交互层测试

从0开始学习CANoe使用 从0开始学习车载测试 相信时间的力量 星光不负赶路者&#xff0c;时光不负有心人。 目录 1.应用报文发送检查 2.周期型报文测试 3.信号使用位与未使用位默认值检查 4.突增负载测试 5.CheckSum测试 6.RollongCounter测试 1.应用报文发送检查 用例编…