《SeTformer Is What You Need for Vision and Language》

会议:AAAI

年份:2024

论文:DDAE: Towards Deep Dynamic Vision BERT Pretraining - AMinericon-default.png?t=N7T8https://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操作导致的二次时间和内存复杂度,使得模型训练和推理变得非常昂贵。这限制了变换器在处理长文档或高分辨率图像等任务时的应用。

创新之处

  1. 自我最优传输(SeT):提出了一种新的自注意力机制,使用最优传输(OT)和核方法来计算输入特征之间的对齐分数,代替了传统的点积操作。
  2. 核特征映射:通过将输入特征映射到再生核希尔伯特空间(RKHS),保持了注意力矩阵的非负性质。
  3. 效率与性能的平衡:在减少参数和计算量的同时,SeTformer在多个视觉和语言任务上取得了与现有最先进方法相媲美或更好的结果。

方法

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

尽管自注意力在捕捉序列内长距离依赖方面非常有效,但其计算复杂度随着序列长度的增加而呈二次方增长,这在处理长序列时(如高分辨率图像或长文本)变得非常昂贵。

 为了解决以上问题,提出了自我最优传输(SeT),这是一种新颖的自注意力替代方案。SeT利用最优传输(OT)理论来计算输入特征之间的对齐分数,而不是传统的点积操作。

SeT的关键步骤

  1. 特征映射到RKHS:将输入特征向量映射到再生核希尔伯特空间(RKHS),使用正定核函数保证映射后的向量是非负的。
  2. OT对齐:使用最优传输(OT)来对齐输入特征和参考特征。OT通过计算最小成本的传输计划,来找到输入特征与参考特征之间的最佳匹配。
  3. 加权聚合:通过OT得到的对齐分数作为权重,对输入特征进行加权聚合,形成输出特征。

 特征映射到RKHS

  1. 选择或定义核函数:首先,选择一个合适的正定核函数 𝐾(𝑥,𝑥′),它能够将原始空间 𝑋 中的数据点映射到一个高维特征空间 𝐹。常用的核函数包括高斯核、多项式核、拉普拉斯核等。

  2. 特征映射:通过核函数定义一个特征映射 𝑢:𝑋→𝐹,其中 𝐹 是一个希尔伯特空间。在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得到的传输计划 𝑇,进而形成对齐矩阵 𝐴:A=TU,其中U是输入特征在RKHS中的表示
  • 将输入特征 𝑥 通过传输计划 𝐴 与参考特征 𝑦 的加权聚合

输入特征:通过相关网络提取的图像特征

参考特征:参考特征是一组预先计算好的向量,它们代表了输入数据中的关键特征或模式。可以通过聚类算法(如K-means)从训练数据中生成的。这种方法可以捕捉到数据中的代表性特征,并将它们用作参考特征集。参考特征在模型中起到了锚点的作用,帮助模型通过OT对齐来聚合输入特征

总的来说,在SeTformer中,SeT用于替代传统的自注意力机制,通过以下步骤:

  • 输入特征通过卷积层进行下采样和嵌入。
  • 使用SeT计算输入特征与参考特征之间的对齐分数。
  • 根据对齐分数进行特征的加权聚合,生成新的表示。
  • 这些表示被送入后续的网络层,如多层感知机(MLP)和归一化层。

结论

SeTformer展示了在视觉和语言任务中的高效性和有效性。通过一系列实验验证了其在图像分类、目标检测和语义分割等任务上的优越性能。此外,SeTformer在语言建模任务上也取得了良好的结果,证明了其在不同领域的泛化能力。论文指出,SeTformer为探索更好的基于内容的交互提供了新的视角,有助于提升视觉识别模型的性能。

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

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

相关文章

如何将 M.2 HAT+ 与 Raspberry Pi 5 一起使用?

树莓派 M.2 HAT M Key 可以让您连接 M.2 外围设备,如 NVMe 硬盘和其他 PCIe 配件,到树莓派 5 的 PCIe 接口。 M.2 HAT 转接板可以把树莓派 5 上的 PCIe 连接器转换为单个 M.2 M key 边缘连接器。您可以连接任何使用 2230 或 2242 尺寸的设备。M.2 HAT 最大可提供 3A 的电源输出…

Superset 4.0.1导出csv数据中文乱码问题解决

Apache Superset 是一个开源的数据探索和可视化平台,专门用于创建交互式数据报表和仪表盘。它具有强大的数据集成和可视化能力,广泛用于数据分析和商业智能领域。 Superset详细介绍详见 报表系统之Superset-CSDN博客 Superset 导出CSV 默认编码为utf-8,在导出包含中文的文…

jenkins替换配置文件

1.点击首页的【Manage Jenkins】-【Manage Plugins】,在选项【Available plugins】安装 Config File Provider Plugin ,安装后重启jenkins 2.安装完成后会有这个图标,点进去 3.点击新建,选择自定义,填入要替换的文件…

深入浅出理解 C 语言中的 qsort 函数

