【顶刊TPAMI 2025】多头编码(MHE)之Part 6:极限分类无需预处理

目录

  • 1 标签分解方法的消融研究
  • 2 标签分解对泛化的影响
  • 3 讨论
  • 4 结论

论文:Multi-Head Encoding for Extreme Label Classification
作者:Daojun Liang, Haixia Zhang, Dongfeng Yuan and Minggao Zhang
单位:山东大学
代码:https://github.com/Anoise/MHE

论文地址:Online,ArXiv,GItHub

背景动机参见 【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 1
基础知识参见 【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 2
算法实现参见 【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 3
表示能力参见 【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 4
实验结果参见 【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 5
无需预处理见 【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 6

请各位同学给我点赞,激励我创作更好、更多、更优质的内容!^_^

关注微信公众号,获取更多资讯
在这里插入图片描述

1 标签分解方法的消融研究

为了进一步验证定理3中隐含的结论,即当模型泛化与数据过度拟合时,模型泛化变得与标签的语义无关,本文对模型泛化进行标签分解的消融研究。众所周知,预处理技术的核心是对极端标签进行语义聚类,将其划分为多个易于处理的局部标签。因此,本文将使用标签聚类(LC)的模型与使用标签随机重排和任意分解(LRD)的模型的性能进行比较。
在这里插入图片描述

图8:XLC中标签分解预处理(a)与未预处理(b)的比较。 F F F是从模型中提取的特征。 C i C_i Ci i i i-个簇, C i ′ C'_i Ci i i i-个随机标签集。在每个阶段,都有一个将特征映射到特定集合或类别的分类器。

如图8所示,标签分解可以被概念化为多阶段分类过程,即,给定特征最初被分配给簇,随后识别该簇内的特定类别。 如图8-a所示,预处理技术可以促进分类的初始阶段,例如区分运输的两个类别(狗可以被认为是填充类别) 而动物由于其巨大的差异而被证明是容易的。 然而,在第二阶段,基于粗特征对精细子类别进行分类变得困难,例如,从动物簇中区分蚂蚁、鸟类和蜜蜂变得更加困难( C 2 C_2 C2 )而不是从混合簇( C 2 C_2 C2),如图8-b所示,其中没有使用预处理技术。这表明,在没有标签预处理的情况下,LRD 的初始阶段相对困难,而第二阶段则相对于 LC 简单。 更多真实数据集的实验结果请参见附录F.4 。

2 标签分解对泛化的影响

此外,本文还比较了三种不同复杂度的模型,以评估它们在使用精心设计的 LC 和随机 LRD 方法进行配置时的泛化能力。如图9所示,当低复杂度模型对数据拟合不足时,LRD 和 LC 之间存在明显的性能差距:小模型(图9-a )中约为 4%,中模型(图 9-a)中约为 2%(图9-b )。这是因为层次分类器在后续阶段的性能依赖于早期阶段的决策结果,特别是当低复杂度模型提取的特征表现出可区分性降低时。这解释了为什么在涉及低复杂度的情况下,LRD 模型落后于 LC 模型。然而,随着模型复杂性的增加,这种性能差距逐渐缩小。最终,当模型过度拟合数据时,如图9-c所示,LRD 和 LC 之间的差距消失。值得注意的是,尽管这里使用的高复杂度模型(ResNet-18)很小,但该模型的过度参数化在实践中很容易实现。此外,本文的实验,包括附录F.4中的实验,支持LC和LRD的泛化性能是一致的。
在这里插入图片描述

图 9 :消融研究,调查标签分解模式对模型泛化的影响。 'LC’表示标签聚类,'LRD’表示标签随机重排然后任意分解。 SimpleConv-4(小)表示欠拟合,ResNet-10(中)表示欠拟合,ResNet-18(大)表示过拟合。

总之,本文发现当簇的数量保持不变并且其中样本的分布近似均匀时,LRD 不会损害超参数化模型的泛化能力。这有力地支持了定理3中隐含的主张。

