type
status
date
slug
summary
tags
category
icon
password
文章来源说明

🤔 摘要

  1. 我们解决了持续类别发现(CCD)的问题,该问题旨在在连续的未标记数据流中自动发现新类别,同时减轻灾难性遗忘的挑战——这是一个在传统、完全监督的持续学习中仍然存在的开放问题。为了应对这一挑战,我们提出了PromptCCD,这是一个简单但有效的框架,它使用高斯混合模型(GMM)作为CCD的提示方法。PromptCCD的核心是高斯混合提示(GMP)模块,它作为一个动态池,随着时间的推移进行更新,以促进表示学习和在类别发现期间防止遗忘。此外,GMP能够即时估计类别数量,允许PromptCCD在没有类别数量先验知识的情况下,在未标记数据中发现类别。我们扩展了广义类别发现(GCD)的标准评估指标到CCD,并在多样化的公共数据集上对最先进的方法进行了基准测试。PromptCCD显著优于现有方法,证明了其有效性。项目页面:https://visual-ai.github.io/promptccd.

📝引言

深度学习模型在众多计算机视觉任务中取得了令人印象深刻的性能。然而,这些任务大多数都是在封闭世界设置中进行的,其中的模型处理已知类别和预定义的场景。关键问题在于开发能够有效和高效地在现实世界中运行的系统。
类别发现最初作为新类别发现(NCD)[17]进行研究,并随后扩展到广义类别发现(GCD)[47],最近作为重要的开放世界研究问题出现,吸引了越来越多的关注和努力。NCD通过利用已知类别的标记数据,解决在未标记数据中自动发现未见类别的挑战,弥合了已知和新类别之间的差距。与此同时,GCD通过允许未知数据来自标记和新类别,扩展了这一挑战。然而,现有的NCD和GCD的工作主要只考虑静态数据集。我们的世界本质上是动态的,需要智能系统不仅能发现新类别,还能在适应新信息的同时保留过去的知识。因此,人们希望开发能够随着时间从未标记图像中发现新类别的方法。这项任务被称为持续类别发现(CCD)[56],它在持续学习场景中扩展了具有挑战性的开放世界类别发现问题(见图1)。CCD有两个主要挑战。第一个挑战是灾难性遗忘,这是持续学习设置中的一个众所周知的问题[9]。传统的减轻遗忘的技术,如基于复习的[39]、基于蒸馏的[32]、基于架构的[31]和基于提示的方法[50,51],都假设在每个阶段都有完全标记的数据,这与CCD框架不兼容,CCD的目标是处理未标记的数据流。第二个挑战是发现新的视觉概念。虽然GCD是一个相关的任务,但它在假设中操作静态集包含标记和未标记的数据。然而,这个假设对于CCD任务不成立,因为在发现阶段的连续流中的所有数据都是未标记的。
持续类别发现任务的概览。在初始阶段,模型从标记数据学习,而在后续阶段,模型从包含已知和新类别的未标记实例的连续数据流中学习。
持续类别发现任务的概览。在初始阶段,模型从标记数据学习,而在后续阶段,模型从包含已知和新类别的未标记实例的连续数据流中学习。
最近,视觉基础模型如[6,38]在各种视觉任务中取得了显著进展,显示出在从图像分类和目标检测到更复杂的任务如场景理解等方面的潜力。鉴于这些基础模型的能力,特别是自监督模型,我们对通过重新利用它们来有效解决具有挑战性的CCD问题感兴趣。为此,我们提出了PromptCCD框架。该框架使模型能够利用任何提示池来解决CCD。具体来说,在我们的框架内,我们引入了一个即插即用的高斯混合提示(GMP)模块。该模块使用高斯混合提示池来动态地建模每个发现阶段的数据分布。通过我们自适应查询的高斯混合提示增强特征表示,我们的方法在连续阶段识别新的视觉类别方面表现出色。同时,这些提示使模型能够无缝适应新出现的数据处理先前发现的类别,从而减轻灾难性遗忘。除了优于现有的CCD解决方案外,我们的框架还提供了独特的优势,即在未标记数据中即时估计类别数量,这在以前的工作中通常被认为是预先确定的[56]。在本文中,我们做出了以下贡献:(1)我们提出了一个名为PromptCCD的持续类别发现(CCD)的提示学习框架。它可以有效地重新利用自监督视觉基础模型来处理具有挑战性的CCD任务,仅引入少量额外的可学习提示参数,因此具有强大的实际使用可扩展性。(2)在提出的框架内,我们引入了高斯混合提示(GMP)模块,这是一种新的提示学习技术,利用高斯混合分量来增强表示学习,并在处理先前学习的数据时有效解决灾难性遗忘问题。值得注意的是,GMP的提示发挥了双重作用,即作为任务提示,在训练期间指导模型,以及作为类别原型,这对于CCD至关重要,因为在类别发现期间缺少标签信息。此外,GMP可以与其它方法无缝集成,提高它们的整体性能。GMP的一个额外独特功能在于其能够即时估计类别,使其非常适合处理开放世界任务。(3)最后,为了评估模型在CCD方面的性能,我们扩展了标准的GCD指标到一个新指标,称为持续ACC(cACC)。在通用和细粒度数据集上的广泛实验表明,我们的方法显著优于现有的CCD方法。

