【pytorch12】什么是梯度

news2024/11/27 20:10:12

说明

  • 导数
  • 偏微分
  • 梯度

梯度:是一个向量,向量的每一个轴是每一个方向上的偏微分
梯度是有方向也有大小,梯度的方向代表函数在当前点的一个增长的方向,然后这个向量的长度代表了这个点增长的速率

在这里插入图片描述
蓝色代表比较小的值,红色代表比较大的值,中间的箭头比较长,方向是由一个极小值指向一个极大值,因此中间这部分梯度反应了函数的增长的方向,说明了从这个方向增长这个方向是最快的

如何搜索到一个极小值?

一般情况下我们搜索的是极小值,如果想要搜索极大值的话,可以把loss变成负号,就可以通过搜索一个极小值解来搜索极大值解

在这里插入图片描述
所以这个函数的梯度是(2 θ 1 \theta_{1} θ1,2 θ 2 \theta_{2} θ2),再求(0,0)处的一个梯度情况,因此有时候会陷入到一个局部最小值的情况

在这里插入图片描述
在这里插入图片描述
红色是最原始版本的梯度下降来搜索会卡在马鞍的点上
在这里插入图片描述
对于任何的一个点和另外的一个点,我们拉一条直线,这条直线中间的中点以及中点所对应的函数的值,例如定义为z1,z2且z1>z2,叫做凸函数,对于这种情况可以找到一个全局最优解

存在且不太常见的
在这里插入图片描述
存在局部极大和局部极小,存在多个局部极小值

实际的例子:ResNet-56的平面
在这里插入图片描述
对于函数的输出可能有无数多个w参数,对于ResNet可以有上千万个W的参数f=(w1,w2,…),把上千万的自变量可视化到一个二维的平面,可能会陷入到无数多的局部极小值中,即使有全局最小值解,因此对于一个深层次的神经网络,取搜索的时候可能找到一个表现不满意的因为此时的解可能是一个局部极小值解,因此网络的精度不会特别高,Resnet加了一个shortcut的模块,在神经网络的旁边加了一条支路,发现神经网络可以变得很深同时也可以优化的很好,可视化后会变成第二个平面

使用梯度来搜索最小值的情况下,除了会遇到局部最小值,还可能遇到鞍点
在这里插入图片描述

优化器表现

  • 初始状态
  • 学习率
  • 动量(即如何逃离局部极小值)

初始状态

在这里插入图片描述
对于初始状态的不同,会影响找到的是全局解还是局部极小值这样的情况,搜索的路径也可能不一样,因此大家再做深度学习的时候函数的全职一定要初始化,而且初始化的时候如果没有把握就按照目前主流的初始化的方法
在这里插入图片描述
上图两种初始化,左边会到全局最小解,右边会到局部极小值,不同的初始化状态会得到不一样的结果

学习率

在这里插入图片描述

学习率设置为1的时候(比较大),步长会比较大,但实际上我们需要的情况是左边蓝色的点慢慢下降而不是左边跳到右边再跳到左边,是因为学习率设置的过大,会一步跨的太长直接跨过了最小值,对于比较好的函数还可以慢慢震荡到最小值,但是大部分现实情况是直接不收敛了,一开始要把learning rate设置的小一点,0.01或0.001这样,如果发现收敛了可以试着大一点这样会让收敛的速度会快一点

学习率也会影响收敛的精度,例如到最小值附近learning rate还是很大会一直在附近震动永远到不了最小值,只会得到一个近似比较好的情况,这种时候要慢慢减小learning rate

如何逃出局部最小值
在这里插入图片描述

很有可能搜索到局部最小值就停止了,但是还有最小值,这时候可以添加一个动量,这个动量可以直观的理解为惯性,也就是说在局部极小值左边发现梯度呈现右下降的趋势,在右边发现梯度呈左下角的趋势,如果在此时考虑一个惯性的话,在右边的时候梯度会引导你回去到局部最小值,但是本来就是向右去降低梯度的,如果可以考虑到一个惯性的话,假设向右走是v1向量向左走是v2向量,把这两个向量综合一下就会得到一个朝向于偏向v2的方向

常见函数的梯度