3 讨论

在这里,本文通过阐明 MHE 与其他采用多个分类器的方法之间的区别来讨论 MHE 的创新性。

最近的几种方法[ 59 , 60 ]利用多个分类器来解决长尾分布问题。具体来说, [ 59 , 60 ]中的作者将数据集分成平衡的子集,并在每个子集上训练专家模型。然后,将多个专家模型(一个子集上的一个模型)聚合以获得最终模型,如图10a所示。长尾方法不适用于解决CCOP,因为聚合模型中分类器的参数没有减少。与上述不同形式的方法不同,如图10 (eg)所示,所提出的基于MHE的算法可以通过将难以解决的极端标签分解为多个易于解决的局部标签并组合局部标签来很好地解决CCOP通过简单的计算得到极端的标签。

有许多基于树的方法[ 2,11,12 ]使用多个分类器来执行 XLC 任务。这些方法通过分层分支来划分标签空间。例如,Hierarchical softmax [ 2 , 22 ]采用霍夫曼树对短分支的高频词进行编码,如图10a所示。然而,巨大的标签空间极大地增加了树的深度和大小,需要遍历低频样本的深层路径,使其不适合 XMLC 任务。受此推动,一些基于HLT的方法[ 11 , 12 ]被提出,但它们涉及节点分裂时的复杂优化,使得难以获得廉价且可扩展的树结构[ 26 ] 。相反,基于 MHE 的算法没有预处理步骤。因此,只要标签空间完全映射,分类器的长度可以任意划分。
在这里插入图片描述

图10:使用多个分类器的算法之间的比较。符号“ ⨄ \biguplus ”表示聚合运算,“ ⨂ \bigotimes ”表示克罗内克积运算。

一些多标签学习算法也采用多分类器来处理标签功率集过大的关键挑战。具体而言,如图10-c所示,二值相关算法将多标签学习问题分解为 ∣ Y ∣ |\bm{Y}| Y个独立的二值分类问题。在图10-d中,分类器链算法将多标签学习问题转化为二元分类问题链,其中链中的后续二元分类器建立在前一个分类器的预测之上。但是,这些算法中分类器的数量等于标签的数量,不适合XLC任务。与这些算法不同的是,提出了基于mhe的算法,通过组合多头分类器来解决CCOP问题。因此,基于mhes的算法的计算复杂度大大降低,使其更加灵活,更适合XLC任务。

4 结论

在本文中,本文提出了一种多头编码(MHE)机制来应对 XLC 任务中存在的 CCOP 挑战。 MHE将极端标签分解为多个短局部标签的乘积,每个头在这些局部标签上进行训练和测试,从而几何上减少了计算量。针对XLC任务,例如XSLC、XMLC和模型预训练,设计了三种基于MHE的算法,包括多头乘积(MHP)、多头级联(MHC)和多头采样(MHS)。实验结果表明,三种基于MHE的算法在其应用的任务中均实现了SOTA性能,并且可以大大加快模型训练和推理的速度。此外,本文对MHE的表征能力进行了理论分析。事实证明,OHE 和 MHE 之间的性能差距相当小,并且不需要标签预处理技术。

本文认为XLC是传统分类任务的自然延伸,它使本文能够处理极端标签,并且更适合真实世界的样本和实际应用。反过来,为 XLC 设计的基于 MHE 的算法可以为许多传统任务带来更多新颖的解决方案。例如,本文可以将回归任务转化为XLC任务,并使用基于MHE的算法来解决它。在强化学习中,当将其视为 XLC 任务时,基于 MHE 的算法可以为极端状态空间提供准确的预测。

背景动机参见 【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 1
基础知识参见 【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 2
算法实现参见 【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 3
表示能力参见 【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 4
实验结果参见 【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 5
无需预处理见 【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 6

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

友元和运算符重载