相关工作

半监督学习的目标是使用标记和未标记数据学习分类器[7, 37]。大多数工作假设未标记数据包含与标记数据中相同的类别实例[37]。伪标记[41]、一致性正则化[2,29,45,46]和非参数分类[1]是其中流行的方法。一些最近的工作不假设未标记和标记集中的类别相同,例如[21,44,54],但它们的焦点仍然是提高标记集中类别的性能。
持续学习的目标是训练模型,使其能够在一系列任务上执行学习,限制是模型只能看到它正在训练的当前任务的数据[9]。灾难性遗忘[36]是一种现象,当模型在新任务上训练时,它会迅速忘记之前训练过的任务的知识,导致在旧任务上的性能急剧下降。有丰富的文献设计方法使模型既能学习新任务,又能保持对旧任务的知识[3,4,14,31,32,39,51]。然而,这些工作都假设所有传入任务都提供了所有标签。相比之下,CCD假设新数据完全未标记,并且可能与之前的任务有类别重叠。
新/广义类别发现解决了未标记数据中存在新类别的问题,目标是自动对未标记样本进行分类,利用已知类别的标记样本。新类别发现(NCD)由DTC[17]正式提出,假设未标记和标记数据之间没有重叠。几种成功的NCD方法已经出现,通过排名统计[15,16,22,57]、数据增强[60]和专门的目标函数[13,23]显示出有希望的性能。问题后来被扩展到广义类别发现(GCD)[47],考虑未标记数据可能包含已知和新类别的样本。[47]使用自监督[8]和监督对比损失[25]对预训练模型进行微调,然后使用半监督k均值算法获得标签分配。SimGCD[52]基于[47]为GCD引入了一个强参数基线,取得了强大的性能。其他GCD方法专注于细粒度类别[11]、自动类别估计[18,59]和提示学习[49,55]。
持续类别发现是一个具有挑战性但相对未被充分研究的问题。NCDwF[24]在持续学习设置下研究NCD,模型首先从标记数据学习,然后专注于仅从未标记数据中发现新类别。NCDwF表明特征蒸馏和基于互信息的正则化器对这个问题是有效的。与NCDwF同时,FRoST[42]引入了一种基于重放的方法,在发现阶段存储来自标记数据的特征原型。MSc-iNCD[33]利用预训练的自监督学习模型来解决这个问题。Grow & Merge[56]在持续学习设置下研究GCD,模型在初始阶段可以访问标记数据,在后续阶段以序列方式访问未标记数据。这种方法利用一个增长阶段来检测新类别,一个合并阶段将新类别和先前学习类别的知识蒸馏到一个单一模型中。其他在持续学习设置下解决GCD问题的方法包括PA-CGCD[26],它使用基于代理锚的方法防止遗忘,以及MetaGCD[53],它使用元学习框架平衡类别发现和防止遗忘。另一种方法,IGCD[58],在持续学习设置下以略微不同的方式研究GCD,强调iNaturalist数据集用于植物和动物物种发现。在每个阶段,IGCD以部分标记的图像集作为输入,而不是像[26,53,56]中的完全未标记数据集。在本文中,我们考虑持续类别发现(CCD)作为在[26, 53, 56]中研究的设置。在CCD中,模型在初始阶段接收标记集,并且在后续阶段中的任务是从未标记数据中发现类别。

方法陈述

CCD中的数据集包含标记数据和未标记数据。标记数据包含输入xi ∈ X及其相应的标签yi ∈ Y的元组,它仅在初始阶段用于模型学习对类别发现有用的特征。在接下来的T个发现阶段中,每个阶段我们都接收到一部分未标记数据,可以用来训练模型。每个阶段的未标记数据不包含标签,它包含来自先前阶段的已知类别和新类别。CCD的目标是训练一个由θ参数化的模型Hθ : X → Z,该模型首先从标记的学习,然后在接下来的T个发现阶段中,从未标记数据学习,以便Hθ可以用来发现新类别并利用代表性特征为所有未标记实例分配类别标签,而不会忘记之前的知识。

3.1 PromptCCD-B (Baseline): Learning Prompt Pool for CCD

