Focal Modulation Networks聚焦调制网络

摘要

我们提出了 焦点调制网络 (简称 FocalNets) ,其中 自注意( SA )被 Focal Modulation 替换,这种机制 包括三个组件:( 1 )通过 depth-wise Conv 提取分级的上下文信息,同时编码短期和长期依赖;( 2 门控聚合,基于每个 token 的内容选择性的聚集视觉上下文;( 3 )通过点乘或者仿射变换将汇集的信息 注入 query 。大量实验表明, FocalNets 表现出非凡的可解释性,并且在图像分类、对象检测和分割任务上优于具有类似计算成本的SoTA 对应物(例如, Swin Focal Transformer) 。Focal Net主要是在 block 中加入了 Multi-level 的特征融合机制,类似于目标检测中常见的 FPN 结构,同时学习粗粒度的空间信息和细粒度的特征信息。提高网络性能。

1、介绍

Transformer 虽然效果好,但是效率低。为了提升其效率,已经提出了许多模型。
在这项工作中,我们旨在回答一个基本问题,有没有比 SA 更好的办法来建模依赖输入交互?我们首先分析了当前SA 的高级设计。在图 2 中, 2 左侧,我们展示了 ViTs Swin Transformer 中提出的红色查询令牌及其周围橙色令牌之间常用的(窗口式)注意。然而,是否有必要进行如此繁重的互动和聚合?在这项工作中,我们采取了另一种方法 首先围绕每个 query 集中聚合上下文,然后用聚合的上下文自适应地 调制 query 。如图 2 右侧所示,我们可以简单地应用查询不可知的焦点聚合 (例如,深度卷积)来生成不同粒度级别的汇总token 。然后,这些汇总的 token 被自适应地聚合到调制器中,调制器最终被注入到query中。这种更改仍然能够实现依赖于输入的令牌交互,但通过将聚合与单个查询解耦,显著简化了过程,因此仅凭几个特性即可实现轻量级交互。我们的方法受到焦点注意力 [95] 的启发 , 焦点注意力执行 多个级别的聚合来捕捉细粒度和粗粒度的视觉上下文 。然而,我们的方法 在每个查询位置提取调制器, 并使用一种简单的方式进行查询 - 调制器交互 。我们将这种新机制称为 Focal Modulation ,用它取代 SA 来构建一个无注意力的架构,简称Focal ModulationNetwork FocalNet

2、相关工作

self-attention Transformer 通过将图像分割成一系列视觉标记而首次引入视觉。 我们的焦点调制与 SA 有很大不同,它首先聚合来自不同粒度级别的上下文,然后调制单个查询令牌,为令牌交互提供了一种 无注意力的机制 。对于上下文聚合,我们的方法受到 [95] 中提出的焦点关注的启发。然而,焦点调制的上下文聚合是在每个查询位置而不是目标位置执行的,然后是调制而不是关注。这些机制上的差异导致了效率和性能显著提高。另一项密切相关的工作是Poolformer ,它使用池来总结局部上下文,并总结简单的减法来调整单个输入。尽管效率不错,但它在性能上落后于像Swin 这样的流行视觉变换器,正如我们将要展示的那样,捕捉不同层次的局部结构是至关重要的。
MLP 结构。 Visual MLP 可分为两组:( i) 全局混合 MLP ,如 MLP Mixer ResMLP ,通过各种技术(如门控、路由和傅里叶变换)增强的空间投影来执行视觉标记之间的全局通信。(Ii) 局部混合 MLP 使用空间 移位、置换和伪核混合对附近的 token 进行采样以进行交互 。最近, MixShift MLP 以类似的焦点关注精神,利用了与MLP 的局部和全局交互。 MLP 架构和我们的焦点调制网络都是无需注意的。然而,具有多级上下文聚合的焦点调制自然地捕获了短距离和长距离结构,从而实现了更好的精度- 效率权衡。
卷积。最近, ConvNets 从两个方面进行了反击: (i) 卷积层被集成到 SA 中,并带来显著的收益,反之亦然;(ii)ResNets 使用类似的数据扩充和正则化策略缩小了与 ViTs 的差距,用(动态)深度卷积取代 SA也可以略微超过Swin
我们的焦点调制网络也利用深度卷积作为微架构 ,但 通过引入多级上下文聚合和依赖于输入的调制,它 超越了这一点。

3、焦点调制网络

3.1SA到焦点调制

给定视觉特征图 作为输入, ,通用编码过程通过 T 与其周围 X (例如相邻 token )的交互以及上下文中的聚合M,为每个视觉标记 (查询) 生成一个特征表示
self-attention 自我注意模块使用后期聚合过程,公式如下:
其中上下文 X 上的聚合 M1 是在经由交互 T1 计算出查询和目标之间的注意力得分之后执行的。
Focal modulation 相反, Focal modulation 使用公式化为:
其中 首先使用 M2 在每个位置 i 处聚合上下文特征,然后 query 基于聚合 T2 与聚合的特征交互以形成 yi 比较等式(1) 和等式 (2) ,我们看到 (i) 焦点调制 M2 的上下文聚合通过共享算子(例如,深度卷积)来分摊 上下文的计算 ,而 SA 中的 M1 在计算上更昂贵,因为它需要对不同查询的不可共享注意力分数求和; (ii) 交互 T2 token 与其上下文之间的轻量级算子 ,而 T1 涉及计算 token token 的注意力分数,其具有二次
复杂度。基于等式(2 ),我们将我们的 焦点调制实例化为
其中 q(.) query 投影函数 ,并且是逐元素乘法。 m(.) 是一个上下文聚合函数,其输出称为调制器 。图 4(a)和 (b) 比较了自注意和焦点调制。所提出的焦点调制具有以下有利特性:
平移不变性 。因为 q(.) m(.) 总是以 query token i 为中心,并且不使用位置嵌入,因此调制对输入特征图x 的平移是不变的。
显式输入依赖关系 。调制器是通过聚集目标位置 i 周围的局部特征来通过 m(.) 计算的,因此我们的焦点调制是明确依赖于输入的。
空间和通道特定 。作为 m(.) 的指针的目标位置 i 实现空间特定调制。逐元素乘法实现特定于信道的调制。 分离的特征粒度 q(.) 为单个 token 保留了最好的信息,而 m(.) 提取了更粗糙的上下文。它们是解耦的,但通过调制进行组合。

3.2 通过m(.)进行上下文聚合。

已经证明,短期和长期上下文对视觉建模都很重要。然而,具有更大感受野的单个聚集不仅在时间和内存上计算昂贵,而且还会破坏局部细粒度结构,这对于密集预测任务特别有用。受[95] 的启发,我们 出了一种多尺度层次上下文聚合 。如图 4(c) 所示
聚合过程由两个步骤组成:分层上下文化以提取不同粒度级别的从局部到全局范围的上下文,以及门 控聚合以将不同粒度级别上的所有上下文特征浓缩到调制器中
Step 1: 分层上下文化
给定输入特征图X,我们首先将其投影到具有线性层 的新特征空间中。然后,使用 L depth-wise Conv 的堆栈来
获得上下文的分层表示。在焦点级别 输出 由以下 下公式导出:
其中, 第l级的上下文函数,通过内核大小为 的深度卷积 的深度卷积 DWConv 实现,然后是 GeLU激活
函数。将深度卷积用于等式 4 的分层上下文化。与池化相比,深度卷积是可学习的,并且具有结构感知能力。与常规卷积相比,它是通道式的,因此在计算上便宜的多。
等式 (4) 的分层上下文化, 生成 L 个级别的特征图 。在水平 l的深度卷积DWConv 实现,然后是 GeLU 激活处,有效感受野为
远大于核大小 为了捕捉整个输入的全局上下文
(可以是高分辨率的) ,我们 在第 L级特征图 上使用全
使用全 局平均池化 。因此,我们总共获得了(L+1)个特征图 它们共同捕获了不同粒度级 别的短期和长期上下文。
step2 :门控聚合
在这个步骤中, 通过分层上下文化获得的( L+1) 个特征图被浓缩到调制解调器中 ,在图像中,视觉
token(query) 与其周围上下文之间的关系通常取决于内容本身。例如,该模型可能依赖于局部细粒度特征来编码显著视觉对象的查询,但主要依赖于全局粗粒度特征来编码背景场景的查询。基于这种直觉,我们使用门控机制来控制每个查询从不同级别聚合的数量 。具体地,我们 使用线性层来获得空间和级别 感知的选通权重
然后,我们 通过逐元素乘法 执行加权和以获得具有与输入X相同大小的单个特征图
其中, 级别 l G 的切片。当可视化这些门控图在图5中,
我们惊讶地发现,我们的 FocalNet 确实像我们预期的那样自适应地从不同的焦点级别收集上下文 。正如 我们所看到的,对于小对象上的 token ,它更多地关注低焦点级别的细粒度局部结构,而统一背景中的 token 需要从更高级别了解更大的上下文 到目前为止,所有聚合都是空间的 ,为了实现不同信道之间 的通信,我们使用另一个线性层 h(.) 来获得调制器图
在图 6 中,我们在 FocalNet 的最后一层可视化调制器 M 的幅度。有趣的是,调节器会自动更多地关注诱导类别的对象,这意味着解释FocalNets 的一种简单方法。
焦点调制 :给定如上所述的 m(.) 的实现, 等式( 3) 的焦点调制可以在 token 级别重写为
其中, 分别是 的位置i 处的门控值和视觉特征。我们总结了算法
1 pytorch 风格伪代码中提出的焦点调制,该算法由几个深度卷积和线性层实现。

3.3与其他建筑设计的关系

基于等式( 6 ),我们在我们的焦点调制和自注意之外的其他相关架构设计之间建立了联系。
深度卷积 已用于增强 SA 的局部结构建模,或纯粹用于实现有效的长范围相互作用。我们的焦点调制也采用深度卷积作为构建块之一。然而,我们的Focal Modulation 不是直接使用其相应作为输出,而是使用深度卷积来捕获分层上下文,然后将其转换为调制器来调制每个query
挤压和激励( SE ):是在视觉变换器出现之前在 [35] 中提出来的。它利用全局平均池来全局压缩上下文,然后使用多层感知(MLP )和 Sigmoid 来获得每个通道的激励标量。 SE 可以被认为是焦点调制的一种特殊情况。在等式(6 )中,设置 L=0 ,焦点调制退化为
,类似于 SE 。在我们的实验中,我们研究了这个变体,发现全局上下文远远不足以进行视觉建模。 PoolFormer 由于其简单性而引起了许多关注。它使用平均池在滑动窗口中本地提取上下文,然后使用元素减法调整query token 。它与 SE-Net 有着相似的精神,但使用局部上下文而不是全局上下文,使用减法而不是乘法。把它和Focal Modulation 放在一起,我们可以发现它们都提取了本地上下文,并启用了查询上下文交互,但方式不同。
3.5 网络结构
使用与 Swin Focal Transformer 中相同的布局和隐藏尺寸,但用 Focal Modulation 取代了 SA 模块。因此,我们构建了一系列焦点调制网络(FocalNet) 变体。在 FocalNets 中,我们只需要指定焦点 focallevels(L)的数量和每个级别的内核大小 为了简单起见, 我们将内核大小从较低的焦点级别 逐渐增加到较高的焦点级别

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

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

相关文章

吴恩达深度学习笔记:浅层神经网络(Shallow neural networks)3.6-3.8

目录 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)第三周:浅层神经网络(Shallow neural networks)3.6 激活函数(Activation functions)3.7 为什么需要非线性激活函数?(why need a non…

Spring Cloud 九:服务间通信与消息队列

Spring Cloud 一:Spring Cloud 简介 Spring Cloud 二:核心组件解析 Spring Cloud 三:API网关深入探索与实战应用 Spring Cloud 四:微服务治理与安全 Spring Cloud 五:Spring Cloud与持续集成/持续部署(CI/C…

Java Web-Maven

Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具 Maven的作用 1.依赖管理:方便快捷的管理项目依赖资源(jar包),避免版本冲突问题 我们有的项目需要大量的jar包,采用手动导包的方式非常繁琐,并且版本升级也…

面试官:2PC和3PC有什么区别?

本文内容已收录至我的面试网站:www.javacn.site 在分布式事务中,通常使用两阶段协议或三阶段协议来保障分布式事务的正常运行,它也是 X/Open 公司定义的一套分布式事务标准。 X/Open 公司是由多家国际计算机厂商所组成的联盟组织,…

【前端】-【性能优化常识】

目录 前端性能优化指标首屏速度、白屏时间性能优化收效很大的操作:减少首屏资源体积收效不大或者特殊情况的优化操作 操作速度、渲染速度造成操作卡顿和渲染慢的场景性能优化 数据缓存 补充知识异步加载加载方式一:prefetch加载加载方式二:sc…

小迪安全48WEB 攻防-通用漏洞Py 反序列化链构造自动审计 bandit魔术方法

#知识点: 1、Python-反序列化函数使用 2、Python-反序列化魔术方法 3、Python-反序列化 POP 链构造(payload构造) 4、Python-自动化审计 bandit 使用 #前置知识: 函数使用: pickle.dump(obj, file) : 将对…

基于SIR模型的疫情发展趋势预测算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于SIR模型的疫情发展趋势预测算法.对病例增长进行SIR模型拟合分析,并采用模型参数拟合结果对疫情防控力度进行比较。整体思路为采用SIR微分方程模型…

免杀对抗-C2远控篇CC++SC转换格式UUID标识MAC物理IPV4地址减少熵值

参考文章: https://github.com/INotGreen/Bypass-AMSI https://mp.weixin.qq.com/s/oJ8eHdX8HGuk6dZv0kmFxg https://kyxiaxiang.github.io/2022/12/14/AMSIandEtw https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell 文章参考: https://www.…

exec族

execl();------------------------------------------ 查看系统命令的路径: 只有错误时返回 -1 执行到execl 时,把execl 里的可执行程序的各个段(数据、堆栈...)替换掉本程序的a.out 实现镜像&a…

【数据分享】1929-2023年全球站点的逐年平均露点(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、能见度等指标,说到气象数据,最详细的气象数据是具体到气象监测站点的数据! 有关气象指标的监测站点数据,之前我们分享过1929-2023年全球气象站…

vue3全局引入element-plus使用Message教程

文章目录 安装引入 Element Plus和组件样式示例注意安装与引入:按需引入:API 使用:样式问题:组件上下文:版本兼容性:错误处理: 这是 Element UI 的 Vue 3 版本。ElMessage 是 Element Plus 中的…

四年创作,心路历程

四年创作,心路历程 前言初识收获日常憧憬 前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 前言 今天打开csdn,发现官方发送了一条私信,原来我已经在计算机这…

解决华为云服务器宝塔面板无法访问显示“此站点的连接不安全”问题

已经配置好安全组以及初始化宝塔面板,还是无法访问镜像管理页面,提示此站点的连接不安全。 解决方案 将地址https改为http即可进入。 成功登录后,开启面板SSL即可。

LabVIEW智能家居安防系统

LabVIEW智能家居安防系统 随着科技的飞速发展和人们生活水平的不断提升,智能家居系统以其便利性和高效性,逐渐成为现代生活的新趋势。智能家居安防系统作为智能家居系统的重要组成部分,不仅能够提高家庭的安全性,还能为用户提供更…

数学算法(算法竞赛、蓝桥杯)--最大公约数,欧几里得算法

1、B站视频链接&#xff1a;G05 最大公约数 欧几里得算法_哔哩哔哩_bilibili 题目链接&#xff1a;[NOIP2001 普及组] 最大公约数和最小公倍数问题 - 洛谷 #include <bits/stdc.h> using namespace std; typedef long long LL; LL x,y,ans;LL gcd(LL a,LL b){return b0?…

【P1328】[NOIP2014 提高组] 生活大爆炸版石头剪刀布

[NOIP2014 提高组] 生活大爆炸版石头剪刀布 题目背景 NOIP2014 提高组 D1T1 题目描述 石头剪刀布是常见的猜拳游戏&#xff1a;石头胜剪刀&#xff0c;剪刀胜布&#xff0c;布胜石头。如果两个人出拳一样&#xff0c;则不分胜负。在《生活大爆炸》第二季第 8 集中出现了一种…

linux用户管理命令2

useradd可以创建用户&#xff0c;其执行具体表现为在home文件夹下创建对应文件 那么有了useradd添加用户&#xff0c;自然有passwd添加用户密码 userdel可以删除用户&#xff0c;其中-r命令删除用户及其文件&#xff0c;-f命令可以强制删除用户&#xff0c;即使用户当前正在登录…

RN封装的底部向上弹出的弹出层组件

组件代码 import React from react; import { View, StyleSheet, Modal, TouchableOpacity, Text, TouchableWithoutFeedback } from react-native;const BottomPopup ({ visible, onClose, children, leftButtonTitle, rightButtonTitle, onLeftButtonPress, onRightButtonP…

Elasticsearch:语义搜索即服务处于卓越搜索的中心

作者&#xff1a;来自 Elastic Sherry Ger, Stephen Brown 对于许多企业来说&#xff0c;搜索卓越中心&#xff08;center of excellence - COE&#xff09;向其用户提供搜索服务&#xff0c;从不同的数据源中整理知识&#xff0c;并将搜索功能集成到其内部和外部应用程序中。…

“数据持久化”和“缓存与数据库不一致”到底有什么区别?

之前&#xff0c;我一直把“数据持久化”和“缓存与数据库不一致问题”给搞混了。我当时复习的时候基本上就没有思考&#xff0c;就是纯背诵&#xff0c;数据持久化是什么&#xff0c;数据持久化有两种方式&#xff0c;这两种方式特点是什么&#xff0c;然后巴拉巴拉一堆。缓存…