ECCV 2024论文分享┆Agent Attention: Softmax注意力和线性注意力的高效融合

简介

本推文主要介绍了由清华大学黄高老师团队发表在ECCV 2024上的一篇论文《Agent Attention: On the Integration of Softmax and Linear Attention》,文中提出了一种新型的代理注意力(Agent Attention)。近年来,Transformer在计算机视觉领域中具有重要地位。然而,传统的基于Softmax的自注意力具有O(N2)的二次复杂度,导致其难以扩展到高分辨率的视觉任务中。基于此,作者提出了代理注意力,通过引入代理tokens来聚合全局语义信息,从而将传统的二次复杂度降低为线性复杂度。实验结果表明,Agent Attention在多个计算机视觉任务中表现出色。

本推文由李杨撰写,审校为陆新颖和朱旺。

论文链接:https://arxiv.org/abs/2312.08874

代码链接:https://github.com/LeapLabTHU/Agent-Attention

一、研究背景

Transformer模型在计算机视觉领域因其强大的全局上下文建模能力取得了显著进展,但其核心组件——基于Softmax的自注意力机制,计算复杂度为O(N2),在高分辨率任务中面临巨大计算负担,限制了应用。为解决这一问题,提出了如Swin Transformer和PVT等方法,通过局部窗口或稀疏注意降低计算量,但这也降低了对全局关系的建模能力。

本文提出了Agent Attention,通过引入代理(Agent)tokens扩展注意力机制为四元组(Q, A, K, V)。代理tokens先聚合键值对(K, V)的信息,再将其广播回查询tokens Q,从而将计算复杂度从二次降低为线性复杂度,兼顾效率和全局建模能力。实验表明,Agent Attention在图像分类、目标检测、语义分割和图像生成等任务中表现出色,尤其在高分辨率场景下显著提升了性能,如在Stable Diffusion模型中不仅加速了生成,还提高了质量,无需额外训练。

图1 Softmax Attention、Linear AttentionAgent Attention之间的差异

图1展示了Softmax AttentionLinear AttentionAgent Attention之间的差异

    · Softmax Attention计算所有查询和键的相似度,复杂度为O(N2),具有较高的表达能力但计算量大。

    · Linear Attention通过对查询和键分别应用映射函数ϕ(·),改变计算顺序,从而降低复杂度为O(N),但表达能力有所减弱。

    · Agent Attention引入了代理tokens,用于聚合和广播全局信息,以实现Softmax和Linear Attention的优点结合,既保持了较高的表达能力,又显著降低了计算复杂度。

二、方法

2 Agent Attention的方法细节

首先,Agent Attention的计算过程分为两步:代理信息聚合(Agent Aggregation)和代理信息广播(Agent Broadcast)。在代理信息聚合阶段,代理tokens A作为查询,从键值对(K, V)中聚合全局信息,得到代理特征VA;在代理信息广播阶段,代理tokens A将聚合的信息重新广播回查询tokens Q,完成全局信息的传递,从而实现最终的输出。

其次,图2还展示了模块组成,包括代理tokens的生成和深度可分离卷积(DWC)模块。代理tokens通常通过池化或其他降维方法从输入特征中生成,以降低计算复杂度,而DWC模块用于保持特征的多样性,确保在聚合和广播过程中不会丢失重要信息。

三、实验结果

图3 在ImageNet-1K上的结果

图3展示了Agent Attention在不同视觉Transformer模型(DeiT、PVT、Swin、CSwin)上的性能表现。每个子图分别对比了使用Agent Attention前后的准确率与计算复杂度(FLOPs)关系。

DeiT:Agent-DeiT在相同计算复杂度下显著提高了准确率。

PVT:Agent-PVT在低计算量下实现了更高的精度,优于其他基线模型。

Swin:Agent-Swin显著提高了准确率,优于其他变体,如Swin T/S/B等。

CSwin:Agent-CSwin在不同计算复杂度下均取得了较高的准确率,与其他基线相比具有明显优势。

整体来看,图3展示了使用Agent Attention能够在同等或更少计算量的情况下显著提高模型的准确率。

图4 利用Stable Diffusion生成的样本

图4展示了Stable Diffusion、ToMeSD和AgentSD生成的样本对比,分别生成了金丝雀、桌子、手套和青椒的图像。