我们的基线CCD框架采用基于提示的持续学习技术,利用提示池模块使视觉基础模型适应CCD。
我们的基线CCD框架采用基于提示的持续学习技术,利用提示池模块使视觉基础模型适应CCD。
提示学习 [50, 51] 在监督持续学习中已被证明是有效的。通过适当设计的提示,可以大大减少模型在处理不断增长的数据流时所需的广泛修改。然而,这些方法不能直接应用于CCD任务,因为它们假设数据流是完全注释的,这与CCD的情况不符,CCD的目标是处理未标记的数据流。
为了解决这一差距,我们提出了一个新的基线提示学习框架,用于CCD,记作PromptCCD-B,灵感来自[50,51],这些作品学习提示池,以在ImageNet-21K [40]上采用大规模预训练模型(以监督方式)进行监督持续学习。这个基线被设计为学习一个共享的提示池,可以有效地适应自监督基础模型以应对CCD挑战。具体来说,模型使用冻结的预训练模型从查询示例中提取特征,然后使用该特征从共享池中的固定大小M提示中检索top-k最相关的提示。然后,这些提示被用来指导表示学习过程,通过将它们与输入嵌入结合,并在每个学习阶段使用对比学习进行优化。我们基线的整体框架如图2所示。给定一个模型,其中ϕ是投影头,fθ = {fe, fb}是基于变换器的特征背骨,由输入嵌入层fe和自注意力块fb组成。输入图像,其中H, W分别表示图像的高度和宽度,首先被分割成L个标记(patches),使得xq ∈ RL×(h×w×3),其中h, w分别表示图像块的高度和宽度。然后,这些块通过输入嵌入层xe = fe(xq) ∈ RL×z进行投影。一个可学习的提示池,包含M个提示,记作,其中是可学习的键值对,Lpp是提示池的标记长度。我们定义一个查询函数fθ*(不可训练),将输入图像x映射到特征空间。提示池上的查询过程以键值方式操作。对于给定的查询fθ*(x),我们找到提示池中与查询特征最相似的top-k个键,并检索相关值:
notion image
其中是V中top-k个最相似的键的集合。然后,检索到的提示被添加到补丁嵌入中以帮助学习过程
基线方法使用对比学习进行训练,设 为同一图像xi的两个随机增强视图。我们获得它们的表示为 。为了优化提示池,我们通过使用余弦距离损失,将选定的键拉向相应的查询特征:
其中 γ是余弦距离函数。最后,当阶段t的训练完成时,我们将当前的提示池V传输到下一个阶段。模型优化。为了优化模型的表示,我们遵循GCD文献,采用对比损失:
其中1[n=i]是一个指示函数,当且仅当n ≠ i时等于1,τ是温度值。如果xi是标记图像,N(i)对应于小批量B中具有相同标签y的图像。而如果xi是未标记图像,N(i)只包含图像的其他增强视图x′ i的索引,即,zp = z′ i。对于基线模型优化,在初始阶段,即,t = 0,我们有我们的初始标记集Dl,每个图像可能有一个以上的正样本;而在后续阶段,即,t > 0,我们只能访问未标记数据Du t,每个图像只有一个正样本,即,它的另一个增强视图。提示参数也在模型优化过程中同时优化。
基线的限制。我们的基线可以达到合理的良好性能,如第4节所示。但它有几个限制。首先,我们的基线缺乏防止遗忘的明确机制。在没有标签信息的指导下,模型可能会无意中在微调期间将其表示学习偏向当前未标记数据,导致表示偏差和遗忘。另一个限制来自于我们基线框架中提示池的固定大小。我们依赖于预定义的提示池大小,这限制了模型的可扩展性。因此,提示池的参数可能会阻碍模型发现越来越多的新类别。最后,我们的基线框架缺乏动态估计类别数量的有效机制,这是类别发现的一个关键挑战,根据GCD文献,但在CCD中仍然是一个未被充分探索的开放挑战。

3.2 PromptCCD: 学习CCD的高斯混合提示池

