当前位置: 首页 > news >正文

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

目录

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,而神经网络参数非常多,维度非常高。

实验验证

http://www.lryc.cn/news/576274.html

相关文章:

  • 安卓中静态和动态添加子 View 到容器
  • 【C/C++】单元测试实战:Stub与Mock框架解析
  • 【RAG面试题】LLMs已经具备了较强能力,存在哪些不足点?
  • Windows11系统上安装WM虚拟机及Ubuntu 22.04系统
  • clion与keil分别配置项目宏定义
  • Day44 预训练模型
  • FLUX.1 Kontext(Dev 版)训练lora基础教程
  • Python基础知识之文件
  • 什么是故障注入测试
  • SCSAI万物对象模型和五维市场交易平台原型
  • mongodb生产备份工具PBM
  • Selenium基本用法
  • 深入剖析 CVE-2021-3560 与 CVE-2021-4034:原理、区别与联系
  • 智能助手(利用GPT搭建智能系统)
  • Vivado 五种仿真类型的区别
  • Javaweb - 6 BOM 编程 和 DOM 编程
  • python打卡day56
  • VUE使用过程中的碰到问题记录
  • 【深度学习新浪潮】MoE技术入门(简要版)
  • Linux基本指令篇 —— tac指令
  • Apache Kafka 面试应答指南
  • 黑马JVM解析笔记(五):深入理解Java字节码执行机制
  • python训练day43 复习日
  • 10【认识文件系统】
  • 基于springboot的火锅店点餐系统
  • 遥感图像语义分割1-安装mmsegmentation
  • 人工智能-基础篇-2-什么是机器学习?(ML,监督学习,半监督学习,零监督学习,强化学习,深度学习,机器学习步骤等)
  • Python Selenium 滚动到特定元素
  • .NET MAUI跨平台串口通讯方案
  • 【github】从本地更新仓库里的文件笔记