《RMT: Retentive Networks Meet Vision Transformers》CVPR2024

news2024/11/27 17:48:51

论文:RMT: Retentive Networks Meet Vision Transformers - AMiner

摘要

这篇论文探讨了将Retentive Network(RetNet)的概念引入到计算机视觉领域,并与Vision Transformer结合,提出了一种新的模型RMT(Retentive Networks Meet Vision Transformers)。RetNet最初在自然语言处理(NLP)领域展现出色性能,作者们提出疑问,是否将RetNet的思想迁移到视觉领域也能带来卓越的性能。RMT通过引入与空间距离相关的显式衰减机制,为视觉模型带来了空间先验知识。此外,为了降低全局建模的计算成本,作者们沿图像的两个坐标轴分解了建模过程。大量实验表明,RMT在多种计算机视觉任务上表现出色,例如,在ImageNet-1k数据集上达到了84.1%的Top1准确率,且计算量仅为4.5G FLOPs。

拟解决的问题

 Transformer架构虽然在计算机视觉任务中表现出色,但RetNet在NLP任务中展现出更强的性能,这激发了作者们探索将RetNet迁移到视觉任务的可能性,以期提高视觉模型的性能。

创新之处

  1. 提出了Retentive Self-Attention(ReSA)机制,将空间距离相关的先验知识引入到视觉模型中。
  2. 通过沿图像的两个坐标轴分解ReSA,降低了计算复杂度,同时最小化了对模型性能的影响。

方法论

RMT的整体架构与传统的backbone相似,分为四个阶段。前三个阶段使用分解的ReSA,最后一个阶段使用原始的ReSA。此外,模型中还整合了条件位置编码(CPE)。

Retentive Network(RetNet)

在RetNet中,这种记忆机制是通过一种特殊的“保留”操作来实现的。我们可以把这种操作想象成一个过滤器,它允许网络在考虑每个数据点(在NLP中是单词,在图像中是像素)时,给予它们周围邻近数据点不同级别的重视。

保留机制是RetNet的基础,它通过引入衰减系数来控制每个token对其邻近token的关注程度。这种衰减是根据token之间的距离来确定的,距离越远,注意力权重越小。

保留操作的数学表达式可以写为:

其中,O_{n}是第n个token的输出,𝑄、𝐾、𝑉分别是查询(Query)、键(Key)和值(Value)矩阵,𝜃θ是角度参数,\gamma _{n-m}​是衰减系数,它取决于token n和m之间的距离。 

衰减系数\gamma _{n-m}用于控制序列中不同位置token之间的注意力权重。在RetNet中,衰减系数通常设计为随着token间距离的增加而指数级减少,从而引入了一维距离的先验知识。

并行训练中,保留操作为:

其中𝑋是输入序列,⊙表示Hadamard积。 

相比于传统的Transformer模型,RetNet通过引入显式的衰减机制,能够更好地捕捉序列数据中的长距离依赖关系,从而在多种NLP任务中取得了更强的性能。

Retentive Self-Attention (ReSA)

ReSA机制考虑了图像中像素(或称为tokens)之间的空间距离。与传统的Transformer模型不同,ReSA允许模型根据像素之间的距离来调整它们之间的相互影响。距离较近的像素会有更强的相互关系,而距离较远的像素则关系较弱。

D_{2d}:衰减矩阵,其元素根据像素对之间的二维空间距离计算。 

衰减矩阵D_{2d}是根据像素之间的曼哈顿距离来计算的,其元素定义如下:

其中:

Decomposed ReSA

为了降低计算成本,特别是在图像的早期阶段,ReSA可以沿图像的两个轴(水平和垂直)分解。分解的ReSA可以分别计算行和列方向上的注意力,公式如下:

 Attn_{H}Attn_{W}:分别代表行和列方向上的注意力机制。

Local Enhancement Module

为了增强局部特征的表达能力,ReSA还包括一个局部增强模块,通常使用深度卷积(DWConv)来实现。最终的输出可以表示为:

LCE(X):局部增强模块的输出。

总的来说,ReSA是一种结合了空间距离先验知识的注意力机制,它通过调整像素之间的注意力权重,提高了模型对局部特征的敏感度,从而在视觉任务中取得了更好的性能。 

结论

RMT模型通过引入显式的空间距离衰减,有效地提高了视觉模型的性能,尤其是在下游任务如目标检测、实例分割等领域展现出显著的优势。

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

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

相关文章

牛津剑桥等发现:AI 训 AI 惨遭投毒 9 次大崩溃

【新智元导读】9 次迭代后,模型开始出现诡异乱码,直接原地崩溃!牛津、剑桥等机构的一篇论文登上了 Nature 封面,称合成数据就像近亲繁殖,效果无异于投毒。有无破解之法?那就是 —— 更多使用人类数据&#…

护眼灯有没有护眼的效果?一文揭秘用护眼灯到底好不好

护眼灯有没有护眼的效果?在现在这个时代,无论是在学习还是办公,都很难离开一款好用的台灯,所以,为了避免会挑选到质量不好的台灯,我们应该要先避开一些网红小品牌,优先选择有专业技术支持的&…

ClickHouse 24.6 版本发布说明

本文字数:14127;估计阅读时间:36 分钟 作者:ClickHouse team 本文在公众号【ClickHouseInc】首发 又到了发布新版本的时间! 发布概要 本次ClickHouse 24.6 版本包含了23个新功能🎁、24项性能优化&#x1f6…

maven介绍 搭建Nexus3(maven私服搭建)

