MOAT: ALTERNATING MOBILE CONVOLUTION AND ATTENTION BRINGS STRONG VISION MODELS

news2025/2/24 6:49:32

MOAT: ALTERNATING MOBILE CONVOLUTION AND ATTENTION BRINGS STRONG VISION MODELS

  • 一、引言
  • 二、实现细节
    • (一)、MBConv block
    • (二)、Transformer block
    • (三)、Comparing MBConv and Transformer blocks
    • (四)、MOAT block
    • (五)、Macro-level network design
  • 三、实验部分
    • (一)、ImageNet Image Classification.
    • (二)、COCO Detection
    • (三)、ADE20K Semantic Segmentation
  • 四、消融实验
  • 五、附录

paper: https://arxiv.org/pdf/2210.01820.pdf
code: https://github.com/RooKichenn/pytorch-MOAT

一、引言

本文介绍了MOA-T,这是一个建立在MObile卷积(即反向残差块)和Attension之上的神经网络家族。与当前堆叠分离的移动卷积和transformer的工作不同,本文有效地将它们合并为MOA-T。从标准Transformer块开始,将其多层感知器替换为MObile卷积,并在自注意力操作之前对其进行重新排序。MObile卷积不仅增强了网络表示能力,而且产生了更好的下采样特征。简单的MOA-T网络非常有效,通过ImageNet-22K预训练,在ImageNet-1K上实现了89.1%的top1精度。此外,通过简单地将全局注意力转换为窗口注意力,MOA-T可以无缝地应用于需要大分辨率输入的下游任务。由于MObile卷积可以有效地在像素之间交换局部信息(从而跨窗口),MOA-T不需要额外的窗口移动机制。
在这项工作中,通过深入研究MBConv和Transformer的组合来研究微观层次的构建块设计。在仔细检查这些块后,进行了两项关键观察。首先,Transformer模块中的MLP模块与MBConv相似,因为它们都采用了反向瓶颈设计。然而,MBConv是一种更强大的运算,它采用了额外的3×3深度卷积(编码像素之间的局部交互),并且在卷积之间采用了更多的激活和归一化。其次,为了使用Transformer提取多尺度特征,可以将平均池化(步长为2)应用于自注意力层之前的输入特征。然而,汇集操作降低了自注意力的表现能力。ATtenten(MOA-T)有效地结合了MBConv和Transformer。所提出的MOA-T通过首先用MBConv块替换其MLP,然后反转注意力顺序和MBConv来修改Transformer。用MBConv替换MLP为网络带来了更多的表示能力,并且颠倒顺序(MBConv先于自注意)将下采样任务委派给MBConv内的跨深度卷积,从而学习更好的下采样内核。通过堆叠和增加网络块的通道,进一步开发了一系列MOA-T模型。
此外,通过简单地将全局注意力转换为非重叠的局部窗口注意力,MOA-T可以无缝地部署到需要大分辨率输入的下游任务。由于MBConv能够有效地在像素之间交换局部信息(支持跨窗口传播),MOA-T不需要额外的窗口移动机制。
为了探索MOA T模型的可扩展性,只需通过减少通道大小(无任何其他变化)来缩小模型,从而形成了tiny MOA-T系列,其性能也出人意料地优于基于mob Transformer的模型,如mobile Former和MobileViT。

二、实现细节

(一)、MBConv block

移动卷积(MBConv)(下图(a))也称为倒置残差块,是一种有效的构造块,已广泛用于移动模型。与ResNet中的瓶颈块不同,MBConv块采用了“反向瓶颈”的设计,以及有效的深度卷积。具体而言,首先应用1×1卷积将输入通道扩展4倍。然后,使用3×3深度卷积有效地捕获像素之间的局部空间交互。最后,通过1×1卷积将特征投影回原始通道大小,从而实现残差连接。可选的挤压和激励(SE)模块(其使用全局信息来重新加权通道激活)也可以在深度卷积之后使用。可以调整通道扩展比和深度卷积内核大小以获得更好的性能。
在这里插入图片描述

