论文解读(XR-Transformer)Fast Multi-Resolution Transformer Fine-tuning for Extreme Multi-label Text Classification

虚幻大学 xuhss 342℃ 0评论

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

Paper Information

Title:Fast Multi-Resolution Transformer Fine-tuning for Extreme Multi-label Text ClassificationAuthors:Jiong Zhang, Wei-Cheng Chang, Hsiang-Fu Yu, I. DhillonSources:2021, ArXivOther:3 Citations, 61 ReferencesPaper:downloadCode:download

1 背景知识

  训练集 {xi,yi}Ni=1{xi,yi}i=1N\left{\mathbf{x}_{i}, \mathbf{y}_{i}\right}_{i=1}^{N} ,xi∈Dxi∈D\mathbf{x}_{i} \in \mathcal{D} 代表着第 iii 个文档,yi∈{0,1}Lyi∈{0,1}L\mathbf{y}_{i} \in{0,1}^{L} 是第iii个样本的第 ℓℓ\ell 个标签。

  eXtreme Multi-label Text Classification (XMC) 目标是寻找一个这样的函数 f:D×[L]↦Rf:D×[L]↦Rf: \mathcal{D} \times[L] \mapsto \mathbb{R},f(x,ℓ)f(x,ℓ)f(x,\ell) 表示输入 xxx 与标签 ℓℓ\ell 之间的相关性。

  实际上,得到 top−ktop−ktop-k 个最大值的索引作为给定输入 xxx 的预测相关标签。最直接的模型是一对全(OVA)模型:

    f(x,ℓ)=w⊤ℓΦ(x);ℓ∈Lf(x,ℓ)=wℓ⊤Φ(x);ℓ∈Lf(\mathbf{x}, \ell)=\mathbf{w}_{\ell}^{\top} \Phi(\mathbf{x}) ; \ell \in[L]\quad\quad\quad(1)

  其中

    • W=[w1,…,wL]∈Rd×LW=[w1,…,wL]∈Rd×L\mathbf{W}=\left[\mathbf{w}_{1}, \ldots, \mathbf{w}_{L}\right] \in \mathbb{R}^{d \times L} 是权重向量
    • Φ(⋅)Φ(⋅)\Phi(\cdot) 是一个文本向量转换器,Φ:D↦RdΦ:D↦Rd\Phi: \mathcal{D} \mapsto \mathbb{R}^{d}用于将 xx\mathbf{x}转换为 ddd 维特征向量

  为了处理非常大的输出空间,最近的方法对标签空间进行了划分,以筛选在训练和推理过程中考虑的标签。特别是 [7, 12, 13, 34, 35, 39] 遵循三个阶段的框架:partitioning、shortlisting 和 ranking。

  首先 partitioning 过程,将标签分成 KKK 个簇 C∈{0,1}L×KC∈{0,1}L×K\mathbf{C} \in{0,1}^{L \times K} ,Cℓ,k=1Cℓ,k=1C_{\ell, k}=1 代表这标签 ℓℓ\ell 在第 kkk 个簇中。

  然后 shortlisting 过程,将输入 xxx 映射到相关的簇当中:

    g(x,k)=w^⊤kΦg(x);k∈Kg(x,k)=w^k⊤Φg(x);k∈Kg(\mathbf{x}, k)=\hat{\mathbf{w}}_{k}^{\top} \Phi_{g}(\mathbf{x}) ; k \in[K]\quad\quad\quad(2)

  最后 ranking 过程,在 shortlisted 上训练一个输出大小为 LLL 的分类模型:

    f(x,ℓ)=w⊤ℓΦ(x);ℓ∈Sg(x)(3)f(x,ℓ)=wℓ⊤Φ(x);ℓ∈Sg(x)(3)f(\mathbf{x}, \ell)=\mathbf{w}_{\ell}^{\top} \Phi(\mathbf{x}) ; \ell \in S_{g}(\mathbf{x})\quad\quad\quad(3)

  其中 Sq(x)⊂[L]Sq(x)⊂[L]S_{q}(\mathbf{x}) \subset[L] 是标签集的一个子集。

  对于基于 transformer 的方法,主要花费的时间是 Φ(x)Φ(x)\Phi(\mathbf{x}) 的评价。但是 KKK 值太大或太小仍然可能会有问题。实证结果表明,当 cluster 的大小 BBB 太大时,模型的性能会下降。典型的 X-Transformer 和 LightXML ,他们的簇大小BBB 通常 B(≤100)B(≤100)B(\leq 100) ,聚类数 KKK 通常为 K≈L/BK≈L/BK \approx L / B。

