论文:Multi-Head Encoding for Extreme Label Classification
作者:Daojun Liang, Haixia Zhang, Dongfeng Yuan and Minggao Zhang
单位:山东大学
代码:https://github.com/Anoise/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
请各位同学给我点赞,激励我创作更好、更多、更优质的内容!^_^
关注微信公众号,获取更多资讯
1 三种多头编码(MHE)实现
现在,我们考虑具体化的算法实现,以使MHE适用于各种XLC任务。具体地说,将MHP应用于xsl以实现多头并行加速。在XMLC中使用MHC来防止多个类别之间的混淆,在模型预训练中使用MHS来有效地提取特征,因为该任务不需要分类器。然后,我们提供了一种策略来确定头像的数量和长度。
图 3 : XLC 任务的三个基于 MHE 的训练和测试流程。红色虚线框表示的部分是为了便于理解,实际中并不需要。
1.1 多头乘积(MHP)
根据推论1,输出可以分解为头部的乘积,这为使用MHP代替普通分类器来训练模型铺平了道路。
如3-a所示,在训练过程中,需要将全局标签 Y i Y_i Yi分配给每个头部,进行局部损失计算。因此,我们首先对 Y i Y_i Yi执行OHE,然后根据头部的长度将其重塑为 H H H阶张量 Y i 1 , . . . , H \mathcal{Y}_i^{1,...,H} Yi1,...,H。最后,将 Y i 1 , . . . , H \mathcal{Y}_i^{1,...,H} Yi1,...,H分解为每个头部上的本地标签 { Y i h } h = 1 H \{Y_i^h\}_{h=1}^H {
Yih}h=1H。由于one-hot编码 Y i Y_i Yi的分解仅取决于头部的数量和顺序,因此可以递归地计算为
其中 j j j和 k k k为分类头的索引。
在测试期间,必须从局部预测中恢复全局预测。如图3-a所示,我们首先对每个头部执行 I Λ \mathbb{I}_{\varLambda} IΛ,以获得局部预测的标签。然后,通过对每个头部执行乘积并对最终输出应用Argmax来获得全局预测 Y ~ i \tilde{Y}_i Y~i。为了加快这一过程,根据定理1,我们从局部预测和后续正面的长度计算 Y ~ i \tilde{Y}_i Y~i,为
Y ~ i = ∑ k = 1 H − 1 Λ ( O k ) ∏ j = k + 1 H ∣ O j ∣ + Λ ( O H ) . ( 11 ) \tilde{Y}_i = \sum_{k=1}^{H-1} \varLambda(\bm{O}^k) \prod_{j=k+1}^H |\bm{O}^j| + \varLambda(\bm{O}^H). \qquad (11) Y~i=k=1∑H−1Λ(Ok)j=k+1∏H∣Oj∣+Λ(O