论文研读——《Task-Adaptive Negative Envision for Few-Shot Open-Set Recognition》

这是一篇关于少样本+开集识别的论文。

目录

论文简介:

 名词补充

论文的贡献

负原型生成器

确定动态阈值

共轭训练

补充:元训练过程

共轭训练过程

共轭训练损失

实验设置

总结


论文简介:

Task-Adaptive Negative Envision for Few-Shot Open-Set Recognition

题目:用于少样本开放集识别的任务自适应负面设想

出处:CVPR 2022   CCF A

作者:Shiyuan Huang,Jiawei Ma,Guangxing Han,Shih-Fu Chang

单位:哥伦比亚大学

研究问题: 本文研究少样本开放集识别 (FSOR) 问题,旨在构建一个能够在少量标记样本的情况下快速适应新类别,并拒绝未知负样本的识别系统。

现有方法的局限性: 传统的大规模开放集识别方法由于数据限制,在 FSOR 问题中效果不佳。现有的 FSOR 方法通常将少样本闭集分类器校准为对负样本敏感,以便通过阈值进行拒绝。然而,阈值调整是一个具有挑战性的过程,因为不同的 FSOR 任务可能需要不同的拒绝能力。

本文提出了一种名为 任务自适应负类想象 (TANE) 的方法,将阈值调整集成到学习过程中。具体来说,我们通过从少样本示例生成的额外负原型来增强少样本闭集分类器。通过在负生成过程中包含少样本类相关性,我们能够学习动态拒绝边界,用于 FSOR 任务。

解释:一个任务里设置的阈值边界在当前任务中可以很好的适用,但是放在其它类型的任务中就很难适用了,本文提出了一个动态的拒绝边界,可以适用每一个任务。

 名词补充

少样本学习(FSL):旨在快速适应新的识别任务,只需非常少的标记示例。它通常使用元学习来学习在一系列任务上可迁移的知识。

开放集识别(OR):模型需要能够识别并拒绝来自未知类别的样本。 FSOR :少样本开放集识别,快速适应新类别并拒绝未知样本。

GFSOR:它要求模型能够对多样本和少样本类别进行分类,并拒绝来自未知类别的样本。GFSOR 的目标是学习一个能够适应不同类别数量和比例的开放集识别系统。

元学习(Meta Learning):通常被理解为“学会学习 (Learning-to-Learn)”,指的是在多个学习阶段改进学习算法的过程。

少样本类:只有少量样本的类别;多样本类:有大量样本的类别。

原型:每个类别由一个或多个原型表示,原型是该类别所有支持样本特征的平均值或通过其他方法计算得到的一个特征向量。

负原型:负原型代表了未知类别(即负样本)的特征,它可以用来估计拒绝阈值,判断测试样本是否属于已知类别。 FSOR任务:T = (S, Qf, Qn|Cf),由支持集、正样本、负样本构成。

关于一个任务T中的数据集划分可以表示如下:首先数据集分为已知类和未知类,从已知类中取出几张图片作为支持集去训练模型,已知类中剩下的图片被划为查询集里的正查询,而未知类的图片被划分为负查询,正查询和负查询一起组成查询集。简单点来说,支持集就像是我们已经录入的指纹,而查询集是待识别的一些指纹,查询集里的图片依次跟支持集里的对比,判断当前图片属于哪一类。

论文的贡献

我们的方法已通过针对 FSOR 和 GFSOR 问题的公共基准测试的大量实验得到验证。 总之,我们的贡献如下:

  • 本文针对小样本开集识别问题,提供了一个无阈值的解决方案,扩展了具有计算任务自适应拒绝边界的负原型的分类器。
  • 设计了一个负类原型生成器并通过元学习跨任务学习负性原型,从而使负性原型作为不同FSOR任务的任务自适应拒绝边界。
  • 提出了一种有效的新训练策略——共轭训练,以促进学习过程。

负原型生成器

文中提到的负原型生成器有MLP (多层感知器)、ATT (注意力机制)、ATT-G、SEMAN-G,使用预训练网络提取出每一类的特征并得到每类的原型Pc。

  • MLP (多层感知器): 最简单的生成器,使用单个 MLP 层处理平均类别原型。
  • ATT (注意力机制): 使用 Transformer 注意力块处理类别原型,有效地建模类别间关系。
  • ATT-G (GFSOR 专用): 基于 ATT,但结合了 GFSOR 中的许多样本类别原型,避免对许多样本类别的偏差。
  • SEMAN-G (GFSOR 专用): 基于 ATT-G,但引入了类别语义信息,进一步提升辨别力。
  • 多负原型生成器: 生成多个负原型,每个原型对应一个动态阈值,提高灵活性。

负原型生成器其实就是在普通的softmax分类器的基础上,加了一步,每个正样本类别都得到了一个原型(能代表这一类的特征值),负原型是根据这些正样本的原型推导出来的。

确定动态阈值

该负原型是通过负生成器 gn(·) 从少样本类原型 Pf 计算出来的。 当查询进入时,它能够自动从负原型计算出特定于任务的阈值:

依次比较查询数据与每类原型的相似度,并与阈值比较,如果都比阈值小则负查询 q ∈ Qn 将被拒绝。因此,拒绝边界是根据少样本类 C f 和支持实例 S 动态估计的。