2 XR-Transformer 方法

  在 XR-Transformer 中,我们递归地对 shortlisting 问题应用相同的三阶段框架,直到达到一个相当小的输出大小 LBDLBD\frac{L}{B^{D}}。

2.1 Hierarchical Label Tree (HLT)

  递归生成标签簇 DDD 次,相当于构建一个深度为 DDD 的 HLT。我们首先构建标签特征 Z∈RL×d^Z∈RL×d^\mathbf{Z} \in \mathbb{R}^{L \times \hat{d}}。这可以通过在标签文本上应用文本向量量化器,或者从 Positive Instance Feature Aggregation(PIFA) 中实现:

    Zℓ=vℓ∥vℓ∥; where vℓ=∑i:yi,ℓ=1Φ(xi),∀ℓ∈LZℓ=vℓ‖vℓ‖; where vℓ=∑i:yi,ℓ=1Φ(xi),∀ℓ∈L\mathbf{Z}_{\ell}=\frac{\mathbf{v}_{\ell}}{\left|\mathbf{v}_{\ell}\right|} ; \text { where } \mathbf{v}_{\ell}=\sum\limits _{i: y_{i, \ell}=1} \Phi\left(\mathbf{x}_{i}\right), \forall \ell \in[L]\quad\quad\quad(4)

  其中:Φ:D↦RdΦ:D↦Rd\Phi: \mathcal{D} \mapsto \mathbb{R}^{d}是文本向量化转换器。

  使用平衡的 k-means(k=Bk=Bk=B) 递归地划分标签集,并以自上而下的方式生成 HLT。

  通过层次聚类,最终得到每两层之间的隶属矩阵:
    {C(t)}Dt=1{C(t)}t=1D\left{\mathbf{C}^{(t)}\right}_{t=1}^{D}

  其中 C(t)∈{0,1}Kt×Kt−1C(t)∈{0,1}Kt×Kt−1\mathbf{C}^{(t)} \in{0,1}^{K_{t} \times K_{t-1}} with K0=1K0=1K_{0}=1、KD=LKD=LK_{D}=L