形式上,给定输入张量 x ∈ R H × W × C x∈ R^{H×W×C} xRH×W×C(H、W、C是其高度、宽度和通道),MBConv块表示如下:
在这里插入图片描述

(二)、Transformer block

Transformer块是一个强大的构建块,通过依赖数据的自注意力操作有效地捕获全局信息。它由两个主要操作组成:自注意和MLP。自注意操作基于输入张量中每对像素之间的成对相似性来计算注意图,从而使模型的感受域涵盖整个空间域。此外, 注意力图动态地依赖于输入,从而扩大了模型的表示能力(与卷积核不同,卷积核是独立于数据的)。MLP运算包含两个1×1卷积,其中第一个卷积扩展通道(4×),第二个卷积收缩通道,并且在其间使用GeLU非线性。
在这里插入图片描述
形式上,给定输入张量 x ∈ R H × W × C x∈ R^{H×W×C} xRH×W×C,Transformer表示如下:
在这里插入图片描述

(三)、Comparing MBConv and Transformer blocks

首先,MBConv和Transformer都提倡“反向瓶颈”设计,其中输入张量的通道被扩展,然后被1×1卷积投影。然而,MBConv在这两个1×1卷积之间另外采用了3×3深度卷积,并且卷积之间既有批量归一化,也有GeLU激活。
第二,为了捕获全局信息,MBConv块可以采用挤压和激励(SE)模块,而Transformer采用自注意力操作。注意,SE模块通过全局平均池化压缩空间信息,而自注意力模块保持张量的空间分辨率。
第三,在块内的不同位置执行下采样操作。为了对特征进行降采样,标准MBConv块使用跨深度卷积,而部署在现代混合模型CoAtNet中的Transformer块在自注意力之前采用平均池化操作。

(四)、MOAT block

本文尝试设计一个新的块,有效地合并MBConv和Transformer块中的最佳块。从强大的Transformer块开始,并逐步完善它。
根据第一次观察,MBConv和Transformer模块均采用“反向瓶颈”设计。由于深度卷积可以有效地编码像素之间的局部交互,这对于在ConvNets中建模平移不变至关重要,因此开始将深度卷积添加到Transformer的MLP模块中。
对于第二个观察,不将SE模块添加到MBConv块中。保持自注意力操作以捕获全局信息。
第三个观察结果至关重要。就在Transformer块中的自注意力操作之前的下采样操作(平均池化)略微降低了其表示能力。另一方面,MBConv块被设计用于具有跨步深度卷积的下采样操作,这有效地学习了每个输入通道的下采样卷积核。因此,在自注意力操作之前进一步重新排序“反向瓶颈”(包含深度卷积),将下采样操作委托给深度卷积。这样,就不需要额外的下采样层,比如CoAtNet中的平均池化,或者Swin和ConvNeXt中的补丁嵌入层。如下图所示。
在这里插入图片描述
形式上,给定输入张量 x ∈ R H × W × C x∈ R^{H×W×C} xRH×W×C,MOA-T块表示如下:
在这里插入图片描述
其中Attn表示自注意操作。MOA-T块简单地由MBConv和自注意操作组成。

(五)、Macro-level network design

在开发MOA-T块之后,采用与现有工程相同的策略:
1、在早期阶段使用卷积提高了Transformer模型的性能和训练收敛性;
2、移动卷积(MBConv)块也是混合卷积Transformer模型中的有效构建块;
3、提取多尺度主干特征有利于下游任务,如检测和分割
因此,基础架构由卷积主干、MBConv块和MOA-T块组成。此外,通过消融研究,我们发现CoAtNet-1提出的层布局有效。因此,遵循它们的层布局,形成了基础模型MOA-T-1。为了形成MOA-T模型族,在块数和通道数的维度上缩小或放大MOA-T-1,如下表所示。只在第三和第四阶段(五个阶段中)缩放块数。在每个级的第一块中执行下采样操作。注意,基础模型MOAT-1和CoAtNet-1共享相同的层布局和通道大小。然而,本文采取了不同的缩放策略:MOA-T通过交替增加深度和扩展变体之间的宽度来放大(或缩小)。
在这里插入图片描述

