【prompt一】Domain Adaptation via Prompt Learning

1.Motivation

当前的UDA方法通过对齐源和目标特征空间来学习域不变特征。这种对齐是由诸如统计差异最小化或对抗性训练等约束施加的。然而,这些约束可能导致语义特征结构的扭曲和类可辨别性的丧失。

在本文中,引入了一种新的UDA提示学习范式,即通过提示学习进行领域适应(DAPL)。使用了预训练的视觉语言模型,并且只优化了很少的参数。主要思想是将领域信息嵌入到提示中,这是一种由自然语言生成的表示形式,然后用于执行分类。该域信息仅由来自同一域的图像共享,从而根据每个域动态调整分类器。

2.Introduce

通过对齐域来减少差异可能会导致语义信息的丢失。当数据分布的流形结构很复杂时,这种损失来自于语义和领域信息的纠缠性。为了解决这个问题,最近的一些UDA方法主张保留语义信息以保持类的可判别性。然而,这些方法在领域对齐和保留语义特征之间存在微妙的权衡,因为两个目标可能是对立的。学习解纠缠的语义和领域表示可以是一种选择,因为领域对齐可以被丢弃。

为了学习解纠缠语义和领域表示,将提示学习方法引入UDA,通过学习连续标签空间中的表示。图2说明了提示设计。提示符由三部分组成:与领域无关的上下文、特定于领域的上下文和类标签(token)。每个图像通过提示符的类标签对应一个ground truth类。例如,显示“狗的艺术作品”的图像可以对应提示“绘画狗的图像”。与领域无关的上下文表示一般任务信息,并在所有图像之间共享。特定于域的上下文表示域信息,并在每个域中共享。类标签区分不同的类别。

这种提示学习方法使我们能够学习领域和类别的解纠缠表示,并避免语义信息的丢失。应用对比目标进行训练。图像和文本只有在领域和类别匹配的情况下才构成一对正例,其他情况都是反例。通过对比XS和y的表示,“sketch”和“dogs”的图像和文本表示分别在特征空间中对齐。此外,通过对比XT和y,“sketch”的文本表示被推离“photo”域。因此,领域和类别的表示分别是对齐的。采用对比语言图像预训练(contrast Language Image Pretraining, CLIP)作为主干,促进提示学习和对比学习。

3.Method

3.1. Preliminaries

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

CLIP以对比的方式使用图像-文本对进行训练。每个输入文本以“一张[CLASS]的照片”的格式描述一个类别([CLASS]是类别标记)。正对是一个图像xi及其对应描述xi的类别的文本ti。负对是小批量中图像xi以及具有不相关描述tj, j≠i。训练目标是最大化正对的余弦相似度,最小化负对的余弦相似度。对比学习目标将图像和文本表示在相同的特征空间中对齐。

在特征对齐后,该模型能够进行zero-shot推理。通过转发K个类别描述,一个图像x将属于相似度最大的类别\hat{y}_{i}:

其中T是用户定义的超参数(温度),<.>表示余弦相似度。

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

现有的提示学习方法采用了一种领域不可知论的风格,即上下文在所有领域和所有类别之间共享。它遵循统一的风格:

式中[v]m1, m1∈{1,2,…M1}是与嵌入词具有相同维数的向量,M1是提示符中应用的上下文令牌的数量。

3.2. Domain Adaptation via Prompt Learning

由于单独的领域不可知上下文不能处理领域之间的分布转移,使用领域特定上下文(DSC)来捕获每个领域的独特特征。具体地说,提示包含两个对应的上下文,一个域不可知论上下文和一个域特定上下文。使用\left [ d \right ]_{m_{2}}^{d},m_{2}\in \left \{ 1,2,...,M_{2} \right \}来表示特定于领域的标记,这些标记与词嵌入具有相同的维度。特定于领域的上下文在所有类别之间共享,但专门为每个领域设计\left [ d \right ]_{i}^{s}\neq \left [ d \right ]_{j}^{u},i,j\in \left \{ 1,2,...,M_{2} \right \}。特定于域的token的数量用M2表示。域指示器表示源域和目标域d∈{s, u}。整个提示符定义为以下格式:

当文本特征空间中的[CLASS]token不能完全建模每个类之间的差异时,领域不可知的上下文可以遵循由类特定上下文表示的类特定样式。每个类都可以用不同的token初始化:

可训练的类特定上下文可以学习比仅[CLASS]令牌更细粒度的表示。

本文的主要结果基于类特定上下文和领域特定上下文,如Eq.(5)。

有2K个类别,因为分别为源域和目标域应用了不同的提示任务t_{k}^{s},t_{k}^{u}。给定源域的一组训练样本{xsi, ysi}Nsi=1,可以得到训练样本属于第k类的概率:

