【域适应十九】CDTRANS: CROSS-DOMAIN TRANSFORMER FOR UN-SUPERVISED DOMAIN ADAPTATION

motivation

无监督域自适应旨在将学习到的知识从一个有标记的源领域转移到另一个无标记的目标领域。大多数现有的UDA方法都是使用基于卷积神经网络(cnn)的框架,从领域层面或类别层面学习域不变特征表示。基于类别级别的UDA的一个基本问题是为目标域中的样本产生伪标签,这些伪标签通常过于嘈杂,无法进行准确的域对齐,不可避免地影响了UDA的性能。随着Transformer在各种任务中的成功,我们发现Transformer中的交叉注意对噪声输入对具有鲁棒性,可以更好地进行特征对准,因此本文将Transformer用于具有挑战性的UDA任务。具体来说,为了生成准确的输入对,我们设计了一种双向中心感知标记算法,为目标样本生成伪标签。结合伪标签,提出了一种权重共享的三支路transformer框架,分别对源/目标特征学习和源-目标域对齐应用自注意和交叉注意。这样的设计明确地强制框架同时学习判别特定于领域和领域不变的表示。提出的方法被称为CDTrans(跨域transformer),它提供了用纯transformer解决UDA任务的第一次尝试之一。

1. Introduce

在UDA中,大多数方法侧重于对齐源域和目标域的分布以及学习域不变特征表示。其中一种UDA方法是基于类别级对齐,他们使用深度卷积神经网络(cnn)在公共UDA数据集上取得了有希望的结果。

基于类别级对齐的基本问题是为目标域的样本生成伪标签以生成输入源-目标对。然而,目前基于cnn的方法对生成的噪声伪标签的鲁棒性不强,无法实现精确的域对齐,我们发现Transformer中的交叉注意善于对齐不同的分布,甚至来自不同的模式,例如视觉到视觉,视觉到文本和文本到语音。结果表明,该方法对伪标签中的噪声具有一定的鲁棒性。因此,在本文中,我们将transformer应用于UDA任务,利用其对噪声的鲁棒性和对特征对齐的超强能力来处理cnn中的上述问题。

在我们的实验中,我们得出结论,即使在标签对中有噪声,由于注意机制,交叉注意仍然可以很好地对齐两个分布。为了获得更准确的伪标签,我们设计了一种针对目标域样本的双向中心感知标记算法。基于跨域相似矩阵生成伪标签,并采用中心感知匹配对矩阵进行加权,将噪声减弱到可容忍范围内。

在伪标签的帮助下,我们设计了UDA的跨域transformerCDTrans)。它由三个权重共享transformer分支组成,其中两个分支分别用于源数据和目标数据,第三个分支是特征对齐分支,其输入来自源-目标对。在源/目标transformer分支中采用自注意,在特征对齐分支中采用交叉注意进行域对齐。这样的设计明确地强制框架同时学习判别特定于领域和领域不变的表示。

贡献有三个方面:

  • 提出了一个权重共享的三支路transformer框架,即CDTrans,用于精确的无监督域自适应,利用其对噪声标记数据的鲁棒性和对特征校准的强大功能。
  • 为了生成高质量的伪标签,提出了一种双向中心感知标注方法,提高了CDTrans环境下的最终性能。
  • CDTrans在VisDA-2017和DomainNet 数据集上实现了与最先进的性能相比的最佳性能。

2. 相关工作

2.1 Transformer for Vision

基于纯Transformer的模型正变得越来越流行。例如,ViT 是最近通过向变压器馈送图像补丁序列提出的;Touvron等人(Touvron等人,2021)提出了DeiT,该DeiT引入了transformer的蒸馏策略,以帮助进行ViT训练;许多其他ViT变体,在图像分类和下游任务,如目标检测、语义分割和目标ReID 等方面,与同类cnn相比,取得了令人满意的性能。对于基于多模态的网络,有几项工作将交叉注意应用于多模态特征融合,这表明注意机制在提取噪声和特征对齐方面是强大的。本文采用了纯transformer背景下的交叉注意方法来完成UDA任务。

2.2 无监督域自适应