在这里插入图片描述
简单感知机线性模型的求解
在这里插入图片描述
二次模型的梯度
在这里插入图片描述
指数求解梯度的方式
在这里插入图片描述
线性感知机的输出和真实label之间的均方差
在这里插入图片描述

log函数求梯度
在这里插入图片描述

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

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

相关文章

初阶数据结构二叉树练习系列(1)

这个系列的文章将带大家一起刷题,并且总结思路 温馨提示:本篇文章里的练习题仅适合刚学完二叉树的小白使用 相同的树 思路 情况分析:第一种情况:两棵树都为空 → 返回true 第二种情况&am…

Vue +Echarts 二维数组获取最大值和最小值以及索引

实现图例效果 获取最大值方法&#xff1a; maxSecond(array) {let max Number.MIN_SAFE_INTEGER;for (let i 0; i < array.length; i) {const secondElement parseInt(array[i][1]);if (secondElement > max) {max secondElement;}}return max;}, 获取最大值索引&…

数据结构——(单)链表

文章目录 1. 结构 2. 链表的分类 1. 单链表 2. 双链表 3. 循环单链表 4. 循环双链表 3. 优缺点 4. 单链表函数 5. 单链表代码实现 1. 结构 逻辑结构 链表是一种线性结构&#xff0c;由一系列结点&#xff08;Node&#xff09;组成。每个结点包含一个数据元素和一个指…

Linux库概念及相关编程(动态库-静态库)

Linux库概念及相关编程 分文件编程案例 分文件编程是指将程序按功能模块划分成不同的文件进行编写&#xff0c;这种方法有以下好处&#xff1a; 功能责任划分&#xff1a;每个文件对应一个功能模块&#xff0c;职责明确&#xff0c;易于理解和维护。方便调试&#xff1a;可以…

绝地求生PUBG点击开始游戏一直在加载不读条计时间的解决办法

绝地求生PUBG作为一款引领潮流的大逃杀游戏&#xff0c;凭借其紧张刺激的对抗体验赢得了全球玩家的喜爱。 即使是游戏已经上线很长时间了&#xff0c;但是游戏现在依旧是很火爆&#xff0c;还有很多玩家下载游戏进行游玩。然而&#xff0c;一些为玩家在游戏中遇到了点击开始游戏…

java版本ERP管理系统源码 Spring Cloud ERP_ERP系统_erp软件_ERP管理系统

在当今数字化时代&#xff0c;企业对高效、稳定且易于扩展的管理系统的需求日益增长。为了满足这一需求&#xff0c;我们精心打造了一款基于Java技术的ERP&#xff08;Enterprise Resource Planning&#xff09;管理系统。该系统充分利用了Spring Cloud Alibaba、Spring Boot、…

Butterfly主题文章标题改成转动小风车

效果 标题级别不同小风车颜色不同&#xff0c;鼠标移入会有转动变慢及变色效果。 新建css 建议在/source下创建诸如img/css/js等文件夹&#xff0c;存放文章或网站用的素材&#xff0c;分门别类后续也方便维护。 Hexo打包的时候&#xff0c;会自动把/source下的文件&#…

JavaScript基础知识5(对象)

JavaScript基础知识5&#xff08;对象&#xff09; 对象创建对象使用对象字面量使用 new Object() 访问和修改属性点表示法方括号表示法 动态添加和删除属性添加属性删除属性 对象方法对象的遍历常用属性和方法数学常量数学函数三角函数 使用示例生成随机整数计算圆的面积求最大…

Zabbix 配置 VMware 监控

Zabbix监控VMware 官方文档&#xff1a;https://www.zabbix.com/documentation/current/en/manual/vm_monitoring Zabbix 可以使用低级发现规则自动发现 VMware 虚拟机管理程序和虚拟机&#xff0c;并根据预定义的主机原型创建主机来监控它们。Zabbix 还包括用于监控 VMware …

VirtualBox的windows server 2016设置主机和虚拟机共享文件夹

文章目录 安装步骤1. windows server 2016安装增强功能2.上述安装完成之后&#xff0c;需要做共享文件夹&#xff0c;在宿主机&#xff0c;新建一个test文件夹&#xff0c;做共享设置&#xff0c;如下图&#xff1a;3.然后打开虚拟机&#xff0c;设置文件共享 安装步骤 1. win…