以图像xi属于k类的概率,最小化给定真标签ysi的标准交叉熵损失。损失计算如下:

为了进一步利用未标记的数据,在目标域上生成伪标签。从K个预测概率最大的类中选择,作为训练数据x^{u}的伪标签y^{u}:

仅为最大预测概率大于伪标签质量的固定阈值τ的未标记数据生成伪标签。利用CLIP的zero-shot推理能力来生成伪标签。用对比目标Eq.(6)来训练这些未标记的图像及其伪标签的目标域t_{k}^{u}提示符:

其中I{·}为指示函数。总的来说,提出的通过提示学习(DAPL)的领域适应方法可以以端到端方式进行训练,并且具有总对比损失:

现有的域自适应方法在源域上训练分类器学习一个条件概率分布P (y|xs)。通过对齐P (f(xs))和P (f(xu))的边际分布,可以直接利用条件概率在目标域上进行推理。当条件概率分布P (y|xs)≠P (y|xu)时,这些方法可能面临性能下降的风险。本文方法不对齐边缘分布,而是学习两个条件概率分布P (y|xs)和P(y|xu)通过学习两组提示符t_{k}^{s},t_{k}^{u}, k∈{1,2,…K}。因此,本文方法既可以处理条件分布偏移,也可以处理边际分布偏移。DAPL的概述如图3所示。

通过提示学习的领域适应(DAPL):(a) DAPL训练可学习的上下文变量:领域不可知的上下文变量和领域特定的上下文变量,以及由文本编码器组合和编码的[CLASS]令牌。(b)图像编码器对来自不同域的图像进行编码。(c)接下来,计算文本和图像特征之间的余弦相似度,并鼓励正对(具有匹配的域和类)对齐。在Eq.(6)中定义分类概率,并在图像特征和地面真值类之间应用交叉熵损失来训练网络。

3.3. Disentanglement by Contrastive Learning

采用对比损失L作为优化目标。在这里,提供了一个直观的解释为什么这个目标达到了预期的目标:视觉编码器和文本编码器各自将输入编码成两个分离的潜在表示,将领域信息与内在类信息分离。只有当类信息和领域信息对齐时,文本特征和图像特征之间的距离才会最小化。通过最小化这些正对之间的距离(最大化相似性),可以最大化正确标签的概率(参见Eq.(6))。

首先,假设可视化表示f(xdi)包含两部分:域d的域信息和类c的固有类信息(图4 (a), zd和zc)。

同样,语言嵌入g(tdk)包含同样的两部分:域d的域信息和类c的类信息(图4 (a), pd和pc)。

接下来,证明了通过优化对比目标可以将这些领域信息和类信息分离开来。

图4 (b)提供了一个说明性示例。在这个例子中,有四个图像-文本对,它们有两个类(猫、狗)和两个域(照片、素描)。以图像I1,提示符P1和P2为例。图像可以与提示符P1形成正对,与提示符P2形成负对。通过优化对比目标,使图像特征f(I1)与g(P1)的句子嵌入之间的距离最小(绿色),而图像特征f(I1)与g(P2)的句子嵌入之间的距离最大(红色)。声称这迫使狗的类信息从照片或素描的领域表示中解脱出来。相反,假设领域信息和类信息在表示中仍然纠缠在一起,即领域表示(p1d和p2d)中包含狗的类信息。在这种情况下,I1和P2仍然匹配,并且f(I1)和g(P2)之间的距离可以通过删除该类信息进一步最大化。换句话说,通过优化对比损失来减少领域表示中的类信息。同样,取(I1, P3)为负对,从类表示中去掉域信息,否则由于类表示中照片的域信息纠缠,f(I1)仍然匹配g(P3)。结合这两个负对,可以通过最小化对比目标,迫使领域表示和内在类信息相互分离。

4.实验

4.1 setting

实现细节。对于Office-Home,使用预训练的CLIP模型,并采用ResNet-50作为其图像编码器。在编码器中固定参数,并使用mini-batchSGD优化器训练提示符200 epoch,其中批大小设置为32。初始学习率设置为0.003,并使用余弦退火规则进行衰减。对于VisDA-2017,使用ResNet-101作为图像编码器,利用预训练的CLIP模型获得结果。图像和文本编码器的参数是固定的,使用32个批次的小批量SGD优化器训练提示符25个epoch。最初将学习率设置为0.003,并使用余弦退火规则进行衰减。对于超参数,上下文令牌M1和域特定令牌M2的长度都设置为16。令牌号的其他选择将在第4.3节中讨论。上下文向量使用标准偏差为0.02的零均值高斯分布随机初始化。Office-Home的伪标记阈值τ设置为0.6,VisDA-2017设置为0.5。关于τ值的进一步讨论见第4.3节。

