Shunted Self-Attention via Multi-Scale Token Aggregation

2024-05-03 20:44

本文主要是介绍Shunted Self-Attention via Multi-Scale Token Aggregation,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

近期提出的ViT模型在各种计算机视觉任务上展现了令人鼓舞的结果,这要归功于能够通过自注意力对补丁或令牌的长期依赖性进行建模。然而这些方法通常指定每个令牌相似感受野。这种约束不可避免地限制了每个自注意力层在捕捉多尺度特征的能力。本文提出一种新的注意力,称为分流自注意力(Shunted Self-attention,SAA),允许ViT在每个注意力层的混合尺度上对注意力进行建模。SAA关键思想是将异构感受野大小注入到令牌中:在计算自注意力矩阵之前,选择性合并令牌以表示更大的目标特征,同时保留某些令牌以保留细粒度特征。这种新颖的合并方案使得自注意力模块能够学习目标之间的关系,同时减少令牌数量和计算成本。

分流Transformer块

为了降低处理高分辨率特征图时的计算成本,PVT引入了空间约简注意力(Spatial Reduction Attention,SRA)取代原来的多头自注意力(MSA)。然而SRA倾向于在一个自注意力层中存储太多令牌,并且仅在单个尺度上提供令牌特征。这些限制阻碍了模型捕捉多尺度目标的能力,尤其是小尺寸目标。

分流自注意力

输入序列 F F F首先投影到查询 Q Q Q,键 K K K和值 V V V向量。之后多头自注意力采用 H H H独立注意力头并行计算自注意力。为了减少计算成本,遵循PVT并减少K,V长度而不是Swin中按照区域划分 { Q , K , V } \{Q,K,V\} {Q,K,V}。本文的SSA与PVT的SRA不同点之处在于,在同一自注意力层的注意力头之间,K、V长度不相同。相反,长度在不同头中变化,以捕捉不同粒度的信息。这提供了多尺度令牌聚合。键和值 K , V K,V K,V对于不同头下采样到不同尺寸:
Q i = X W i Q K i , V i = M T A ( X , r i ) W i K , M T A ( X , r i ) W i V V i = V i + L E ( V i ) \begin{aligned} Q_{i}&=XW_{i}^{Q}\\ K_{i},V_{i}&=MTA(X,r_{i})W_{i}^{K},MTA(X,r_{i})W_{i}^{V}\\ V_{i}&=V_{i}+LE(V_{i})\\ \end{aligned} QiKi,ViVi=XWiQ=MTA(X,ri)WiK,MTA(X,ri)WiV=Vi+LE(Vi)
其中 M T A ( ⋅ . r i ) MTA(\cdot.r_{i}) MTA(.ri)是第i层的多尺度令牌聚合层,其中下采样率为 r i r_{i} ri。实践中采用和卷积和步幅为 r i r_{i} ri的卷积实现下采样。 W i Q , W i K , W i V W_{i}^{Q},W_{i}^{K},W_{i}^{V} WiQ,WiK,WiV是第i头线性投影参数。在注意力头之间有变量KaTeX parse error: Expected '}', got 'EOF' at end of input: r_{i]。因此自注意力中键和值可以捕捉不同尺度。 L E ( ⋅ ) LE(\cdot) LE()是MTA通过深度卷积对值 V V V的局部增强分量。
分量自注意力可以描述为: h i = Softmax ( Q i K i T d k ) V i h_{i}=\text{Softmax}(\frac{Q_{i}K_{i}^{T}}{\sqrt{d_{k}}})V_{i} hi=Softmax(dk QiKiT)Vi
得益于多尺度键核值,本文的分流自注意力在捕捉多尺度目标时更强大。计算成本的降低可以取决于 r r r的值。当 r r r变大, K , V K,V K,V中更多令牌被合并,且 K , V K,V K,V长度更短。因此,计算成本较低,但它仍然保留了捕捉大目标的能力。当 r r r变小,更多细节被保留但带入更多计算成本。融合各种 r r r 到一个自注意力层使得捕捉多细粒度特征。

具体细节前馈层

在传统的前馈层中,全连接层是逐点的且无交叉令牌信息可以学习。这里本文目标是通过指定前馈层中的细节来补充局部信息。通过在前馈层的两个全连接层之间添加数据特定层来补充前馈层中局部细节。
x ′ = F C ( x ; θ 1 ) x ′ ′ = F C ( σ ( x ′ + D S ( x ′ ; t h e t a ) ) ; θ 2 ) \begin{aligned} x^{\prime}&=FC(x;\theta_{1})\\ x^{\prime\prime}&=FC(\sigma(x^{\prime}+DS(x^{\prime};theta));\theta_{2})\\ \end{aligned} xx′′=FC(x;θ1)=FC(σ(x+DS(x;theta));θ2)
其中 D S ( ⋅ ; θ ) DS(\cdot;\theta) DS(;θ)是具体细节层,参数为 θ \theta θ,实践中由深度卷积实现。

补丁嵌入层