UDA方法主要有两个层面:领域层面和类别层面。域级UDA通过将源域和目标域在不同的尺度级别上拉入相同的分布,减轻了源域和目标域之间的分布差异。常用的散度度量包括最大平均差异( MMD) 和Correlation Alignment (CORAL) 。最近,一些工作通过特征提取器和两个特定于领域的分类器之间的对抗方式,专注于细粒度类别级标签分布对齐。与领域尺度上的粗粒度对齐不同,这种方法通过将目标样本推到每个类别中的源样本分布来对齐源和目标领域数据之间的每个类别分布。显然,细粒度对齐会在相同的标签空间内产生更精确的分布对齐。尽管对抗性方法通过在类别级别融合源样本和目标样

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

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

相关文章

AWTK MODBUS Client channel 模型

名称:modbus_client_channel 功能:通过 modbus 协议访问远程 slave 设备上的数据,需要配合 modbus_client模型一起使用。用于将 modbus client 中的 channel 包装成view_model或者view_model_array 一般来说不需要,直接使用modbus…

MySQL怎么提升主从复制性能

在MySQL主从复制结构中,随着连接至数据源的副本数增加,尽管负载相对较小,但仍会增加负载,因为每个副本都要和数据源建立一个客户端连接。此外,由于每个副本都必须接收到源二进制日志的完整副本,源上的网络负…

CentOS 系统的优缺点

CentOS (社区企业操作系统的缩写)是一个基于红帽企业 Linux (RHEL)的免费开源发行版, 旨在为服务器和工作站提供稳定、可靠和安全的平台。 不应将其与CentOS Stream 混淆,后者是即将发布的 RHEL 版本的上游开发平台。 CentOS Li…

C++初阶之入门

零、什么是C C是基于C语言而产生的,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行面向对象的程序设计。 C缺点之一,是相对许多语言复杂,而且难学难精。许多人说学…

一般神经网络的微分与网络参数的初始化

(文章的主要内容来自电科的顾亦奇老师的 Mathematical Foundation of Deep Learning, 有部分个人理解) 一般深度神经网络的微分 上周讨论的前向和反向传播算法可以推广到任意深度神经网络的微分。 对于一般的网络来说,可能无法逐层分割,但仍然可以用流…

抖音小店运营过程中,每天必须要做的7件事情!少一件都不行!

大家好,我是电商小V 最近很多新手小伙伴刚做店,操作抖音小店每天需要做的事情都是哪些呢?感觉自己一天很忙,但是也没有忙出来结果,思绪很乱,关于这个问题咱们今天就来详细的说一下,给你们梳理总…

02 贪吃蛇

前言 呵呵 这是不知道 在哪里看到的 别人做的一个贪吃蛇 因此 也把我 之前的 贪吃蛇 移植上来了 当然 这个不过是为了 简单的入门了解, 呵呵 然后 c版本的贪吃蛇 需要先移植成 c 版本, 然后 再根据 单片机相关 设计调整 比如 led 点阵的输出, 比如 c99 语法的一些不兼容…

12 c++版本的坦克大战

前言 呵呵 这大概是 大学里面的 c 贪吃蛇了吧 有一些 面向对象的理解, 但是不多 这里 具体的实现 就不赘述, 仅仅是 发一下代码 以及 具体的使用 坦克大战 #include<iostream> #include<windows.h> #include<conio.h> #include<ctime> #include…

Python编程的终极十大工具

Python一直以来都是程序员们的首选编程语言之一&#xff0c;其灵活性和功能强大的库使其成为解决各种问题的理想选择。在本文中&#xff0c;我们将介绍Python编程的终极十大工具&#xff0c;这些工具可以帮助您在各种领域取得成功&#xff0c;无论您是初学者还是经验丰富的开发…

面试(四)

目录 1. 组长安排了一个不可能完成的任务&#xff0c;怎么拒绝&#xff1f; 2.讲一下Freertos的机器人 3. Freertos的中断 4. Freertos功能 5. 树莓派怎么识别二维码&#xff1f; 6. Linux脚本作用&#xff1f; 7. Modbus&#xff1f; 8. freertos的动态创建和静态创建…

