首页 > 其他分享 >(论文解读)Domain Adaptation via Prompt Learning

(论文解读)Domain Adaptation via Prompt Learning

时间:2024-08-26 18:56:25浏览次数:6  
标签:本文 Domain via Prompt 领域 文本 图像 类别 上下文

摘要

无监督域适应( UDA )旨在将从带有标签的源域数据中学习到的模型适应到未标注的目标域数据集。现有的UDA方法通过对齐源域和目标域特征空间来学习领域不变特征。这种对齐是通过约束实现的,例如统计差异最小化或对抗学习。

然而,这些约束会导致语义特征结构的扭曲和类别判别性的丧失。

本文提出一种新的UDA提示学习范式,命名为基于提示学习的领域自适应( Domain Adaptation via Prompt Learning,DAPL )。与之前的工作相比,本文方法使用了预训练的视觉语言模型,并且只优化了很少的参数。其主要思想是将领域信息嵌入到文本提示中,提示是由自然语言生成的一种表示形式,并用于分类。领域信息仅由来自同一领域的图像共享,从而根据每个域动态地自适应分类器。

通过采用这种范式,本文模型不仅在几个跨领域的基准上优于以前的方法,而且训练效率很高,易于实现。

Introduction

近年来,深度学习在大规模标注数据集的帮助下取得了巨大的成功。由于对大规模数据集进行标注成本高、耗时长,研究人员提出利用标注好的相关领域为未标注领域训练模型。然而,在已标注领域上训练的模型可能由于分布偏移而不能很好地泛化到未标注领域。无监督领域适应问题就是为了解决这种领域偏移下的知识转移问题。

传统的UDA方法主要通过对齐源域和目标域来学习领域不变表示。解释图1:利用领域对齐实现的相似特征分布,在源域上训练的分类器可以直接应用于目标域(图1 ,top)。(1)这类方法的一种是基于统计差异最小化,最大均值差异(MMD)和中心矩差异(CMD)。(2)另一种方法通过应用领域判别器,通过对抗训练来学习领域不变特征。这类方法通过混淆域判别器来减少源域和目标域在特征空间中的差异。  无论如何,通过领域对齐来减少差异可能会导致语义信息的丢失。当数据分布的流形结构复杂时,语义信息和领域信息纠缠在一起导致损失。为了弥补这一点,最近的一些UDA方法提出保留语义信息以保证类的判别性。由于领域对齐和保留语义特征两个目标是对抗性的,这些方法在两者之间进行了微妙的权衡。学习解耦的语义信息和领域表征可能是一种替代方法,因为领域对齐可以被放弃。

为了学习解耦的语义信息和领域表示,本文将提示学习方法引入到UDA中,在连续的标签空间中学习表示。解释图2:提示文本由三部分组成:领域无关上下文、领域特定上下文和类标签( token )。每个图像通过文本提示的类别标签对应一个类别。例如,显示"an art work of a dog"的图像可以对应提示"An image of a paingting Dog"。领域无关上下文表示一般的任务信息,并在所有图像之间共享。特定领域的上下文表示领域信息,并在每个领域中共享。类标签区分不同的类别。

提示学习方法允许学习领域和类别解耦的表示,避免了语义信息的丢失。继续解释图1(bottom):本文应用对比目标来训练。只有当图像和文本的领域和类别分别匹配时,图像和文本才构成一对正例,而其他情况都是反例。通过对比源域图像XS和类标签y的表征,在特征空间中分别对"草图"和"狗"的图像和文本表示进行对齐。进一步,通过对比目标域图像XT和标签y,将"素描"的文本表征推离"photo"域。因此,领域和类别的表征是分别对齐的。本文采用CLIP作为骨干网络来促进提示学习和对比学习。

在两个经典的跨域基准测试集上的大量实验表明,本文方法具有良好的性能,例如,我们在Office - Home和VisDA - 2017上取得了74.5 % / 86.9 %的sota性能。

本文贡献

(1)本文提出了基于提示学习的领域自适应( DAPL ),用于无监督的领域自适应(UDA)。本文首个将提示学习应用于无监督领域自适应中的。

(2)本文提出在提示中使用领域特定的上下文。因此,我们不必以丢失语义信息为代价来对齐领域。本文方法可以学习每个类别和领域的连续语义表示。

(3)本文提出的DAPL在Office - Home和VisDA - 2017数据集上取得了最先进的性能,比强基线CLIP提高了2.5 % / 2.5 %的准确性。

Method

源域数据集Ds(大小为Ns):

目标域数据集Du(大小为Nu):

源域数据集和目标域数据集共享K个类别范畴。

3.1 Preliminaries