可以看到,AgentSD生成的图像在细节和质量上显著优于其他两种方法,尤其在对象的清晰度和细节保留上表现更为出色。具体来说,Stable Diffusion生成的图像有时会缺乏清晰的边界和细节;ToMeSD虽然有所改善,但仍存在一定的细节模糊问题。而AgentSD通过引入Agent Attention,显著提高了生成质量,使得生成的对象更符合高质量图像的要求,特别是在复杂结构和纹理表现上更加真实。

图5 不同模型在使用Agent Attention时的效果对比

图5展示了不同生成模型在使用Agent Attention时的效果对比。包括输入图像、生成的提示(Prompt)、Dreambooth、仅在生成阶段使用Agent Attention、以及在微调和生成阶段均使用Agent Attention。

从图5可以看出,仅在生成阶段使用Agent Attention的效果在细节和准确性上有所提升,但相比于在微调和生成阶段均使用Agent Attention,生成的图像在一致性和细节保留方面略有不足。而在微调和生成阶段都使用Agent Attention的情况下,生成的图像在视觉效果上最为逼真和一致。

四、总结

作者提出了一种新的注意力机制——Agent Attention,通过引入代理tokens,有效地降低了Transformer模型中的计算复杂度,同时保持了强大的全局建模能力。实验结果表明,Agent Attention在多个视觉任务中均表现优异,尤其在高分辨率场景下能够显著提高计算效率和模型性能。此外,Agent Attention在图像生成任务(如Stable Diffusion)中的应用也验证了其在提升生成速度和图像质量方面的潜力。整体来看,Agent Attention为Transformer模型在高效性和表达能力之间取得了良好的平衡,是一种值得进一步研究和推广的注意力机制。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Github 2024-10-29Python开源项目日报 Top10

