李宏毅ML-局部最小值与鞍点

news2025/1/8 23:09:14

局部最小值与鞍点

文章目录

  • 局部最小值与鞍点
    • 1. Optimization 没有做好是因为什么?
    • 2. Local Minima or Saddle Point?
    • 3. 如何解决 Saddle Point?

1. Optimization 没有做好是因为什么?

观察下图,随着 update 的次数增加, 蓝色曲线代表的 Loss 越来越小,但是停下来的时候,Loss 依然还是比较大,而橙色曲线代表的 Loss 始终没有下降,这两种情况是 optimization 失败的典型例子。
那是什么原因导致的 optimization 失败呢?
在这里插入图片描述
归根结底,是在计算参数对 L 的微分时,也就是在计算曲线的斜率时,gradient 接近 0,参数更新结束,而这其实是在参数更新时遇到了 critical point.
critical point 有两种,一种是 local minima,一种是 saddle point.
local minima(局部最小值):遇到 local minima 时,其四周的地形都比它高,无路可走了。
saddle point(鞍点):遇到 saddle point 时,其左右两侧的地形都比较低,前后两侧的地形都比较高,这时候可以往左右两侧逃离,以更新参数,使得 Loss 变小。

2. Local Minima or Saddle Point?

我们可以用泰勒公式来近似推导 Loss。
θ ′ \theta^{\prime} θ 是参数现在所处的位置,而 θ \theta θ 是其周围的任意一点。
L ( θ ) L(\theta) L(θ) 有 3 项,第 2 项在参数遇到 critical point 时为0,可以消去,第 3 项则告诉了我们 critical point 的特性,根据不同的特性,我们可来判断 critical point 是 local minima or local maxima or saddle point?
在这里插入图片描述
θ − θ ′ = v \theta-\theta^{\prime}=v θθ=v,而原来的第三项可以简写为 v T H v v^THv vTHv
v T H v v^THv vTHv > 0,说明 L ( θ ) > L ( θ ′ ) L(\theta) > L(\theta^{\prime}) L(θ)>L(θ),即在 θ ′ \theta^{\prime} θ 处的 Loss 要比 θ ′ \theta^{\prime} θ 周围的任意一点 θ \theta θ 处的 Loss 都要来得小,所以参数更新停下的点是 Local minima,同时 v T H v v^THv vTHv > 0 也说明了 H 是一个正定矩阵,即 H 所有的特征值都 > 0;
v T H v v^THv vTHv < 0,说明 L ( θ ) < L ( θ ′ ) L(\theta) < L(\theta^{\prime}) L(θ)<L(θ),即在 θ ′ \theta^{\prime} θ 处的 Loss 要比 θ ′ \theta^{\prime} θ 周围的任意一点 θ \theta θ 处的 Loss 都要来得大,所以参数更新停下的点是 Local maxima,同时 v T H v v^THv vTHv < 0 也说明了 H 是一个负定矩阵,即 H 所有的特征值都 < 0;
有时 v T H v v^THv vTHv > 0,有时 v T H v v^THv vTHv < 0,说明在 θ ′ \theta^{\prime} θ 处的 Loss 要比 θ ′ \theta^{\prime} θ 周围的任意一点 θ \theta θ 处的 Loss 要么来得大、要么来得小,所以参数更新停下的点是 saddle point,同时也说明了 H 的有些特征值是 > 0 的,有些特征值是 < 0 的.

在这里插入图片描述
举个例子判断某个点是否 saddle point?
在这里插入图片描述
在这里插入图片描述

3. 如何解决 Saddle Point?

如果遇到了 Local minima,无路可走,无法再更新参数了;而如果遇到了 Saddle point,根据 H 还可以判断参数继续更新的方向,还是可以解决的。
u u u 是特征向量, λ \lambda λ 是特征向量中的一个负的特征值,令 v = u v = u v=u u T H u = u T ( λ u ) = λ ∣ ∣ u ∣ ∣ 2 < 0 u^{T}Hu=u^{T}(\lambda u) = \lambda ||u||^{2} <0 uTHu=uT(λu)=λ∣∣u2<0,则 L ( θ ) < L ( θ ′ ) L(\theta)<L(\theta^{\prime}) L(θ)<L(θ),此时在 θ \theta θ 处为 Local maxima,还有更新参数的可能。
θ − θ ′ = u \theta-\theta^{\prime}=u θθ=u,则 θ ′ + u \theta^{\prime}+u θ+u θ \theta θ 更新参数的方向。
在这里插入图片描述
还是以刚刚的例子来解决 saddle point.
在这里插入图片描述
当一个模型的参数有很多时,求 H 需要很大的计算量,使得效率比较低,因此很少被用于实际应用中。
现实中的实际应用,需要的参数是高维的,在低维中的 local minima 到了高维中也就变成了 saddle point,所以能遇到 local minima 的机会还是很少的。
在这里插入图片描述
根据经验来说,参数在不断更新的过程中,会越来越有可能遇到 local minima,但不过也从来没有遇到 local minima. 多数时候,训练模型停下来时,都是因为遇到了 saddle point.
在这里插入图片描述