本文采用CLIP作为骨干网络。本文模型由一个图像编码器f(·)和一个文本编码器g(·)组成。图像编码器可以是ResNet或者Vision Transformer (ViT),文本编码器是Transformer。图像和文本输入通过编码器直接从高维空间转换到低维特征空间。

CLIP使用图像-文本对以对比的方式进行训练。每个输入文本以' a photo of a [ CLASS ] ' 的格式描述一个类别。一个正对包含图像xi和描述该图像对应类别的文本ti组成。负对是在小批量中具有不相关描述tj和图像xi。训练的目标是使正对的余弦相似度最大和使负对的余弦相似度最小。对比学习目标将图像和文本表示在同一特征空间中对齐。

利用对齐后的特征,模型能够进行zero-shot推理。通过计算与k个文本的与相似度得到预测概率,该图像属于相似度最大的类别:

上面描述的输入文本是由一系列离散的token组成的手动设计的提示文本。将人工设计的提示转化为单词嵌入空间中的固定向量。由于这些向量对于类别的表示可能是次优的,我们可以优化标记的连续嵌入。连续表征tk允许更精确地描述对上下文变量学习重要的语义特征。

现有的提示学习方法采取了一种领域无关的风格,其中上下文在所有的领域的类别中是共享的,本文提示表示为:

3.2. Domain Adaptation via Prompt Learning

(1)由于领域无关的上下文提示不能解决领域之间的分布偏移问题,本文提出使用领域特定上下文(DSC)来捕获每个领域的特征。具体来说,我们提出上下文提示包含两个部分,领域无关上下文和领域特定上下文。(m2 ∈ {1, 2, . . . , M2},d ∈ {s,u})表示领域特定token,其维度和单词嵌入的维度相同。领域上下文提示在所有的类别中共享,但是其专门为每个领域设计(源域与目标域中不同)。其中M2代表领域特定token的个数。

提示的整体格式设计为:

(2)当文本特征空间中的[Class]token不足以对每个类别之间的差异进行建模时,领域无关上下文可以按照类特定的样式进行表示。因此每个类别可以用不同的token 进行初始化(其中d用于区分源域和目标域,k用于区分不同的类别,M1表示领域无关上下文的token数目,M2表示领域特定上下文的token数目):

可训练的类别特定上下文(领域无关上下文)比仅使用[Class]token可以学习到更细粒度的表示。本文就是采用的Eq.5中的类别特定上下文+领域特定上下文+[Class]。

(3)由于本文源域和目标域中的提示并不同,因此本文由2k个类别。给定源域中一组训练样本,可以得到该图像属于K个类别的预测概率:

根据图像x属于k个类别的预测概率分数,得到其真实类别标签,并且将其交叉熵损失最小化。损失函数:

(4)为了更深地探索未标记的数据,本文为目标域数据生成伪标签,从K个类别中选出预测概率最大的类别作为训练数据xu的伪标签yu。

本文只为目标域中预测概率大于伪标签质量标准τ的类别生成伪标签,并且使用CLIP的zero-shot能力生成伪标签。

然后使用目标域数据集及其伪标签基于Eq.6训练目标域的提示,通过对比学习目标进行训练:

(5)本文DAPL方法可以以端到端的方式进行训练,损失函数为:

3.3. Disentanglement by Contrastive Learning

本文采用对比损失L作为优化目标。本文为对比损失达到预期目标做了直观的解释:视觉编码器和文本编码器分别将输入编码为两个解耦的潜在表示,将领域信息和内在的类别信息进行分类。当类别信息和领域信息都对齐时,文本特征和图像特征之间的距离才最小。通过最小化正对之间的距离,正确标签的预测概率才最大化。

解释图4(a):首先,假设视觉表征

包含两个部分:领域d的领域信息zd和类别c的内在类别信息zc。类似,文本特征也包含以上两个部分pd和pc。接下来证明领域信息和类别信息可以通过优化目标进行分开。

解释图4(b):四个图像-文本对,其中有两个类别(猫、狗)和两个领域(照片、素描)。图像I1与提示P1形成正对,与提示P2形成负对。通过优化对比目标,图像特征f(I1)与g(P1)的句子嵌入之间的距离最小化,图像特征f(I1)与g(P2)的句子嵌入之间的距离最大化。这就表示狗的类别信息可以从草图/照片的领域信息中进行脱离开。相反,假设领域信息和类别信息仍然纠缠,即领域表示( p1d和p2d)包含狗的类别信息。在这种情况下,I1和P2仍然匹配,并且f (I1)和g (P2)之间的距离可以通过移除该类信息进一步最大化。换句话说,通过优化对比损失来减少领域表示中的类别信息。类似地,以( I1, P3)为负对,我们从类别表征中移除域信息,否则由于类表示中照片的纠缠域信息,f(I1)仍然匹配g(P3)。结合这两个负对,通过最小化对比目标,可以迫使领域表示和内在类别信息相互解耦。

