李宏毅机器学习-局部最小值与鞍点

一、Optimization Fails because ......

1. 问题

在optimization时,training的loss不会再下降,但是我们对loss并不满意。不管我们怎么更新参数,loss都不会掉下来。

2. 原因:critical point(gradient为0)

a) 局部最小点(local minima)

b) 鞍点(saddle point)

二、Tayler Series Approximation(到底时local minima 还是saddle point)

1. 给定一组参数θ′,在θ′附近的L(θ)

2. 公式解释:第1项 L(θ′),也就是说当θ跟θ′很近的时候,L(θ)应该跟L(θ′)很靠近的。

第2项是〖(θ-θ')〗^Tg,其中g是一个矢量,也就是我们的gradient,它可以来弥补θ'跟θ之间的差距。

第3项跟Hessian矩阵有关。第3项是(θ-θ' )^T H(θ-θ'),它会再弥补θ跟θ′的差距。H里面放的是参数对L的二次微分。

  • 如果我们走到了一个critical point,也意味着gradient为0,所以绿色这一项就可以取消掉了,只剩下红色这一项。
  • 通过第3项来判断在θ′附近的error surface,到底长什么样,也就可以判断θ′是属于局部最小值点还是鞍点。

如下图所示,我们把(θ-θ')用v这个向量来表示。对所有的v而言,v^THv都大于0,那这种矩阵叫做正定矩阵(positive definite),它所有的特征值(eigen value)都是正的。所以我们计算出一个Hessian,我们只需要去看Hessian的eigen value,就可以得出结论。
a)如果矩阵的所有特征值(eigen value)都是正的,那就是局部最小值点(local minima)。
b)如果矩阵的所有特征值(eigen value)都是负的,那就是局部最大值点(local maxima)。
c)如果矩阵的所有特征值(eigen value)有正有负,那就是鞍点(saddle point)。

  • 如何判断是哪个和gradient 和Hessian有关系
  • 如果是saddle point的话,H可以告诉我们优化方向

总结

其实局部最小点(local minima)并没有那么常见,大多数情况下,卡在一个鞍点(saddle point)。

相关推荐
哇咔咔_sky几秒前
SpeakBot 用自然语言控制机器人 — 说话,它就动。Python+React Native
人工智能
机器之心4 分钟前
从MiniMax到DeepSeek:为何头部大模型都在押注「交错思维」?
人工智能·openai
机器之心6 分钟前
DeepSeek-V3.2巨「吃」Token,竟然是被GRPO背刺了
人工智能·openai
机器之心7 分钟前
云计算一哥出手,大家AI Agent自由了
人工智能·openai
CoovallyAIHub13 分钟前
MAR-YOLOv9:革新农业检测,YOLOv9的“低调”逆袭
深度学习·算法·计算机视觉
昇腾知识体系14 分钟前
vLLM-Ascend环境部署:安装步骤汇总
人工智能
da_vinci_x16 分钟前
PS 生成式扩展:从 iPad 到带鱼屏,游戏立绘“全终端”适配流
前端·人工智能·游戏·ui·aigc·技术美术·游戏美术
铅笔侠_小龙虾20 分钟前
深度学习理论推导--最小二乘法
人工智能·深度学习·机器学习
All The Way North-24 分钟前
PyTorch nn.L1Loss 完全指南:MAE 原理、梯度计算与不可导点处理详解
pytorch·深度学习·机器学习·mae损失函数·l1loss损失函数
LDG_AGI25 分钟前
【推荐系统】深度学习训练框架(十三):模型输入——《特征索引》与《特征向量》的边界
人工智能·pytorch·分布式·深度学习·算法·机器学习