《Decoupled Optimisation for Long-Tailed Visual Recognition》阅读笔记

论文标题

《Decoupled Optimisation for Long-Tailed Visual Recognition》

长尾视觉识别的解耦优化

作者

Cong Cong、Shiyu Xuan、Sidong Liu、Shiliang Zhang、Maurice Pagnucco 和 Yang Song、

来自新南威尔士大学计算机科学与工程学院、北京大学计算机学院多媒体信息处理国家重点实验室和麦考瑞大学澳大利亚健康创新研究所

初读

摘要

  • 当在长尾数据集上进行训练时,传统的学习算法往往会对样本数量较大的类别表现出偏见。我们的研究发现,这种带有偏见的学习倾向源于模型参数,这些参数被训练为不成比例地贡献给以其样本数量为特征的类别(例如,多、中、少类别)。
  • 为了平衡所有类别的整体参数贡献,我们研究了每个模型参数对不同类别组学习的重要性,并提出了一种多阶段参数解耦和优化(DO)框架,
    • 该框架将参数解耦到不同的组中,每个组学习特定的一部分类别。
    • 为了优化参数学习,我们应用了不同的训练目标,并采取协作优化步骤来学习关于每个类别组的互补信息。
  • 在包括 CIFAR100、Places-LT、ImageNet-LT 和 iNaturaList 2018 在内的长尾数据集上进行的广泛实验表明,我们的框架与最先进的方法相比取得了具有竞争力的性能。

结论

  • 在这项工作中,我们提出了一种用于长尾视觉识别的新型参数解耦和优化框架。
  • 所提出的框架通过将模型参数解耦到不同的组中,每组针对一个单独的类别划分进行优化,从而在所有类别之间最佳地平衡参数的重要性。
  • 广泛的实验已经证明了所提出框架的有效性。

再读

Section 1 Introduction

  • 长尾分布

    • 现实世界的数据集通常表现出长尾类别分布,其中某些类别拥有大量的样本,而罕见类别的样本数量则有限。
    • 这种类别不平衡在训练深度卷积神经网络时带来了重大挑战,因为拥有大量实例的头部类别倾向于通过影响大多数梯度的学习来压倒尾部类别的模型学习,从而导致在少数类别上的性能不佳。
    • 这是一个关键问题,特别是在自动驾驶和计算机辅助诊断等领域,因为在这些领域中,需要在长尾数据集上训练的模型能够在所有类别上展示出高性能。
  • 相关方法:

    • 早期尝试缓解这一问题包括对稀有类别进行上采样、知识迁移和损失重新加权。
    • 最近的研究发现,改善特征质量,特别是通过自监督学习可以有效提高模型在不平衡数据集上的性能。
    • 一些研究发现特征学习和分类器学习偏好不同的学习策略,因此应用两阶段解耦学习方案可以进一步改进性能。
    • 此外,基于多专家学习的模型集成代表了最先进的技术,每个专家模型专注于数据分布的不同划分。
  • 我们的分析表明,每个模型参数在学习不同类别组时具有不同程度的重要性

    • 这里参数重要性的衡量类似于模型剪枝时所使用的概念,即通过从模型中移除它引起的最终损失的变化来估计。

    • 在长尾分类中,模型参数通常对于样本数量较多的类别更为重要,即多类别组。

    • 图 1(b)展示了通过不同的长尾学习方法,在各个类别组之间平均的参数重要性。

      在这里插入图片描述

      • 图片注解:图 1:a) 比较基准 ResNet 模型、PaCo、CMO、RIDE以及我们提出方法的不同类别组分类准确率。b) 比较各种方法的平均参数重要性。我们注意到准确性与参数重要性之间存在正相关关系。更多的可视化结果在补充材料中提供。
    • 发现每个类别组的准确性与该类别组的参数平均重要性之间存在正相关关系。

      • 当朴素的 ResNet 模型(Base)在长尾 ImageNet 数据集上进行训练时,它表现出对多类别组的高度偏见参数重要性,导致这个组的准确性显著高于其他组。
      • 相反,长尾方法在中等和少量类别组上展示了增强的性能,以及在这些特定类别组上增加了参数重要性。
  • 多阶段优化框架

    • 上述观察结果说明了在类别组之间重新平衡参数重要性以改善不平衡分类的优势。这激励我们提出一种新的多阶段优化框架,旨在实现所有类别之间参数重要性的均衡。
    • 具体来说,
      • 该框架将模型参数解耦为不同的子集,每个子集都针对训练集中的特定类别组进行优化。
      • 在每一个阶段,
        • 我们首先应用一个协作参数优化(CPO)过程,该过程旨在提高对特定类别组的参数重要性。
        • 在此之后,我们采用一种泰勒引导的参数解耦(TPO)方法来选择对当前偏好类别组学习具有重要性的参数。
        • 然后将重要性较小的参数重新初始化,并在后续阶段用于优化。
        • 在每一阶段的最后,构建一个子模型,包含对当前学习阶段具有重要性的参数。
      • 在推理阶段,使用实例级测试时学习机制聚合这些子模型的输出以获得最终预测。
      • 如图 1 所示,我们的方法在所有类别组之间展示了良好的平衡参数重要性,从而显著提高了性能。
  • 具体来说,我们的贡献总结如下:

    • 我们提出了一种多阶段参数解耦和优化(DO)框架,能够在所有类别之间很好地平衡参数的重要性。
    • 我们的框架采用了一种协作参数优化(CPO)程序,该程序采用群体增强的采样策略和补偿损失,以强制模型参数学习关于不同类别的互补信息。
    • 我们采用了一种泰勒引导的参数解耦(TPD)方法,该方法采用泰勒展开来近似参数的重要性,并使用它来选择对不同类别组重要的参数。
    • 提出了一种新颖的实例级测试时学习算法,用于在组装具有不同专业知识的模型时获得更精确的预测。
    • 在CIFAR100、ImageNet-LT、Places-LT 和 iNaturalist18 上的广泛实验表明,我们的方法在许多、中等和少量类别组上取得了优于最近方法的性能提升。