Conclusion

本文介绍了一种新颖的用于无监督域适应的提示学习方法,它不像传统方法那样在领域之间进行特征对齐。相反,我们为每个领域设计特定领域的上下文,以促进学习源域和目标域的不同领域表示。通过利用提示学习,本文在多模态方法和领域自适应方法之间架起了一座桥梁。广泛的结果证明了本文方法的优势。提示学习方法未来可以扩展到无监督域适应中的其他视觉任务,如语义分割等

标签:本文,Domain,via,Prompt,领域,文本,图像,类别,上下文
From: https://blog.csdn.net/m0_54248968/article/details/141331086

相关文章

  • 论文解读Multi-Prompt Alignment for Multi-Source Unsupervised Domain Adaptation
    Multi-PromptAlignmentforMulti-SourceUnsupervisedDomainAdaptationNeurlIPS2023摘要大多数现有的无监督域适应(UDA)方法依赖于共享网络来提取领域不变特征。无论如何,当面对多个源域时,优化这样的网络涉及更新整个网络的参数,这样既昂贵又有挑战性,特别是与最小最大......
  • Efficient Prompting Methods for Large Language Models: A Survey
    本位是LLM系列文章,针对《EfficientPromptingMethodsforLargeLanguageModels:ASurvey》的翻译。大型语言模型的高效提示方法综述摘要1引言2概述3高效计算提示4高效设计提示5未来提示:理论分析6结论摘要提示已成为使大型语言模型(LLM)适应特定自然......
  • WPF Button Command and CommandParamet completed via C# no xaml at all
    privatevoidButtonCommandBinding(){Buttonbtn=newButton();btn.Width=500;btn.Height=300;btn.Content="ShowInfo";btn.Background=newSolidColorBrush(Colors.Blue);btn.Command=ShowCmd;......
  • C# read excel file via ExcelDataReader
    Install-PackageExcelDataReader usingExcelDataReader;usingSystem.Text;usingSystem.IO;namespaceConsoleApp50{internalclassProgram{staticvoidMain(string[]args){ReadExcel("aaa.xls");......
  • Prompt Engineering 完整指南
    PromptEngineering完整指南PromptEngineering是与AI模型进行交互的关键技术,通过精心设计的指令(prompt)引导模型生成高质量的输出。本文将详细介绍prompt设计的最佳实践、基本原则以及高级技巧,帮助你在实际应用中最大化模型的效用。1.Prompt设计的基本原则1.1......
  • WPF KeyDown MVVM Via Behavior
    <behavior:Interaction.Triggers><behavior:EventTriggerEventName="KeyDown"><behavior:CallMethodActionMethodName="Window_KeyDown"TargetObject="{Binding}"/></behavior:EventTrigger>......
  • 《NET CLR via C#》---第七章(常量,读/写字段,可读字段)
    常量常量是值从不变化的符号。定义常量符号时,它的值必须能在编译时确定。确定后,编译器将常量值保存到程序集元数据中。这意味着只能定义编译器识别的基元类型的常量。在C#中,可用于定义常量:Boolean,Char,Byte,SByte,Int16,UInt16,Int32,UInt32,Int64,UInt64,Single,Double,Decimal,String。C#也......
  • 《NET CLR via C#》---第六章(类型成员,类型的可访问性,友元程序集,分部类型,CLR调用方法指
    类型成员类型可以定义0个或者多个以下种类的成员。成员描述常量常量是指出数据值恒定不变的符号。这种符号使代码更易阅读和维护。常量总与类型关联,不与类型的实例关联。常量总与类型关联,不与类型的实例关联字段字段表示只读或可读/可写的数据值。字段可以是静态......
  • Fal.ai Flux 1-Pro/Viva.ai/哩布哩布AI:AI绘图部分免费工具+原图提示词Prompt
    目录#1找软件#2懂提示词#3更难的一步,会英文我个人认为,想要玩文生图,你要会3个步骤:#1找软件主流文生图软件:Midjourney、StableDiffusion、Dall-E3巧了,我用的都是小众、免费的画笔工具:国内的哩布哩布(我的老师引领我入门的第一款软件)、通义千问、刚出道的Fal.ai的FLU......
  • 《NET CLR via C#》---第五章(基元类型,引用类型和值类型,对象相等性和同一性,对象哈希码)
    基元类型编译器直接支持的数据类型称为基元类型(primitvietype),基元类型直接映射到Framework类库(FCL)中存在的类型。例如,C#的int直接映射到System.Int32类型。因此,以下4行代码都能正确编译,并生成完全相同的IL:inta1=0;//最方便的语法System.Int3......