【C++】C++的内存管理

目录 内存分布 动态内存管理 C语言的动态内存管理 C的动态内存管理 对内置类型操作 对自定义类型操作 new[]和delete[] 开空间的细节 探讨匹配问题 定位new表达式 内存分布 栈&#xff1a;存放非静态局部变量&#xff0c;函数参数&#xff0c;返回值等。栈是向下增长…

【数字电路与系统】【北京航空航天大学】实验:时序逻辑设计——三色灯开关(五)、小结

本次实验&#xff08;一&#xff09;见博客&#xff1a;【数字电路与系统】【北京航空航天大学】实验&#xff1a;时序逻辑设计——三色灯开关&#xff08;一&#xff09;、实验指导书 本次实验&#xff08;二&#xff09;见博客&#xff1a;【数字电路与系统】【北京航空航天…

大语言模型——涌现能力

在现有文献中,大语言模型的涌现能力被非形式化定义为在小型模型中不存在但在大模型中出现的能力”,具体是指当模型扩展到一定规模时,模型的特定任务性能突然出现显著跃升的趋势,远超过随机水平。类比而言,这种性能涌现模式与物理学中的相变现象有一定程度的相似,但是仍然…

如何在Android应用中安全地使用SQLite数据库,并通过SQLCipher进行加密保护

Android内置SQLite轻量级关系型数据库,可以在Android应用中存储、检索和管理结构化数据。SQLite是一个无服务器的、零配置的、事务性的SQL数据库引擎,非常适合用于移动设备和桌面应用程序中。 SQLite特点: 「轻量级」:SQLite不需要单独的服务器进程或操作系统级别的配置。…

Vim学习笔记01~04

第01章&#xff1a; 遁入空门&#xff0c;模式当道 1.什么是vim Vim是一个高效的文本编辑工具&#xff0c;并且可以在编程开发过程中发挥越来越重要的作用。 事实上&#xff0c;有不少编程高手使用他们来进行代码的开发&#xff0c;并且对此赞不绝口。 2.本系列目的 但是让…

微信小程序按钮点击时的样式hover-class=“hover“

小程序的button组件很好用&#xff0c;按钮点击的时候会显示点击状态&#xff0c;默认的就是颜色加深 但是我们改变了button的背景色之后&#xff0c;就看不出点击效果了&#xff0c;解决起来也很简单 关键代码就是小程序的 hover-class 属性&#xff0c;需要注意的是&#xff…

C 语言实例 - 计算 int, float, double 和 char 字节大小

使用 sizeof 操作符计算int, float, double 和 char四种变量字节大小。 sizeof 是 C 语言的一种单目操作符&#xff0c;如C语言的其他操作符、–等&#xff0c;它并不是函数。 sizeof 操作符以字节形式给出了其操作数的存储大小。 #include <stdio.h>int main() {int …

代码随想录算法训练营Day8 | ● 344.反转字符串● 541. 反转字符串II● 54.替换数字● 151.翻转字符串里的单词● 55.右旋转字符串

&#xff08;记得重学&#xff09; ● 344.反转字符串 题目&#xff1a;编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间&#xff0c;你必须原地修改输入数组、使用 O(1) 的额外空间解决这一…

让Springboot JpaAuditing 支持ZonedDateTime

我们项目需要支持国际化&#xff0c;那么日期时间就需要有时区了&#xff0c;否则我们在今天早上9点干的事&#xff0c;人家美国人看到的是明天的时间。所以我们在Auditable中的创建时间和更新时间我们都定义为ZonedDateTime. 然而在保存的时候却抛出如下错误&#xff1a; Cau…

Qt [获取Dump] 使用WindowsAPI实现生成MiniDump文件

说明 客户现场的软件偶发崩溃是程序开发者&#xff0c;比较头疼的事情。如何更快速的定位到问题点和解决掉&#xff0c;是开发应该具备的基本能力。 Windows提供了一系列的API&#xff0c;可以记录软件崩溃前的堆栈信息。下面就实现一个生成Dump文件的程序实例。 主要代码 回…