1. 友元 可以把某些选定的函数看作类的“荣誉函数”,允许它们访问类对象中非公共的成员,就好像它们是类的成员一样,这种函数称为类的友元。友元可以访问类对象的任意成员。 1.1 友元函数 友元函数是一种定义在类外部的普通函数&#xff0…

Git 树形图表不显示问题

注册表修改 ## 注册表 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers 生效 右键重启 windows资源管理器

【MySQL基础篇】三、表结构的操作

文章目录 Ⅰ. 创建表1、语法2、创建表样例3、创建和其它表一样结构的表 Ⅱ. 查看表结构1、查看数据库中的表2、查看指定表的属性3、获取表的创建语句 Ⅲ. 删除表Ⅳ. 修改表结构1、向表中插入新的字段2、删除表中的字段3、修改表名4、修改字段属性 Ⅰ. 创建表 1、语法 create …

aws(学习笔记第二十二课) 复杂的lambda应用程序(python zip打包)

aws(学习笔记第二十二课) 开发复杂的lambda应用程序(python的zip包) 学习内容: 练习使用CloudShell开发复杂lambda应用程序(python) 1. 练习使用CloudShell CloudShell使用背景 复杂的python的lambda程序会有许多依赖的包,如果不提前准备好这些python的…

SAP SD销售模块常见BAPI函数

【SAP系统研究】 #SAP #SD #销售管理 1、销售订单 BAPI_SALESORDER_CREATEFROMDAT2 创建销售订单 BAPI_CUSTOMERRETURN_CREATE 创建退货订单 SD_SALESDOCUMENT_CREATE 创建贷项订单 BAPI_SALESORDER_CHANGE 修改销售订单 STATUS_READ 查看销售订单状态VB销售订单000000 I_CHA…

CSS学习记录21

CSS 工具提示 通过CSS 创建工具提示&#xff08;Tooltip)。 当用户将鼠标指针移动到元素上时&#xff0c;工具提示通常用于提供关于某内容的额外信息&#xff1a; <style> /* Tooltip 容器 */ .tooltip {position: relative;display: inline-block;border-bottom: 1px …

DuckDB:密钥管理器及其应用

密钥管理器(Secrets Manager)为所有使用密钥的后端提供了统一的用户界面。密钥信息可以被限定范围&#xff0c;因此不同的存储前缀可以有不同的密钥信息&#xff0c;例如允许在单个查询中连接跨组织的数据。密钥也可以持久化&#xff0c;这样就不需要在每次启动DuckDB时都指定它…

[cg] android studio 无法调试cpp问题

折腾了好久&#xff0c;native cpp库无法调试问题&#xff0c;原因 下面的Deploy 需要选Apk from app bundle!! 另外就是指定Debug type为Dual&#xff0c;并在Symbol Directories 指定native cpp的so路径 UE项目调试&#xff1a; 使用Android Studio调试虚幻引擎Android项目…

uni-app深度解码:跨平台APP开发的核心引擎与创新实践

在当今数字化浪潮中&#xff0c;移动应用市场呈现出爆炸式增长。为了满足不同用户群体在不同操作系统上的需求&#xff0c;跨平台 APP 开发成为众多开发者的首选策略。uni-app 作为一款领先的跨平台开发框架&#xff0c;以其独特的优势和创新的实践在众多同类产品中脱颖而出。它…

I2C(一):存储器模式:stm32作为主机对AT24C02写读数据

存储器模式&#xff1a;在HAL库中&#xff0c;I2C有专门对存储器外设设置的库函数 I2C&#xff08;一&#xff09;&#xff1a;存储器模式的使用 1、I2C轮询式写读AT24C02一页数据2、I2C轮询式写读AT24C02多页数据3、I2C中断式写读AT24C02一页数据4、I2C使用DMA式写读AT24C02一…

Elasticsearch:减少 Elastic 容器镜像中的 CVE(常见的漏洞和暴露)