SEMAN-G方法计算了每个类别的负原型,有待查询数据时,查询数据的特征会与每一个负原型计算相似度,并取最大的值作为拒绝阈值。

上述的负原型生成器已经算出了负原型,当有待查询的图片进来对比时,该图片与负原型的余弦相似度就被设置为当前的阈值,如果说跟所有已知类的相似度都小于阈值,说明现在正在对比的图片是更接近负原型的,所以应该拒绝它;如果说跟已知类的相似度大于阈值,则说明当前正在对比的图片是已知类的一种,选最高的相似度作为它的类别。

共轭训练

补充:元训练过程

假设我们有一个包含 10 个基准类别的数据集,每个类别有 1000 张图片。

元训练过程:

任务采样: 从基准数据集中随机选择 5 个类别作为当前 FSOR 任务中的 少样本类别 (Few-Shot Classes)。例如,选择类别 1, 2, 3, 4, 5。

未知来源采样: 从剩余的 5 个基准类别中选择 5 个类别作为 未知来源。例如,选择类别 6, 7, 8, 9, 10。

正查询和负查询采样:

正查询: 从每个少样本类别中随机选择 1 张图片作为支持集,并从剩余的图片中随机选择 15 张图片作为查询集。

负查询: 从每个未知来源类别中随机选择 15 张图片作为负查询集。

模型训练: 使用开放集识别损失函数来训练模型,使其能够区分正查询和负查询,并拒绝来自未知来源的样本。

共轭训练过程

选择共轭任务:两个 FSOR 任务 T1 和 T2 被称为 共轭任务对,如果 T1 中的少样本类别可以作为 T2 中的未知来源,反之亦然。

  • 任务 T1: 少样本类别 {1, 2, 3},未知来源 {4, 5, 6}
  • 任务 T2: 少样本类别 {4, 5, 6},未知来源 {1, 2, 3}

执行共轭训练:

  • 根据共轭训练的定义,选择一对共轭任务 (T1, T2)
  • 分别训练两个任务: 使用标准的 FSOR 元训练方法分别训练 T1 和 T2。
  • 计算损失函数: 使用交叉熵损失函数来计算两个任务的损失,并添加一个正则化项来鼓励模型学习类内一致性。
  • 反向传播和参数更新: 将两个任务的损失函数进行求和,然后进行反向传播和参数更新。直到模型收敛。

共轭训练损失

1. 分类损失 (LCE):优化模型对已知类别和未知类别的识别能力。

对于已知类别 (q ∈ Qf),最小化真实标签 yq 与预测类别之间的交叉熵损失。 对于未知类别 (q ∈ Qn),将真实标签设置为 N+1,并最大化预测分数,从而鼓励模型将未知样本识别为未知类别。

2. 负样本正则化损失 (Lneg):优化模型学习到的负样本原型,使其能够更好地代表未知类别。

对每个正类原型生成的负类原型,计算它与负样本之间的二分类交叉熵损失,并使其尽可能小,从而增加它们之间的相似度。

总损失:L = LT1 + LT2

实验设置

实验数据集:

  • 84×84尺寸 MiniImageNet: 包含 100 个类别,用于元学习的类别划分为 (meta-training, meta validation, meta-testing) = (64, 16, 20)。每个类别有 600 张图片。
  • TieredImageNet: 包含 608 个类别,用于元学习的类别划分为 (meta-training, meta validation, meta-testing) = (351, 97, 160)。基础数据集包含大约 450K 张图片。

实验设置:

  • 使用 ResNet12 作为特征提取器,在基础数据集上进行预训练。
  • 使用元学习策略进行训练,包括标准 FSOR 元训练和作者提出的共轭训练。训练 18k 个任务。
  • 使用交叉熵损失函数进行训练。
  • 使用多种指标评估模型的性能,包括准确率、AUROC、F1-score 等。

实验结果:

  • 与基于阈值的分类器相比,本文的方法在 F1 分数方面取得了显著的提升,证明了无需阈值调整的有效性。
  • 与 SOTA 方法相比,本文的方法在分类准确率和负样本检测方面取得了优异的性能。
  • 通过消融实验,验证了共轭训练策略的有效性。
  • 在 CIFAR-FS 和 FC100 数据集上进行的额外实验进一步证明了本文方法的有效性。

总结

在本研究中,我们展示了基于阈值的方法在少样本开放集识别中的局限性,不同的任务可能需要非常不同的拒绝阈值,因此调整过程可能具有挑战性。为此,我们提出了针对 (G)FSOR 的任务自适应负向设想方法,其中负向原型是根据少样本/多样本类示例计算出来的。我们研究了不同设计的负向生成器,发现基于注意的生成器效果最好;添加类语义可以进一步提高性能。我们还引入了一种新的共轭类训练策略,以更好地促进学习过程。

项目地址 : GitHub - shiyuanh/TANE: Code Repository for "Task-Adaptive Negative Envision for Few-Shot Open-Set Recognition"

原文地址:Task-Adaptive Negative Envision for Few-Shot Open-Set Recognition | IEEE Conference Publication | IEEE Xplore

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值