论文阅读:基于谱分析的全新早停策略

来自JMLR的一篇论文,https://www.jmlr.org/papers/volume24/21-1441/21-1441.pdf

这篇文章试图通过分析模型权重矩阵的频谱来解释模型,并在此基础上提出了一种用于早停的频谱标准。

1,分类难度对权重矩阵谱的影响

1.1 相关研究

在最近针对深度模型的可解释性研究中,出现了一种流行的方法,即对DNNs的各种大型特征随机矩阵进行谱分析,所谓大型特征随机矩阵,就是例如反向传播算法的Hessian矩阵、不同层之间的权重矩阵以及输出特征的协方差矩阵等。这样的谱分析有助于深入了解DNNs的行为。

1.2  权重矩阵的谱的类型

权重矩阵的谱在训练的最后阶段被分类为三种类型:轻尾(LT)、块过渡期(BT)和重尾(HT)。

重尾(Heavy Tails)、轻尾(Light Tails)和块过渡(Bulk Transition)是指权重矩阵或Hessian矩阵的特征值分布的不同类型。区别如下:

1)重尾分布指的是在特征值分布的尾部存在较大概率密度,即存在一些非常大的特征值。在深度学习中,重尾可能表明权重矩阵中存在高度相关的条目,这可能导致过拟合或模型的泛化能力下降。

2)轻尾分布的特征是特征值分布的尾部概率密度较低,即特征值普遍较小,没有特别大的异常值。在深度学习中,轻尾可能表示权重矩阵的正则化较好,有助于提高模型的泛化能力。

3)块过渡是一种介于重尾和轻尾之间的状态,特征值分布的主体(块)接近Marcenko-Pastur分布,但可能存在一些异常的“尖峰”或“离群点”。这种状态可能表明模型正在从过拟合状态(重尾)过渡到更好的泛化状态(轻尾),或者是模型训练过程中的一个中间阶段。

1.3 如何计算权重矩阵的谱

对权重矩阵计算其Gram矩阵,接着求解Gram矩阵的特征值。接着将计算出的特征值按降序排列,以便于分析最大的特征值。最后,构建经验谱分布,这是一个经验分布函数,用于估计权重矩阵特征值的分布。ESD可以通过直方图或核密度估计来实现。

其中I是指示函数,当括号内的表达式为真时,I的值为1;否则为0。

1.4作者的发现

作者发现分类难度是影响权重矩阵谱中出现HT的一个重要因素。分类难度越高,HT出现的几率越大。在合成数据集和真实数据集上进行的实验都支持这一发现。特别是,降低数据集的信噪比或在高斯数据实验中增加类别数量K,都会增加分类难度,并在训练结束时产生重尾。在真实数据实验中,由于CIFAR10具有更复杂的特征和更高的分类难度,因此在CIFAR10的实验中出现重尾的情况比在MNIST的实验中更多。

2,基于权重矩阵谱的早停准则

2.1 内容

本文提出的基于谱的早停策略通过分析深度神经网络(DNN)权重矩阵的谱特性来确定训练过程中的停止时机。

步骤:

1)权重矩阵的谱分析:这涉及到计算权重矩阵的非零特征值.

2)特征值排序与检测:将这些特征值按降序排列,并使用算法自动检测特征值中的“尖峰”(spikes),即那些远离其他特征值的特征值。

3)计算谱准则值也就是计算权重矩阵的谱与Marcenko-Pastur (MP) 定律的偏差。这涉及到构造一个直方图估计器来近似权重矩阵特征值的联合密度,并与MP定律的密度函数进行比较。

距离的定义是这样的

其中P_{M}(x)是ESD的直方图估计,公式如下

其中,,对于一个n×p的随机矩阵,其中n/p→c(c是一个正常数)。\sigma ^{2}是权重矩阵元素的方差。参数 M 通常表示直方图估计中使用的“bins”或“binsize”的数量,用于将数据分成多个区间以估计概率密度函数,本文设置为2[n^{\frac{1}{3}}]。B(x) 表示的是一个函数,它将一个实数 x 映射到包含 x 的“bin”或区间。在频谱分析中,B(x)可以用于计算每个区间内的点的数量,从而估计概率密度函数或特征值分布。