根据Github Trendings的统计,今日(2024-10-29统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目10TypeScript项目1gpt4free存储库:强大语言模型的集合 创建周期:300 天开发语言:Python协议类型:GNU General Public License v3…

【Java】逻辑控制 —— 三大结构 和 猜数字游戏

目录 1. 顺序结构 2. 分支结构【与C略有不同】 2.1 if语句 2.2 switch语句 注意事项【与C不同】 3. 循环结构【与C略有不同】 3.1 while循环 * break和continue 3.2 for循环 3.3 do while循环 * 输入的判断(hasNext) 4. 猜数字游戏 1. 顺序结…

大文件秒传,分片上传,断点续传

大文件分片上传 一 功能描述 1.文件通过web端分片多线程上传到服务端,然后web端发起分片合并,完成大文件分片上传功能 2.上传过的大文件,实现秒传 3.上传过程中,服务异常退出,实现断点续传 二 流程图 三 代码运行…

【含开题报告+文档+PPT+源码】基于Java的社会公益平台

开题报告 随着社会的不断进步和人们公益意识的日益增强,社会公益事业在全球范围内得到了广泛的关注和参与。然而,传统的公益模式往往受到信息不对称、资源分散、管理效率低下等问题的困扰,导致公益活动的效果有限,难以满足社会的…

【C语言】C语言入门--函数

文章目录 前言一、函数的概念一、pandas是什么?二、库函数 1.标准库和头文件2.库函数的使用方法3.库函数文档的一般格式三、自定义函数四、形参和实参五、return语句六、数组做函数参数七、嵌套调用和链式访问 1.嵌套调用2.链式访问八、函数的声明和定义 1.单个文件…

C++在实际项目中的应用第二节:C++与区块链

第五章:C在实际项目中的应用 第二课:C与区块链 区块链技术因其去中心化、不可篡改和透明性而受到广泛关注。在这门课程中,我们将深入探讨区块链的基本原理、智能合约的开发以及实际应用的案例分析,重点使用 C 作为实现语言&…

微服务之网关、网关路由、网关登录校验

简介:来源:SpringCloud微服务开发与实战,java黑马商城项目微服务实战开发(涵盖MybatisPlus、Docker、MQ、ES、Redis高级等) 认识网关 前端请求不能直接访问微服务,而是要请求网关: 网关可以做…

服务环境的搭建

一、基础环境搭建 1、python3 准备相关的jar包 Index of /ftp/python/3.7.9/ scp Python-3.7.9.tgz root192.168.1.245:/opt/dockerinstall/python3/ yum -y install gcc yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel…

【语音转文本新体验】Windows部署Whisper Web结合内网穿透轻松远程转录——“cpolar内网穿透”

文章目录 前言1.本地部署Whisper Web1.1 安装git1.2 安装Node.js1.3 运行项目 2. Whisper Web使用介绍3. 安装Cpolar内网穿透4. 配置公网地址5. 公网访问测试6. 配置固定公网地址 前言 OpenAI开源的 Whisper 语音转文本模型效果都说还不错,今天就给大家推荐 GitHub…

[A-14]ARMv8/ARMv9-Memory-内存模型的类型(Device Normal)

ver0.1 [看前序文章有惊喜。] 前言 前面花了很大的精力把ARM构建的VMSA中的几个核心的议题给大家做了介绍,相信大家已经能够理解并掌握ARM的内存子系统的工作原理大致框架。接下来我们会规划一些文章,对ARM内存子系统的一些细节做一下介绍,使ARM的内存子系统更加的丰满。本…

JetBrains IDE中GPU进程(JCEF)重启问题(Too many restarts of GPU-process)解决方案

目录 前言1. GPU进程重启问题概述1.1 什么是GPU进程重启问题?1.2 该问题带来的影响 2. GPU进程重启问题的原因分析2.1 显卡驱动的兼容性问题2.2 系统资源的限制2.3 JCEF组件的设置不合理 3. 解决方案3.1 方法一:通过自定义属性禁用GPU加速3.2 方法二&…

NVR批量管理软件/平台EasyNVR多个NVR同时管理支持UDP和TCP传输协议

随着科技的飞速发展,视频技术已成为现代社会不可或缺的一部分,广泛应用于安防监控、娱乐传播、在线教育、电商直播等多个领域。在这一背景下,NVR管理平台EasyNVR作为一款高效、灵活的视频监控管理系统,正经历着前所未有的发展机遇…

医学影像基础:常见的医学影像学术语和概念

目录 1. 基本影像术语 2. X射线相关术语 3. CT相关术语 4. MRI相关术语 5. 超声相关术语 6. 核医学相关术语 7. 影像质量和技术术语 8. 临床影像术语 总结 在医学影像学中,有许多术语和概念是常用且重要的。了解这些术语和概念有助于更好地理解影像报告、与…

稀土抗紫外屏蔽剂在化妆品上的应用

稀土抗紫外屏蔽剂的作用原理 稀土元素具有独特的电子结构,能够吸收和散射紫外线。其作用主要有以下几个方面: 1. 吸收紫外线:稀土元素可以吸收特定波长的紫外线,将其能量转化为热能或其他形式的能量,从而减少紫外线对…

2024 前端面试题!!! html css js相关

常见的块元素、行内元素以及行内块元素,三者有何不同?​​​​​​​ HTML、XML、XHTML它们之间有什么区别?​​​​​​​ DOCTYPE(⽂档类型) 的作⽤ Doctype是HTML5的文档声明,通过它可以告诉浏览器,使用哪一个HTM…

Android Studio安装完成后,下载gradle-7.4-bin.zip出现连接超时

文章目录 问题原因:因为下载镜像是谷歌,属于外网,不好正常连接,下载依赖。解决方法:找到gradle-wrapper.properties文件,修改镜像,如下图,然后再单击try again重新下载。 问题原因&a…

IntelliJ IDEA 2024社区版保姆及图文安装教程

1.下载 这里我们安装的是2024.2.3版本IntelliJ IDEA Community Edition 下载地址:https://www.jetbrains.com/idea/download/other.html 如果下载不便可以使用本文的网盘资源下载 2.安装 打开软件点击下一步 在安装过程中,我们可以选择安装的目录,也…

【二叉树进阶题目2】(算法题详细简介)

【二叉树进阶题目2】(算法题详细简介) 前言5. 二叉树的层序遍历 ||(力扣107)5.1 题目链接5.2 示例分析5.3 代码实现 6. 二叉树的层序遍历(力扣102)6.1 题目链接6.2 代码实现 7. 根据二叉树创建字符串(力扣6…

基于Pyecharts的数据可视化开发(二)调用通义千问api分析爬虫数据

上一篇博客做了关于“广州市2023年天气情况”的数据爬取,并保存为.csv文件。下一步是想用生成的.csv文件,直接调用大模型api进行分析,得出结论。通过调研,阿里云的通义千问大模型qwen-long可以实现对文件数据的分析。 通义千问大模…

SD-WAN:低延迟的国际网络连接方案

在全球化的商业环境中,企业业务正不断扩展至全球市场,急需实现高效、稳定的跨国网络连接。然而,传统的国际组网方式往往会遇到高延迟、低带宽和管理复杂等难题,导致企业运营效率下降并影响用户体验。本文将介绍SD-WAN如何解决这些…