在训练模型时,参数不断地更新,但假如说卡在了 saddle point, local minima, plateau 会有什么样的解决方案?请看下一篇笔记。
在这里插入图片描述

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

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

相关文章

MFC或C/C++中如何判断目录存在,文件/文件夹存在,亦或是文件夹存在,文件存在

判断的方式太多太多&#xff0c;这里暂时列举5中方式。 在文章开始之前&#xff0c;由于需要用到CString转char功能&#xff0c;所以先介绍一个CString转char的方法&#xff1a; 想知道更多参见CString与char *互转总结 由于本文使用的Unicode编码模式&#xff0c;所以如下&…

链动2+1商业模式的玩法是怎么样的?

如果你感觉自己的产品卖不掉&#xff0c;很可能是因为缺乏一种成功业务模型&#xff0c;因此我们来聊聊运营商业运营模式理论&#xff1a;从一个销售产品到一个商业运营模式的高速发展&#xff0c;我们不能把它简单的当做是一种营销方法&#xff0c;也就是一种产品的营销方法。…

六、MySQL 数据库练习题1(包含前5章练习题目及答案)

文章目录一、数据库概述练习题二、MySQL 环境搭建练习题三、查询练习MySQL 数据库练习题(包含前5章所有知识点及答案) 前置知识&#xff1a; 一、数据库开发与实战专栏导学及数据库基础概念入门 二、MySQL 介绍及 MySQL 安装与配置 三、MySQL 数据库的基本操作 四、MySQL 存储…

PrimalSQL 2023 Crack

PrimalSQL 2023 使数据库查询开发和测试变得轻而易举&#xff0c;无论您的数据库类型或供应商如何。 通过单个工具支持多个数据库提供程序。 Access、SQL Server、SQL Server Compact、MySQL、Oracle、ODBC、OLEDB、Sybase 等。 使用Visual Query Builder构建复杂的查询。 使…

Steam/CSGO游戏搬砖1月行情分析及应对方法

Steam/CSGO游戏搬砖1月行情分析及应对方法 这几天&#xff0c;我看很多地方还在对外宣称说这个项目有百分之十几&#xff0c;二三十的利润率&#xff0c;多么无敌和暴利&#xff01; 天啦 &#xff0c;这些人为了能割到小白的韭菜真是无所不用其极&#xff0c;什么牛都能吹得出…

外包和外派

前言 简单介绍下人们常说的外包是什么&#xff0c;应届生未出社会没有经验&#xff0c;避免求职过程中的一些坑。 文章目录前言一、什么是外包&#xff1f;1、简介1、项目外包2、人力外包二、外包公司有哪些&#xff1f;三、优缺点1、优点2、缺点四、选择一、什么是外包&#x…

海思SS928V100开发(2)镜像烧录

1. 开发板没有uboot 在\01.software\pc\ToolPlatform下,打开烧写工具ToolPlatform如下: 选择 “烧写eMMC”,并添加fastboot,kernel,rootfs,如下图: 然后点击 烧写,进入烧写模式(注意:检查串口选择是否正确,传输方式选择 网口): 烧写完成uboot,kernel和rootf后的…

流媒体协议之RTMP详解

流媒体协议之RTMP详解 文章目录流媒体协议之RTMP详解1 RTMP概述2 RTMP交互过程2.1 握手协议2.2 RTMP分块&#xff08;chunk&#xff09;2.3 协议控制消息&#xff08;Protocol Control Message&#xff09;2.4 RTMP Message Format2.5 不同类型的RTMP Message2.6 RTMP Massage和…

【Linux多线程编程】7. 线程锁(4)——信号量

前言 上篇文章Linux多线程编程】6. 线程锁&#xff08;3&#xff09;——条件变量 介绍了使用条件变量实现多线程同步的方式&#xff0c;而条件变量一般与互斥锁一同配合。本文介绍多线程同步的另一种方式——信号量&#xff0c;使用比条件变量简单&#xff0c;也用来解决生产…