4.2 实验结果

4.3 消融实验

消融:特定于领域的上下文。为了证明领域特定上下文的有效性和必要性,比较了以下提示设置在VisDA-2017数据集上的性能:

(1)手动设计提示“一张[CLASS]的照片”作为基线;

(2)统一上下文形式的领域不可知论提示(如式(3)所示);

(3)特定类别语境形式的领域不可知论提示;

(4)领域不可知论提示,其形式为与领域特定上下文统一的上下文(如式(4)所示);

(5)领域不可知提示,其形式为类特定上下文和领域特定上下文(如Eq.(5)所示)。

消融:上下文令牌长度。在表4中进行实验,探索上下文令牌长度的影响。

与领域无关和特定于领域的上下文令牌的长度分别用M1和M2表示。从结果可以看出,当M1 < M2时,性能稍低。总的来说,令牌长度对本文方法的性能影响很小。这意味着可以用少量的标记来学习连续表示。

消融:伪标签阈值。在表5中,给出了本文方法对超参数τ的灵敏度,范围从0.4到0.7。由于伪标签的质量和数量之间的权衡,本文方法似乎对τ不敏感。例如,当τ为0.7时,训练模型的伪标签更少,但置信度更高,伪标签的质量可以弥补数量减少带来的性能下降。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浅谈Dubbo核心概念及架构流程

浅谈Dubbo核心概念及架构流程 前言重要概念1、SPI2、ServiceBean3、URL4、Invoker 整体流程1、架构图2、调用链路 笔者碎碎言&#xff0c;我们学习Dubbo应该学的是什么&#xff1f; 笔者是一名业务开发&#xff0c;认为一切目的都要为我们的目标服务&#xff0c;即日常工作有帮…

天软特色因子看板 (2023.12 第14期)

该因子看板跟踪天软特色因子A06008聪明钱因子(beta))&#xff0c;该因子为以分钟行情价量信息为基础&#xff0c;识别聪明钱交易&#xff0c;用以刻画机构交易行为 值越大&#xff0c;越反映其悲观情绪&#xff0c;反之&#xff0c;反映其乐观情绪。 今日为该因子跟踪第14期&am…

对属于国家秘密的地理信息的获取、持有、提供、利用情况进行登记并长期保存,实行可追溯管理

对属于国家秘密的地理信息的获取、持有、提供、利用情况进行登记并长期保存&#xff0c;实行可追溯管理 数据记录&#xff08;包括获取、持有、提供、利用、销毁等全闭环&#xff09;

DataProcess-VOC数据图像和标签一起进行Resize

VOC数据图像和标签一起进行Resize 参加检测比赛的时候&#xff0c;很多时候工业原始数据尺度都比较大&#xff0c;如果对数据不提前进行处理&#xff0c;会导致数据在加载进内存时花费大量的时间&#xff0c;所以在执行训练程序之前需要将图像提前进行预处理。对于目标检测的数…

用友GRP-U8 UploadFile 文件上传漏洞

漏洞描述 用友GRP-U8行政事业内控管理软件是一款专门针对行政事业单位开发的内部控制管理系统&#xff0c;旨在提高内部控制的效率和准确性。该软件/UploadFile接口存在文件上传漏洞&#xff0c;跟上篇文章类似&#xff0c;同样可以通过任意文件上传恶意后门文件&#xff0c;从…

猫头虎分享2023年12月17日博客之星候选--领域赛道博主文章数据

猫头虎分享2023年12月17日博客之星候选–领域赛道博主文章数据 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开…

java String转asc码,然后ascII再转四位的16进制数。

理论知识补充&#xff1a; Java中char是什么&#xff1f; 在Java中&#xff0c;char是一种数据类型&#xff0c;用于表示字符。字符是计算机中的最小单位&#xff0c;它可以是字母、数字、标点符号等。Java中的char类型占用16位&#xff0c;范围从0到65535&#xff0c;可以表示…

【svn】win11最新svn每天自动化定时update、commit,隐藏窗口,定时脚本编写

本文使用schtasks结合bat脚本实现全自动svn update以及commit操作。执行时隐藏cmd窗口&#xff0c;全自动后台执行。 执行脚本 写脚本参考了网上很多文章&#xff0c;但是这些文章的方法都有问题或者已经失效&#xff0c;比如&#xff1a; 老版本的bat脚本&#xff0c;使用v…

Python 爬虫之下载视频(五)

爬取第三方网站视频 文章目录 爬取第三方网站视频前言一、基本情况二、基本思路三、代码编写四、注意事项&#xff08;ffmpeg&#xff09;总结 前言 国内主流的视频平台有点难。。。就暂且记录一些三方视频平台的爬取吧。比如下面这个&#xff1a; 一、基本情况 这次爬取的方…

