首页 > 其他分享 >2.1类神经网路训练不起来怎么办 (一):局部最小值 (local minima) 与鞍点 (saddle point) - 李宏毅

2.1类神经网路训练不起来怎么办 (一):局部最小值 (local minima) 与鞍点 (saddle point) - 李宏毅

时间:2023-06-06 18:47:39浏览次数:53  
标签:minima point 临界点 saddle 最小值 loss theta 鞍点

1. When gradient is small

  本小节主要讨论优化器造成的训练问题.

1.1 Critical Point(临界点)

  如果训练过程中经过很多个epoch后,loss还是不下降,那么可能是因为梯度(斜率)接近于 0,导致参数更新的步伐接近于0,所以参数无法进一步更新,loss也就降不下去.
  这时或许有很多人会说陷入了局部最小值.但不是所有的导数为0的点都是局部最小值.saddle point(鞍点)同样是导数为0的点.所有导数为0的点统称为Critical Point(临界点).而临界点中的saddle point(鞍点)还能找到办法让loss降低,就是改变一下梯度下降的方向.

  • local minima(局部极小值):如果是卡在local minima,那可能就没有路可以走了
  • saddle point(鞍点):这个点在某一方向是最低点,但是在另一侧可能是最高点,卡在saddle point的话,saddle point旁边还是有路可以走的
  • global minima(全局最小值):已经达成目标
    image
      那么怎么判断临界点是哪种类型呢?

1.1.1 怎么判断临界点的类型

  判断临界点需要看\(loss\)函数的形状.我们没办法完整地看function形状,但给定某组参数,在这组参数的\(loss\) \(function\)是有办法被写出来的.即利用泰勒展开式判断临界点的类型.
image
  字数太多,直接放大佬的解释:
image
image
image
  关于为什么是这也展开可以参考下这个Click.在 Critical point 附近时:第二项为0,只需考察H的特征值.
image
  我们将\(\theta-\theta^{'}\)看作\(v\),\(v\)当然是一个向量.

  • 当\(\theta\)不论代任何值时,\(v^THv > 0\),即红色框里都\(>0\),那么在\(\theta^{'}\)附近,取任何值都比前者大,所以是局部最小值.
  • 同理,当\(\theta\)不论代任何值时,\(v^THv < 0\),即红色框里都\(<0\),那么在\(\theta^{'}\)附近,取任何值都比前者小,所以是局部最大值.
  • 当\(\theta\)不论代任何值时,\(v^THv\)有的\(>0\),有的\(<0\).此时是鞍点.
    image
      但这个判断方法需要将所有的\(v\)代入测试,这是不切实际的.但有一种方法利用线性代数可以解决.

(1) 正定矩阵
  下面是它的定义.它有一个特点是它的特征值全都是正的.
image
(2) 负定矩阵
  下面是它的定义.它有一个特点是它的特征值全都是负数.
image

  所以我们不需要计算所有的\(v^THv\),只需要计算\(H\)的特征值,就可以判断属于哪种情况.

标签:minima,point,临界点,saddle,最小值,loss,theta,鞍点
From: https://www.cnblogs.com/newblg/p/17460957.html

相关文章

  • 07.类神经网络训练--局部最小值与鞍点
    局部最小值于鞍点训练模型的参数时,随着参数不断地更新,loss函数不会再继续下降,但是仍然对这个loss不满意,或者有时候发现一开始model就训练不起来,不论怎么更新参数loss函数都不会掉下去。我们认为在某个地方参数对loss的微分是0,于是梯度下降就失去了作用,这个时候训练就停止了,这个......
  • CF 1175E Minimal Segment Cover[RMQ]
    题目链接:http://codeforces.com/problemset/problem/1175/E 解题思路:预处理出每个点用一次可以到达最远的距离。那么某个点用两次可以到达最远距离就是他用一次到达最远距离的地方用一次到达的最远距离,所以我们可以去倍增。#include<bits/stdc++.h>usingnamespacestd;typed......
  • 论文阅读 -- High-speed_function_approximation_using_a_minimax_quadratic_interpol
    SFU设计算法基础Interpolation插值:给定有限点预测附近点的方法算法复现requireMaple代码复现精度与资源referenceHigh-SpeedFunctionApproximationminimaxcoeffAitken(埃特金)逐次插值法|一次插值、二次插值、k次插值FPGA_LUT-based_InterpolationF......
  • MASA MinimalAPI源码解析:为什么我们只写了一个app.MapGet,却生成了三个接口
    源码解析:为什么我们只写了一个app.MapGet,却生成了三个接口1.ServiceBase1.AutoMapRoute源码如下:AutoMapRoute自动创建map路由,MinimalAPI会根据service中的方法,创建对应的api接口。比如上文的一个方法:publicasyncTask<WeatherForecast[]>PostWeather(){re......
  • MASAMinimalAPI:创建MinimalAPI项目
    项目准备1.创建项目,选择webapi。取消勾选使用控制器。创建minimalApi项目2.创建成功后MinimalAPI的接口直接写在program.cs中3.引入nuget包:Masa.Contrib.Service.MinimalAPIsMinimalAPI改造1.在program.cs中加入以下内容将原有的varapp=builder.Build();换成var......
  • MasaFramework之MinimalApi替换传统api
    MasaFramework之MinimalApi替换传统apimd文件复制样式可能丢失,原文地址:https://www.firstsaofan.top/archives/net6-huo-zhe-net7-shi-yong-masaframework-zhi-minimalapi-ti-huan-chuan-tong-api1.新建一个使用了MinimalApi的webapi的net6或者net7的项目,选择如图: 2.取消勾......
  • XI Samara Regional Intercollegiate Programming Contest Problem B. Minimal Are
    Youaregivenastrictlyconvexpolygon.Findtheminimalpossibleareaofnon-degeneratetrianglewhoseverticesaretheverticesofthepolygon.InputThefirstlinecontainsasingleintegern(3≤n≤200000)—thenumberofpolygonvertices.Eac......
  • 题解 CF825E【Minimal Labels】
    偶然间翻到三个月前写的这个题,发现现有的题解均未给出解法的正确性证明,只是不明不白地写了一些对理解做法毫无帮助的话。我认为解法的正确性并不显然,因此这篇题解主要给出正确性证明,补上逻辑漏洞。解法与其他题解一样,即:建反图,然后跑拓扑排序,每次优先取出可以取出的编号最大的点,从......
  • Masa Framework源码解读-03 MasaMinimalApi设计
    序言​ 相信大家可能或多或少都了解过微软官方的MinimalApi,最开始刚出来那会我其实对MinimalApi是嗤之以鼻的,因为本身有Controller控制器能够明确定义请求方法出来......
  • Use MVC, Razor Pages, Blazor, API Controllers, And Minimal APIs In A Single ASP.
    博客原文地址:http://www.binaryintellect.net/articles/55355722-96b6-4bbc-a110-999e5e61235e.aspxAfewyearsagoI wroteanarticle explaininghowASP.NETCore......