目录 引言 一、什么是qsort 二、函数原型 1.qsort函数 2.比较函数 三、qsort函数使用示例 1.使用qsort排序整形数据 2.使用qsort排序结构数据 总结 引言 在编程中,排序是一个常见且重要的操作。C 语言标准库提供了一系列排序函数,其中 qsort 函…

华为IoTDA解码插件报告错误:The decoding result is empty.data

前面的博文讲过,在使用Neuron上传数据到华为IoTDA的时候没有使用华为的物模型进行解析,因为两者的数据格式不同。具体的说Neuron上传的格式是 {"node": "RS485", "group": "Data", "timestamp": 172…

CSS画边框线带有渐变线和流光边框实例

流光边框css流光边框动画效果_哔哩哔哩_bilibili流光边框css流光边框动画效果_哔哩哔哩_bilibili纯CSS写一个动态流水灯边框的效果~_哔哩哔哩_bilibili荧光边框CSS 动画发光渐变边框特效_哔哩哔哩_bilibili [data-v-25d37a3a] .flow-dialog-custom {background-col…

xhs全参

声明 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 aHR0cHM6Ly93d…

【线性代数】矩阵变换

一些特殊的矩阵 一,对角矩阵 1,什么是对角矩阵 表示将矩阵进行伸缩(反射)变换,仅沿坐标轴方向伸缩(反射)变换。 2,对角矩阵可分解为多个F1矩阵,如下: 二&a…

.NET C# 配置 Options

.NET C# 配置 Options 使用 options 模式可以带来许多好处,包括清晰的配置管理、类型安全、易于测试和灵活性。但在使用过程中,也需要注意配置复杂性、性能开销和依赖框架等问题。通过合理设计和使用,可以充分发挥 options 模式的优势&#…

Vue.js 2 项目实战(五):水果购物车

前言 Vue.js 是一个用于构建用户界面的渐进式 JavaScript 框架。它的设计目标是通过采用易于上手的结构和强大的功能,使前端开发变得更加简便和高效。以下是 Vue.js 的一些关键特性和优点: 核心特性 声明式渲染 Vue.js 使用声明式语法来描述用户界面&a…

MybatisPlus的使用与详细讲解

今天我们来讲解一下Mybatis的升级版,就是MybatisPlus. MybatisPlus是如何获取实现CRUD的数据库表信息的? 默认以类名驼峰转下划线作为表名 默认把名为id的字段作为主键 默认把变量名驼峰转下划线作为表的字段名 1.MybatisPlus中比较常见的注解 TableN…

宠物空气净化器哪款除臭效果好?质量好的养狗空气净化器排名

作为一个宠物家电小博主,炎炎夏日,家中的宠物给你带来的不仅仅是温暖的陪伴,还有那挥之不去的宠物异味。普通空气净化器虽然能够应对一般的空气净化需求,但对于养猫家庭特有的挑战,如宠物毛发、皮屑和异味等&#xff0…

mysql中的索引和分区

目录 1.编写目的 2.索引 2.1 创建方法 2.2 最佳适用 2.3 索引相关语句 3.分区 3.1 创建方法 3.2 最佳适用 Welcome to Code Blocks blog 本篇文章主要介绍了 [Mysql中的分区和索引] ❤博主广交技术好友,喜欢文章的可以关注一下❤ 1.编写目的 在MySQL中&…

JAVA中的输入输出流

FileInputStream、FileOutputStream(字节流) 字节输入流InputStream主要方法: read() :从此输入流中读取一个数据字节。 read(byte[] b) :从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。 read(b…

Redis系列命令更新--Redis有序集合命令

Redis有序集合(sorted set) (1)说明: A、Redis有序集合和集合一样也是string类型元素的集合,且不允许重复的成员;不同的是每个元素都会关联一个double类型的分数;redis正式通过分数…

MongoDB 文档存储

安装 下载: Download MongoDB Community Server | MongoDB 说明: 现在基本都安装的是4.4以后的版本。安装完成后使用 mongod 来查看是否安装成功 会输出一堆内容 而如果想要操作数据库,则需要安装一个工具,mongosh-2.2.12-x64.m…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 堆内存申请(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线…

微信小程序canvas 使用案例(一)

一、cavans 对象获取、上线文创建 1.wxml <!-- canvas.wxml --><canvas type"2d" id"myCanvas"></canvas> 2.js /*** 生命周期函数--监听页面加载*/onLoad(options) {const query wx.createSelectorQuery()query.select(#myCanvas).f…

mysql练习3

1.修改student 表中年龄(sage)字段属性&#xff0c;数据类型由int 改变为smallint 2.为Course表中Cno 课程号字段设置索引,并查看索引 3.为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引&#xff0c;索引名为SC_INDEX 4.创建一视图 stu info,查询全体学生的姓名&#…

安装好anaconda,打开jupyter notebook,新建 报500错

解决办法&#xff1a; 打开anaconda prompt 输入 jupyter --version 重新进入jupyter notebook&#xff1a; 可以成功进入进行代码编辑