自注意力与卷积高效融合!多SOTA、兼顾低成本与高性能

2024-06-18 19:52

本文主要是介绍自注意力与卷积高效融合!多SOTA、兼顾低成本与高性能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

自注意力机制中,模型计算输入序列中不同位置的相关性得分,以生成连接权重,从而关注序列中的重要部分。而卷积通过滑动窗口的方式,在输入上应用相同权重矩阵来提取局部特征。

如果将以上两者结合,就可以同时利用自注意力捕捉长距离依赖关系和卷积运算提取局部特征的能力,让模型更全面地理解输入数据(特别是在处理复杂任务时),实现更高的性能和更低的计算成本。比如典型案例X-volution与ACmix。

目前这种结合策略的高质量成果已有不少,我从中整理了10个比较有代表性的供同学们参考,原文以及开源代码都整理好了,希望能给各位的论文添砖加瓦。

论文原文以及开源代码需要的同学看文末

X-volution: On the unification of convolution and self-attention

方法:本文提出了一种新的原子操作符X-volution,将卷积和自注意力操作符集成在一起,通过实验证明了它在图像分类、目标检测和实例分割等任务上取得了显著的性能改进。

创新点:

  • 提出了X-volution原子操作符,将基本的卷积和自注意力操作符整合到一个统一的计算块中,从而在local vs. non-local/linear vs. non-linear这两方面都能获得非常显著的性能提升。

  • 首次理论推导了一种全局自注意力近似方案PSSA,通过这种方案能够在计算上转换为卷积操作,从而简化了模型的拓扑结构。

  • 在图像分类、目标检测和实例分割等主流视觉任务上进行了广泛的定性和定量评估,结果表明X-volution操作符取得了非常有竞争力的改进效果。

On the Integration of Self-Attention and Convolution

方法:本文揭示了自注意力和卷积之间的紧密关系,并提出了一种有效且高效的混合模型ACmix。该研究对于深入理解和改进卷积和自注意力模块在计算机视觉任务中的应用具有重要意义。

创新点:

  • 将传统的卷积和自注意力模块结合在一起,形成一种混合模型,名为ACmix。ACmix利用了卷积和自注意力的优势,并且与纯卷积或自注意力相比,具有更小的计算开销。

  • 揭示了自注意力和卷积之间的紧密关系,发现它们在投影输入特征图方面都使用了相同的1×1卷积操作。基于这一发现,提出了ACmix模型,通过共享相同的重型操作来将自注意力和卷积模块集成在一起。

UniFormer: Unifying Convolution and Self-attention for Visual Recognition

方法:论文提出了一种新颖的统一Transformer(UniFormer),它可以在简洁的Transformer格式中无缝整合卷积和自注意的优点。与典型的Transformer模块不同,UniFormer 模块中的关系聚合器在浅层和深层分别配备了局部和全局标记亲和力,从而可以同时解决冗余和依赖性问题,实现高效的表征学习。

创新点:

  • 动态位置嵌入(Dynamic Position Embedding):该方法通过深度卷积和零填充的方式,灵活地将位置信息嵌入到Transformer中,以提高模型的灵活性和识别性能。

  • 层级堆叠的UniFormer块:作者通过在不同阶段使用局部和全局UniFormer块的方式,逐步学习逐渐增长的视觉表示,以捕捉图像中的语义信息。

  • 作者提出了一种关系聚合器设计,既能减少局部冗余又能学习全局依赖关系,通过将卷积和自注意力相结合,实现了高效而有效的特征学习。

MixFormer: Mixing Features across Windows and Dimensions

方法:本研究提出了MixFormer,针对局部窗口自注意力在视觉任务中存在的有限感受野和建模能力不足问题进行了解决。通过并行设计将局部窗口自注意力与深度卷积相结合,模拟窗口之间的连接以扩大感受野;同时,引入了双向交互设计,增强了通道和空间维度上的建模能力。

创新点:

  • 并行设计:通过在不同的视觉任务中进行连续设计,验证了并行设计能够在特征表示学习方面取得更好的效果。

  • 双向交互:引入了双向交互来增强通道和空间维度的建模能力。结果表明,通道交互和空间交互在所有不同的视觉任务中都优于没有交互的模型。

关注下方《学姐带你玩AI》🚀🚀🚀

回复“自卷积”获取全部论文+代码

码字不易,欢迎大家点赞评论收藏

这篇关于自注意力与卷积高效融合!多SOTA、兼顾低成本与高性能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1072957

相关文章

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

C++实现回文串判断的两种高效方法

《C++实现回文串判断的两种高效方法》文章介绍了两种判断回文串的方法:解法一通过创建新字符串来处理,解法二在原字符串上直接筛选判断,两种方法都使用了双指针法,文中通过代码示例讲解的非常详细,需要的朋友... 目录一、问题描述示例二、解法一:将字母数字连接到新的 string思路代码实现代码解释复杂度分析三、

Python与DeepSeek的深度融合实战

《Python与DeepSeek的深度融合实战》Python作为最受欢迎的编程语言之一,以其简洁易读的语法、丰富的库和广泛的应用场景,成为了无数开发者的首选,而DeepSeek,作为人工智能领域的新星... 目录一、python与DeepSeek的结合优势二、模型训练1. 数据准备2. 模型架构与参数设置3

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

Tomcat高效部署与性能优化方式

《Tomcat高效部署与性能优化方式》本文介绍了如何高效部署Tomcat并进行性能优化,以确保Web应用的稳定运行和高效响应,高效部署包括环境准备、安装Tomcat、配置Tomcat、部署应用和启动T... 目录Tomcat高效部署与性能优化一、引言二、Tomcat高效部署三、Tomcat性能优化总结Tom

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

使用Python实现高效的端口扫描器

《使用Python实现高效的端口扫描器》在网络安全领域,端口扫描是一项基本而重要的技能,通过端口扫描,可以发现目标主机上开放的服务和端口,这对于安全评估、渗透测试等有着不可忽视的作用,本文将介绍如何使... 目录1. 端口扫描的基本原理2. 使用python实现端口扫描2.1 安装必要的库2.2 编写端口扫