Multi-Prompt Alignment for Multi-Source Unsupervised Domain Adaptation
NeurlIPS 2023
摘要
大多数现有的无监督域适应( UDA )方法依赖于共享网络来提取领域不变特征。无论如何,当面对多个源域时,优化这样的网络涉及更新整个网络的参数,这样既昂贵又有挑战性,特别是与最小最大策略耦合时。
受到提示学习的最新进展的启发,即以计算经济的方式为下游任务适配高容量模型,本文引入了多提示对齐( Multi-Prompt Alignment,MPA ),一种简单而有效的多源UDA框架。给定一个源域和目标域对,MPA首先通过使用对比损失来训练提示从而最小化领域差异。然后,MPA通过自动编码过程对学习到的提示进行去噪,并通过最大化所有重构提示的一致性来对齐提示。此外,我们还表明,通过自动编码过程得到的子空间可以很容易地推广到一个精简的目标域集合,从而使本文方法更有效地用于实际应用。
大量的实验表明,MPA在3个流行的数据集上取得了最先进的结果,在DomainNet上的平均准确率达到了54.1 %。
Introduction
深度学习在各种计算机视觉任务上取得了令人瞩目的进展。然而,其通常依赖于使用大量人工标注的数据进行有监督的训练,这是昂贵且耗时的。此外,目前的深度模型在训练和测试分布之间存在不同的图像风格、不同的光照条件、不同的视点等形式的领域偏移。
无监督域适应( UDA )是一种流行的策略,它通过将从有标记的源域中学到的知识迁移到未标记的目标域来缓解域差异。虽然已经取得了显著的进展,但目前的方法主要集中在单个源域设置上,即所有标记的训练数据具有相同的分布。然而,在实际应用中,从多个分布不同的源域中收集标注数据的情况更为普遍。一个最简单的方法就是可以通过将所有数据直接组合到单个数据源并应用现成的UDA方法来解决这个问题。然而,直接应用单源UDA方法往往会导致性能有限,因为不同源域之间也存在领域偏移。
在未标记的目标域上集成多个源域以获得提升的适应结果,一般称为多源无监督域适应。受Ben - David理论分析的启发,学习领域不变特征已成为多源UDA的主流范式。一种典型的方法是联合学习一个共同的特征提取器和特定领域的分类器头。各种特征距离度量和领域对抗训练可以作为源域和目标域之间的初步对齐,然后设计不同的辅助损失,以进一步减少域偏移。虽然这些方法在单源域场景下取得了不错的效果,但随着源域数量的增加,仅使用单个共享特征提取器来获取领域不变特征难以优化。如果我们期望使用更先进的骨干网络来提升性能,那么这个问题就会被放大。
本文引入提示学习,它旨在将从大型预训练视觉语言模型(如CLIP)中学习到的知识迁移到多源UDA中。在提示学习中,图像表征与一段文本提示进行对比学习。因此,在固定骨干网络的情况下对提示进行调整,以更有效地适应下游任务。虽然最近的研究认为可学习提示可以用于UDA,但它们仅限于单源场景,直接将其推广到多源场景结果会受限。
鉴于此,本文提出一个简单的多源UDA框架-——多提示对齐( Multi-Prompt Alignment,MPA )。MPA由两个步骤组成,首先通过为每个源域和目标域对调整一组参数来学习单个提示,然后构建一个领域不变的共享特征空间来挖掘学习到的提示之间的关系。更具体地说,给定一个源域和一个目标域,使用CLIP作为骨干,并为这样的一对学习一个提示。然后,受数据内在维度的启发,进一步使用一个自编码器网络来重构所有学习到的提示,旨在去除所有源域差异产生的冗余信息。最后,在给定去噪后的提示词的情况下,采用L1约束作为对齐策略,以便提示在目标图像的分类上达成一致。
本文在多个基准数据集上进行了广泛的实验,结果清楚地表明,本文方法在多源场景中优于最先进的方法。特别地,在多源UDA最具挑战性的数据集DomainNet上,MPA超过了当前最先进的方法。此外,由于公共的特征空间是用多个来源的提示来优化的,它编码了不同领域共享的知识,并且可以通过遍历该空间泛化到多个目标领域。因此,本文展示了如何调整学习到的低维嵌入,以便有效地部署到目标域集合中,称之为潜在子空间调优(LST)策略。
本文贡献
(1)本文提出多源UDA的多提示对齐( Multi-Prompt Alignment,MPA )方法。与其他方法相比,MPA利用了提示学习的优势,因此能够在性能和效率之间取得平衡。
(2)MPA通过最大化学习到多个提示的一致性来学习潜在空间。基于此,我们引入了潜在子空间调优( LST ),它能够连续地适应精简的目标域集合。
(3)MPA在几个基准上取得了最先进的结果,而LST提供了与可调参数相比少一个数量级的可比结果。
Method
本文目标是使用多个已标记的源域来提高目标域上的性能。为此,利用提示学习,这是一种有效的策略,通过学习一组参数来调整预训练的模型以适应不同的下游任务。
3.1 An Overview of Prompt Learning in CLIP
CLIP由一个图像编码器和一个文本编码器组成,在400M的图像和文本对上进行对比损失联合训练。图像编码器f可以是ResNet或Vision Transformer,将原始图像映射到特征空空间,文本编码器g是将输入文本序列投影到同一特征空间的Transformer。CLIP中的提示通常以' a photo of [ CLS ] '的形式存在,其中[ CLS ]是一个类标记,可以用某个类名替换。这个令牌序列首先被转换成一个小写的字节对编码表示,它本质上是一个唯一的数字ID。然后将数字ID嵌入到512维向量中,并进一步传递给Transformer文本编码器。本文训练了直接由文本编码器嵌入的软提示,而不是使用手工设计的提示。给定一个图像x和一个文本嵌入wk,k∈{ 1,2,..,K },其中K是类别的总数,CLIP以对比的方式将它们对齐,当输入图像x确实属于第k类时最大化:
3.2 Multi-Prompt Alignment
N代表领域的数目,其中前N-1个表示源域,第N个表示目标域。对于多源UDA方法,本文的目标是学习一种领域不变的潜在空间,以至于多个源域之间的领域偏移和源域目标域对之间的差异能够最小化。为实现以上目标,引入MPA框架。具体来说,本文设计了包含领域不变和领域特定特征的提示,并为每个源域和目标域对训练这种提示。本文使用自编码器架构对提示进行去噪,然后使用L1约束已经进一步的对齐。
Prompt Design.
解释图2:
本文用于多源UDA的提示由一组类别特定上下文token(M1表示token数目,K表示类别的个数)和一组所有类别共享的领域特定token(M2表示token的个数,d用于区分源域和目标域)组成。因此总共有2K个类别进行对比损失训练,每个源域和目标域对的提示可以表示为:
这些提示作为可学习的参数,通过对比损失来减少源域与目标域之间的差异。
Prompt Learning for Multi-source UDA.
为了将提示学习应用到多源UDA中,本文使用CLIP的图像和文本编码器为每个源域和目标域对训练单个的提示。
(1)给定源域Ds中的样本图像xs,其类标签是y*,我们对提示进行优化来将文本特征和图像特征对齐。
(2)对于目标域Dt的图像xt,其类标签未知,本文使用CLIP的zero-shot能力生成一个伪标签用于图像文本对齐。当CLIP的Eq1的预测概率大于固定阈值τ时,该伪标签才能生效。虽然像自训练方法可以生成伪标签,但是本文发现CLIP的方法简单有效。
(3)最后使用交叉熵损失函数对提示进行训练。对于每个提示Pi, i ∈ {1, 2, ..., N − 1},优化目标函数为:
其中表示d域中的图像x其类别为第K个类别的预测概率(CLIP中的图像编码器和文本编码器在训练过程中冻结):
这种特定的设计可以推动提示学习领域不变信息和领域特定信息的解耦表示,以提高领域自适应方法的性能。
(4)尽管Eq3可以为每个源域和目标域对学习一组提示,但是由于每个源域和目标域之间的领域偏移的变化,学习到的提示中的噪音水平也不同。即使对于同一目标域图像,它们也可能产生不一致的结果。因此,L1约束可以作为一种快速对齐的策略:
Better Alignment through Reconstructed Prompts.
尽管直接对学习到的提示进行对齐产生了不错的效果,但是提示是高维,可能包含冗余信息。受到高维数据位于低维流形的启发,本文使用自编码器来进行更好的对齐。通过这样的架构,本文希望学习到一个领域不变的去噪提示的潜在空间,以便于通过重构学习到的提示来去除冗余信息。
自编码器由一个投影函数Proj(·)和一个反投影函数Projb(·)组成。学习到的提示词Pi首先被Proj(·)投影到一个低维dI的潜在子空间中,然后Projb(·)将向量投影回软提示Pi~。Proj(·)由单词前馈神经网络实现,Projb(·)由两层非线性感知器实现:
其中vI = Proj ( Pi ),本文优化了一个重构损失:
然后本文对重构的提示进行提示对齐,即L1约束。因此,总体目标函数可以写为:
其中LCLS是使用静态伪标注计算的交叉熵损失,有助于重建过程。这里α是控制L1损失权重的超参数。整个对准过程如图3a所示。最后,为了预测目标样本的标签,使用all ( Pis )计算输出logits的平均值。
3.3 Latent Subspace Tuning
在实际应用中,当需要适应精简的目标域时,它更具有实用性。虽然我们可以重复地将MPA应用于每个目标域,但它的计算效率很低,特别是当配备大规模骨干模型时。为了缓解这个问题,我们引入了LST策略,该策略通过探索自动编码器导出的潜在空间来实现快速自适应。其核心思想是,由于MPA中自编码器学习到的潜在空间是在多个源域的提示下优化的,因此它能够单独对领域不变的知识进行编码。因此,我们可以在第一个目标域上采用MPA,并遍历MPA学习到的子空间,从而推广到下面的子空间。
给定一组目标域DT1,DT2,..,DTL,为了以计算有效的方式不断地适应它们中的每一个,我们首先在域DT1上进行MPA。在应用MPA成功后,得到了一个用于捕获不同领域之间关系的低维嵌入空间,并可快速适应域DT2,..,DTL。具体来说,对于后面的每个目标域DTi,随机初始化一个领域不变的特征向量(类别特定向量)和一个领域域特定特征向量,并将其传递给MPA学习的反投影函数Projb ( · )。因此,可以构造一个全新的提示:
同样借助于伪标签,通过最小化目标函数来调整以上新的提示:
Conclusion
本文将提示学习引入到多源UDA中,并提出了一种简单的MPA方案来对齐源域和目标域。MPA由两个步骤组成:第一步是为每个源域和目标域对训练单个提示,下一步使用自动编码器重建后对齐提示。大量的实验表明,MPA在各种多源UDA任务上取得了比最先进方法更好的结果,并且调整的参数大大减少。此外,还引入了LST策略,以有效地适应精简的目标域集合。由于该模型包含多个领域的有用线索,一个潜在的限制是它在信息泄露方面面临更多的风险,敌手可能会产生对窃取的攻击。