【Ansible】ansible Playbook

文章目录一、Ad-Hoc 的问题二、PlayBook 是什么三、YAML 学习1.yaml 特点2.基本语法四、 Playbook 的编写1.play 的定义2.Play 属性3.一个完整的剧本4. tasks 属性中任务的多种写法5.具有多个 play 的 playbook6. 如何对 playbook 进行语法校验下面校验的方法&#xff0c;只能校…

想要申请双软认证 这九大标准你满足吗

申请双软认证的优势有很多&#xff0c;最主要的就是能够节省企业的税收支出&#xff0c;减少成本&#xff0c;企业的利润就会增加&#xff0c;企业也能够发展得更好了。 要申请双软认证&#xff0c;企业就需要及时的了解双软认证的要求&#xff0c;不光是要有软件著作权&#…

编写jinjia2模板和角色部分 ansible(6)

目录 题目&#xff1a; 1、jinjia2模板&#xff1a; 编写hosts.j2&#xff0c;内容如下(主机名和ip地址使用变量)&#xff1a; &#xff08;1&#xff09;Welcome to 主机名 &#xff01;&#xff08;比如servera.lab.example.com&#xff09; My ip is ip地址. &#xff…

虹科新品 | 什么是光纤微动开关?(上)

01 什么是光纤微动开关 # 光纤微动开关结合了机械开关和光中断器的优点以及光纤波导的非金属性 光纤微动开关有一个确定的机械开关点&#xff0c;提供触觉反馈 光中断器没有电子机械部件&#xff0c;因此具有高可靠性 光纤是非金属的&#xff0c;它的信号损失几乎为零&#x…

苹果中国官网上线智能家居板块,蓝牙BLE在智能家居的应用

近期苹果中国区官网已上线单独的家居板块&#xff08;Apple Home&#xff09;。页面显示&#xff0c;家居板块主要分为三个品类&#xff1a;HomePod、Home App&#xff08;家庭 App&#xff09;以及智能家居配件。 据了解&#xff0c;智能家居单品均为第三方出品&#xff0c;虽…

OpenWrt 在没有80\443端口、不能dns验证的情况下为自己的域名申请免费ssl证书

适用范围 本方法适用于使用OpenWrt 在没有80\443端口、不能dns验证的情况下为自己的域名申请免费ssl证书。 提示&#xff1a; 1、如果你的网络的80或者443端口是开放状态&#xff0c;可直接使用https://letsencrypt.org/进行ssl申请&#xff0c;使用acme.sh脚本可快速完成。 2…

枚举类与注解

文章目录一、枚举类的使用枚举类的理解枚举类的定义Enum类的常用方法Enum类的实现接口二、注解&#xff08;Annotation&#xff09;说明如何自定义注解JDK提供的4种元注解通过反射获取注解信息&#xff08;到反射再讲&#xff09;JDK8注解的新特性每日一考一、枚举类的使用 枚…

Node.js教程笔记(二)模块化

学习目标 1、能够说出模块化的好处 2、能够知道CommonJS规定了哪些内容 3、能够说出NodeJS中模块的三大分类各是什么 4、能够使用npm管理包 5、能够了解什么是规范的包结构 6、能够了解模块的加载机制 目录 1、模块化的基本概念 2、NodeJS中模块的分类 3、npm与包 4…

Django项目使用wangeditor方法

一、环境&#xff1a; python&#xff1a; 3.8 Django &#xff1a;3.2.16 wangeditor&#xff1a; v4 &#xff08;官方文档地址&#xff1a;wangEditor&#xff09; JS文件下载&#xff1a;https://download.csdn.net/download/weixin_47401101/87379142 编译器&#xff1…

日志分析工具--花两天时间为自己开发个小工具值得吗?

这两天忙里偷闲整理开发了个小的日志分析工具&#xff0c;没错&#xff0c;是给自己使用的&#xff0c;工欲善其事必先利其器。 先说一下痛点&#xff0c; 1、经常会遇到需要在外网服务器上调试的情况&#xff0c;此时只能通过日志来调试信息。 2、当使用记事本打开日志文件后&…

windows驱动开发-WDF编程

文章目录前言WDF编程前的准备工作WDF编程创建驱动对象创建设备对象设备对象的回调函数链表操作驱动的测试代码前言 注&#xff1a;本文的完整代码见仓库 18-WDF-reflect 代码参考自&#xff1a;junjiexing/libredirect 我不是从事驱动开发的专业人员&#xff0c;打酱油需要用…