三、实验部分

(一)、ImageNet Image Classification.

在这里插入图片描述
在这里插入图片描述

ImageNet-1K上的性能。仅1K:仅使用ImageNet-1K。22K+1K:ImageNet-22K预训练和ImageNet-1K微调。

(二)、COCO Detection

在这里插入图片描述
COCO 2017验证集上的对象检测和实例分割。采用级联Mask-RCNN和单尺度推断(硬NMS)。†:使用ImageNet-22K预训练权重。

(三)、ADE20K Semantic Segmentation

在这里插入图片描述

四、消融实验

MOAT设计:从Transformer块开始,由Attn(自注意力)和MLP组成,它已经达到了很强的精度(82.6%)。直接在MLP中插入3×3深度卷积会使性能降低0.9%。如果在卷积之间额外插入批量归一化和GeLU(即,用MBConv替换MLP,但不使用挤压和激励),性能将提高到82.9%。最后,将MBConv置于Attn之前达到83.3%的性能。此外,MOA-T区块在微小模型机制中带来了更多的改进(从1.2%提高到2.6%)。

在这里插入图片描述
Order of MBConv and Attn in MOAT block:MOA-T块设计颠倒了注意力(Attn)和移动卷积(MBConv)的顺序,将下采样任务委托给MBConv内的跨步深度卷积。然而,下采样仍然可以以原始顺序(即Attn+MBConv)在MBConv中执行。由于操作Attn和MBConv是交错的,因此关键区别来自每个阶段的第一个块,其中Attn是在(1)空间下采样(2)通道扩展特征上操作的。为了进行研究,在MOA-T变体中使用了不同的块,使用“Attn+MLP”、“Attn+MBConv”或“MBConv+Attn”。对于“Attn+MBConv”块,我们进一步研究了该位置(Attn vs.MBConv),在那里应用了空间下采样和通道扩展操作。
在下表中,用MBConv替换MLP将MOA T-0和tiny MOA T-2的性能提高了0.3%和0.7%。其次,如果在MBConv块上同时执行空间下采样和通道道扩展,则MOA T-1和微小MOA-T-2的的性能进一步提高了0.5%和0.9%,这表明MBConv学习到了更好的下采样特征。然而,这种设计相当于将第一个Attn层移到其前一阶段,从而降低了当前阶段的表示能力。更具体地说,只有最后一个阶段会受到影响,因为一个层被移动了。第三,为了增强表示能力,颠倒Attn和MBConv的顺序允许我们将第一个Attn层保持在同一阶段。该设计进一步将MOA T-0和微小MOA T-2的性能提高了0.7%和1.2%。第四,为了补偿移位效应,还可以使用另一个1×1卷积来扩展第一Attn层的通道(然后,MBConv只执行空间下采样)。然而,这种设计与MOA-T块设计类似,但使用了更多的参数和FLOP。 在这里插入图片描述
Downsampling layer:对于MOA-T块设计,讨论了MBConv和Attention的重新排序。因此,不需要CoAtNet中的下采样层,也不需要Swin和ConvNeXt中的补丁嵌入层(即2×2带步长2的卷积)中的平均池化。如下表所示,使用补丁嵌入层确实比平均池化方案提高了0.2%的精度,但它需要更多的模型参数成本。另一方面,MOA-T设计(即,将下采样委托给MBConv块)以最小的参数成本和可比的FLOP显示了最佳性能。
在这里插入图片描述

五、附录

在MOTA网络中,对卷积和深度卷积都采用核大小3。使用多头自注意力,其中每个注意力头具有通道32。对于MBConv和MOA-T块,使用扩展比率4。MBConv块(即,第二和第三阶段)中的SE模块采用缩减比率4(相对于输入通道)。MOA-T块包括ImageNet的相对位置嵌入。然而,下游任务通常采用比ImageNet更大的输入分辨率,需要特殊的适应(例如,预训练位置嵌入的双线性插值)。为了简单起见,当在下游任务上运行MOAT时,删除了位置嵌入。
在这里插入图片描述