字节码编程javassist之定义方法和返回值

写在前面 源码 。 本文看下如何使用javassist来定义方法和返回值。 1&#xff1a;源码 package com.dahuyou.javassist.generateFieldAndMethod;import javassist.*;import java.lang.reflect.Method;public class JustDoIt222 {public static void main(String[] args) thr…

跨平台Ribbon UI组件QtitanRibbon全新发布v6.7.0——支持Qt 6.6.3

没有Microsoft在其办公解决方案中提供的界面&#xff0c;就无法想象现代应用程序&#xff0c;这个概念称为Ribbon UI&#xff0c;目前它是使应用程序与时俱进的主要属性。QtitanRibbon是一款遵循Microsoft Ribbon UI Paradigm for Qt技术的Ribbon UI组件&#xff0c;QtitanRibb…

SOLIDWORKS分期许可(订阅形式),降低前期的投入成本!

SOLIDWORKS 分期许可使您能够降低前期软件成本&#xff0c;同时提供对 SOLIDWORKS 新版本和升级程序的即时访问&#xff0c;以及在每个期限结束时调整产品的灵活性&#xff0c;帮助您跟上市场需求和竞争压力的步伐。 目 录&#xff1a; ★ 1 什么是SOLIDWORKS分期许可 ★ 2 …

Cube-Studio:开源大模型全链路一站式中台

开源项目&#xff0c;欢迎star哦&#xff0c;https://github.com/data-infra/cube-studio 一款真正意义的 LLMOps 框架 LLMOps&#xff08;Large Language Model Operations&#xff09;是一个涵盖了大型语言模型&#xff08;如GPT系列&#xff09;开发、部署、维护和优化的一…

【EI会议/稳定检索】2024年应用数学、化学研究与物理工程国际会议(AMPE 2024)

2024 International Conference on Applied Mathematics, Chemical Research, and Physical Engineering 2024年应用数学、化学研究与物理工程国际会议(AMPE 2024) 【会议信息】 会议简称&#xff1a;AMPE 2024 大会时间&#xff1a;点击查看 截稿时间&#xff1a;官网查看 大…

pp 二 物料bom (CS01 CS02 CS03)

02&#xff1a;bom建了以后不能做生产&#xff0c;也不能下达计划 03&#xff1a;不能下达成本&#xff0c;下达订单 bom里面的存储地点高于物料主数据里面的存储地点&#xff08;mrp视图2&#xff09; 生产存储地点作为组件角度是一个发料得存储地点 但是作为一个成品则是成…

Restore Equipment

Restore Equipment 魔兽世界 - 盗号申请 - 恢复装备流程 魔兽和网易真的不行啊 1&#xff09;这个装备本来就是兑换的竟然可以卖NPC 2&#xff09;针对这个情况竟然无法挽回 3&#xff09;设计理念真的不得不吐槽一下 4&#xff09;策划真的不咋样&#xff0c;要是有机会我要自…

mssql查询历史执行过的语句日志

SELECT deqs.creation_time,dest.text AS [SQL Text],deqs.execution_count,deqs.total_elapsed_time,deqs.total_worker_time FROM sys.dm_exec_query_stats AS deqs CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest--where dest.text like %这个是我的条件&#…

数学建模----滑翔伞伞翼面积的设计及运动状态描述

摘要 滑翔伞作为一项融合了挑战、冒险和刺激于一体的运动&#xff0c;近年来在全球范围内受到了广泛的关注。滑翔伞在救援、探险、体育、娱乐、环保和交通等领域的应用展现了其重要价值。然而&#xff0c;中国在滑翔伞领域尚未取得突破&#xff0c;缺乏全球影响力和竞争力。因此…

Keepalived+LVS实现负责均衡,高可用的集群

Keepalived的设计目标是构建高可用的LVS负载均衡群集&#xff0c;可以调用ipvsadm工具来创建虚拟服务器&#xff0c;管理服务器池&#xff0c;而不仅仅用作双机热备。使用Keepalived构建LVS群集更加简便易用&#xff0c;主要优势体现在&#xff1a;对LVS负责调度器实现热备切换…