Note2.1 处理critical point(Machine Learning by Hung-yi Lee)

发布于:2025-06-29 ⋅ 阅读:(21) ⋅ 点赞:(0)

目录

1.critical point

2.判断critical point类型 

Step1 泰勒展开

 数学补充1:Hessian Matrix(可以跳过)

Step2 判断Hessian矩阵类型

 数学补充2: 二次型、特征值、正定矩阵(可以跳过)

Example

 3.利用Hessian矩阵处理saddle point情况

4.saddle point和local minima哪个更常见

实验验证

1.critical point

训练时常出现loss很高但趋于稳定的情况,直觉是卡在了local minima(极小值),但可能的情况还包括local maxima、saddle point(鞍点),这些点都会出现gradient为0的情况,统称critical point。(实际情况上Optimazation失败绝大部分情况下都不是因为critical point,而是其他原因

           

2.判断critical point类型 

需要使用微积分的多元函数的泰勒展开和线性代数的二次型

Step1 泰勒展开

首先将Loss函数展开为二阶(因为一阶微分,即gradient值为0)

 

根据红色方框的值可以判断类型 

 数学补充1:Hessian Matrix(可以跳过)

Hessian Matrix(黑塞矩阵)是一个多元函数的二阶偏导数构成的方阵

推导Hessian矩阵的方法:将多元函数先二阶泰勒展开,再运用二次型的知识改写二阶偏导即可得到。下面为二元函数的例子

Step2 判断Hessian矩阵类型

若H的特征值均为正,则H为正定矩阵,对应极小值;若H的特征值均为负,则H为负定矩阵,对应极大值;若特征值有正有负,H为不定矩阵,对应鞍点。

 数学补充2: 二次型、特征值、正定矩阵(可以跳过)

二次型:含n个实变量x1,x2,…xn的二次齐次多项式。二次型可用矩阵形式简单表示其中A是对称矩阵,称为二次型f的矩阵

特征值与特征向量

正定矩阵: 

判定方法之一:特征值均为正,则为正定矩阵。

Example

error surface图中颜色的冷暖通常用于表示误差(损失函数值)的高低,默认情况下:暖色(红/黄)≈ 高误差,冷色(蓝/绿)≈ 低误差线条表示等高线,线条上误差率相同。

以中心点为例来计算: 

 3.利用Hessian矩阵处理saddle point情况

负特征值对应的特征向量可以作为参数更新方向

Example 

但实际上不会使用此方法:神经网络参数量非常大,计算Hessian矩阵、 并求特征值计算量太大。但这个方法至少提供了一种解法。一般使用small batch和momentum来解决critical points的问题,详见Note2.2 机器学习训练技巧:Batch and Momentum(Machine Learning by Hung-yi Lee)-CSDN博客

4.saddle point和local minima哪个更常见

结论:saddle point远比local minima常见

原因:低维空间的local minima放在高维空间中很可能只是saddle point,而神经网络参数非常多,维度非常高。

实验验证


网站公告

今日签到

点亮在社区的每一天
去签到