Section 2 Related Work

  • 长尾学习(Long-tailed learning)

    长尾学习旨在训练模型以处理遵循长尾类别分布的数据集。现有的算法可以大致分为单一模型不平衡学习(single model imbalance learning)和多专家不平衡学习(multi-expert imbalance learning)两大类。

    • 单一模型不平衡学习

      这些工作可以进一步分为三个子类别:重新平衡(re-balancing)、知识迁移(knowledge transfer)和多阶段学习(multi-stage learning)

      • 重新平衡通常通过类别重采样和损失重新加权来增强模型训练过程中少数类的影响。这些方法在类别或实例级别为少数类样本分配更高的权重。
      • 其他研究尝试通过分布校准或增强将多数类的知识迁移到缺乏知识的少数类。
      • 多阶段学习是长尾分类的有效训练方案,因为特征学习和分类器学习偏好不同的训练策略。
      • 自监督学习(SSL)已被用于在以前的研究中改善特征质量,表明 SSL 产生了对类别不平衡更鲁棒的特征,并在长尾分类中显著提高了模型性能。
      • 其他方法已被提出以改善两个学习阶段之间的校准。例如,
        • (Li, Wang和Wu,2021)实现了一个额外的自蒸馏阶段,以更好地在多阶段学习中结合标签相关性。
        • 此外,Zhang 等人使用轻量级的分布对齐模块来校准分类分数,从而改进了当前的两阶段方法。
    • 多专家不平衡学习

      现有的单一模型方法减少了少数类的模型偏差,但增加了所有类的模型方差,导致多数类的准确性下降。因此,提出了多专家不平衡学习框架,例如

      • RIDE 允许多个专家模型捕捉互补知识。
      • 沿着这条研究路线,NCL 被提出,通过在线蒸馏模块增强专家之间的知识转移,
      • SADE 明确专注于每个专家不同的数据分布,并使用自监督的测试时聚合机制来融合专家的输出。
      • 此外,SHIKE 结合了不同层的特征,以利用网络不同深度的编码信息,
      • 而 BalPoE 通过对数调整和 Mixup 鼓励无偏置和良好校准的集成。
  • 持续学习(Continual Learning)

    • 我们的工作从持续学习中获得灵感,在持续学习中,模型参数不断调整以适应非静止数据分布。
    • 当前的方法可以分为三类。
      • 基于正则化的方法,使用额外的正则化项,旨在在先前任务和当前任务之间找到平衡。虽然它们显示出了有效性,但当处理具有挑战性的设置或复杂的数据集时,它们可能会遇到困难。
      • 另一方面,基于排练的技术使用紧凑的内存缓冲区或额外的生成模型来存储或生成先前任务的代表性数据。许多近期研究通过整合知识蒸馏或自监督学习(SSL)来增强这一概念。然而,这些方法的适用性通常受到内存需求的限制。
      • 基于架构的方法专注于构建特定于任务的参数。在为每个任务分配参数时,模型架构可以是固定的或动态的大小。
  • 与之前工作的差异:

    • 单一模型方法在少数类上显示了性能的改进,但可能会降低多数类的准确性。虽然多专家模型可以缓解这个问题,但它们在子模型之间缺乏有效的交互,并且通常在模型初始化时固定专家的能力。
    • 相比之下,我们的工作在动态地将模型参数分配到子组方面改进了传统的多专家训练,并探索了如何有效地提高少数类的性能,而不会损害多数类的准确性,并进一步增强参数交互。
    • 我们在方法中融入了基于架构的持续学习的概念。然而,我们的重点是设计更可靠的准则来量化参数重要性并在所有类别之间平衡它们的重要性,以增强长尾分类。