Maven是一个强大的项目管理工具,它基于项目对象模型(POM:Project Object Model)的概念,通过XML格式的配置文件(pom.xml)来管理项目的构建 Maven确实可以被视为一种工程管理工具或项目自动化构…

使用flutter做圆形进度条 (桌面端)

前言 最近收到一个需求,需要使用flutter 来做一个圆形进度条,这可难倒我了,毕竟我是做前端的,flutter 之前接触的也少,但没办法,既然需求有了,也得硬着头皮上了,先来看看做的效果。…

简过网:大学生考公,一定要先好好看看这篇文章!

大家好,我是简过网,今天这篇文章我们来聊聊关于大学生考公的那些事儿,希望能给大学生们一点点的帮助! 首先,可能有朋友会问了,大学生一般从什么时候开始备考公务员呢,在这里小编建议大家从大三…

《昇思25天学习打卡营第24天|基于MindSpore通过GPT实现情感分类》

基于MindSpore通过GPT实现情感分类 %%capture captured_output # 实验环境已经预装了mindspore2.2.14,如需更换mindspore版本,可更改下面mindspore的版本号 !pip uninstall mindspore -y !pip install -i https://pypi.mirrors.ustc.edu.cn/simple mind…

yolov5-7环境搭建训练自己的模型

1.下载代码 git clone https://github.com/ultralytics/yolov5 # clone可以切到5-7版本,也可以去github选标签下载 2.配置好conda环境,网上教程比较多,不做讲解,python3.8即可。 3.在环境里安装pyrtorch 按自己的需求选取&am…

每日一练,java05

目录 题目知识点:1.12.13.1 题目 选自牛客网 1.下列表述错误的是?() A.int是基本类型,直接存数值,Integer是对象,用一个引用指向这个对象。 B.在子类构造方法中使用super()显示调用父类的构造…

第T6周:使用TensorFlow实现好莱坞明星识别

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 文章目录 一、前期工作1.设置GPU(如果使用的是CPU可以忽略这步)2. 导入数据3. 查看数据 二、数据预处理1、加载数据2、数据可视化3、再…

【论文速读】| LLMCloudHunter:利用大语言模型(LLMs)从基于云的网络威胁情报(CTI)中自动提取检测规则

本次分享论文:LLMCloudHunter: Harnessing LLMs for Automated Extraction of Detection Rules from Cloud-Based CTI 基本信息 原文作者:Yuval Schwartz, Lavi Benshimol, Dudu Mimran, Yuval Elovici, Asaf Shabtai 作者单位:Ben-Gurion…

mfc100u.dll 文件缺失?两种方法快速修复丢失mfc100u.dll 文件难题

您的电脑是否遭遇了 mfc100u.dll 文件缺失的问题?这种情况通常由多种原因引起。在本文中,我们将介绍两种修复 mfc100u.dll 文件丢失问题的策略——一种是手动方法,另一种是自动修复的使用。我们将探讨如何有效地解决 mfc100u.dll 文件缺失的几…

Linux下git入门操作

0.创建仓库 可以按这个配置来,.gitignore中存放了上传时忽略的文件类型后缀。 1.clone仓库 在gitee上创建好仓库,点击克隆/下载, 复制地址fyehong/Linux_notes 。 在所需的文件夹中放置仓库。比如我在文件夹lesson9下存储仓库。就在less…

Python爬虫技术 第18节 数据存储

Python 爬虫技术常用于从网页上抓取数据,并将这些数据存储起来以供进一步分析或使用。数据的存储方式多种多样,常见的包括文件存储和数据库存储。下面我将通过一个简单的示例来介绍如何使用 Python 爬取数据,并将其存储为 CSV 和 JSON 文件格…

【数据结构】二叉树链式结构——感受递归的暴力美学

前言: 在上篇文章【数据结构】二叉树——顺序结构——堆及其实现中,实现了二叉树的顺序结构,使用堆来实现了二叉树这样一个数据结构;现在就来实现而二叉树的链式结构。 一、链式结构 链式结构,使用链表来表示一颗二叉树…

【机器学习】解开反向传播算法的奥秘

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 解开反向传播算法的奥秘反向传播算法的概述反向传播算法的数学推导1. 前向传播2…

3.k8s:服务发布:service,ingress;配置管理:configMap,secret,热更新;持久化存储:volumes,nfs,pv,pvc

目录​​​​​​​ 一、服务发布 1.service (1)service和pod之间的关系 (2) service内部服务创建访问 (3)service访问外部服务 (4)基于域名访问外部 (5&#xff…

Prometheus各类监控及监控指标和告警规则

目录 linux docker监控 linux 系统进程监控 linux 系统os监控 windows 系统os监控 配置文件&告警规则 Prometheus配置文件 node_alert.rules docker_container.rules mysql_alert.rules vmware.rules Alertmanager告警规则 consoul注册服务 Dashboard JSON…

并发编程--volatile

1.什么是volatile volatile是 轻 量 级 的 synchronized,它在多 处 理器开 发 中保 证 了共享 变 量的 “ 可 见 性 ” 。可 见 性的意思是当一个 线 程 修改一个共享变 量 时 ,另外一个 线 程能 读 到 这 个修改的 值 。如果 volatile 变 量修 饰 符使用…

车载录像机:移动安全领域的科技新星

随着科技的飞速发展,人类社会的各个领域都在不断经历技术革新。其中,车载录像机作为安防行业与汽车技术结合的产物,日益受到人们的关注。它不仅体现了人类科技发展的成果,更在安防领域发挥了重要作用。本文将详细介绍车载录像机的…