[论文翻译] Active Learning by Feature Mixing

论文地址:https://arxiv.org/abs/2203.07034
代码:https://github.com/aminparvaneh/alpha_mix_active_learning
发表于:CVPR 22

这里只对方法部分进行翻译

III. Methodology

A. Problem Definition

在不失一般性的情况下,我们认为我们的学习目标是训练一个有监督的多类分类问题,有 K K K个类。一个学习者在与专家的交互迭代中被主动训练。在每个迭代中,这个主动学习者可以访问一小部分标记数据 D l = { ( x i , y i ) } i = 0 M \mathcal{D}^{l}=\left\{\left(\boldsymbol{x}_{i}, y_{i}\right)\right\}_{i=0}^{M} Dl={ (xi,yi)}i=0M,其中 x i ∈ X \boldsymbol{x}_{i} \in \mathcal{X} xiX代表输入(例如一张图片或一个视频片段), y i ∈ { 1 , . . , K } y_{i}∈\{1, . . , K\} yi{ 1,..,K}代表相关的类别标签。学习者还可以访问一组未标记的数据 D u \mathcal{D}^{u} Du,从中选择 B B B个实例,由专家进行标记。然后,被标记的样本被添加到 D l \mathcal{D}^{l} Dl中以更新模型。该模型的性能是在一个未见过的测试数据集上评估的。

学习器是一个深度神经网络 f = f c ⊙ f e f=f_{c} \odot f_{e} f=fcfe,参数为 θ = { θ e , θ c } \boldsymbol{\theta}=\left\{\boldsymbol{\theta}_{e}, \boldsymbol{\theta}_{c}\right\} θ={ θe,θc}。在这里, f e : X → R D f_{e}: \mathcal{X} \rightarrow \mathbb{R}^{D} fe:XRD为backbone,它将输入编码到一个 D D D维的潜在空间表示,即 z = f e ( x ; θ e ) \boldsymbol{z}=f_{e}\left(\boldsymbol{x} ; \boldsymbol{\theta}_{e}\right) z=fe(x;θe)。此外, f c : R D → R K f_c: \mathbb{R}^{D} \rightarrow \mathbb{R}^{K} fc:RDRK是一个分类器,例如多层感知机(MLP),它将实例从它们的表示形式映射到相应的logits,可以通过 p ( y ∣ z ; θ ) = softmax ⁡ ( f c ( z ; θ c ) ) p(y \mid \boldsymbol{z} ; \boldsymbol{\theta})=\operatorname{softmax}\left(f_{c}\left(\boldsymbol{z} ; \boldsymbol{\theta}_{c}\right)\right) p(yz;θ)=softmax(fc(z;θc))表示为类的风格。我们通过最小化标记集上的交叉熵损失来优化端到端参数: E ( x , y ) ∼ D l [ ℓ ( f c ⊙ f e ( x ; θ ) , y ) ] \mathbb{E}_{(\boldsymbol{x}, y) \sim \mathcal{D}^{l}}\left[\ell\left(f_{c} \odot f_{e}(\boldsymbol{x} ; \boldsymbol{\theta}), y\right)\right] E(x,y)Dl[(fcfe(x;θ),y)]。对一个不可见的实例的标签(即伪标签)的预测是 y z ∗ = arg ⁡ max ⁡ y f c y ( z ; θ c ) y_{\boldsymbol{z}}^{*}=\arg \max _{y} f_{c}^{y}\left(\boldsymbol{z} ; \boldsymbol{\theta}_{c}\right) yz=argmaxyfcy(z;θc)其中 z = f e ( x ; θ e ) \boldsymbol{z}=f_{e}\left(\boldsymbol{x} ; \boldsymbol{\theta}_{e}\right) z=fe(x;θe) f c y f_c^y fcy y y y类的logit输出。此外,预测标签的logit被表示为 f c ∗ ( z ) : = f c y z ∗ ( z ) f_{c}^{*}(\boldsymbol{z}):=f_{c}^{y_{z}^{*}}(\boldsymbol{z}) fc(z):=fcyz(z)。我们也表示 Z u = { f e ( x ) , ∀ x ∈ D u } \boldsymbol{Z}^{u}=\left\{f_{e}(\boldsymbol{x}), \forall \boldsymbol{x} \in \mathcal{D}^{u}\right\} Zu={ fe(x),xDu}为无标记数据表示集, Z l \boldsymbol{Z}^{l} Zl为有标记数据表示集。我们计算每个类的标记样本的平均表征 z ⋆ \boldsymbol{z}^{\star} z,并称之为锚。所有类的锚形成锚集 Z ⋆ \boldsymbol{Z}^{\star} Z,并作为已标记实例的代表。

B. Feature Mixing