Section 3 Methodology

  • 由于每个类别组的准确性与相应的参数重要性之间存在正相关关系,我们提出了一种名为解耦优化(Decoupled Optimisation,DO)的新型优化框架,用于长尾视觉识别,以显式地平衡类别组之间的参数重要性。

    • 图 2 展示了我们框架的工作流程。

      在这里插入图片描述

      • 图片注解:图 2:DO 的整体工作流程。在训练期间,使用多阶段训练方案。在每一阶段,我们首先应用一个 CPO 步骤,该步骤策略性地针对一组可学习参数,并训练它们以携带与特定类别组相关的互补信息。然后应用一个 TPD 步骤,以保留当前学习阶段的重要参数,并将剩余的参数设置为后续阶段的学习参数。在推理阶段,使用实例级测试时学习来获得聚合权重,以融合来自每个子模型的输出来获得最终预测。
    • 给定一个由 θ \theta θ 参数化的分类模型 F \mathcal{F} F,我们在 T T T 个阶段上对长尾数据集 D \mathcal{D} D 进行训练,并将 θ \theta θ 解耦为 T T T 个不同的组 { θ 1 , θ 2 , ⋯   , θ T } \{\theta_1,\theta_2,\cdots,\theta_T\} {θ1,θ2,,θT},其中每个组专注于特定的一组类别 { Y 1 , Y 2 , ⋯   , Y T } \{Y_1,Y_2,\cdots,Y_T\} {Y1,Y2,,YT}

    • 根据之前的长期研究,我们在 D \mathcal{D} D 上定义了三个类别组(多、中组和少组),我们设置 T = 3 T=3 T=3,并在第一阶段从多组开始学习,然后逐渐过渡到样本较少的组。

      • 在每一阶段 t t t,首先进行协作参数优化( C P O CPO CPO)过程,鼓励 θ t \theta_t θt 在表示特定类别组 t t t 时携带重要信息。

      • 参数 w i ∈ θ t w_i\in\theta_t wiθt 对类别 y y y 的重要性通过 w i w_i wi 周围的一阶泰勒展开来近似,即, E w i y = ( w i g w i y ) 2 \mathcal{E}^y_{w_i}=(w_ig^y_{w_i})^2 Ewiy=(wigwiy)2,其中 g w i y g^y_{w_i} gwiy 表示关于类别 y y y 的一阶导数。

      • 一旦 θ t \theta_t θt 在该阶段被优化,我们就根据参数重要性应用泰勒引导的参数解耦( T P D TPD TPD)方法将 θ t \theta_t θt 解耦为重要部分 θ t ˉ \bar{\theta_t} θtˉ 和不重要部分 θ t ^ \hat{\theta_t} θt^。然后, θ t ˉ \bar{\theta_t} θtˉ 被固定, θ t ^ \hat{\theta_t} θt^ 被重新初始化,以便对其他类别组进行进一步优化,

        除了最后一个阶段,即 θ t ˉ = θ T \bar{\theta_t}=\theta_T θtˉ=θT

      • 为了在下一阶段 t t t 进行 C P O CPO CPO 过程,之前阶段的 θ ˉ t − 1 \bar{\theta}_{t-1} θˉt1也被激活。这提供了双重好处。

        • 首先,跨不同阶段优化的参数协同交互,放大了整体性能。
        • 其次,来自先前阶段的知识库有助于当前阶段的学习。

        这种设置对于学习样本较少的类别尤其重要,因为它们在学习参数中的代表性较低。

    • 为了在推理过程中最优地平衡参数重要性,采用了两个操作:

      1. 在每个训练阶段的结束时,将 { θ ˉ 1 ⋯ t − 1 ∪ θ ˉ t } \{\bar{\theta}_{1\cdots t-1}\cup\bar{\theta}_t\} {θˉ1t1θˉt} 存储为子模型;
      2. 应用实例级测试时学习算法,根据这些 T T T 个子模型的预测稳定性获得聚合权重 λ t \lambda_t λt。最终结果是这 T T T 个子模型的加权和。

3.1 Collaborative Parameter Optimisation

