目录
- 1 预热
- 1.1 记号
- 1.2 分类器计算过载问题
- 2 多头编码(MHE)
- 2.1 标签分解
- 2.2 多头组合(Multi-Head Combination)
论文: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 预热
1.1 记号
为了表示简单,变量使用不同的字体表示:1)常量用大写字母表示,例如, Y i Y_i Yi是代表第 i i i个样本的类别的常量, C C C表示类别的总数。2)向量用粗体大写字母表示,例如, Y \bm Y Y是 Y i Y_i Yi的标签集, O \bm{O} O是头部的输出。3)矩阵用书法大写字母表示,例如 W \mathcal{W} W表示分类器的权重, F \mathcal{F} F表示特征集的矩阵 F \bm F F。4)张量也用大写字母表示,上标表示其顺序,例如, Y 1 , ⋯ , H \mathcal{Y}^{1,\cdots, H} Y1,⋯,H表示$H阶张量。通过上面的符号,读者可以很容易地区分每个变量的形状。
图 1 :深度神经网络由三部分组成:输入、主干和分类器。在多头编码中,在训练期间将标签分解到多头分类器的输出上,并在测试中组合输出以获得预测标签。
1.2 分类器计算过载问题
本文所考虑的深度神经网络如图1所示,由输入、主干和分类器三部分组成。假设给定的样本-标签对是 { X i , Y i } i = 1 N \{\bm{X}_i, Y_i\}_{i=1}^N {Xi,Yi}i=1N,其中 X ∈ R ∣ X ∣ × N \bm{X} \in \mathbb{R}^{|\bm{X}|\times N} X∈R∣X∣×N和 Y ∈ R C × 1 \bm{Y} \in \mathbb{R}^{C \times 1} Y∈RC×1分别是样本集和标签集。设 Y ˉ i \bar{\bm Y}_i Yˉi表示 Y i Y_i Yi的编码(矢量化)标签。主干主要包括多层非线性神经元,记为 N e t Net Net。将 N e t Net Net的特征输出记为 F \bm F F,将 F \bm{F} F通过权值 W \mathcal{W} W投影到 R C × 1 \mathbb{R}^{C\times 1} RC×1的部分就是分类头。输出 O \bm O O和 Y ˉ \bar{\bm Y} Yˉ之间的损失记为 L \mathcal{L} L。因此,单标签网络的转发过程可表示为
F i = N e t ( X i ) , ( 1 ) O i = W F i + B , ( 2 ) L = − ∑ i N Y ˉ i T l o g ( σ ( O i ) ) , ( 3 ) \bm{F}_i =Net(\bm{X}_i), \qquad (1) \\ \bm{O}_i =\mathcal{W}\bm{F}_i+\bm{B}, \qquad (2) \\ \mathcal{L} = - \sum_i^N \bar{\bm{Y}}_i^T log(\sigma(\bm{O}_i)), \qquad (3) Fi=Net(Xi),(1)Oi=WFi+B,(2)L=−i∑NYˉiTlog(σ(Oi)),(3)
其中 σ \sigma σ为softmax函数, B ∈ R C × 1 \bm{B} \in \mathbb{R}^{C\times 1} B∈RC×1为输出层的偏置。对于XLC任务,等式2中 O \bm{O} O的长度必须等于 C C C,因为 ∣ O ∣ ≫ ∣ F ∣ |\bm{O}|\gg |\bm{F}| ∣O∣≫∣F∣\footnote[1]{ ∣ F ∣ |\bm {F}| ∣F∣ 一般在1K左右。}会导致计算过重,从而导致分类器计算过载问题(CCOP)。
2 多头编码(MHE)
2.1 标签分解
MHE中的标签分解包括将极端标签分解为多个易于处理的局部标签,然后将这些局部标签用于训练神经网络。为了更好地理解这个过程,本文可以将极值标签 Y i Y_i Yi概念化为高维空间中的一个点。然后,将其正交坐标分量作为局部标记,训练多头神经网络。这个过程通过重用坐标位置减少了标签的编码长度,从而几何上减少了分类器的计算负荷。
图2:使用 MHE 的多头分类器的训练和测试过程。 (a) 在训练过程中,全局标签被分解为多个局部标签。 (b) 在测试期间,MHE 以与训练相反的方式工作。 © 用于测试的 MHE 的等效形式结合了多头分类器的局部预测以获得全局预测。注意,红色虚线框标注的操作是为了便于理解而使用的,并不是必须的。
标签分解过程的关键是如何将 Y i Y_i Yi映射到 H H H维空间。本文提出的解决方案是将 Y i Y_i Yi视为一个单热编码向量 I Y i \mathbb{I}_{Y_i} IYi,如图2-a所示。然后将其重塑为一个 H H H维张量 Y ˉ i 1 , . . . , H \bar{\mathcal{Y}}_i^{1,...,H} Yˉi1,...,H。请注意,由于 I Y i \mathbb{I}_{Y_i} IYi是一个单热向量,因此 Y ˉ i 1 , . . . , H \bar{\mathcal{Y}}_i^{1,...,H} Yˉi1,...,H及其组件 { Y ˉ i h } h = 1 H \{\bar{\bm Y}_i^h\}_{h=1}^H {Yˉih}h=1H都是单热编码的。因此, Y i Y_i Yi的分解过程可表示为
I Y i = Y ˉ i 1 ⊗ Y ˉ i 2 ⊗ ⋯ ⊗ Y ˉ i H , ( 4 ) \mathbb{I}_{Y_i} = \bar{\bm Y}_i^1 \otimes \bar{\bm Y}_i^2 \otimes \cdots \otimes \bar{\bm Y}_i^H, \qquad (4) IYi=Yˉi1⊗Yˉi2⊗⋯⊗YˉiH,(4)
其中 ⊗ \otimes ⊗是克罗内克产品。详细示例请参见附录1。等式4表示将极值标签分解为 H H H个短单热向量的乘积,每个短单热向量的近似长度为 C H \sqrt[H]{C} HC。因此,为每个头部分配每个局部标签来训练网络,将几何上减少分类器中的参数数量,从而解决CCOP问题。
2.2 多头组合(Multi-Head Combination)
上一小节展示了如何将极端标签分解成多个短的局部标签来训练模型。本小节展示了如何在测试期间组合多头的输出以恢复全局预测标签 Y ~ i \tilde{Y}_i Y~i(原始极端标签)。
实际上,测试过程中使用的组合运算是训练过程中使用的分解运算的逆运算。如图2-b所示,如果将每个头部的输出 O i h \bm{O}_i^h Oih视为一个坐标分量,则可以生成 { O i h } h = 1 H \{\bm{O}_i^h\}_{h=1}^H {Oih}h=1H,以形成 H H H维空间中一个点的坐标。然后,通过将该点投影到整数轴上获得预测标签 Y ~ i \tilde{Y}_i Y~i
Y ~ i = Λ ( O ~ i ) = Λ ( O i 1 ⊗ O i 2 ⊗ ⋯ ⊗ O i H ) , ( 5 ) \tilde{Y}_i = \varLambda (\tilde{\bm O}_i) = \varLambda(\bm {O}_i^1 \otimes \bm {O}_i^2 \otimes \cdots \otimes \bm {O}_i^H), \qquad (5) Y~i=Λ(O~i)=Λ(Oi1⊗Oi2⊗⋯⊗OiH),(5)
其中 Λ \varLambda Λ是Argmax操作。虽然 Y ~ i \tilde{Y}_i Y~i可以通过Eq. 5得到,但是 O ~ i \tilde{\bm O}_i O~i ( ∣ O ~ i ∣ = C |\tilde{\bm O}_i|=C ∣O~i∣=C)和 H − 1 H-1 H−1的超长Kronecker产品操作将消耗巨大的计算和存储资源。因此,有必要简化式Eq. 5中的推理过程。
一个理想的解决方案是利用局部预测标签直接计算全局预测标签,即
Y ^ i = Λ ( Y ˉ i ) = Λ ( I Y ~ i 1 ⊗ I Y ~ i 2 ⊗ ⋯ ⊗ I Y ~ i H ) = Λ ( I Λ ( O i 1 ) ⊗ I Λ ( O i 2 ) ⊗ ⋯ ⊗ I Λ ( O i H ) ) , ( 6 ) \hat{Y}_i = \varLambda(\bar{\bm Y}_i) = \varLambda( \mathbb{I}_{\tilde{Y}_i^1} \otimes \mathbb{I}_{\tilde{Y}_i^2} \otimes \cdots \otimes \mathbb{I}_{\tilde{Y}_i^H}) \\ = \varLambda( \mathbb{I}_{\varLambda(\bm{O}_i^1)} \otimes \mathbb{I}_{\varLambda(\bm{O}_i^2)} \otimes \cdots \otimes \mathbb{I}_{\varLambda(\bm{O}_i^H)}) , \qquad (6) Y^i=Λ(Yˉi)=Λ(IY~i1⊗IY~i2⊗⋯⊗IY~iH)=Λ(IΛ(Oi1)⊗IΛ(Oi2)⊗⋯⊗IΛ(OiH)),(6)
其中 I Λ ( ⋅ ) \mathbb{I}_{\varLambda(\cdot)} IΛ(⋅)是矢量执行Argmax后的OHE。可以看出,等式6中的 Y ~ i \tilde{Y}_i Y~i是 H − 1 H-1 H−1单热编码向量的乘积,可以从局部标签及其长度计算得到
Y ~ i = f ( { Y ~ i h , ∣ O h ∣ } h = 1 H ) , ( 7 ) \tilde{Y}_i = f (\{\tilde{Y}_i^h, |O^h|\}_{h=1}^H) , \qquad (7) Y~i=f({Y~ih,∣Oh∣}h=1H),(7)
其中 f f f是待确定的函数。
虽然Eq. 6可以通过结合局部预测标签计算出全局预测标签,但它是否等同于Eq. 5 ?也就是说, Y ^ i \hat{Y}_i Y^i是否等于 Y ~ i \tilde{Y}_i Y~i ?实际上,等式6和等式5中的组合过程是等价的,可以用下面的定理来证明
Theorem 1: 对于多头分类器的输出 { O h } h = 1 H \{\bm{O}^h\}_{h=1}^H {Oh}h=1H,本文有
Y ~ = Λ ( O 1 ⊗ O 2 ⊗ ⋯ ⊗ O H ) = Λ ( I Λ ( O 1 ) ⊗ I Λ ( O 2 ) ⊗ ⋯ ⊗ I Λ ( O H ) ) . ( 8 ) \tilde{Y} = \varLambda(\bm{O}^1 \otimes \bm{O}^2 \otimes \cdots \otimes \bm{O}^H) \nonumber \\ = \varLambda(\mathbb{I}_{\varLambda(\bm{O}^1)} \otimes \mathbb{I}_{\varLambda(\bm{O}^2)} \otimes \cdots \otimes \mathbb{I}_{\varLambda(\bm{O}^H)}). \qquad (8) Y~=Λ(O1⊗O2⊗⋯⊗OH)=Λ(IΛ(O1)⊗IΛ(O2)⊗⋯⊗IΛ(OH)).(8)
定理1}的证明在附录A-1中给出。定理1证明了等式5和6是等价的,具有相同的表示能力。由于Eq. 6可以简化计算过程,因此使用MHE加速模型的速度是至关重要的。
此外,如果使用Eq. 5中带有MHE的多头分类器的输出 O ~ \tilde{\bm O} O~来近似Eq. 2中带有OHE的普通分类器的输出 O \bm O O,本文有以下推论。
Corollary 1: 如果 O ≈ O ~ = O 1 ⊗ O 2 ⊗ ⋯ ⊗ O H \bm{O} \approx \tilde{\bm O} = \bm{O}^1 \otimes \bm{O}^2 \otimes \cdots \otimes \bm{O}^H O≈O~=O1⊗O2⊗⋯⊗OH,本文有
Λ ( O ) = Λ ( I Λ ( O 1 ) ⊗ I Λ ( O 2 ) ⊗ ⋯ ⊗ I Λ ( O H ) ) . ( 9 ) \varLambda(\bm{O}) = \varLambda(\mathbb{I}_{\varLambda(\bm{O}^1)} \otimes \mathbb{I}_{\varLambda(\bm{O}^2)} \otimes \cdots \otimes \mathbb{I}_{\varLambda(\bm{O}^H)}). \qquad (9) Λ(O)=Λ(IΛ(O1)⊗IΛ(O2)⊗⋯⊗IΛ(OH)).(9)
推论1的证明见附录A-2。这个推论断言,如果原始分类器的输出被分解为多头分类器输出的近似值,那么两个分类器的预测是一致的。
背景动机参见 【顶刊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