图像分类的实验设计:在ImageNet-1K上训练MOA-T模型,分辨率为224,持续300个轮次。如果在较大的ImageNet-22K上进行预训练,使用分辨率224和90轮次。之后,在ImageNet-1K上对模型进行了30个时期的微调。在微调期间,还尝试使用更大的分辨率(例如384和512)。在训练期间使用了典型的正则化方法,例如标签平滑、RandAugment、MixUp、随机深度和具有解耦权重衰减的Adam(即AdamW)。详细的超参数见如下两个表。所有实验都在TPV4上进行。MOA T-{0,1,2}用16个核训练,而MOA T-3用32个核训练。在表12中报告了MOA T模型变体的训练时间。
在这里插入图片描述
在这里插入图片描述
目标检测以及语义分割的实验设置:使用MOA T架构在COCO 2017数据集上训练Cascade Mask R-CNN。数据集包含118K个训练样本和5K个验证样本为了使MOA-T模型适应高分辨率输入,将特征划分为非重叠窗口,用于自注意力计算,其中第二个最后阶段的窗口大小设置为14,并在最后阶段利用全局注意力。由于此窗口分区,输入大小必须可被14整除。TF Vision Model Garden代码库还要求输入大小为正方形(带填充)并可被64整除。因此,选择1344作为输入大小,与基线方法中使用的大小类似(即,最长边不超过1333)。使用特征金字塔网络来整合不同层次的特征。
在这里插入图片描述

消融实验附录在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

传奇GOM引擎登录器配置教程

登录器教程大分类目录引导说明 (01): 解压配置器文件包后,打开KEY文件夹然后选择KEY (02): 战盟官方提供5种不同功能KEY,请打开KEY文件夹里面有载图说明功能,选择你需要…

[附源码]Python计算机毕业设计Django打印助手平台

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

PG::SunsetDecoy

nmap -Pn -p- -T4 --min-rate1000 192.168.133.85 nmap -Pn -p 22,80 -sCV 192.168.133.85 查看80端口的页面,是一个压缩包 下载压缩包后尝试打开,需要密码,所以直接尝试爆破 得到解压密码 manuel 在/etc/shadow中找到了可以利用的地方 …

终于成功把家里的灯光换掉了

这个周末做过最有意义的事情莫过于把家里的客厅和餐厅的两个黄色吊灯都换上白色灯光的了。为什么说最有意义,因为这件事我已经拖了一年多了,这个黄色的灯光我就一直觉得不舒服,想换掉,可是我不会换,也不知道灯要买什么…

内存取证——ABC包

1、获取数据包的镜像信息 2、获取主机名字 3、 列出文件中曾使用的进程信息 题目要求我们去查看管理员的信息 使用命令查找列出有关管理员的信息继续操作(这里发现管理员注册表) 这个文件里存放着管理员的一些基本信息 已发现此的虚拟地址 打开查看 4、获取管理员用户密码

RationalDMIS 2020 轮廓度评价注意事项2021

用偏差算轮廊度值的常用方法 常见的检测设备都使用ISO和美标来评价轮廓,两者有点差异,ISO标准相对美标要更加严格。在评价轮廊度是有只管控形状和管控形状位置两种,用偏差来计算轮廊度的算法不一样。 ASMEY14.5轮廊度计算规律: (1)当最大值和最小值均三0时,轮廓度测定…

报名即将结束!11 大云原生领域开源技术干货一场拿下

距离 12 月 03 日上海站微服务x容器开源开发者 Meetup 活动正式开幕还有不到一周时间,线下席位即将约满。请感兴趣的同学抓紧报名哦! 本次活动由阿里云云原生应用平台与飞天 Club 共同打造,整体内容聚焦容器 & 微服务方向。活动将围绕云…

位深度/像素/分辨率/图像大小的计算/帧率/刷新率

有关图像的基本名词解释: 位深度: 在记录数字图像的颜色时,计算机实际上是用每个像素需要的位深度来表示的。黑白二色的图像是数字图像中最简单的一种,它只有黑、白两种颜色,也就是说它的每个像素只有1位颜色&#x…