为了解决我们基线框架PromptCCDB中的上述限制,这里,我们提出了一个新的高斯混合提示(GMP)模块,它学习一个参数高效的高斯混合模型(GMM)作为提示池,从而形成一个新的框架,称为PromptCCD(见图3)。
我们提出的PromptCCD框架和高斯混合提示(GMP)模块的概述。PromptCCD通过学习动态的GMP池来适应视觉基础模型,以持续发现新类别并保留之前发现的类别。具体来说,我们利用GMP模块通过计算对数似然来估计输入ˆzi的概率,并使用组件的top-k均值作为提示,以指导基础模型。最后,为了保留之前学习的提示,我们从上一时间步t − 1拟合的GMM生成原型样本,并在当前时间步t拟合当前GMM,包含这些样本。
我们提出的PromptCCD框架和高斯混合提示(GMP)模块的概述。PromptCCD通过学习动态的GMP池来适应视觉基础模型,以持续发现新类别并保留之前发现的类别。具体来说,我们利用GMP模块通过计算对数似然来估计输入ˆzi的概率,并使用组件的top-k均值作为提示,以指导基础模型。最后,为了保留之前学习的提示,我们从上一时间步t − 1拟合的GMM生成原型样本,并在当前时间步t拟合当前GMM,包含这些样本。
高斯混合提示(GMP)模块。GMM被表述为:
其中C是高斯分量的数量,是可学习的混合权重,是每个分量的均值,是每个分量的协方差。给定特征对应于backbone中的[CLS]标记,我们计算每个混合分量的对数概率密度值与查询特征,并为不同的GMM分量获得一组对数似然值。最后,我们找到GMM中对数似然值最高的top-k分量并检索相关分量的均值:
其中是GMM中top-k分量的集合。与我们的基线框架类似,PromptCCD-B,通过将选定的提示与补丁嵌入结合,形成一组嵌入。然后我们应用与第3.1节中相同的对比学习目标来优化我们的PromptCCD框架。高斯混合提示池作为核心组件,支持跨阶段的持续类别发现。在阶段t的训练完成后,我们使用拟合的GMM采样一组样本,每个分量c在GMM中有S个样本。这些样本用于防止遗忘以前学到的知识,我们通过使用这些样本来拟合下一阶段t + 1的GMM来实现这一点。训练过程的伪代码在补充材料的Sec. S1中提供。
我们的GMP与现有的监督持续学习提示技术[50,51]相比,具有几个独特的优势。首先,GMP的提示发挥了双重作用,即(1)作为任务提示指导模型,(2)作为类别原型,作为发现类别的参数重放样本分布。第二个角色对于CCD/GCD是独特且重要的,它不仅允许模型绘制无限的重放样本以促进下一个时间步骤中的表示调整和类别发现,而且还允许模型转移先前发现和新类别的知识,并在决定发现新类别时整合这些信息。第二,我们的GMP模块使参数容易调整和跨阶段动态扩展。这使我们的模型具有很好的可扩展性,特别是在处理越来越多的类别时。最后,基于GMM的GMP模块设计使我们能够配备自动的分裂和合并机制,使我们的模型能够估计未标记数据流中的未知类别数量。

3.3 PromptCCD-U: 未标记数据中未知的类别数量

当未标记数据中的类别数量未知时,解决这个问题的一种方法是在每个时间步使用[47]中引入的非参数聚类方法进行离线估计。在CCD中,考虑到问题的持续学习特性,更合理的是在不引入额外模型或离线过程的情况下即时估计类别数量。受到GPC[59]的启发,它为GCD引入了一种基于GMM的类别数量估计方法,通过在学习能力评估聚类的紧凑性和可分性,使用马尔可夫链蒙特卡洛(MCMC)算法自动分裂和合并聚类。我们将这个关键思想纳入我们的CCD框架,利用我们的GMP模块中学习到的提示池,进一步增强我们框架的能力,以实现自动类别数量估计。我们把这种扩展变体的框架称为PromptCCD-U。
具体来说,考虑CCD的阶段t = 1。我们首先提取所有未标记样本Du t的特征,还使用我们上一阶段t = 0拟合的GMP中的GMM生成一组伪特征(作为来自标记数据Dl中已知类别的重放)。设组合特征为Z。然后我们将它们拟合到我们GMP中的GMM。由于中的类别数量未知,我们通过设置已知类别数量的初始类别数量来开始拟合,并加入[59]中的分裂和合并机制,以允许GMM的动态调整。特别地,对于GMM的每个高斯分量,我们进一步将其分解为两个子分量,即,µc,1, µc,2和Σc,1, Σc,2。然后我们计算Hastings比例,该比例在拟合迭代过程中衡量聚类的紧凑性和可分性。
Hastings 比例用于分裂聚类的定义为:
其中 Γ 是阶乘函数,h 是观测数据 Z 的边际似然函数,Zc,1 表示分配给子聚类 {c, 1} 的数据点,Nc,1 是子聚类 {c, 1} 中的数据点数量。注意 Hs 的范围在 (0, +∞) 内,因此我们将使用
作为执行分裂操作的有效概率。当 GMM 的拟合收敛时,得到的 GMM 组件数量就是迄今为止所有类别的数量。中新类别的数量可以通过简单地减去之前已学习的类别数量来获得。
notion image

🤗总结归纳

 

参考文章

 
 
致谢:
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
 
 
 

Loading...
刷题记录——数学

🎊刷题记录——数学


使用混合标签传播的深度半监督度量学习

🗒️使用混合标签传播的深度半监督度量学习