潜在空间的特征在识别最有价值的待标注样本方面起着关键作用。我们的直觉是,模型的错误预测主要是由于输入中无法识别的新的"特征"。因此,我们通过首先探测模型学到的特征来处理AL问题。为此,我们使用特征的凸组合(即插值)作为探索每个未标记点附近的新特征的方法。具体来说,我们认为我们在未标记实例和标记实例之间的插值,分别为 z u z^u zu z ⋆ z^{\star} z (为了清楚起见,我们在这里使用标记的锚)为 z ~ α = α z ⋆ + ( 1 − α ) z u \tilde{z}_{\alpha}=\alpha z^{\star}+(1-\alpha) z^{u} z~α=αz+(1α)zu,其中插值率 α ∈ [ 0 , 1 ) D \boldsymbol{\alpha} \in[0,1)^{D} α[0,1)D。这个过程可以看作是对新实例进行采样的一种方式,不需要明确地对有标签和无标签的实例的联合概率进行建模,即: z ∼ p ( z ∣ z u , Z ⋆ , α ) ≡ α z ⋆ + ( 1 − α ) z u , z ⋆ ∼ Z ⋆ \boldsymbol{z} \sim p\left(\boldsymbol{z} \mid \boldsymbol{z}^{u}, \boldsymbol{Z}^{\star}, \boldsymbol{\alpha}\right) \equiv \boldsymbol{\alpha} \boldsymbol{z}^{\star}+(1-\boldsymbol{\alpha}) \boldsymbol{z}^{u}, \quad \boldsymbol{z}^{\star} \sim \boldsymbol{Z}^{\star} zp(zzu,Z,α)αz+(1α)zu,zZ 我们考虑用所有代表不同类别的锚点来插值一个无标签的实例,通过考虑模型的预测如何变化来发现足够明显的特征。为此,我们调查了无标签实例的伪标签(即 y ⋆ y^{\star} y)的变化以及插值所产生的损失。我们期望一个足够小的插值与标记的数据应该不会对每个未标记的点的预测标签产生相应的影响。

使用一阶泰勒展开( z u z^u zu),模型在预测无标签实例与有标签实例插值时的伪标签的损失可以改写为: ℓ ( f c ( z ~ α ) , y ∗ ) ≈ ℓ ( f c ( z u ) , y ∗ ) + ( α ( z ⋆ − z u ) ) ⊤ ⋅ ∇ z u ℓ ( f c ( z u ) , y ∗ ) \begin{aligned} \ell\left(f_{c}\left(\tilde{\boldsymbol{z}}_{\boldsymbol{\alpha}}\right), y^{*}\right) \approx & \ell\left(f_{c}\left(\boldsymbol{z}^{u}\right), y^{*}\right)+\\ &\left(\boldsymbol{\alpha}\left(\boldsymbol{z}^{\star}-\boldsymbol{z}^{u}\right)\right)^{\boldsymbol{\top}} \cdot \nabla_{\boldsymbol{z}^{u}} \ell\left(f_{c}\left(\boldsymbol{z}^{u}\right), y^{*}\right) \end{aligned} (fc(z~α),y)(fc(zu),y)+(α(zzu))zu(fc(zu),y) 对于一个足够小的 α \boldsymbol{\alpha} α,例如 ∥ α ∥ ≤ ϵ \|\boldsymbol{\alpha}\| \leq \epsilon αϵ,几乎是精确的。因此,对于完整的标记集,通过选择两边的最大损失,我们有: max ⁡ z ⋆ ∼ Z ⋆ [ ℓ ( f c ( z ~ α ) , y ∗ ) ] − ℓ ( f c ( z u ) , y ∗ ) ≈ max ⁡ z ⋆ ∼ Z ⋆ [ ( α ( z ⋆ − z u ) ) ⊤ ⋅ ∇ z u ℓ ( f c ( z u ) , y ∗ ) ] \begin{aligned} \max _{\boldsymbol{z}^{\star} \sim \boldsymbol{Z}^{\star}} & {\left[\ell\left(f_{c}\left(\tilde{\boldsymbol{z}}_{\boldsymbol{\alpha}}\right), y^{*}\right)\right]-\ell\left(f_{c}\left(\boldsymbol{z}^{u}\right), y^{*}\right) \approx } \\ & \max _{\boldsymbol{z}^{\star} \sim \boldsymbol{Z}^{\star}}\left[\left(\boldsymbol{\alpha}\left(\boldsymbol{z}^{\star}-\boldsymbol{z}^{u}\right)\right)^{\top} \cdot \nabla_{\boldsymbol{z}^{u}} \ell\left(f_{c}\left(\boldsymbol{z}^{u}\right), y^{*}\right)\right] \end{aligned} zZmax[(fc(z~α),y)](fc(zu),y)zZmax[(α(zzu))zu(fc(zu),y)] 直观地说,在进行插值时,损失的变化与两个条件成正比:

  • (a) z ∗ z^{*} z z u z^{u} zu的特征之差与它们的插值 α \boldsymbol{\alpha} α成正比
  • (b)损失的梯度与未标记的实例的关系

前者决定了哪些特征是新的,以及它们的价值在有标签和无标签的实例之间如何不同。另一方面,后者决定了模型对这些特征的敏感性。也就是说,如果有标签的实例和无标签的实例的特征完全不同,但模型是合理一致的,那么损失最终没有变化,因此这些特征不被认为是模型的新特征。