[附源码]Python计算机毕业设计Django的低碳生活记录网站

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

MacBook Pro完整卸载及安装激活VMware Fusion13.0.0教程

目录一、MacBook Pro 卸载原有的VMware Fusion二、MacBook Pro下载并安装激活VMware Fusion2.1 下载并安装于Ventura 13.0.1系统2.1.1 下载地址2.1.2 安装2.1.3 激活 VMware Fusion 13.0.0一、MacBook Pro 卸载原有的VMware Fusion 具体操作过程可以详见: mac完整卸…

使用PyTorch实现简单的AlphaZero的算法(3):神经网络架构和自学习

神经网络架构和训练、自学习、棋盘对称性、Playout Cap Randomization,结果可视化 从我们之前的文章中,介绍了蒙特卡洛树搜索 (MCTS) 的工作原理以及如何使用它来获得给定棋盘状态的输出策略。我们也理解神经网络在 MCTS 中的两个主要作用;通…

程序员真的有必要把GC算法好好过一遍,因为它是进大厂必备的

GC算法概述 最早的GC算法可以追溯到20世纪60年代,但到目前为止,GC的基本算法没有太多的创新,可以分为复制算法(Copying GC)、标记清除(MarkSweep GC)和标记压缩(Mark-Compact GC&am…

pte学习_SQL注入1

一、phpstudy使用及mysql数据库基础 ①进入mysql安装路径的/bin中打开cmd mysql -u root -p //登录MYSQL数据库 show databases; // 查看数据库 drop database mysql; //删除mysql数据库 create database pte; //创建pte数据库 use pte; //进入数据库 show tables; //查…

如果把网络原理倒过来看,从无到有,一切都清晰了(上)

长歌吟松风,曲尽河星稀。 前言 我发现绝大数人和我一样对网络原理充满困惑,不是因为不好理解,而是它往往都是直接告诉你它是什么,但它并不告诉你为什么要这样。 而我让离网络最近的一次距离是在一个偶然停电的深夜,周…

实现响应式布局有几种方法

目录 🔽 什么是响应式布局 响应式与自适应区别 🔽 响应式布局方法总结 响应式布局方法一:CSS3媒体查询 响应式布局方法二:百分比% 响应式布局方法三:vw/vh 响应式布局方法四:rem 响应式布局方法五&…

IPv6进阶:OSPFv3 路由汇总实验配置

实验拓扑 实验需求 R1、R2完成接口IPv6地址的配置;R1、R2按图示运行OSPF。R2的三个Loopback接口并不直接激活OSPFv3,而是以重发布的形式注入;在R1、R2上分别执行OSPF路由汇总,使得双方的路由表中关于对方的Loopback只学习到一条汇…

CANoe-vTESTstudio之State Diagram编辑器(入门介绍)

1. 什么是State Diagram编辑器 Test Diagram编辑器是使用具有各种功能的图形元素对测试用例的测试步骤的测试顺序进行建模。而State Diagram Editor,状态图表编辑器,是针对被测系统基于状态的系统行为,在状态图表编辑器中以图形方式建模,从而可以自动生成要测试的SUT(sys…

代码随想录算法训练营第四十八天| LeetCode198. 打家劫舍、LeetCode213. 打家劫舍 II、LeetCode337. 打家劫舍 III

一、LeetCode198. 打家劫舍 1:题目描述(198. 打家劫舍) 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的…

移动设备软件开发-广播机制

广播机制 1.广播机制概述 1.1生活中的广播机制 1.显示生活中的广播就比如说村里的大喇叭,车上的收音机接收的广播FM广播,学校里的校园广播都是常见的广播,安卓中的广播和生活中的广播是十分类似的。 1.2广播特点 发送者 多种广播方式实…

群晖外网访问终极解决方法:IPV6+阿里云ddns+ddnsto

写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法,这是后发现移动没有公网IP,只有ipv6(公网的),时候有小伙伴要问,要是没有ipv6就没办法访问群晖了吗? 不&…