而后一项是MP分布的密度函数,公式如下:

MP分布可用于描述大随机矩阵特征值的分布。MP定律与DNN的泛化能力有关。接近MP分布的谱可能意味着模型具有较好的泛化能力,而偏离MP分布可能指示过拟合或其他问题。

4)设定阈值:该值基于L1距离

5)监控训练过程:在训练过程中,对于每个训练周期,计算权重矩阵的谱准则值

6)判断停止时机:如果在连续的几个训练周期中,谱准则值超过了阈值,则认为达到早停条件。

2.2 相较于传统早停策略的优势

1)不需要测试集:传统早停依赖于对模型在测试集上的准确率或者loss的测量,而本文提出的基于谱分析的早停策略完全不需要测试集。只要分析训练集上的权重矩阵的谱就可以了

2)适应性强:因为是依靠权重矩阵的谱分析而不是测试集,所以数据类型或者数据集组成结构等影响较小

3)鲁棒性更强:实验证明,即使训练准确率还在上升,本方法依然能实现早停。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ERP、CRM、MRP、PLM、APS、MES、WMS、SRM系统介绍

一、ERP系统 ERP系统,即企业资源计划(Enterprise Resource Planning)系统,是一种集成管理软件系统,旨在帮助企业实现资源的有效管理和优化。以下是对ERP系统的详细介绍: 1、定义与功能 ERP是企业资源计划…

1832javaERP管理系统之车间计划管理Myeclipse开发mysql数据库servlet结构java编程计算机网页项目

一、源码特点 java erp管理系统之车间计划管理是一套完善的web设计系统,对理解JSP java编程开发语言有帮助采用了serlvet设计,系统具有完整的源代码和数据库,系统采用web模式,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Mye…

PCIe总线-RK3588 PCIe子系统简介(八)

