《SeTformer Is What You Need for Vision and Language》
会议:AAAI
年份:2024
论文:DDAE: Towards Deep Dynamic Vision BERT Pretraining - AMiner
https://www.aminer.cn/pub/6602613613fb2c6cf6c387c2/ddae-towards-deep-dynamic-vision-bert-pretraining
摘要
这篇论文介绍了一种新型的变换器模型,名为SeTformer,它针对视觉和语言任务进行了优化。SeTformer的核心创新是将传统的点积自注意力(DPSA)替换为一种基于自我最优传输(Self-optimal Transport,简称SeT)的机制。这种替换旨在解决传统变换器在处理长序列时面临的计算效率低下的问题,同时保持或提升性能。SeT基于两个关键的softmax属性:维持非负的注意力矩阵和使用非线性重加权机制来强调输入序列中的重要token。通过引入核成本函数来实现最优传输,SeTformer有效地满足了这些属性。实验结果表明,SeTformer在多个任务上都取得了令人印象深刻的性能,包括在ImageNet-1K上的分类准确率、目标检测和语义分割等。
拟解决的问题
传统变换器(如Vision Transformer, ViT)在处理长序列数据时,由于softmax操作导致的二次时间和内存复杂度,使得模型训练和推理变得非常昂贵。这限制了变换器在处理长文档或高分辨率图像等任务时的应用。
创新之处
- 自我最优传输(SeT):提出了一种新的自注意力机制,使用最优传输(OT)和核方法来计算输入特征之间的对齐分数,代替了传统的点积操作。
- 核特征映射:通过将输入特征映射到再生核希尔伯特空间(RKHS),保持了注意力矩阵的非负性质。
- 效率与性能的平衡:在减少参数和计算量的同时,SeTformer在多个视觉和语言任务上取得了与现有最先进方法相媲美或更好的结果。
方法

传统的自注意力方法:输入序列的每个元素(token)都会计算与其他所有元素的关系,通常使用点积(Dot Product)来衡量元素间的相似度。然后,通过softmax函数对这些相似度进行归一化,得到注意力权重,这些权重用于加权求和,形成每个元素的输出表示。

尽管自注意力在捕捉序列内长距离依赖方面非常有效,但其计算复杂度随着序列长度的增加而呈二次方增长,这在处理长序列时(如高分辨率图像或长文本)变得非常昂贵。
为了解决以上问题,提出了自我最优传输(SeT),这是一种新颖的自注意力替代方案。SeT利用最优传输(OT)理论来计算输入特征之间的对齐分数,而不是传统的点积操作。
SeT的关键步骤:
- 特征映射到RKHS:将输入特征向量映射到再生核希尔伯特空间(RKHS),使用正定核函数保证映射后的向量是非负的。
- OT对齐:使用最优传输(OT)来对齐输入特征和参考特征。OT通过计算最小成本的传输计划,来找到输入特征与参考特征之间的最佳匹配。
- 加权聚合:通过OT得到的对齐分数作为权重,对输入特征进行加权聚合,形成输出特征。
特征映射到RKHS
-
选择或定义核函数:首先,选择一个合适的正定核函数 𝐾(𝑥,𝑥′),它能够将原始空间 𝑋 中的数据点映射到一个高维特征空间 𝐹。常用的核函数包括高斯核、多项式核、拉普拉斯核等。
-
特征映射:通过核函数定义一个特征映射 𝑢:𝑋→𝐹,其中 𝐹 是一个希尔伯特空间。在RKHS中,任意两个点 𝑥 和 𝑥′ 之间的核函数值 𝐾(𝑥,𝑥′) 可以表示为这两个点在 𝐹 空间中映射的内积,即 𝐾(𝑥,𝑥′)=〈𝑢(𝑥),𝑢(𝑥′)〉𝐹。
由于核函数是正定的,它保证了映射后的向量之间的内积是非负的,这与softmax操作的非负性相一致。
OT对齐
OT是数学中的一个概念,它描述了将一个概率分布转换为另一个概率分布的最优方式,这可以类比为将一堆“土”(代表概率质量)从一个位置移动到另一个位置,最小化运输成本。
用于在特征空间中对齐输入和参考特征。在SeTformer中,OT对齐用于计算输入特征与一组参考特征之间的相似性或对齐分数,这些分数随后用于加权聚合,形成注意力机制的输出。
OT对齐的关键步骤:
1. 用Kantorovich形式表示,通过最小化成本函数加上熵正则化项来求解:

C 是成本矩阵,𝑇 是传输计划矩阵,𝜇 和 𝜈 是分别与 𝑋 和 𝑌 相关的分布,𝜖 是正则化参数,𝐻(𝑇) 是传输计划的熵,计算公式如下:
![]()
2. 使用Sinkhorn算法来求解上述优化问题,该算法通过迭代过程不断调整传输计划 𝑇 以逼近最优解。OT 根据各个元素/标记在输入中的重要性为不同的元素/标记分配不同的权重,类似于 softmax 注意力中的重新加权方案。换句话说,T(x, x′) 中的每个值表示 x 与 x′ 的元素对齐的权重或重要性。
Self-optimal Transport (SeT)
- 将输入输入特征 𝑋 和参考特征 𝑌 映射到RKHS,这些参考特征用于与输入特征进行对齐
- 使用OT来计算输入特征 𝑋 和参考特征 𝑌 之间的对齐分数,通过最小化传输成本来找到最优的传输计划 𝑇。
- 根据OT得到的传输计划 𝑇,进而形成对齐矩阵 𝐴:
,其中U是输入特征在RKHS中的表示
- 将输入特征 𝑥 通过传输计划 𝐴 与参考特征 𝑦 的加权聚合
![]()
输入特征:通过相关网络提取的图像特征
参考特征:参考特征是一组预先计算好的向量,它们代表了输入数据中的关键特征或模式。可以通过聚类算法(如K-means)从训练数据中生成的。这种方法可以捕捉到数据中的代表性特征,并将它们用作参考特征集。参考特征在模型中起到了锚点的作用,帮助模型通过OT对齐来聚合输入特征。
总的来说,在SeTformer中,SeT用于替代传统的自注意力机制,通过以下步骤:
- 输入特征通过卷积层进行下采样和嵌入。
- 使用SeT计算输入特征与参考特征之间的对齐分数。
- 根据对齐分数进行特征的加权聚合,生成新的表示。
- 这些表示被送入后续的网络层,如多层感知机(MLP)和归一化层。
结论
SeTformer展示了在视觉和语言任务中的高效性和有效性。通过一系列实验验证了其在图像分类、目标检测和语义分割等任务上的优越性能。此外,SeTformer在语言建模任务上也取得了良好的结果,证明了其在不同领域的泛化能力。论文指出,SeTformer为探索更好的基于内容的交互提供了新的视角,有助于提升视觉识别模型的性能。
相关文章:
《SeTformer Is What You Need for Vision and Language》
会议:AAAI 年份:2024 论文:DDAE: Towards Deep Dynamic Vision BERT Pretraining - AMinerhttps://www.aminer.cn/pub/6602613613fb2c6cf6c387c2/ddae-towards-deep-dynamic-vision-bert-pretraining 摘要 这篇论文介绍了一种新型的变换器…...
[保姆级教程]uniapp安装使用uViewUI教程
文章目录 创建 UniApp 项目下载uView UI下载安装方式步骤 1: 安装 uView UI步骤 2: 查看uView UI是否下载成功步骤 3: 引入 uView 主 JS 库步骤 4: 引入 uView 的全局 SCSS 主题文件步骤 5: 引入 uView 基础样式步骤 6: 配置 easycom 组件模式注意事项 NPM方式步骤 1: 安装 uVi…...
网络安全法规对企业做等保有哪些具体规定?
网络安全法规对企业做等保的具体规定 根据《中华人民共和国网络安全法》,企业作为网络运营者,需要履行网络安全等级保护制度的相关义务,确保网络安全和数据保护。具体规定包括: 网络安全等级保护制度:企业应根据网络安…...
Java开发中超好用Orika属性映射工具
Orika属性映射工具 引入pom依赖 <dependency><groupId>ma.glasnost.orika</groupId><artifactId>orika-core</artifactId><version>1.5.4</version></dependency>上干货 封装的工具类:OriUtilsimport ma.glasnost.orika.Map…...
qt初入门8:下拉框,输入框模糊查询,提示简单了解 (借助QCompleter)
实现一个简单的模糊查询的逻辑,输入框能提示相关项。 主要借助qt的QCompleter 类( Qt 框架中提供的一个用于自动补全和模糊搜索的类),结合一些控件,比如QComboBox和QLineEdit,实现模糊查询的功能。 1&…...
【qt】VS中如何配置Qt环境
https://download.qt.io/official_releases/vsaddin/ 首先需要下载一下vsaddin,上面的是下载的网站. 下载的时候可能会出现下图的情况 说明你下的vsaddin和您的VS版本不匹配,所以你可以多下几个其他版本的vsAddin,一般都是和你VS版本相匹配的才可以,如Vs2022,那就试试vsaddin2…...
对于相同网段的IP,部分无法ping通问题
现象1:在Linux上执行 ping 192.168.1.232,无法ping通 分析1:使用ifconfig查询,联网使用eth0口,只能上网192.168.10.xx网段,需要增加网段 解决方法:使用ip addr 查询,本身只具备10网…...
Unity发布XR中用于worldbuilding的全新电子书
通过身临其境的虚拟领域开始旅程,在维度之间传送,或将数字奇迹与现实世界融合——虚拟现实(VR)和混合现实(MR)的千万种可能性将邀请创作者把他们的想象力带入生活。 Unity发布的最新版综合指南将帮助有抱负的创作者和经验丰富的开发者深入研究和理解构建…...
Vue3相比于Vue2进行了哪些更新
1、响应式原理 vue2 vue2中采用 defineProperty 来劫持整个对象,然后进行深度遍历所有属性,给每个属性添加getter和setter,结合发布订阅模式实现响应式。 存在的问题: 检测不到对象属性的添加和删除数组API方法无法监听到需要对…...
Unity UGUI 之 Slider
本文仅作学习笔记与交流,不作任何商业用途 本文包括但不限于unity官方手册,唐老狮,麦扣教程知识,引用会标记,如有不足还请斧正 1.Slider是什么 滑块,由三部分组成:背景 填充条 手柄 填充条就是…...
这7款高效爬虫工具软件,非常实用!
在当今数据驱动的时代,自动化爬虫工具和软件成为了许多企业和个人获取数据的重要手段。这里会介绍6款功能强大、操作简便的自动化爬虫工具,用好了可以更高效地进行数据采集。 1. 八爪鱼采集器 八爪鱼是一款功能强大的桌面端爬虫软件,主打可…...
【OJ】二叉树相关OJ题
✨✨欢迎大家来到Celia的博客✨✨ 🎉🎉创作不易,请点赞关注,多多支持哦🎉🎉 所属专栏:OJ题 个人主页:Celias blog~ 目录 编辑 单值二叉树 题目描述 OJ-单值二叉树 解题思路 …...
Blender中保存透明图片
在Blender中保存透明图片,主要是通过在渲染设置中调整背景透明度,并选择合适的文件格式来保存图像。以下是一个详细的步骤指南: 一、设置渲染属性 打开Blender并加载你想要渲染的模型。在右侧的属性编辑器中,找到并点击“渲染属…...
MySQL之索引优化
1、在进行查询时,索引列不能是表达式的一部分,也不能是函数的参数,否则无法使用索引 例如下面的查询不能使用 actor_id 列的索引: #这是错误的 SELECT actor_id FROM sakila.actor WHERE actor_id 1 5; 优化方式:…...
Spring Boot 与 Amazon S3:快速上传与下载文件的完整指南
概要 在将 Spring Boot 更新到 3 系列时,由于 javax 需要被替换为 jakarta,因此原先依赖于 javax 的 spring-cloud-starter-aws1 将无法使用(虽然在我本地环境中仍然可以正常工作)。为了确保兼容性,我将依赖关系更改为…...
细节剖析:HTTP与HTTPS在安全性、性能等方面的不同!
HTTPS是现代互联网通信的重要基石,通过加密通信、身份验证和数据完整性保护,为数十亿用户提供了安全可靠的互联网体验。 小编整理了2GB程序员相关资料,关注微信公众号“程序员Style”回复“程序员”免费领取! 1、介绍 随着 HTT…...
MySQL面试篇章——MySQL索引
文章目录 MySQL 索引索引分类索引创建和删除索引的执行过程explain 查看执行计划explain 结果字段分析 索引的底层实现原理B-树B树哈希索引 聚集和非聚集索引MyISAM(\*.MYD,*.MYI)主键索引辅助索引(二级索引) InnoDB&a…...
WSL 2 Oracle Linux 9.1 安装配置
文章目录 环境使用体验安装 Oracle Linux 9.1修改默认存储路径默认 root 用户登录启用 systemd启用 SSH 连接WSL 无法 ping 通宿主机和域名WSL 使用主机代理(测试通过)WSL 常用命令 环境 OS:Win11 24H2 (OS 内部版本26120.1252) wsl --versio…...
MySQL日志文件详解
MySQL中的日志文件是MySQL数据库系统的重要组成部分,它们记录了数据库的运行情况、用户操作、错误信息等,对于数据库的维护、优化、故障排查和恢复都具有重要意义。以下是MySQL中几种主要日志文件的详解: 1. 二进制日志(Binary L…...
MySQL零散拾遗(三)
在mysql中,JOIN ON 和 WHERE 的作用和用法是怎么样的? 在MySQL中,JOIN语句用于将两个或多个表根据指定的关联条件合并成一个新的结果集。JOIN ON和WHERE子句在JOIN语句中扮演着不同的角色,它们的用法和作用如下: JOI…...
rCore-Tutorial-v3:从零开始用Rust编写RISC-V操作系统的终极指南
rCore-Tutorial-v3:从零开始用Rust编写RISC-V操作系统的终极指南 【免费下载链接】rCore-Tutorial-v3 Lets write an OS which can run on RISC-V in Rust from scratch! 项目地址: https://gitcode.com/gh_mirrors/rc/rCore-Tutorial-v3 你是否曾梦想过亲手…...
【c++面向对象编程】第4篇:类与对象(三):拷贝构造函数与深浅拷贝问题
目录 一、一个崩溃的程序 二、拷贝构造函数是什么? 调用时机(三个场景) 三、浅拷贝 vs 深拷贝 浅拷贝(默认行为) 深拷贝(正确的做法) 四、什么时候必须自己写拷贝构造函数? 一…...
基于Vagrant的Claude本地部署:自动化AI开发环境搭建指南
1. 项目概述:一个让Claude在本地“安家”的Vagrant包装器 如果你和我一样,是个喜欢在本地环境折腾各种AI工具的开发人员,那你肯定对Claude这个强大的语言模型不陌生。但官方提供的使用方式往往受限于网络环境、API调用成本或者隐私顾虑&…...
小型嵌入式系统开发流程与实践指南
1. 小型嵌入式系统开发流程概述在嵌入式系统开发领域,一个结构化的软件开发流程往往是项目成功的关键因素。与通用计算机软件开发不同,嵌入式系统通常具有资源受限、实时性要求高、硬件依赖性强等特点,这使得开发流程的设计需要特别考虑这些约…...
基于Vue3的一站式AI服务聚合平台开发与部署实战
1. 项目概述:一站式AI服务聚合平台 最近在折腾AI应用落地和商业化的事情,发现了一个挺有意思的开源项目——ZhiShuYun/HubFrontend。这本质上是一个基于Vue3开发的前端系统,但它做的事情远不止一个前端界面那么简单。它把GPT问答、Midjourne…...
Cursor AI 编码规则启动器:模块化配置与工程化实践指南
1. 项目概述:一个为 Cursor 编辑器量身定制的规则启动器如果你和我一样,日常重度依赖 Cursor 这款 AI 驱动的代码编辑器,那你一定对它的“规则”(Rules)功能又爱又恨。爱的是,它能通过预设的指令集…...
IDEA进阶指南:巧用Changelist实现多任务并行开发
1. 为什么你需要Changelist功能 作为一个长期使用IDEA进行开发的程序员,我深刻理解多任务并行开发时的痛苦。想象一下这样的场景:你正在开发一个新功能,突然产品经理跑过来说有个紧急bug需要立即修复。这时候你会怎么做?传统做法可…...
【信息科学与工程学】【制造工程】【通信工程】第一百零一篇 2nm 200Tbps+核心交换机全尺度参数 第二系列 物料与生产体系12
系统概述 系统名称: 200Tbps 集群核心交换机 核心功能: 提供超高密度、超低延迟、无阻塞的数据交换,用于数据中心集群核心或超算中心网络。 系统组成: 机箱、主控板卡、交换网板卡(4块,互为冗余)、线卡(业务板卡)、风扇模块、电源模块。 关键设计参数: 整机交换容量: …...
电子热量表设计:PIC16F913微控制器应用与热力计算
1. 电子热量表的核心原理与设计需求 在集中供暖系统中,热量表扮演着能量"会计"的角色,精确记录每户消耗的热能。其核心任务可以分解为三个关键参数的测量:进水温度、回水温度以及水流量。这三个参数通过热力学基本公式QmcpΔT相互关…...
企业级中药实验管理系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】
💡实话实说:C有自己的项目库存,不需要找别人拿货再加价。摘要 随着中医药产业的快速发展,中药实验数据的规模化和复杂化对信息化管理提出了更高要求。传统的中药实验管理多依赖手工记录和纸质档案,存在数据易丢失、查询…...