协作参数优化

  • CPO 过程旨在显式地提高关于特定类别组的参数重要性。这是通过群体偏好的采样策略和优化的补偿损失来实现的。

    • 定义 N i N_i Ni 为第 i i i 类的图像数量,
    • K K K 为总类别数,
    • L = [ N i / ∑ j ∈ K N j : i ∈ 1 ⋯ K ] L=[N_i/\sum_{j\in K}N_j:i\in1\cdots K] L=[Ni/jKNj:i1K] 是包含标签频率的列表。
  • 组首选采样策略(Group-preferred sampling strategy)

    • 通过改变每个类的采样比例,模型改变其学习偏好。

    • 在我们的方法中,我们为每个阶段使用不同的采样策略 p t ( x , y ) p_t(x,y) pt(x,y),其中 ( x , y ) (x,y) (x,y) 表示数据样本 x x x 及其相应的类别标签 y y y

    • 具体来说,

      • 我们在第一阶段采用原始长尾分布进行数据采样,以偏好学习许多类,即 p 1 ( x , y ) = L [ y ] p_1(x,y)=L[y] p1(x,y)=L[y]

      • 并在第三阶段采用逆长尾分布,即 p 3 ( x , y ) = 1 / N y p_3(x,y)=1/N_y p3(x,y)=1/Ny 进行少数类偏好的学习。

      • 在第二阶段学习中等组类别时,我们引入了中等增强比例 ρ m \rho_m ρm,并使用以下方程定义 p 2 p_2 p2
        p 2 ( x , y ) = { ρ m y ∈ Y 2 1 − ρ m e l s e ( 1 ) \left.p_2(x,y)=\left\{\begin{array}{cc}\rho_m&\quad y\in Y_2\\1-\rho_m&\quad else\end{array}\right.\right.\qquad(1) p2(x,y)={ρm1ρmyY2else(1)

        • 在这里, ρ m \rho_m ρm 控制我们想要增强中等组学习的程度。关于 ρ m \rho_m ρm 影响的进一步讨论和洞察在消融研究中提供。
  • 补偿损失(Compensation loss)

    • 常用的交叉熵损失将每个类别平等对待,这可能导致在强调从特定类别学习时性能不佳。为了解决这个限制,我们建议将补偿项 α t \alpha_t αt 整合到动态增强当前偏好的类别组相关的某些模型参数的重要性中。
      L c o m p t = 1 n ∑ x ∈ D − y log ⁡ σ ( F θ t ( x ) − log ⁡ α t ) ( 2 ) \mathcal{L}_{comp}^t=\frac1n\sum_{x\in D}-y\log\sigma(\mathcal{F}_{\theta_t}(x)-\log\alpha_t)\quad(2) Lcompt=n1xDylogσ(Fθt(x)logαt)(2)

      • 其中 σ \sigma σ 是 softmax 函数, α t \alpha_t αt 根据以下方式在不同阶段交替:
        α t = { 1.0 t = 1 ρ m t = 2 τ ( y ) t = 3 ( 3 ) \left.\alpha_t=\left\{\begin{array}{cc}1.0&\quad t=1\\\rho_m&\quad t=2\\\tau(y)&\quad t=3\end{array}\right.\right.\qquad(3) αt= 1.0ρmτ(y)t=1t=2t=3(3)

        • 在这里, τ ( y ) = R ( L ) [ y ] \tau(y)=\mathcal{R}(L)[y] τ(y)=R(L)[y],其中 R ( ⋅ ) \mathcal{R}(·) R() 表示逆序操作。
        • 补偿项 α t \alpha_t αt 作为边际,施加更强的正则化,鼓励模型优先学习当前偏好的类别组。

3.2 Taylor-guided Parameter Decoupling

泰勒引导的参数解耦

  • 并非所有参数在学习中都具有同等的重要性,移除那些重要性低的参数可能不会对模型的性能产生显著影响。参数的重要性可以通过移除它对模型损失变化的影响来估计。

  • 我们设计了一种泰勒引导的参数解耦(TPD)方法来近似参数的重要性。具体来说,

    • 我们根据 E w i y \mathcal{E}^y_{w_i} Ewiy 对每个参数 w i w_i wi 进行排名,然后剪枝 γ \gamma γ 个参数,保留其余的作为重要参数。

    • 我们主张最佳的剪枝比例 γ best \gamma_\text{best} γbest 应该产生最紧凑的模型,同时保持其性能。因此,我们迭代 γ i \gamma_i γi 的值, i ∈ 0 ⋯ 90 i\in0\cdots90 i090,步长为 10 10 10,并记录相关的性能。

      • γ best \gamma_\text{best} γbest 是基于记录的性能中观察到的最高变化选择的。
    • 此外,我们不是直接剪枝 γ i \gamma_i γi 个参数,而是逐渐剪枝,使用 γ t \gamma_t γt 进行渐进剪枝:
      γ t = γ i + 1 + ( γ i − γ i + 1 ) ( 1 − t Δ t ) 3 ( 4 ) \gamma_t=\gamma_{i+1}+(\gamma_i-\gamma_{i+1})(1-\frac t{\Delta t})^3\qquad(4) γt=γi+1+(γiγi+1)(1Δtt)3(4)

      • 其中 γ t \gamma_t γt γ i \gamma_i γi 增加到 γ i + 1 \gamma_{i+1} γi+1 ,步长为 Δ t \Delta t Δt
      • 在我们的实验中,我们发现将 Δ t \Delta t Δt 10 10 10 变化到 100 100 100 对性能几乎没有影响,因此我们将 Δ t \Delta t Δt 设置为 10 10 10
    • 在每个涉及 γ t \gamma_t γt 的剪枝步骤之后,我们会进行一次重新训练,确保模型的任务区分能力得以保持。

    • 一旦 γ best \gamma_\text{best} γbest 被选定,我们就剪枝掉 γ best \gamma_\text{best} γbest 个总参数,并将它们设置为不重要的参数 θ ^ t \hat{\theta}_t θ^t,这些参数用于进一步的优化和解耦,而保留的参数被视为重要的参数 θ ˉ t \bar{\theta}_t θˉt,它们将保持固定。

3.3 Instance-level Test-time Learning

实例级测试时学习

  • 训练后,我们得到了 T T T 个子模型,每个子模型包含一组参数( θ ˉ t ∗ = { θ ˉ 1 ⋯ t − 1 ∪ θ ˉ t } \bar{\theta}^∗_t=\{\bar{\theta}_{1\cdots t−1}\cup\bar{\theta}_t\} θˉt={θˉ1t1θˉt}),这些参数对每个类别组具有高度的重要性。由于 θ ˉ 1 ⋯ t − 1 \bar{\theta}_{1\cdots t−1} θˉ1t1 θ ˉ t \bar{\theta}_t θˉt 的优化过程中被激活,因此两者都被包括在内。

  • 在推理阶段,为了在不同类别之间最优化地平衡参数重要性,我们使用实例级测试时自监督学习方法为每个子模型 f θ ˉ t ∗ f_{\bar{\theta}^*_t} fθˉt 生成基于预测稳定性最大化的聚合权重( λ t \lambda_t λt)。

    • 这受到了(Zhang 等人,2022)的启发,后者强调了模型专业知识和预测稳定性之间的正相关关系。然而,他们是在组的层面上生成 λ t \lambda_t λt,即 λ = { λ t } t = 1 T \lambda=\{\lambda_t\}^T_{t=1} λ={λt}t=1T
    • 我们认为,这种粗粒度的 λ \lambda λ 只能部分反映模型在不同类别之间的稳定性。因此,在我们的方法中,我们应用实例级别的聚合,即 λ = { { λ t } t = 1 T } i = 1 U \lambda=\{\{\lambda_t\}^T_{t=1}\}^U_{i=1} λ={{λt}t=1T}i=1U,其中 U U U 表示测试样本的数量。
  • 具体来说,给定一个输入测试图像 x x x,我们进行两次随机数据增强来产生 x x x 的两个视图,分别表示为 x 1 x_1 x1 x 2 x_2 x2。然后我们获得相应的预测 y ~ 1 = ∑ t = 1 T λ t f θ ˉ t ∗ ( x 1 ) \tilde{y}_1=\sum^T_{t=1}\lambda_tf_{\bar{\theta}^∗_t}(x_1) y~1=t=1Tλtfθˉt(x1) y ~ 2 = ∑ t = 1 T λ t f θ ˉ t ∗ ( x 2 ) \tilde{y}_2=\sum^T_{t=1}\lambda_tf_{\bar{\theta}^∗_t}(x_2) y~2=t=1Tλtfθˉt(x2)。我们的目标是使用这些两个视图的预测之间的余弦相似度最大化。
    λ = arg ⁡ max ⁡ λ y 1 ~ T y 2 ~ (5) \lambda=\arg\max_{\lambda}\tilde{y_1}^T\tilde{y_2}\text{(5)} λ=argλmaxy1~Ty2~(5)

    • 请注意, λ = [ λ 1 , ⋯   , λ t ] \lambda=[\lambda_1,\cdots,\lambda_t] λ=[λ1,,λt] 是这些函数中唯一可学习的超参数。
    • 通过最大化这两个预测之间的余弦相似度,相应的 λ t \lambda_t λt(与 f θ ˉ t ∗ f_{\bar{\theta}^∗_t} fθˉt 相关,对于特定类别样本的预测更加稳定)将被学习到增加。因此,这些学习的 λ t \lambda_t λt 可以有效地反映 f θ ˉ t ∗ f_{\bar{\theta}^∗_t} fθˉt 在预测未见样本时的信心。
    • 特定子模型 f θ ˉ t f_{\bar{\theta}_t} fθˉt 在给定类别上的预测稳定性越高,相应的聚合权重 λ t \lambda_t λt 在推理过程中将被更加强调,从而导致该类别的更可靠和准确的总体预测。

Section 5 Experiments

5.1 Datasets

  • ImageNet-LT

    ImageNet-LT 是 ImageNet 的长尾版本。它是通过使用幂值 α = 6 \alpha=6 α=6 从 Pareto 分布中采样一个子集生成的。它包含 115,800 张图像,涵盖 1,000 个类别,其中类的大小范围从 5 到 1,280。

  • iNaturalist 2018

    iNaturalist 2018 是一个大规模的物种分类数据集。它包含 8,142 个类别,这些类别受到严重的类别不平衡问题的影响,类别的大小范围从 5 到 4,980。

  • CIFAR100-LT

    CIFAR100-LT 包含 60,000 张图像,其中 50,000 张用于训练,10,000 张用于验证。这项工作使用了 CIFAR100 的长尾版本,其中不平衡比例( β \beta β)是手动选择的,使用 β = N m a x N m i n \beta=\frac{N_{max}}{N_{min}} β=NminNmax,其中 N m a x N_{max} Nmax N m i n N_{min} Nmin 是最常出现类和最少出现类的实例数。

  • Places-LT

    Places-LT 是原始 Places-2 的长尾版本,包含 184,500 张图像,来自总共 365 个类别,其中类的大小范围从 5 到 4,980。

5.2 Implementation Details

实施细节

  • 模型选择:

    我们在 ImageNet-LT 和 iNaturalist 2018 上使用 ResNet50,在 PlacesLT 上使用 ResNet152,在 CIFAR100-LT 上使用 ResNet32。

  • 训练周期、学习率、批量大小与设备:

    • 对于第一阶段,我们在 ImageNet-LT、iNaturalist2018 和 Places-LT 上进行 100 个周期的训练,并使用余弦调度器从 0.02 降低到 0 的学习率。
    • 对于剩余的两个阶段,由于我们只微调模型的部分部分,所以我们只训练 50 个周期,学习率分别为 ImageNet-LT、iNaturalist2018 和 Places-LT 的 0.002,CIFAR100LT 的 0.005。
    • 所有训练都在批量大小为 256 的情况下进行。
    • 在所有报告的实验中,我们使用在之前研究中已证明有效的强增强。所有报告的模型都是使用 4 个 NVIDIA Tesla V100 GPU 进行训练的。
  • ρ m \rho_m ρm 设置

在中间增强采样中的 ρ m \rho_m ρm 设置为 ImageNet-LT、iNaturalist 2018 和 Places-LT 的 80%,CIFAR100-LT 的70%。

  • γ b e s t \gamma_{best} γbest 设置

  • 为了选择 γ b e s t \gamma_{best} γbest,我们遍历从 0% 到 100% 的十个可能值,步长为 10%。

  • 对于所有使用的数据集,第一阶段的 γ b e s t \gamma_{best} γbest 设置为 50%,而对于第二阶段, γ b e s t \gamma_{best} γbest 设置为 ImageNet-LT、PlacesLT 和 CIFAR100( β = 100 \beta=100 β=100)的 80%,iNaturalist 2018 和 CIFAR100( β = 50 \beta=50 β=50)的 60%。

  • 我们在验证集上调整参数,并报告 ImageNet-LT 的测试集结果。对于其他仅具有 train-val 集的数据集,相同的验证集用于调整和基准测试。

5.3 Comparison to the Prior Art

与现有技术的比较

  • 我们比较了 DO 与之前的最先进方法。我们在 ImageNet-LT(表 1)、iNaturalist2018(表 2)、CIFAR100(表 4 和表 5)和PlacesLT(表 3)上展示了结果。

    • 对于所有比较的方法,如果他们在作品中使用了强增强,我们就报告了他们的性能。
    • 具体来说,我们选择了基于单一模型的(SE)方法。例如,损失重新加权(BSCE),LADE,GCL、知识迁移(CMO、RSG)、解耦基础方法(MiSLAS、WB)和特征学习(PaCo)以及多专家(ME)方法(RIDE、ACE、SADE、NCL、SHIKE 和 BalPoE。
    • 在这里插入图片描述
      • 图片注解:表 1:ImageNet-LT 测试精度(%)比较。
    • 在这里插入图片描述
      • 图片注解:表 2:iNaturalist 2018 测试精度(%)比较。
    • 在这里插入图片描述
      • 图片注解:表 3:Places-LT测试精度(%)比较。
    • 在这里插入图片描述
      • 图片注解:表 4: CIFAR100-LT β = 50 \text{CIFAR100-LT}_{\beta=50} CIFAR100-LTβ=50 测试精度(%)比较。
    • 在这里插入图片描述
    • 图片注解:表5: CIFAR100-LT β = 100 \text{CIFAR100-LT}_{\beta=100} CIFAR100-LTβ=100 测试精度(%)比较。
  • DO 在现有的 SE 方法中表现最佳;

    • 例如,它在 ImageNet-LT 和 iNaturalist 2018 上分别比 PaCo 提高了 3.4% 和 2.6%。
    • 此外,DO 仅训练了 200 个周期,这比基于对比学习的 ME 方法使用的 400 个周期训练要少得多。
    • 与 ME 方法相比,
      • DO 在三个特别具有挑战性的数据集上展示了最先进的性能(ImageNet-LT 的 60.4%,iNaturalist 2018 的 75.8%,Places-LT 的 42.8%),并在 CIFAR100-LT 数据集上取得了竞争性的结果(58.2% β = 50 \beta=50 β=50 和 53.8% β = 100 \beta=100 β=100)。
      • 然而,大多数 ME 方法在推理过程中使用三个或更多的完整网络作为它们的专家,而我们的 DO 使用只利用整个模型参数子集的子模型,这不仅减少了计算开销,而且实现了可比甚至更优越的性能。

5.4 Discussion & Ablations

讨论与消融

  • ρ m \rho_m ρm γ \gamma γ 的敏感性分析(Sensitivity analysis of ρ m \rho_m ρm and γ \gamma γ

    • ρ m \rho_m ρm 控制模型集中于中等组学习的程度。

      • 图 3 显示,增加 ρ m \rho_m ρm 可以改善中等组的表现,因为可以采样更多中等组中的类别。

        在这里插入图片描述

        • 图片注解:图 3:中等增强采样比 ρ m \rho_m ρm 的敏感性分析。
      • 然而,提高 ρ m \rho_m ρm 也会抑制其他两个组的学习。因此,随着 ρ m \rho_m ρm 的增大,改进的程度变得微不足道。

    • 我们在图 4 中展示了不同阶段不同剪枝比例下的性能变化。

      • 当剪枝比例较小时,性能下降也较小。这表明模型可能过于参数化,移除一部分参数不会对性能产生重大影响。

      • 此外,随着剪枝比例的增大,例如 ImageNet-LT 的第一阶段 50% 和第二阶段 80%,性能显著下降。

      • 因此,我们将其设置为 γ b e s t \gamma_{best} γbest,因为它产生最紧凑的模型,性能下降最低。

        在这里插入图片描述

        • 图片注解:图 4:不同剪枝方法下,不同剪枝比例的性能下降。 γ b e s t \gamma_{best} γbest 是在性能下降最大变化处选择的。
    • 此外,我们还比较了不同的参数重要性估计方法: L 1 L1 L1 范数、泰勒近似和 Fisher 信息。

      • 其中, L 1 L1 L1 范数性能下降最大。
      • 相比之下,两种基于梯度的方法提供了更可靠的估计。
        • 虽然 Fisher 估计假设所有神经元的权重都是严格正的(这只有在某些情况下才正确,如在(Molchanov 等人,2019年)中指出的那样),
        • 但泰勒近似明确估计了损失的变化,并证明是一个更好的重要性估计器。
  • 阶段选择的影响(Influence of stage selection)

    • 在表 6 中,我们列出了所提出框架的两个配置:两阶段和四阶段。

      • 前者仅进行多组和少组学习。它为多组和少组实现了良好的性能,但中等组仍需进一步改进。

      • 对于四阶段配置,我们将中等组分别均匀地分为中等-高(100∼50 个样本)和中等-低(50∼20 个样本)。这需要更长的训练时间,但仅带来微小的提升。

        在这里插入图片描述

        • 图片注解:表 6:ImageNet-LT 测试精度(%)与不同阶段数量的比较。
    • 阶段顺序也很重要,如表 7 所示。

      • 除了默认设置外,我们还进行了少数组首先学习,这显著提高了中等组的准确性。

      • 相比之下,我们的默认设置进一步提高了中等组和少数组的性能。这可能归因于两个原因。

        • 首先,第二阶段总是有更多的自由参数,这可以提高中等组的性能。
        • 其次,从多类和中等类学到的参数嵌入了大量信息,这可能有助于少数类的学习。

        在这里插入图片描述

        • 图片注解:表7:ImageNet-LT 测试精度(%)与不同阶段顺序的比较。
  • 中等偏好采样策略和 L c o m p \mathcal{L}_{comp} Lcomp 的有效性(Effectiveness of Medium-preferred sampling strategy and L c o m p \mathcal{L}_{comp} Lcomp

    • 如表 8 所示,将均匀采样替换为增强采样策略将性能从 55.8% 提高到 57.6%,表明增强中等组学习是有用的。

    • 此外,将损失函数从交叉熵更改为补偿损失是重要的,因为它鼓励每个参数组专注于学习互补信息。通过结合所有提出的组件可以实现最佳性能。

      在这里插入图片描述

      • 图片注解:表 8:ImageNet-LT 的消融研究。 “ A g g i n t / g p / a v g Agg_{int/gp/avg} Aggint/gp/avg”:实例级测试时聚合、组级测试时聚合和平均聚合。“ S u n i / m e d S_{uni/med} Suni/med”:中等组的全局采样或增强采样,以及“ L c o m p / c e L_{comp/ce} Lcomp/ce”:补偿损失或交叉熵损失。
  • 实例级测试时学习的有效性

    • 如表 8 所示,测试时学习对性能改进是有益的。实例级测试时学习策略可以比组级聚合策略提高大约 2% 至 3% 的性能。

    • 此外,表 9 的结果显示,我们的实例级测试时学习策略为具有不同专长的子模型学习合适的权重。

      • 对于从第一阶段学习的子模型, λ 1 \lambda_1 λ1 对于多组较高,而对于从第三阶段学习的子模型, λ 3 \lambda_3 λ3 对于少组较高。

        在这里插入图片描述

        • 图片注解:表 9:不同组实例的平均 λ t \lambda_t λt
    • 为了更好地理解性能与计算成本之间的权衡,在表 10 中,我们比较了 PaCo(一种没有测试时学习的算法)和 SADE(一种具有测试时学习的算法)的测试时成本。

      • 结果显示,我们的实例级测试时学习增加了计算开销,但带来了显著优越的结果。

      • 为了应对高计算成本的挑战,我们提出了一种替代方法,其中我们用所有子模型的输出平均值替换测试时学习(TTL)。这个版本仍然提供了竞争力的性能,同时显著加快了推理过程。这一结果强调了平衡权重重要性在缓解长尾问题方面的有效性。

        在这里插入图片描述

        • 图片注解:表 10:运行时成本评估。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

乡村振兴与乡村振兴战略的深度融合:落实乡村振兴战略,推动乡村全面发展,打造富强民主文明和谐美丽的社会主义现代化新农村

一、引言 在全面建设社会主义现代化国家的新征程中,乡村振兴战略承载着推动乡村全面发展、实现农业农村现代化的重大使命。乡村振兴战略的实施,不仅关系到亿万农民的福祉,也关系到国家整体发展的质量和水平。因此,深化乡村振兴与…

YOLOv8项目使用说明

1. 下载群公告中的百度云连接,得到一个压缩文件 2. 解压并使用相关软件(如pycharm、VSCode等)打开 3. 选择一个合适的模型yaml文件,及数据集yaml文件进行训练 4. 配置并填入数据集yaml文件 5. 运行即可

MyCat实现分库分表

两个集群 两个库 两个表 搭建数据库服务使用docker启动两个mysql 3506 3507连接MyCat创建两个数据源连接MyCat创建集群 mycat创建逻辑库MyCat创建全局表广播表创建分片表mycat逻辑库MyCat插入数据mycat查看数据物理库3506查看数据物理库3507查看数据 ER表创建ER表mycat插入数据…

【Linux:lesson1】的基本指令

🎁个人主页:我们的五年 🔍系列专栏:Linux课程学习 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 🚗打开Xshell,登陆root…

Python | Leetcode Python题解之第76题最小覆盖子串

题目: 题解: class Solution:def minWindow(self, s: str, t: str) -> str:ans_left, ans_right -1, len(s)left 0cnt_s Counter() # s 子串字母的出现次数cnt_t Counter(t) # t 中字母的出现次数less len(cnt_t) # 有 less 种字母的出现次数…

【Vue基础】Vue在组件数据传递详解

Vue核心基础-CSDN博客 先回顾Vue特性: Vue.js 是一个用于构建用户界面的渐进式框架,具有许多强大的特性。以下是一些主要的 Vue 特性: 响应式数据:Vue 使用双向绑定来实现数据的响应式更新。当数据发生变化时,视图会自…

系统重构思路

系统重构之道 现在是进行重构的恰当时机吗?重构前需要做什么准备?如何保障重构工作顺利完成并达成预期目标?从这几个大家都关心的问题,来谈谈重构工作遵循的基本思路和原则。 从实际问题出发 “不能解决实际问题的重构就是耍流…

详解:ic网站建设开发需要注意什么?

IC网站建设开发需注重专业内容的呈现、强大的产品检索功能、全面的技术支持、严格的合规性展示、便捷的采购工具、良好的用户账户管理、移动适应性和多语言支持,以及高性能与高安全性,以满足行业用户的专业需求,提升网站的实用性和吸引力。 …

winhex工具,将文件转换为16进制数据放入代码。

今天介绍winhex工具,可以将任何内容读取读取为16进制数据。下面看下效果。 下载链接: WinHex: Hex Editor & Disk Editor, Computer Forensics & Data Recovery Software 一、WinHex打开文件 我们要打开的文件: 打开后: 我…

数据结构--单链表 详解(附代码

目录: 1:链表的概念及结构 2:实现单链表 3:常见疑问 解答 (看到最后!!) 一:链表的概念及结构 1.1 概念: 链表是⼀种 物理存储结构上非连续、非顺序的 存储结…

Qt | QSpinBox 类 QDoubleSpinBox 类(微调框)

01、QSpinBox 类 1、QSpinBox类是 QAbstractSpinBox 类的直接子类和具体实现, 2、QSpinBox 类被设计用于处理整数和离散值集合,对于浮点值使用 QDoubleSpinBox 类实现。 3、QSpinBox 默认只支持整数值,但可通过其内部的成员函数进行扩展,以支持使用不同的 字符串。 02…

Web数字孪生引擎

Web数字孪生引擎是指用于在Web上创建和运行数字孪生的软件平台。它们通常提供一组API和工具,用于连接到实时数据源、可视化数据并创建交互式体验。Web数字孪生引擎被广泛应用于各种应用,例如工业物联网、智能建筑、城市管理和公共安全等。北京木奇移动技…

stata空间计量模型基础+检验命令LM检验、sem、门槛+arcgis画图

目录 怎么安装stata命令 3怎么使用已有的数据 4数据编辑器中查看数据 4怎么删除不要的列 4直接将字符型变量转化为数值型的命令 4改变字符长度 4描述分析 4取对数 5相关性分析 5单位根检验 5权重矩阵标准化 6计算泰尔指数 6做核密度图 7Moran’s I 指数 8空间计量模型 9LM检验…

基于Huffman编码的字符串统计及WPL计算

一、问题描述 问题概括: 给定一个字符串或文件,基于Huffman编码方法,实现以下功能: 1.统计每个字符的频率。 2.输出每个字符的Huffman编码。 3.计算并输出WPL(加权路径长度)。 这个问题要求对Huffman编码算…

在 Kubernetes 上运行 Apache Spark 进行大规模数据处理的实践

在刚刚结束的 Kubernetes Community Day 上海站,亚马逊云科技在云原生分论坛分享的“在 Kunernets 上运行 Apache Spark 进行大规模数据处理实践”引起了现场参与者的关注。开发者告诉我们,为了充分利用 Kubernetes 的高可用设计、弹性,在越来…

FFmpeg常用API与示例(四)——过滤器实战

1.filter 在多媒体处理中,filter 的意思是被编码到输出文件之前用来修改输入文件内容的一个软件工具。如:视频翻转,旋转,缩放等。 语法:[input_link_label1]… filter_nameparameters [output_link_label1]… 1、视…

凸优化理论学习二|凸函数及其相关概念

系列文章目录 凸优化理论学习一|最优化及凸集的基本概念 文章目录 系列文章目录一、凸函数(一)凸集(二)凸函数的定义及举例(三)凸函数的证明1、将凸函数限制在一条直线上2、判断函数是否为凸函数的一阶条件…

[每周一更]-(第96期):Rsync 用法教程:高效同步文件与目录

文章目录 一、引言二、rsync 基本概念三、介绍rsync 是什么?四、安装五、rsync 基本语法常见示例(默认ssh协议): 六、常用选项1. -a 或 --archive2. -v 或 --verbose3. -z 或 --compress4. --delete5. --exclude6. --exclude-from…

VR全景技术在养老院的应用优势浅析

随着时代的快速发展,人口老龄化越来越严重,如何利用VR技术提升养老服务的质量,成为了社会各界关注的焦点。为养老院拍摄制作VR全景,不仅能够为养老院的老人子女们跨越空间限制,实现与家人的情感连接,还可以…

做题杂记666

[XYCTF2024] 铜匠 题目描述: from Crypto.Util.number import * from secrets import flagm bytes_to_long(flag) m1 getRandomRange(1, m) m2 getRandomRange(1, m) m3 m - m1 - m2def task1():e 149p getPrime(512)q getPrime(512)n p * qd inverse(e,…