α \boldsymbol{\alpha} α的选择是针对输入的,决定了要选择的特征。因此,在第3.C节中,我们介绍了寻找 α \boldsymbol{\alpha} α合适值的闭式解决方案。最后,我们注意到这里利用的插值法有一些有趣的特性,将在支撑材料中进一步讨论。

C. Optimising the Interpolation Parameter α \alpha α

由于手动选择 α \boldsymbol{\alpha} α的值是不容易的,我们设计了一个简单的优化方法,为一个给定的未标记的实例选择适当的值。为此,我们注意到,从公式(3)中可以看出,当我们选择 α \boldsymbol{\alpha} α使插值点的损失最大化时,是损失变化最大的最坏情况(细节见支撑材料)。然而,利用公式(3)的等号右侧,我们设计了一种新的公式(3),我们设计出选择 α \boldsymbol{\alpha} α的目标为: α ∗ = arg ⁡ max ⁡ ∥ α ∥ ≤ ϵ ( α ( z ⋆ − z u ) ) ⊤ ⋅ ∇ z u ℓ ( f c ( z u ) , y ∗ ) \boldsymbol{\alpha}^{*}=\underset{\|\boldsymbol{\alpha}\| \leq \epsilon}{\arg \max }\left(\boldsymbol{\alpha}\left(\boldsymbol{z}^{\star}-\boldsymbol{z}^{u}\right)\right)^{\top} \cdot \nabla_{\boldsymbol{z}^{u}} \ell\left(f_{c}\left(\boldsymbol{z}^{u}\right), y^{*}\right) α=αϵargmax(α(zzu))zu(fc(zu),y) 其中 ϵ \epsilon ϵ是管理混合程度的一个超参数。直观地说,这种优化为每个未标记的实例和锚点选择了最难的 α \boldsymbol{\alpha} α情况。我们使用二范数公式对这个优化的解决方案进行近似,在使用二范数的情况下,可以得到: α ∗ ≈ ϵ ∥ ( z ⋆ − z u ) ∥ 2 ∇ z u ℓ ( f c ( z u ) , y ∗ ) ∥ ∇ z u ℓ ( f c ( z u ) , y ∗ ) ∥ 2 ⊘ ( z ⋆ − z u ) \boldsymbol{\alpha}^{*} \approx \epsilon \frac{\left\|\left(\boldsymbol{z}^{\star}-\boldsymbol{z}^{u}\right)\right\|_{2} \nabla_{\boldsymbol{z}^{u}} \ell\left(f_{c}\left(\boldsymbol{z}^{u}\right), y^{*}\right)}{\left\|\nabla_{\boldsymbol{z}^{u}} \ell\left(f_{c}\left(\boldsymbol{z}^{u}\right), y^{*}\right)\right\|_{2}} \oslash\left(\boldsymbol{z}^{\star}-\boldsymbol{z}^{u}\right) αϵzu(fc(zu),y)2(zzu)2zu(fc(zu),y)(zzu) 其中代表 ⊘ \oslash 元素级的除法(进一步的细节详见附录)。这种近似方法使插值参数的优化变得有效,我们的实验表明,与直接优化插值参数相比,它不会对最终结果产生明显的不利影响。对最终结果的影响,而不是直接优化 α \boldsymbol{\alpha} α,使损失最大化。

D. Candidate Selection

对于AL来说,根据公式(3),选择那些损失随着插值而大幅改变的实例进行查询是合理的。这对应于那些模型的预测发生变化并具有新特征的实例。直观地说,如图2(a)所示,这些样本被放置在潜在空间的决策边界附近。另外,当模型对输入特征的识别有合理的信心时,我们期望小的插值不应该影响模型的损失。然后,我们创建我们的候选集为: I = { z u ∈ Z u ∣ ∃ z ⋆ ∈ Z ⋆ , f c ∗ ( z ~ α ) ≠ y z u ∗ } \mathcal{I}=\left\{\boldsymbol{z}^{u} \in \boldsymbol{Z}^{u} \mid \exists \boldsymbol{z}^{\star} \in \boldsymbol{Z}^{\star}, f_{c}^{*}\left(\tilde{\boldsymbol{z}}_{\boldsymbol{\alpha}}\right) \neq y_{\boldsymbol{z}^{u}}^{*}\right\} I={ zuZuzZ,fc(z~α)=yzu} 此外,在理想情况下,我们寻求多样化的样本,因为 I \mathcal{I} I中的大多数实例可能是从同一区域选择的(即它们可能具有相同的新特征)。为此,我们建议将 I \mathcal{I} I中的实例根据其特征的相似性分为 B B B组,并进一步选择离每个组中心最近的样本,由专家进行标记。这就保证了 I \mathcal{I} I样本所代表的空间密度可以通过B实例得到合理的近似。我们简单地使用k-MEANS,它被广泛使用。类似的策略也被[3]用来鼓励多样性。我们的方法在算法1中进行了总结。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_40714949/article/details/124141679
今日推荐