作者&#xff1a;来自 Elastic Maxime Greau 在这篇博文中&#xff0c;我们将讨论如何通过在 Elastic 产品中切换到最小基础镜像并优化可扩展漏洞管理程序的工作流程来显著减少 Elastic 容器镜像中的常见漏洞和暴露 (Common Vulnerabilities and Exposures - CVEs)。 基于 Chai…

【AI学习】Transformer深入学习(二):从MHA、MQA、GQA到MLA

前面文章&#xff1a; 《Transformer深入学习&#xff08;一&#xff09;&#xff1a;Sinusoidal位置编码的精妙》 一、MHA、MQA、GQA 为了降低KV cache&#xff0c;MQA、GQA作为MHA的变体&#xff0c;很容易理解。 多头注意力&#xff08;MHA&#xff09;&#xff1a; 多头注…

使用python调用翻译大模型实现本地翻译【exe客户端版】

以前分享过一个 关于python 部署 网页端的 翻译大模型的 文章 有兴趣的小伙伴可以去看一下 https://blog.csdn.net/Drug_/article/details/144488795 今天就再分享一个 使用python 来制作一个 exe 客户端版的 本地大模型。 实际也很简单 只不过把 用 fastApi 框架 做的 网页端…

python3GUI--智慧交通监控与管理系统 By:PyQt5

文章目录 一&#xff0e;前言二&#xff0e;预览三&#xff0e;软件组成&技术难点1.软件组成结构2.技术难点3.项目结构 四&#xff0e;总结 大小&#xff1a;35.5 M&#xff0c;软件安装包放在了这里! 一&#xff0e;前言 博主高产&#xff0c;本次给大家带来一款我自己使…

JavaVue-Get请求 数组参数(qs格式化前端数据)

前言 现在管理系统&#xff0c;像若依&#xff0c;表格查询一般会用Get请求&#xff0c;把页面的查询条件传递给后台。其中大部分页面会有日期时间范围查询这时候&#xff0c;为了解决请求参数中的数组文件&#xff0c;前台就会在请求前拦截参数中的日期数组数据&#xff0c;然…

Vue2/Vue3使用DataV

Vue2 注意vue2与3安装DataV命令命令是不同的Vue3 DataV - Vue3 官网地址 注意vue2与3安装DataV命令命令是不同的 vue3vite 与 Vue3webpack 对应安装也不同vue3vite npm install kjgl77/datav-vue3全局引入 // main.ts中全局引入 import { createApp } from vue import Da…

RocketMQ消费者如何消费消息以及ack

1.前言 此文章是在儒猿课程中的学习笔记&#xff0c;感兴趣的想看原来的课程可以去咨询儒猿课堂 这篇文章紧挨着上一篇博客来进行编写&#xff0c;有些不清楚的可以看下上一篇博客&#xff1a; https://blog.csdn.net/u013127325/article/details/144934073 2.broker是如何…

高等数学学习笔记 ☞ 无穷小比较与等价无穷小替换

1. 无穷小比较 1. 本质&#xff1a;就是函数的极限趋于0时的速度&#xff0c;谁快谁慢的问题。 2. 定义&#xff1a;若是在同一自变量的变化过程中的无穷小&#xff0c;且&#xff0c;则&#xff1a; ①&#xff1a;若&#xff0c;则称是比的高阶无穷小&#xff0c;记作&…

django StreamingHttpResponse fetchEventSource实现前后端流试返回数据并接收数据的完整详细过程

django后端环境介绍&#xff1a; Python 3.10.14 pip install django-cors-headers4.4.0 Django5.0.6 django-cors-headers4.4.0 djangorestframework3.15.2 -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple 总环境如下&#xff1a; Package Version -…

Kafka为什么快(高性能的原因)

我们知道&#xff0c;Kafka 是基于磁盘存储的&#xff0c;但它却又具有高性能、高吞吐、低延时等特点&#xff0c;吞吐量可达几十上百万。那么 Kafka 这么快的原因是什么呢&#xff1f; Kafka 高性能主要取决于以下几方面&#xff1a; &#xff08;1&#xff09;消息批处理压缩…