2.2 Multi-resolution Output Space

  粗粒度的标签向量可以通过对原始标签进行max-pooling得到(在标签空间中)。第 ttt 层的真实标签(伪标签)为:

    Y(t)=binarize(Y(t+1)C(t+1))(5)Y(t)=binarize⁡(Y(t+1)C(t+1))(5)\mathbf{Y}^{(t)}=\operatorname{binarize}\left(\mathbf{Y}^{(t+1)} \mathbf{C}^{(t+1)}\right)\quad\quad\quad(5)

  如果由粗粒度到细粒度进行标签的学习,那么就可以得到 ttt 个由易到难的任务。
  然而,直接用以上训练方式会造成信息损失。直接做max-pooling的方法无法区分:一个cluster中有多个真实标签和一个cluster中有一个真实标签。直观上,前者应该有更高的权重。

  因而,通过一个非负的重要性权重指示每个样本对每个标签的重要程度:

    R(t)∈RN×Kt+R(t)∈R+N×Kt\mathbf{R}^{(t)} \in \mathbb{R}_{+}^{N \times K_{t}}

  该重要性权重矩阵通过递归方式构建,最底层的重要性权重为原始 标签归一化。之后递归地将上一层的结果传递到下一层。

    R(t)=R(t+1)C(t+1)(6)R(t)=R(t+1)C(t+1)(6)\mathbf{R}^{(t)}=\mathbf{R}^{(t+1)} \mathbf{C}^{(t+1)} \quad \quad (6)

    R(D)=Y(D)R(D)=Y(D)\mathbf{R}^{(D)}=\mathbf{Y}^{(D)}

  其中:

    R^(t)i,j=⎧⎩⎨⎪⎪R(t)i,j∥∥R(t)i∥∥1α if Y(t)i,j=1 otherwise R^i,j(t)={Ri,j(t)‖Ri(t)‖1 if Yi,j(t)=1α otherwise \hat{R}_{i, j}^{(t)}=\left{\begin{array}{ll}\frac{R_{i, j}^{(t)}}{\left|\mathbf{R}_{i}^{(t)}\right|_{1}} & \text { if } Y_{i, j}^{(t)}=1 \ \alpha & \text { otherwise } \end{array}\right.

2.3 Label Shortlisting

  在每一层,不能只关注于少量真实的标签,还需要关注于一些高置信度的非真实标签。(因为分类不是100%准确,要给算法一些容错度,之后用 beam search 矫正)

  在每一层,将模型预测出的 top-k relevant clusters 作为父节点。因而,在第 ttt 层我们需要考虑 t−1t−1t-1 层的标签列表。

    P(t−1)=Top(W(t−1)⊤Φ(X,Θ(t−1)),k)(7)M(t)=binarize(P(t−1)C(t)⊤)+binarize(Y(t−1)C(t)⊤)(8)P(t−1)=Top⁡(W(t−1)⊤Φ(X,Θ(t−1)),k)(7)M(t)=binarize⁡(P(t−1)C(t)⊤)+binarize⁡(Y(t−1)C(t)⊤)(8)\begin{aligned}&\mathbf{P}^{(t-1)} =\operatorname{Top}\left(\mathbf{W}^{(t-1) \top} \Phi\left(\mathbf{X}, \Theta^{(t-1)}\right), k\right)\quad\quad\quad(7)\&\mathbf{M}^{(t)} =\operatorname{binarize}\left(\mathbf{P}^{(t-1)} \mathbf{C}^{(t) \top}\right)+\operatorname{binarize}\left(\mathbf{Y}^{(t-1)} \mathbf{C}^{(t) \top}\right)\quad\quad\quad(8)\end{aligned}

  对于每个实例,只有非零的M对应的样本才会被计算进损失函数。最终,在第 ttt 层的损失函数:
    minW(t),Θ∑i=1N∑ℓ:M(t)i,ℓ≠0R^(t)i,ℓL(Y(t)i,ℓ,W(t)⊤ℓΦ(xi,Θ))+λ∥∥W(t)∥∥2(9)minW(t),Θ∑i=1N∑ℓ:Mi,ℓ(t)≠0R^i,ℓ(t)L(Yi,ℓ(t),Wℓ(t)⊤Φ(xi,Θ))+λ‖W(t)‖2(9)\underset{\mathbf{W}^{(t)}, \Theta}{min} \sum\limits _{i=1}^{N} \sum\limits_{\ell: \mathbf{M}_{i, \ell}^{(t)} \neq 0} \hat{R}_{i, \ell}^{(t)} \mathcal{L}\left(Y_{i, \ell}^{(t)}, \mathbf{W}_{\ell}^{(t) \top} \Phi\left(\mathbf{x}_{i}, \Theta\right)\right)+\lambda\left|\mathbf{W}^{(t)}\right|^{2}\quad\quad\quad(9)

2.4 Training with bootstrapping

  我们利用递归学习结构,通过模型自举来解决这个问题。

    W(t)init:=argminW(t)∑i=1N∑ℓ:M(t)i,ℓ≠0R^(t)i,ℓL(Y(t)i,ℓ,W(t)⊤ℓΦdnn(xi,θ(t−1)∗))+λ∥∥W(t)∥∥2(11)Winit(t):=argminW(t)∑i=1N∑ℓ:Mi,ℓ(t)≠0R^i,ℓ(t)L(Yi,ℓ(t),Wℓ(t)⊤Φdnn(xi,θ(t−1)∗))+λ‖W(t)‖2(11)\mathbf{W}_{i n i t}^{(t)}:=\underset{\mathbf{W}^{(t)}}{\operatorname{argmin}} \sum\limits _{i=1}^{N} \sum\limits_{\ell: \mathbf{M}_{i, \ell}^{(t)} \neq 0} \hat{R}_{i, \ell}^{(t)} \mathcal{L}\left(Y_{i, \ell}^{(t)}, \mathbf{W}_{\ell}^{(t) \top} \Phi_{d n n}\left(\mathbf{x}_{i}, \boldsymbol{\theta}^{(t-1) *}\right)\right)+\lambda\left|\mathbf{W}^{(t)}\right|^{2}\quad\quad\quad(11)

3 Algorithm

  8c8c66477a5fb62e66d2037184c58fc4 - 论文解读(XR-Transformer)Fast Multi-Resolution Transformer Fine-tuning for Extreme Multi-label Text Classification

转载请注明:xuhss » 论文解读(XR-Transformer)Fast Multi-Resolution Transformer Fine-tuning for Extreme Multi-label Text Classification

喜欢 (0)

您必须 登录 才能发表评论!