如何映射图像到序列对于模型性能是重要的。ViT直接划分输入图像为16x16无重叠补丁。 Scaled relu
matters for training vision transformers发现在补丁嵌入使用卷积提供了高质量补丁序列,它帮助Transformer比传统的大跨度非重叠补丁嵌入看得更好。在本文模型中,根据模型尺寸采用具有重叠得不同卷积层。将步幅为2和零填充得7x7卷积层作为补丁嵌入的第一层,并根据模型大小添加步幅为1的额外3x3卷积层。最后使用步幅为2的无重叠投影层生成大小为 H 4 × W 4 \frac{H}{4}\times \frac{W}{4} 4H×4W

这篇关于Shunted Self-Attention via Multi-Scale Token Aggregation的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

微信企业号之获取access_token

一.前言 获取access_token是调用企业微信API接口的第一步,相当于创建了一个登录凭证,其它的业务API接口,都需要依赖于access_token来鉴权调用者身份。因此开发者,在使用业务接口前,要明确access_token的颁发来源,使用正确的access_token。 二.使用流程 请求方式: GET(HTTPS) 请求地址: https://qyapi.weixin.qq.c

【Unity学习笔记】第十六 World space、Parent space和Self space及Quaternion左乘右乘辨析

目录 World space、Parent space和Self space不同坐标系下的移动不同坐标系下的旋转——Quaternion左乘右乘的区别辨析总结 参考: Unity 世界坐标&局部坐标下的旋转Quaternion multiplication orderlocal space vs global space vs object space in unity3dTr

图像中的attention及QKV机制解释

简单记录/推荐两篇博客,后续细化写一下: 图像中的各类 attention https://blog.csdn.net/weixin_44505185/article/details/127013204 Cross-attention的直观理解 首先理解,cross-attention 是两个不同向量间的相关计算,一般Q叫做查询向量,K=V,V是被查询向量; 简单来讲,对图像而言,cro

cookie,session, token 的特点与区别

Cookie、Session 和 Token 在 Web 开发中扮演着不同的角色,各自具有特点和区别: Cookie  存储在用户的浏览器中,是由服务器发送到客户端并存储在客户端的小型文本文件。可以包含有关用户的信息,如身份验证令牌、用户偏好设置等。可以设置过期时间,可以是会话级别的(浏览器关闭时失效)或持久性的(在指定时间后失效)。不太安全,因为它们存储在用户的计算机上,可能会被篡改或窃

pikachu靶场通关之暴力破解token防爆破

这里写pikachu靶场token防爆破的第二种解法 用python脚本跑,下面是代码 import requestsfrom bs4 import BeautifulSoup# url填自己的urlurl = 'http://localhost:8086/pikachu-master/vul/burteforce/bf_token.php'# 取出账号字典里的值,1.txt就是账号字典

【光伏预测-粉丝福利】KOA-CNN-BiGRU-Attention实现光伏预测附matlab代码

KOA-CNN-BiGRU-Attention实现光伏预测附matlab代码 KOA-CNN-BiGRU-Attention是一种神经网络模型,常用于光伏(太阳能光伏)预测任务。它结合了多个深度学习技术,包括卷积神经网络(Convolutional Neural Network,CNN)、双向门控循环单元(Bidirectional Gated Recurrent Unit,BiGRU)和注意力

JWT生成token工具类实现

JWT简介         JWT定义 JWT全称为Json web token,也就是 Json 格式的 web token JWT数据结构         1.JWT由三段字符串组成,中间用.分隔  Project_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIiwiZXhwIjoxNzE2MzcwMTM0LCJpYXQiOjE3

Transformer - Self-Attention层的复杂度的计算

Transformer - Self-Attention层的复杂度的计算 flyfish 矩阵的维度 下面矩阵的维度是3×2即 3行,2列 6,10等都是矩阵里的元素 如果矩阵A的列数与矩阵B的行数相同,那么这两个矩阵可以相乘。即,若A是一个m×n矩阵,B是一个n×p矩阵,则它们的乘积C会是一个m×p矩阵。 中间相等,留两边。 两个矩阵相乘的复杂度是 O(m×p×n) 乘法操

sa-token权限认证框架,最简洁,最实用讲解

查看源码,可知,sa sa-token框架 测试代码源码配置自动装配SaTokenConfigSaTokenConfigFactory SaManager工具类SaFoxUtilStpUtilSaResult StpLogic持久层定时任务 会话登录生成token创建account-session事件驱动模型写入tokenSaSessionSaCookieSaTokenDaoSaStrag

谷歌Gemini时代来了!加固搜索护城河、赋能全家桶,Gemini 1.5 Pro升级至200万token

3 月中旬,谷歌宣布 Google I/O 定档北京时间 5 月 15 日凌晨 1 点。而当大会开幕时间临近,本应是讨论度最高的时候,「宿敌」OpenAI 却半路杀出,抢先一天,仅耗时 27 分钟就发布了颠覆性巨作 GPT-4o,将新一轮 AI 争霸带入了「Her 时代」。 正如英伟达科学家 Jim Fan 在评价 GPT-4o 时所言,在 Google I/O 大会之前,OpenAI 发布 G