1.PCIe子系统 RK3588 PCIe子系统如下图所示。总共拥有5个PCIe控制器。PCIe30X4(4L)支持RC和EP模式,其他4个仅支持RC模式。ITS port 1连接PCIe30X4(4L)和PCIe30X2(2L)控制器,PCIe30X4(4L)和PCIe30X2(2L)控制器使用PCIe3.0 PIPE PHY。ITS port 0连接PCIe3…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 游戏表演赛分队(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 📎在线评测链接 游戏表演赛分队(100分) 🌍 评测功能需要订阅专栏后私信联系…

uniapp使用css实现瀑布流

页面 <template><view><gj v-if"likeList.length 0"></gj><view v-else class"list"><view class"pbl" v-for"(item,index) in likeList" :key"index"><view class"image&quo…

Github 2024-06-15Rust开源项目日报Top10

根据Github Trendings的统计,今日(2024-06-15统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10TypeScript项目1JavaScript项目1Deno: 现代JavaScript和TypeScript运行时 创建周期:2118 天开发语言:Rust, JavaScript协议类型:M…

Windows10 MySQL(8.0.37)安装与配置

一、MySQL8.0.37下载 官网下载链接&#xff1a; https://dev.mysql.com/downloads/ 解压文件&#xff0c;解压到你想要的位置 二、新建MySQL配置文件 右键新建文本文档 新建my.txt文件 编辑my.txt文件&#xff0c;输入以下内容 [mysqld] # 设置 3306 端口 port3306 # 设…

Agilent 安捷伦 N9342C 手持式频谱分析仪

Agilent 安捷伦 N9342C 手持式频谱分析仪 N9342C 手持式7GHz频谱分析仪专为现场测试而设计&#xff0c;无论是安装和维护射频系统&#xff0c;现场进行故障诊断&#xff0c;监测射频环境还是分析干扰&#xff0c;都可以为您提供快速、精确的测量。它具有同类最佳的显示平均噪声…

【面试干货】Integer 和 int 的区别

【面试干货】Integer 和 int 的区别 1、基本类型与包装类型2、内存占用3、自动装箱与拆箱4、null 值5、常量池6、总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在Java中&#xff0c;Integer 和 int 是两种不同类型的变量&#xff0c;…

<Linux>进程

进程 文章目录 进程PCBpid与ppidfork系统调用进程状态孤儿进程状态优先级环境变量进程地址空间虚拟地址 最直观的表示&#xff1a;启动一个软件&#xff0c;本质就是启动一个进程 PCB PCB是Process Control Block的简称&#xff0c;是用来描述进程状态信息的数据结构。 进程运…

STM32学习记录(五)————外部中断EXTI

文章目录 前言一、外部中断EXTI基础知识1.外部中断介绍2.外部中断框架2.1AFIO2. 2.STM32外部中断机制框架 总结 前言 一个学习STM32的小白~ 有问题私信或评论区指出~ 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、外部中断EXTI基础知识 1.外部中…

CSS加载动画1

3个圈圈加载的动画 CSS结构 #app-loading {position: relative;top: 45vh;margin: 0 auto;color: #409eff;font-size: 12px;}#app-loading,#app-loading::before,#app-loading::after {width: 2em;height: 2em;border-radius: 50%;animation: 2s ease-in-out infinite app-loa…

GraphQL(7):ConstructingTypes

1 使用GraphQLObjectType 定义type&#xff08;类型&#xff09; 不使用ConstructingTypes定义方式如下&#xff1a; 使用ConstructingTypes定义方式如下&#xff1a; 更接近于构造函数方式 var AccountType new graphql.GraphQLObjectType({name: Account,fields: {name: …

使用Redis将单机登录改为分布式登录

使用Redis将单机登录改为分布式登录 1. 背景 ​ 现在大多数的应用程序登录的方式都是必须满足分布式登录的效果&#xff0c;比如我们在一个客户端登录之后可以在另一个客户端上面共享当前用户的信息&#xff0c;这样在另一个客户端登录的时候就不用用户再次输入自己的账号密码…

Python 全栈系列253 再梳理flask-celery的搭建

说明 最近做了几个实验&#xff0c;将结论梳理一下&#xff0c;方便以后翻看。 1 flask-celery 主要用于数据流的同步任务&#xff0c;其执行由flask-aps发起&#xff0c;基于IO并发的方法&#xff0c;达到资源的高效利用&#xff0c;满足业务上的需求。2 目前部署环境有算网…

string类的使用手册

1.构造函数 补充&#xff1a;npos&#xff1a;size_t类型数据的最大值 default (1) string(); 构造空的string类对象 copy (2) string (const string& str); 拷贝构造函数&#xff08;深拷贝&#xff09; substring (3) string (const string& str, size_t pos, size_…

pytest + yaml 框架 - 65.Pycharm 设置 yaml 格式用例模板,高效写用例

前言 初学者对yaml 格式不太熟悉,自己写yaml用例的时候,总是格式对不齐,或者有些关键字会忘记。 于是我们可以在pycharm上设置用例模块,通过快捷方式调用出对应的模块,达到高效写用例的目的。 pycharm设置用例模板 File - Settings Live Templates - python 点 + 号…

【react小项目】bmi-calculator

bmi-calculator 目录 bmi-calculator初始化项目01大致布局01代码 02完善样式02代码 03输入信息模块03代码 04 使用图表04代码 05详细记录信息渲染05代码 06 让数据变成响应式的06-1输入框的数据处理06-2图表&#xff0c;和记录信息的区域数据处理 07 删除功能&#xff0c;撤销功…

521. 最长特殊序列 Ⅰ

题目 给你两个字符串 a 和 b&#xff0c;请返回这两个字符串中最长的特殊序列的长度。如果不存在&#xff0c;则返回 -1。 「最长特殊序列」定义如下&#xff1a;该序列为某字符串独有的最长子序列&#xff08;即不能是其他字符串的子序列&#xff09;。 字符串 s 的子序列是…

介绍 Whisper 模型

介绍 Whisper 模型 Whisper 是一个通用的语音识别模型。它在大规模多样化的音频数据集上进行训练&#xff0c;并且能够执行多任务处理&#xff0c;包括多语言语音识别、语音翻译和语言识别。 核心方法 Whisper 使用的是 Transformer 序列到序列模型&#xff0c;训练于多种语…