如何利用flume进行日志采集

介绍 Apache Flume 是一个分布式、可靠、高可用的日志收集、聚合和传输系统。它常用于将大量日志数据从不同的源&#xff08;如Web服务器、应用程序、传感器等&#xff09;收集到中心化的存储或数据处理系统中。 基本概念 Agent&#xff08;代理&#xff09;&#xff1a; …

LaTex设置标题页、修改文字颜色和文字高亮

目录 一、标题页 1&#xff09;常用的代码 2&#xff09;添加脚注 二、修改文字颜色和文字高亮 1&#xff09;设置文本的颜色 2&#xff09;添加文本高亮 3&#xff09;给文本添加有颜色的方框 一、标题页 主要的代码&#xff1a; \begin{titlepage} \noindent\fonts…

【计算机四级(网络工程师)笔记】操作系统运行机制

目录 一、中央处理器&#xff08;CPU&#xff09; 1.1CPU的状态 1.2指令分类 二、寄存器 2.1寄存器分类 2.2程序状态字&#xff08;PSW&#xff09; 三、系统调用 3.1系统调用与一般过程调用的区别 3.2系统调用的分类 四、中断与异常 4.1中断 4.2异常 &#x1f308;嗨&#xff…

【JMeter入门】—— JMeter介绍

1、什么是JMeter Apache JMeter是Apache组织开发的基于Java的压力测试工具&#xff0c;用于对软件做压力测试。它最初被设计用于Web应用测试&#xff0c;但后来扩展到其他测试领域。 &#xff08;Apache JMeter是100%纯JAVA桌面应用程序&#xff09; Apache JMeter可以用于对静…

idea structure视图介绍

作用 idea的Structure视图可以辅助查看代码结构 如何呼出Structure视图&#xff1f; Alt 7 Ctrl F12 侧边栏点Structure 我的常用配置 1、选Show Toolbar&#xff0c;便于使用功能按钮 2、使用Float视图&#xff0c;悬浮于窗口表面&#xff0c;可以使用 ShiftEsc来退出…

SpringMVC:整合 SSM 上篇

文章目录 SpringMVC - 03整合 SSM 上篇一、准备工作二、MyBatis 层1. dao 层2. service 层 三、Spring 层四、SpringMVC 层五、执行六、说明 SpringMVC - 03 整合 SSM 上篇 用到的环境&#xff1a; IDEA 2019&#xff08;JDK 1.8&#xff09;MySQL 8.0.31Tomcat 8.5.85Maven…

ModuleNotFoundError: No module named ‘sklearn.cross_validation‘

文章目录 报错信息报错原因解决方案 关注公众号&#xff1a;『AI学习星球』 算法学习、4对1辅导、论文辅导或核心期刊可以通过公众号或➕v&#xff1a;codebiubiu滴滴我 报错信息 ModuleNotFoundError: No module named sklearn.cross_validation 报错原因 这个cross_vali…

Redis数据库入门学习(下载与安装、常用命令、在Java中操作Redis)

简介 下载与安装 数据类型 常用命令 1.字符串操作命令 2.哈希操作命令 3.列表操作命令 push是将元素总是插入到第一个 0表示第一个&#xff0c;1表示第二个。-1表示倒数第一个&#xff0c;-2表示倒数第二个。当前命令的意思是第一个到倒数第一个&#xff0c;即就是全部元素 rpo…

最新技术整理3款开源免费直播推流工具,实现实时视频推流、视频拉流,目标端可以是服务器、云平台、移动设备等(附源码)

最新技术整理3款开源免费直播推流工具&#xff0c;实现实时视频推流、视频拉流&#xff0c;目标端可以是服务器、云平台、移动设备等&#xff08;附源码&#xff09;。 什么是推流&#xff1f; 视频推流是指将实时的视频数据从一个源端发送到一个或多个目标端的过程。推流的源…

基于ssm重庆理工大学心理咨询管理子系统的分析与实现论文

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理&#xff0c;然而&#xff0c;随着近些年信息技术的迅猛发展&#xff0c;让许多比较老套的信息管理模式进行了更新迭代&#xff0c;心理咨询预约信息因为其管理内容繁杂&#xff0c;管理数量繁多导致手工进行处理不能…

.NET中的Swagger使用

目录 前言 一、Swagger是什么&#xff1f; 二、如何Swagger文档说明的信息 1.在AddSwaggerGen方法中写入文档信息 2.运行效果 二、文档UI界面标题、路由设置 1.在中间件UseSwaggerUI方法中配置 三、文档UI界面添加接口注释 1.在 .csproj中配置 2.在AddSwaggerGen方法中配置Incl…