Mobile-Former: Bridging MobileNet and Transformer
Abstract
- 本文提出了一种MobileNet并行设计的Mobile-Former,它与transformer之间有一个双向桥。这种结构利用了MobileNet在本地处理和transformer在全球交互方面的优势。
- 桥接实现了局部特征和全局特征的双向融合。与最近关于视觉转换器的工作不同,Mobile-Former中的transformer包含很少的令牌(例如6个或更少的令牌),这些令牌被随机初始化以学习全局先验,从而导致较低的计算成本。
- 结合提出的轻量化交叉关注点模型,Mobile-Former不仅计算效率高,而且具有更强的表示力。在ImageNet分类上,它在25M到500M FLOPs的低FLOP约束上优于MobileNetV3。例如,Mobile-Former在294M次FLOPs中达到77.9%的top-1准确率,比MobileNetV3提高了1.3%,但节省了17%的计算量。
- 当转换到对象检测时,MobileNetV3在retinaet框架中比MobileNetV3高出8.6 AP。此外,本文用Mobile-Former取代了DETR中的骨干、编码器和解码器,构建了一个高效的端到端检测器,其性能比DETR高出1.1 AP,但节省了52%的计算成本和36%的参数。
- 论文地址:[2108.05895] Mobile-Former: Bridging MobileNet and Transformer (arxiv.org)
- Mobile-Former,它是MobileNet和Transformer的并行设计,中间有一个双向桥。 这 种 结 构 利 用 了 M o b i l e N e t 在 局 部 处 理 方 面 的 优 势 和 t r a n s f o r m e r 在 全 局 交 互 方 面 的 优 势 \color{red}{这种结构利用了MobileNet在局部处理方面的优势和transformer在全局交互方面的优势} 这种结构利用了MobileNet在局部处理方面的优势和transformer在全局交互方面的优势。该桥实现了局部和全局特征的双向融合。
- 微软提出:MobileNet+Transformer轻量化并行网络,发表在CVPR2022
Introduction
-
最近,(vision transformer, ViT)[An image is worth 16x16 words: Transformers for image recognition at scale,Training data-efficient image transformers and distillation through attention]展示了全局处理的优势,并取得了比cnn显著的性能提升。但是,当计算预算限制在1G FLOPs以内时,ViT的增益会降低。
-
如果进一步挑战计算成本,MobileNet[mobilenetV1、V2、V3]及其扩展[Micronet,ghostnet]仍然占主导地位(例如,ImageNet分类的失败次数少于300M),这是由于它们通过深度分解和点卷积在局部处理过滤器方面的效率。这自然就引出了一个问题:
-
如何设计高效的网络来有效地编码局部处理和全局交互?
-
-
一个简单的想法是将卷积和视觉转换器结合起来。最近的研究[Levit,Cvt: Introducing convolutions to vision transformers,Early convolutions help transformers see better]显示了将卷积和视觉 transformer串联起来的好处,要么在开始时使用卷积,要么将卷积缠绕到每个transformer块中。
-
在本文中,将设计范式从串联转换为并联,并提出了一种新的网络,将MobileNet和transformer并行化,并在两者之间建立双向桥(见下图)。
-
Overview of Mobile-Former
-
并行化左边的MobileNet[V1]和右边的Transformer。与vision transformer使用图像补丁形成令牌不同,Mobile-Former中的转换器只接受很少的可学习令牌作为随机初始化的输入。
-
Mobile(指MobileNet)和F ormer(指transformer)通过双向桥进行通信,该桥由提出的轻量级交叉注意建模。彩色观看效果最佳。
-
Mobile-Former可以解耦为一堆Mobile-Former 块。每个块包括一个Mobile子块、一个Former子块和一个双向桥(Mobile←Former 和 Mobile→Former)。
-
本文将其命名为Mobile-Former,其中Mobile指的是MobileNet, Former代表transformer。
-
Mobile将一个图像作为输入,并堆叠mobile(或倒置瓶颈)块。它利用高效的深度卷积和点卷积来提取局部特征。前者以几个可学习的令牌作为输入,堆叠多头注意和前馈网络(FFN)。这些标记用于对图像的全局特征进行编码。
-
mobile端和Former端通过双向桥通信,融合局部特征和全局特征。这是至关重要的,因为它提供局部特征Former的令牌,以及引入全局视图到每个像素的特征地图在移动。
-
本文提出了一种轻量级交叉注意模型,通过
- (a)在通道数量较低的Mobile瓶颈处执行交叉注意,
- (b) 从 M o b i l e 端 移 除 查 询 、 键 和 值 ( W Q 、 W K 、 W V ) 的 投 影 来 构 建 双 向 桥 \color{red}{从Mobile端移除查询、键和值(W^Q、W^K、W^V)的投影来构建双向桥} 从Mobile端移除查询、键和值(WQ、WK、WV)的投影来构建双向桥。
-
这种具有双向桥的并行结构充分利用了MobileNet和transformer的优点。‘局部和全局特征的并行解耦利用了MobileNet在提取局部特征方面的效率以及transformer在建模全局交互方面的能力’。
-
更重要的是,这是以一种有效的方式实现的,通过一个 thin transformer,只有很少的tokens和一个轻量级桥,在Mobile和Former之间交换局部和全局特性。桥式和原式的计算成本不到总计算成本的20%,但显著提高了表示能力。这展示了部分-整体层次结构[How to represent part-whole hierarchies in a neural network]的高效实现。
-
Mobile-Former在图像分类和目标检测方面都取得了良好的性能。例如,在294M FLOPs时,它在ImageNet分类中达到77.9%的top-1准确率,明显优于MobileNetV3和LeViT。
-
更重要的是,在25M到500M FLOPs期间,MobileNetV3和LeViT始终优于高效的CNNs和视觉变压器(见下图),展示了在高效CNNs占主导地位的低FLOP状态下transformer的使用情况。
-
Comparison among Mobile-Former, efficient CNNs and vision transformers
-
就准确率而言。比较是在ImageNet分类上进行的。MobileFormer在低FLOPs(从25M到5M MAdds)中始终优于高效的cnn和vision transformer。注意,本文实现Swin[Swin transformer: Hierarchical vision transformer using shifted windows]和DeiT[Training data-efficient image transformers and distillation through attention.]时的计算预算较低,从100M到2G的FLOPs。
-
当从图像分类转移到目标检测时,MobileNetV3在retinanet中作为骨干显著优于MobileNetV3,以更少的计算成本获得8.6 AP (35.8 vs. 27.2 AP)。
-
此外,本文还利用Mobile-Former取代了DETR的主干和编码器/解码器,构建了一个高效的端到端检测器。使用相同数量的对象查询(100),它比DETR增加1.1 AP (43.1 vs. 42.0 AP),但FLOPs次数明显更少(41G vs. 86G),模型尺寸更小(26.6M vs. 41.3M)。
-
最后,本文注意到在Mobile-Former中探索最优网络参数(例如宽度、高度)并不是这项工作的目标,而是本文证明并行设计提供了一种高效和有效的网络架构。
Related Work
Light-weight convolutional neural networks (CNNs):
- MobileNets[mobilenetsV1,V2,V3]通过深度叠加和逐点卷积有效地编码局部特征。ShuffleNet[V1,V2]使用群卷积和信道shuffle来简化点卷积。MicroNet通过降低节点连通性来扩大网络宽度,提出了微分解卷积来处理极低的FLOPs。研究了动态算子[Dynamic convolution: Attention over convolution kernels,Dynamic relu,SEnet,Condconv],以提高可忽略计算成本的MobileNet性能。
- 其他有效的操作符包括Butterfly transform,GhostNet中的廉价线性变换,以及AdderNet中的加法交易乘法。此外,MixConv探索了多个内核大小的混合,而Sandglass则翻转了反向剩余块的结构。effentnet[V1,V2]和TinyNet研究了深度、宽度和分辨率的复合标度。
Vision transformers (ViTs):
- 最近,ViT及其后续[swin transformer,Training data-efficient image transformers and distillation through attention.]在多个视觉任务中取得了令人印象深刻的表现。原始的ViT需要在JFT-300M等大型数据集上进行训练。DeiT在较小的ImageNet-1K数据集上引入了训练策略。
- 随后,提出了处理高分辨率图像的分层变换算法。 S w i n 在 移 位 的 局 部 窗 口 内 计 算 自 我 注 意 , C S W i n 通 过 引 入 交 叉 形 窗 口 进 一 步 改 进 了 它 \textcolor{blue}{Swin在移位的局部窗口内计算自我注意,CSWin通过引入交叉形窗口进一步改进了它} Swin在移位的局部窗口内计算自我注意,CSWin通过引入交叉形窗口进一步改进了它。T2TViT通过递归地聚合相邻标记,逐步将图像转换为标记。HaloNet通过两个扩展(阻塞本地注意和注意降采样)提高了速度、内存使用和准确性。
Combination of CNN and ViT:
- 最近的研究[Convit,Levit,Bottleneck transformers for visual recognition,Cvt,Early convolutions help transformers see better.]显示了卷积与变压器相结合的优点。BoTNet通过在ResNet的最后三个块中使用自我注意改进了实例分割和对象检测。
- ConViT为软卷积诱导偏差提供了一种门控位置自注意。CvT在多头注意之前引入深度/点卷积。LeViT、ViTC用曲柄代替斑块状柄,改善明显。在本文中,提出了一种不同的设计方案,将MobileNet和transformer并行化,并在两者之间进行双向交叉注意。本文的方法是高效和有效的,在低FLOP的情况下优于高效的CNNs和ViT变体。
Our Method: Mobile-Former
- 在本节中,首先概述MobileFormer的设计(参见图[Overview of Mobile-Former]),然后讨论Mobile-Former块中的细节(参见图【Mobile-Former模块】)。最后,本文展示了具有不同FLOPs的网络规范和变体。
Overview
-
Parallel structure:
- Mobile- former将MobileNet和transformer并行化,通过双向交叉注意将它们连接起来(见上图【Overview of Mobile-Former】)。Mobile(指MobileNet)以一幅图像为输入( X ∈ R H W × 3 X∈\Bbb R^{HW ×3} X∈RHW×3),应用反向瓶颈块提取局部特征。former(指transformer)以可学习参数(或令牌)为输入,记为 Z ∈ R M × d \Bbb Z∈\Bbb R^{M×d} Z∈RM×d,其中M和d分别为令牌的数量和维数。
- 这些令牌是随机初始化的。与(vision transformer, ViT)中令牌线性投影局部图像patch不同, f o r m e r 的 t o k e n s 明 显 更 少 ( 本 文 中 M ≤ 6 ) \textcolor{green}{former的tokens明显更少(本文中M≤6)} former的tokens明显更少(本文中M≤6),每个令牌代表图像的一个全局先验。这将大大降低计算成本。
-
Low cost two-way bridge:
-
moile端和former端通过双向桥进行通信,双向融合局部特征和全局特征。两个方向分别表示为Mobile→former和Mobile←former。
-
本文提出了一种轻量级的交叉注意模型,其中投影( W Q , W K , W V W^Q, W^K, W^V WQ,WK,WV)从移动端移除以节省计算量,但保留在former。交叉注意是在移动渠道数量较少的瓶颈处计算的。具体来说,从局部特征映射X到全局令牌Z的轻量级交叉注意计算为:
-
A X ➡ Z = [ A t t n ( z ˉ i W i Q , x ˉ i , x ˉ i ) ] i = 1 : h W O , ( 1 ) \mathcal{A}_{X➡Z}=[Attn(\bar{z}_iW_i^Q,\bar{x}_i,\bar{x}_i)]_{i=1:h}W^O,(1) AX➡Z=[Attn(zˉiWiQ,xˉi,xˉi)]i=1:hWO,(1)
-
其中局部特性X和全局令牌Z被分裂为h个头部, X = [ x ˉ 1 ⋅ ⋅ ⋅ x ˉ h ] , Z = [ z ˉ 1 ⋅ ⋅ ⋅ z ˉ h ] X=[\bar{x}_1···\bar{x}_h],Z=[\bar{z}_1···\bar{z}_h] X=[xˉ1⋅⋅⋅xˉh],Z=[zˉ1⋅⋅⋅zˉh]用于多头注意。为第i个头 z ˉ i ∈ R M × d h \bar{z}_i∈\Bbb R^{M×\frac{d}{h}} zˉi∈RM×hd的分裂与第 i 个令牌 z i ∈ R d z_i∈\Bbb R^d zi∈Rd不同。 W i Q W^Q_i WiQ是第i个头的查询投影矩阵。 W O W^O WO用于将多个头部组合在一起。Attn(Q, K, V)是标准的注意力函数对查询Q、键K和值V的关注函数,即 s o f t m a x ( Q K T d k ) V softmax(\frac{QK^T}{\sqrt{dk}})V softmax(dkQKT)V。 [ ⋅ ] 1 : h [·]_{1:h} [⋅]1:h表示h个元素的串联。注意,投影矩阵的键和值从移动端删除,而项目矩阵 W i Q W_i^Q WiQ的查询保持在former。同理,从全局到局部的交叉注意计算为:
-
A Z ➡ X = [ A t t n ( x ˉ i , z ˉ i W i K , z ˉ i W i V ) ] i = 1 : h , ( 2 ) \mathcal{A}_{Z➡X}=[Attn(\bar{x}_i,\bar{z}_iW_i^K,\bar{z}_iW_i^V)]_{i=1:h},(2) AZ➡X=[Attn(xˉi,zˉiWiK,zˉiWiV)]i=1:h,(2)
-
其中 W i K W^K_i WiK和 W i V W^V_i WiV是Former前边的键和值的投影矩阵。查询的投影矩阵从Mobile端移除。
-
-
Mobile-Former Block
-
Mobile- former由堆叠的Mobile-Former块组成。每个块有四个支柱:一个Mobile子块、一个Former子块、双向交叉注意Mobile←Former和Mobile→Former(如下图)。
-
Mobile-Former模块,包括四个模块:
-
Mobile子块修改[mobileV2]中的反向瓶颈块,将ReLU替换为动态的ReLU。
-
mobile→Former算法利用轻量级交叉注意将局部特征融合为全局特征。
-
Former子块是一个标准的transformer块,包括多头注意和FFN。注意力Former的输出用于在Mobile子块中为动态ReLU生成参数。
-
mobile←Former桥接全局特征到局部特征。
-
多层的前馈神经网络又名多层感知机(Multi-Layer Perceptrons, MLP)。MLP只是经验叫法,但实际上FFN不等价于MLP,因为原始的MLP通常使用不可微的阶跃函数,而不是连续的非线性函数。当多层的FFN堆叠起来,它就有了深度神经网络的万能近似能力。
-
实际上,两层的FFN或MLP就具备强大的拟合能力。在数据足够多的时候,足够宽的(神经元足够多的)两层网络可以逼近任意连续函数。直观理解,两层的FFN有点类似于一个分段非线性函数, 或者是非线性函数的非线性组合,因而任何连续函数都可以被它表示(值得注意的是,能够表示不一定意味着可以学到这个函数。而且不一定是最优的)。常用的FFN一般由2层或3层网络构成(不包括输入层)。
-
多头注意力(Multi-head attention):一次注意力的过程可以叫做单头注意力。多头注意力就是对同样的Q, K, V求多次注意力,得到多个不同的output,再把这些不同的output连接起来得到最终的output。不同头部的output就是从不同层面(representation subspace)考虑关联性而得到的输出。当注意力的query和key、value全部来自于同一堆东西时,就称为自注意力。
-
Input and output:
- Mobile-Former区块有两个输入:
- (a)局部特征地图 X ∈ R H W × C X∈\Bbb R^{HW ×C} X∈RHW×C,其高度H和宽度W上有C个通道;
- (b)全局令牌 Z ∈ R M × d Z∈\Bbb R^{M×d} Z∈RM×d,其中M和d分别为令牌的数量和维度。
- 注意,M和d在所有块中是相同的。Mobile-Former块输出更新的本地特征映射X0和全局令牌Z0,它们被用作下一个块的输入。
- Mobile-Former块输出更新后的局部特征图 X i + 1 X_{i+1} Xi+1和全局 tokens Z i + 1 Z_{i+1} Zi+1 它们被用作下一个块的输入。需要注意的是,全局tokens的数量和维度在所有块中都是相同的。
- Mobile-Former区块有两个输入:
-
Mobile sub-block:
-
如图【Mobile-Former模块】所示,Mobile子块以特征图X为输入,其输出作为Mobile←Former的输入。这与[mobilenetV2]中的反向瓶颈块略有不同,激活函数为动态的ReLU。
-
Mobile sub-block 以 X i X_i Xi特征图作为输入。它与 MobileNetV2 中的 inverted bottleneck block略有不同,在第一次 逐点卷积 和3*3深度卷积后,用动态ReLU 代替 ReLU作为激活函数。与原始动态ReLU不同,在原始动态ReLU中,参数是先对特征图进行平均池化,应用两个MLP层生成的,在Mobile sub-block 中的动态 ReLu 的参数是将 former sub-block 中得到的全局tokens应用里两个MLP层得到的,节省了平均池化。
-
在原始的动态ReLU中,参数是通过在平均池化特征上应用两个MLP层来生成的,与之不同的是,本文通过在Former的第一个全局令牌输出 z 1 ′ z'_1 z1′上应用两个MLP层(上图中的θ)来节省平均池化。注意,对于所有块,深度卷积的内核大小是3×3。
-
Dynamic ReLU激活函数(DY-ReLU)[2003.10027] Dynamic ReLU (arxiv.org)
-
它的参数依赖于所有输入。其关键在于DY-ReLU将全局上下文编码为超函数,并相应地调整分段线性激活函数。与静态模型相比,DY-ReLU的额外计算开销可以忽略不计,但其表现能力显著提高,特别是对于轻量神经网络。仅仅通过简单地在MobileNetV2上使用DY-ReLU ,ImageNet分类的最高精度就可以从72.0%提高到76.2%,而计算量只增加了5%。
-
ReLU:分段函数的都依赖于输入,DY-ReLU它是一个参数依赖于输入的动态分段线性函数。
-
定义ReLU函数为y=max(x, 0), x为输入值,那么y=max(x,0). 可以写成更加一般的形式y=max(ax+b),对应ReLU
-
y = m a x ( a x + b ) s . t . a = 1 , b = 0 , w h e n x > 0 a = 0 , b = 0 , w h e n x ≤ 0 y=max(ax+b)\\ s.t.~~a=1,b=0,when~x>0\\ a=0,b=0,when~x\leq0 y=max(ax+b)s.t. a=1,b=0,when x>0a=0,b=0,when x≤0
-
DY-ReLU对a, b进行了进一步的扩展, y=max{a1x+b1, a2x+b2,…}
-
简单粗暴的方式先对x平均,然后通过matrix transformation得到对应的参数个数就行,根据不同的情况,需要的参数量不一样,具体这里作者介绍了三种:
-
DY-ReLU-A:激活函数全都一样,a1,a2,b1,b2共用一套值
-
DY-ReLU-B:以一个channel为单位激活函数全都一样,一个通道的a1,a2,b1,b2共用一套值然后乘以channel数
-
DY-ReLU-A:以每个元素的单元,激活函数各不相同,count(a1,a2,b1,b2)*C*HW
-
-
-
-
Former sub-block:
-
Former子块是一个标准的transformer块,包括一个多头注意(MHA)和一个前馈网络(FFN)。在FFN中,膨胀比为2,而不是4。本文遵循[transformer]来使用后层归一化。Former线在Mobile→Former线和Mobile←former线之间处理(见下图)。
-
-
Mobile→Former:
-
提出的轻量级交叉注意(式1)用于将局部特征X融合到全局标记z。与标准注意相比,删除了关键 W K W^K WK和值 W V W^V WV(在局部特征X上)的投影矩阵以节省计算(见下图)。
-
Mobile→Former是用于将局部特征 X i X_i Xi融合到全局tokens Z i Z_i Zi 中。首先 计算局部和全局特征之间的交叉关注,并为每个全局tokens 聚集局部特征,将全局特征投影到局部特征的同一维度,并在聚合后投影回维度d 。
-
-
Mobile←Former:
-
在这里,交叉注意(公式2)是与mobile→Former相反的方向。它将全局令牌融合到本地特性。局部特性是查询,而全局标记是键和值。因此,本文通过保留键 W K W^K WK和值 W V W^V WV的投影矩阵,但删除查询 W Q W^Q WQ的投影矩阵以保存计算,如下图所示。
-
-
Computational complexity:
- MobileFormer块的四个支柱具有不同的计算成本。给定一个大小为HW × C的输入特征图和M个d维的全局令牌,Mobile消耗最多的计算 O ( H W C 2 ) O(HWC^2) O(HWC2)。前者和双向桥具有重量轻的特点,只消耗总计算费用的20%以下。其中,Former个体的自我注意和FFN具有复杂度** O ( M 2 d + M d 2 ) O(M^2d + Md^2) O(M2d+Md2)**。mobile→Former和mobile←Former共同具有交叉注意复杂度 O ( M H W C + M d C ) O(MHWC + MdC) O(MHWC+MdC)。
Network Specification
- Architecture:
- 下表展示了一个具有294M FLOPs的Mobile-Former架构,图像大小为224×224,它在不同的输入分辨率下堆叠了11个Mobile-Former块。所有块都有6个维度为192的全局标记。
-
Specification for Mobile-Former-294M.
-
" bneck-lite "表示精简瓶颈块[Micronet]。“Mobile-Former↓”表示下采样块的变体。
- 它以3×3卷积作为梗开始,在阶段1中有一个精简瓶颈块[Micronet],它通过深度叠加3×3和逐点卷积来扩展然后压缩通道的数量。阶段2-5由Mobile-Former块组成。每个阶段通过一个名为Mobile-Former的下采样变体处理下采样(详见附录a)。
- 分类头对本地特征应用平均池化,与第一个全局令牌连接,然后通过两个完全连接的层,层之间有h-swish。
- 下表展示了一个具有294M FLOPs的Mobile-Former架构,图像大小为224×224,它在不同的输入分辨率下堆叠了11个Mobile-Former块。所有块都有6个维度为192的全局标记。
- Mobile-Former variants:
- Mobile-Former有7种型号,计算成本从26M到508M不等。它们有着相似的网络结构,但是有不同的宽度和高度。本文遵循[Early convolutions help transformers see better]来参考本文的模型,例如Mobile-Former-294M, Mobile-Former96M。这些模型的网络架构细节列在附录A中。
Efficient End-to-End Object Detection
-
Mobile-Former可以方便地用于主干网和头部的目标检测,提供了一种高效的端到端检测器。使用相同数量的对象查询(100),它的性能优于DETR,但使用的FLOP次数要低得多。
-
Backbone–Head architecture:
-
本文在主干和头部都使用Mobile-Former块(参见下图),它们有单独的令牌。主干有6个全局标记,而头部有100个对象查询,生成方式类似于DETR。
-
Mobile-Former for object detection.
-
主干和头部都使用Mobile-Former块。主干有6个全局令牌,而头部有100个对象查询。所有对象查询在头部通过多个分辨率( 1 32 , 1 16 , 1 8 \frac{1}{32},\frac{1}{16},\frac{1}{8} 321,161,81)。与DETR相似,使用前馈网络(FFN)来预测类标签和包围盒。彩色观看效果最佳。
-
不同于DETR在头部只有单一尺度( 1 32 \frac{1}{32} 321或 1 16 \frac{1}{16} 161),Mobile-Former头部由于其计算效率,在低FLOPs中使用多尺度( 1 32 , 1 16 , 1 8 \frac{1}{32},\frac{1}{16},\frac{1}{8} 321,161,81)。上采样是通过双线性插值实现的,然后加入骨干输出的特征(分辨率相同)。所有对象查询在尺度上从粗到细逐步细化它们的表示,省去了FPN中按大小在尺度上分配对象的手工过程。在训练过程中,本文跟随DETR使用预测ffn和辅助损失。
-
头部从头开始训练,骨干在ImageNet上进行预训练。本文的端到端Mobile-Former检测器具有计算效率。E2EMF-508M以Mobile-Former- 508m为骨干,头部有9个Mobile-Former块,其总成本为41.4G FLOPs,显著低于DETR (86G FLOPs)。但它比DETR高出1.1 AP (43.1 AP vs. 42.0 AP)。头部结构详见附录A(见表13)。
-
-
Spatial-aware dynamic ReLU in backbone:
-
本文将主干中的动态ReLU从空间共享扩展到空间感知,通过涉及所有全局标记来生成参数,而不是仅仅使用第一个,因为这些标记有不同的空间焦点。
-
本文将空间共享动态ReLU的参数生成表示为 θ = f ( z 1 ) θ=f(z_1) θ=f(z1),其中z1是第一个全局令牌,f(·)由两个MLP层建模,其中ReLU在层之间。相比之下,空间感知的动态ReLU通过使用所有全局令牌{zj}在特征图中为每个空间位置i生成参数θi,如下所示:
-
θ i = ∑ j α i , j f ( z j ) s . t . ∑ j α i , j = 1 , ( 3 ) \theta_i=\sum_j\alpha_{i,j}f(z_j)\\ s.t.~\sum_j\alpha_{i,j}=1,(3) θi=j∑αi,jf(zj)s.t. j∑αi,j=1,(3)
-
式中 α i , j α_{i,j} αi,j为位置 i 的特征与标记zj之间的注意。只要将Mobile→Former令牌{zj}得到的交叉注意归一化,它的计算成本就会很低。空间感知的动态ReLU在图像分类上与空间共享的对等体相当,但在COCO对象检测上获得1.1 AP(见表10)。
-
-
Adapting position embedding in head:
-
与共享所有解码器层的对象查询位置嵌入的DETR不同,本文细化头部每个块后的位置嵌入,因为每个块的特征图都在变化。让本文将第k个块上的查询的特征和位置嵌入分别表示为 q k f q^f_k qkf和 q k p q^p_k qkp。它们的和( q k f + q k p q^f_k+q^p_k qkf+qkp)用于计算对象查询与特征映射之间的交叉注意和对象查询之间的自我注意,之后更新特征嵌入作为下一个块 q k + 1 f q^f_{k+1} qk+1f的输入。这里,本文将基于特征嵌入的位置嵌入修改为:
-
q k + 1 p = q k p + g ( q k + 1 f ) , ( 4 ) q^p_{k+1}=q^p_k+g(q_{k+1}^f),(4) qk+1p=qkp+g(qk+1f),(4)
-
其中,适配函数g(·)由两个MLP层实现,层间有ReLU。因此,对象查询可以根据内容调整它们在块之间的位置。
-
Experimental Results
- 本文分别在ImageNet分类和COCO对象检测上评估了提出的Mobile-Former算法。
ImageNet Classification
-
图像分类实验在ImageNet上进行,ImageNet有1000个类,其中1281167张图像用于训练,50000张图像用于验证。
-
Training setup:
- 图片分辨率为224×224。所有的模型都是使用AdamW优化器从头开始训练的,以余弦学习速率衰减450个epoch。批处理大小为1024。数据增强包括Mixup、自动增强和随机擦除。对于不同复杂程度的模型,采用不同的初始学习率、权重衰减和dropout组合,见附录A(见表12)。
-
Comparison with efficient CNNs:
-
下表显示了Mobile-Former和经典高效cnn的比较:
- (a) MobileNetV3,
- (b) EfficientNet,
- © ShuffleNetV2及其扩展WeightNet。
-
比较涵盖了26M到508M的FLOP范围,根据相似的FLOP分为7组。MobileFormer始终以更少的计算成本优于高效的CNNs,除了150M FLOPs附近的组,其中Mobile-Former成本略高于ShuffleNet/WeightNet (151M vs. 138M/141M),但显著达到更高的top-1精度(75.2% vs.;69.1% / 72.4%)。这表明本文的并行设计有效地提高了表示能力。
-
将Mobile-Former与ImageNet分类评估的有效CNNs进行比较。
-
-
Comparison with ViTs:
-
在下表中,本文比较了MobileFormer与多种视觉转换器变体(DeiT , T2T-ViT , PVT , ConViT , CoaT , ViTC , Swin)。
-
比较Mobile-Former和ImageNet分类评估的vision transformer变体。
-
在这里,本文选择使用图像分辨率224×224的ViT变体,这些变体没有从教师网络中提炼出来。本文基于FLOPs(使用1.5G作为阈值)对ViT模型进行分组,并基于top-1的精度对它们进行排序。‡表示本文的实现。
-
所有变体使用的图像分辨率224×224和训练,没有从教师网络蒸馏。Mobile-Former实现了更高的精度,但使用3 ~ 4倍的计算成本。这是因为Mobile-Former使用更少的令牌来建模全局交互,并利用MobileNet高效地提取局部特征。
-
请注意,本文的Mobile-Former(在450个没有蒸馏的时代中训练)甚至超过了LeViT , LeViT利用了教师网络的蒸馏和更长的训练(1000个时代)。与LeViT相比,本文的方法获得了更高的top-1准确率(77.9% vs. 76.6%),但使用更少的FLOPs(294M vs. 305M)。
-
-
Accuracy–FLOP plot:
- 图【Comparison among Mobile-Former, efficient CNNs and vision transformers】将Mobile-Former与更多的CNN模型(如GhostNet)和vision transformers变体(如Swin和DeiT)在一个情节中进行了比较。
- 通过谨慎地降低网络宽度和高度,本文实现了从100M到2G的Swin和DeiT。Mobile-Former的性能明显优于cnn和ViT变体,展示了将MobileNet和transformer集成在一起的并行设计。虽然vision transformers在很大程度上不如高效的cnn,但本文的工作表明,transformer也可以通过适当的架构设计促进低FLOPs的实现。
Ablations
-
在本小节中,本文通过在ImageNet分类上进行的几次消融来展示Mobile-Former是有效和高效的。这里使用的是Mobile-Former-294M,所有型号都经过了300个epoch的训练。此外,本文总结了有趣的观察,在mobile和former之间的双向桥的可视化。
-
Mobile-Former is effective:
-
Mobile-Former比MobileNet更有效,因为它通过former编码全局交互,导致更准确的预测。如下表所示,添加former和桥(Mobile→former和Mobile←former)只消耗12%的计算成本,但比仅使用Mobile的基线获得2.6%的top-1精度。
-
采用ImageNet分类方法对Former+bridge消融和动态ReLU进行评价。Mobile-Former-294M。
-
此外,在Mobile子块中使用动态ReLU(参见图【Mobile-Former for object detection】)可以获得额外的1.0% top1精度。注意,动态ReLU中的参数是通过使用第一个全局令牌生成的。
-
这验证了本文在Mobile-Former中的并行设计。本文还发现,在Mobile中增加深度卷积的内核大小(3×3→5×5)只引入了微不足道的增益(见附录B中的表14),因为通过融合Former的全局特征来扩大Mobile的接收场。
-
-
Mobile-Former is efficient:
-
Mobile-Former不仅能有效地编码局部处理和全局交互,而且能高效地实现这一点。下面的消融显示Fomrer只需要几个低维的全局标记。此外,MobileFormer的高效并行设计在去除Former的FFN或用位置混合MLP替代多头注意时是稳定的。
-
Former中的令牌数量:下表显示了在Former中使用不同数量的全局令牌的ImageNet分类结果。令牌维度为192。
-
减少ImageNet分类上标记的数量。Mobile-Former-294M is used.
-
有趣的是,即使是单一的全局令牌也能获得良好的性能(77.1%的top-1准确率)。当使用3个和6个令牌时,可以实现额外的改进(0.5%和0.7% top-1精度)。当使用超过6个令牌时,改进停止。这种全局令牌的紧凑性是Mobile-Former效率的关键因素。
-
令牌维度:下表显示了不同令牌长度(或维度)的结果。
-
ImageNet分类中标记维的消融。Mobile-Former-294M is used.
-
在这里,Former中使用了6个全局标记。当标记维数从64增加到192时,准确率从76.8%提高到77.8%,但当使用更高维数时,准确率收敛。这进一步支持了Former的效率。6个维度token为192,F前和桥梁的总计算成本仅占总预算的12% (35M/294M)。
-
如下表所示,去除FFN会导致top-1精度的小下降(−0.3%)。
-
多头注意消融(MHA)和FFN在ImageNet分类中的应用。Mobile-Former-294M is used.
-
相对于FFN在原始vision transformer中的重要作用,FFN在Mobile-Former中的贡献有限。本文认为这是因为FFN不是Mobile-Former中用于信道融合的唯一模块。Mobile中的1×1卷积有助于局部特征的信道融合,而Mobile→Former中的投影矩阵 W O W^O WO(见式1)有助于局部和全局特征的融合。
-
多头注意(MHA)与位置混合MLP:上表显示了在Former和桥接(Mobile→former和Mobile←former)中,用令牌/位置混合MLP替换多头注意(MHA)的结果。top-1的准确率从77.8%下降到77.3%。MLP的实现通过单一矩阵乘法更有效,但它是静态的(即不能适应不同的输入图像)。
-
-
Mobile-Former is explainable:
-
本文在双向桥中观察到三种有趣的模式(mobile→Former和mobile←Former)。
- 首先,从低级别到高级别,全局令牌将焦点从边缘/角落转移到前景/背景,最后转移到最具辨别性的区域。
- 第二,交叉注意在较低级别上的代币比在较高级别上的代币具有更多的多样性。
- 再次,mobile←Former的中间层存在前景与背景的分离。详细的可视化显示在附录C中。
-
Object Detection
-
在COCO 2017上进行目标检测实验,其中包含118K训练图像和5K验证图像。本文在两个检测框架中评估Mobile-Former:
- (a)与其他具有密集提议的RetinaNet框架中的骨干网络进行比较,
- (b)与使用稀疏提议的DETR进行端到端比较。
-
RetinaNet training setup:
- 本文遵循retinanet的标准设置,用本文的Mobile-Former替换主干来生成多尺度特征地图。所有模型从ImageNet预训练权重中训练12个epoch (1×)。
-
DETR training setup:
- 所有Mobile-Former模型在8个GPU上训练300个epoch,每个GPU 2个图像AdamW优化器使用的初始学习率为1e-5的骨干和1e-4的头部。在200个epoch之后,学习率会下降10倍。权重衰减为1e-4,dropout率为0.1。ImageNet预训练的Mobile-Former骨干中的BatchNorm层被冻结。头部包含256个通道的100个对象查询。
-
Efficient and effective backbone in RetinaNet:
- 在下表中,本文比较了Mobile-Former与两个cnn (ResNet , MobileNetV3 , ShuffleNetV2)和vision transnforme(PVT和ConT)。在相似的计算成本下,Mobile-Former的性能明显优于MobileNetV3和ShuffleNetV2 8.3+ AP。
-
COCO object detection results in RetinaNet framework.
-
所有模型在ImageNet预训练权重的train2017上训练12个epoch (1×),并在val2017上进行测试。
-
本文使用初始MF(例如MF- 508m)来指代Mobile-Former。MAdds和#Params的格式为“backbone (total)”。MAdds是基于图片大小800×1333。
- 与ResNet和transformer变体相比,Mobile-Former实现了更高的AP,显著减少了骨干中的FLOPs。具体来说,mobile-formor- 508m在主干网中只占用9.8G的FLOPs,但达到38.0 AP,超过了在主干网中消耗7倍的计算量(65G到84G FLOPs)的ResNet-50、PVT - tiny和ConT-M。这表明Mobile-Former在对象检测中是一个有效和高效的主干。
- 在下表中,本文比较了Mobile-Former与两个cnn (ResNet , MobileNetV3 , ShuffleNetV2)和vision transnforme(PVT和ConT)。在相似的计算成本下,Mobile-Former的性能明显优于MobileNetV3和ShuffleNetV2 8.3+ AP。
-
Efficient and effective end-to-end detector:
-
下表比较了端到端Mobile-Former检测器(由前缀E2E-MF表示)和DETR。所有模型都使用100个对象查询。本文的E2E-MF-508M比DETR提高1.1 AP,但消耗更少的FLOPs(48%),更少的模型参数(64%)和更少的训练时间(300 vs. 500)。
-
End-to-end object detection results on COCO.
-
所有模型在train2017上训练,在val2017上测试。DETR基线训练了500个epoch,而本文的MobileFormer模型训练了300个epoch。本文使用初始E2EMF(例如E2E-MF-508M)来指代端到端Mobile-Former探测器。MAdds是基于图片大小800×1333。
-
它只比FLOPs次数多4倍的DETR-DC5少一点。其他三种Mobile-Former改型分别以24.1G、17.8G和12.7G FLOPs实现40.5、39.3和37.2 AP,提供更紧凑的端到端检测器。
-
-
Ablations of key components:
- 下表显示了端到端MobileFormer检测器中三个提议组件的影响:
- (a)空间感知的动态主干ReLU,
- (b)多尺度的Mobile-Former头部,
- ©自适应位置嵌入。
- 使用E2E-MF-508M,所有型号训练300个epoch。与300个epoch训练的DETR相比,用MF-508M取代ResNet-50骨干可以节省计算量,但导致1.2 AP下降。
- 添加空间感知动态ReLU可获得1.1 AP(39.4→40.5)。然后使用多尺度Mobile-Former头来替代DETR的编码器/解码器再获得0.9 AP(40.5→41.4)。改进了对中小目标的检测,而对大目标的检测略有下降。最后,自适应位置嵌入提供额外的1.7 AP增益。
- 这三个组件是互补的,共获得3.7 AP(39.4→43.1)。
- 下表显示了端到端MobileFormer检测器中三个提议组件的影响:
Limitations and Discussions
- 虽然Mobile-Former对于大图像比MobileNetV3有更快的推断速度,但随着图像变小,它会变慢。请参阅附录B,比较Mobile-Former214M和MobileNetV3 Large之间的推断延迟。他们也有类似的失败(214M vs 217M),但Mobile-Former更准确。由于不同任务(如分类、检测)的分辨率不同,对不同大小的图像进行比较。随着图像分辨率的下降,MobileNetV3失去了Mobile-Former的领先地位。
- 这是因为former和嵌入投影在Mobile→former和Mobile←former是分辨率独立的,它们的PyTorch实现不像卷积那样高效。因此,当图像较小时,开销相对较大,但随着图像大小的增加,开销可以忽略不计。通过优化这些组件的实现,可以进一步提高Mobile-Former的运行时性能。本文将在今后的工作中对此进行研究。
- Mobile-Former的另一个局限性是由于分类头的参数较多,在进行图像分类时参数处理效率不高。例如,Mobile-Former-294M的头部消耗了总共11.4M参数中的4.6M(占40%)。当切换到目标检测时,由于去除了图像分类头,这一问题得到了缓解。此外,前者和双向桥具有计算效率,但参数效率不高。
Conclusion
- 本文提出了一种新型的MobileNet与transformer并行设计Mobile-Former,两者之间采用双向桥进行通信。它利用了MobileNet在本地处理方面的效率和Transformer在对全局交互进行编码方面的优势。
- 该设计不仅有效地提高了精度,而且有效地节省了计算成本。它优于高效的cnn和vision transformer变体,在低FLOPs的图像分类和目标检测方面有明显的优势。此外,本文构建了一个端到端的Mobile-Former检测器,其性能优于DETR,但大大减少了计算量和参数。本文希望Mobile-Former能鼓励高效cnn和transformer的新设计。
A. Mobile-Former Architecture
Seven model variants:
- 下表展示了6款Mobile-Former (508M-52M)。最小的模型Mobile-Former26M与Mobile-Former-52M有相似的架构,除了用群卷积(group=4)替换所有1×1卷积。
-
Specification of Mobile-Former models.
-
" bneck-lite "表示精简瓶颈块。“bneck-lite↓”表示精简瓶颈的下样本变体,其中深度卷积跨2。“M-F”表示Mobile-Former块,“M-F↓”表示用于下采样的Mobile-Former块。Mobile-Former-26M拥有与Mobile-Former-52M类似的架构,只是用组卷积(group=4)替换了所有1×1卷积。
- 它们既可用于图像分类,也可作为目标检测器的主干。这些模型是手动设计的,不需要搜索最优的架构参数(例如宽度或深度)。本文遵循MobileNet中使用的众所周知的规则:
- (a)不同阶段的信道数量增加,
- (b)信道扩展速率从低水平的3个增加到高水平的6个。
- 对于4个较大的模型(508M - 151M),本文使用6个维度为192的全局令牌和11个Mobile-Former块。但这四种型号的宽度不同。Mobile-Former- 96m和Mobile-Former52M较浅(只有8个Mobile-Former区块),以满足较低的计算预算。
Downsample Mobile-Former block:
- 注意阶段2-5有一个Mobile-Former块的下采样变体(在上表中表示为M-F↓)来处理空间下采样。M-F↓有一个略有不同的移动子块,它包括四个(而不是三个)卷积层(深度→点向→深度→点向),其中第一个深度卷积层有跨两个。
- 通道的数量在每个深度卷积中扩展,并在接下来的点卷积中压缩。这节省了计算,因为两个昂贵的点卷积在降采样后以较低的分辨率执行。
Training hyper-parameters:
-
下表列出了ImageNet分类中用于训练Mobile-Former模型的三个超参数(初始学习率、权重衰减和dropout率)。它们的值随着模型的增大而增大,以防止过拟合。本文的实现基于timm框架Pytorch图像模型(github.com)。
-
ImageNet分类中7个Mobile-Former模型的超参数。
Head model variants in end-to-end object detection:
- 下表显示了四个端到端Mobile-Former探测器的头部结构。它们共享相似的结构,有100个维度为256的对象查询。最大的型号(E2E-MF-508M)具有最重的头部,在三个尺度上有9个Mobile-Former区块,而其他三个较小的型号在两个尺度上分别有9个、7个和5个区块,以节省计算量。
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rNLLMNUQ-1657500009692)(C:\Users\WDQ\AppData\Roaming\Typora\typora-user-images\image-20220709170740378.png)]
- 端到端MobileFormer对象探测器头部变量的规范。使用了100个维度为256的对象查询。“投影”表示将输入特征映射线性投影到256个通道(通过1×1卷积)。
- “up-conv”表示用于上采样的卷积块,其中包括双线性插值,随后是3×3深度卷积和点卷积。“M-F ×2”指的是堆叠两个Mobile-Former块。
- 在检测头中,本文在移动子块中使用精简瓶颈来减少计算量。在最低分辨率132的情况下,将多头注意力加入到Mobile中,记为†M-F。
- 所有模型首先通过1×1卷积将输入特征映射线性投影到256个通道。然后,多个Mobile-Former块与上行采样块之间的堆叠,以移动高档。上采样块(称为“up-conv”)包括三个步骤:
- (a)使用双线性插值将特征分辨率增加2,
- (b)添加从主干输出的特征,
- ©应用3×3深度卷积和点卷积。
- 为了处理由于分辨率增加而带来的计算提升,本文在Mobile中使用精简瓶颈。此外,本文发现,通过在头的最低尺度(132)(即†M-F)的Mobile子块中添加多头注意(multi-head attention),可以进一步提高性能,但额外成本很小。它对探测大型物体特别有帮助。
B. More Experimental Results
-
推断延迟:下图比较了MobileFormer-214M和MobileNetV3 Large的推断延迟,因为它们有类似的FLOPs(214M和217M)。延迟是在Intel® Xeon® CPU E5-2650 v3 (2.3GHz)上测量的,遵循[MobilenetV1,V2]中的常见设置(单线程批处理大小为1)。
-
不同图像大小的推断延迟。延迟是在Intel® Xeon® CPU E5-2650 v3 (2.3GHz)上测量的,遵循[mobilenetV3,V2]中的常见设置(单线程批处理大小为1)。Mobile-Former-214M与MobileNetV3 Large进行比较,因为他们有类似的FLOPs(214M vs. 217M)。
-
当图像大小较小时,Mobile-Former较慢,但当图像大小增长到750×750以上时,比MobileNetV3有更快的推断。
-
由于不同任务(如分类、检测)的分辨率不同,对不同大小的图像进行比较。Mobile-Former在低分辨率上落后于MobileNetV3 (224×224)。随着图像分辨率的增加,差距缩小,直到分辨率750×750,之后Mobile-Former有更快的推断。
-
这是因为Former和嵌入投影在Mobile→Former和Mobile←Former是分辨率独立的,它们的PyTorch实现不像卷积那样高效。因此,当图像较小时,开销相对较大,但随着图像大小的增加,开销可以忽略不计。通过优化这些组件的实现,可以进一步提高Mobile-Former的运行时性能。本文将在今后的工作中对此进行研究。
-
Ablation of the kernel size in Mobile:
- 本文对Mobile中深度卷积的核大小进行消融,以验证Former和桥对全局相互作用的贡献。下表显示增加内核大小(从3×3到5×5)的收益可以忽略不计。
-
在深度卷积(移动子块)中消融内核大小。评估在ImageNet分类上执行。Mobile-Former-294M is used.
- 本文认为这是因为former和桥通过融合全局特征扩大了Mobile的接收场。因此,在Mobile-Former中不需要使用更大的内核大小。
- 本文对Mobile中深度卷积的核大小进行消融,以验证Former和桥对全局相互作用的贡献。下表显示增加内核大小(从3×3到5×5)的收益可以忽略不计。
-
Ablation of multi-head attention in Mobile at resolution 1/32 of the detection head:
- 下表显示了在最低分辨率1 32(表13中†M-F)的五个区块中使用multi-head attention (MHA)的效果。
-
消融多头注意(MHA)在移动分辨率为1/32的检测头。对COCO目标检测进行评价。这两中模型都在2017年的train2017上进行了300次训练,并在2017年的val2017上进行了测试。使用e2emf - 508 m。MAdds是基于图片大小800×1333。
- 没有MHA,在低FLOPs (36.0G)时可以实现稳定的性能(42.5 AP)。添加MHA可增加0.6 AP,计算成本增加15%。对大目标(58.7→60.4 APL)的检测尤其有帮助。
- 下表显示了在最低分辨率1 32(表13中†M-F)的五个区块中使用multi-head attention (MHA)的效果。
C. Visualization
- 为了理解Mobile和Former之间的协作关系,本文在下图中可视化了双向桥上的交叉关注(即Mobile→Former和Mobile←Former)。使用ImageNet预训练的MobileFormer294M,其中包括6个全局令牌和11个Mobile-Former块。本文观察到以下三个有趣的模式:
- Patten 1 – global tokens shift focus over levels:
- 全局tokens的重点区域从低水平逐步变化到高水平。下图显示了Mobile→F former中第一个标记在像素上的交叉关注。
-
Cross attention over the entire featuremap for the first token in Mobile→Former
-
在所有Mobile-Former块上交叉注意Mobile→Former中的第一个token的整个特征映射。注意力在像素上被归一化,显示出聚焦区域。重点区域从低水平到高水平变化。令牌开始更多地关注区块2-4的边/角。然后它更关注一个大的区域,而不是分散在block 5-12的小块。聚焦区域在前景(人和马)和背景(草)之间转换。最后锁定最具辨别力的部位(马身和马头)进行分类。
- 这个标记开始关注局部特征,例如边/角(在第2-4块)。然后对连通像素的区域进行重点关注。有趣的是,焦点区域在前景(人和马)和背景(草)之间跨块切换。最后,确定最具鉴别性的区域(马体和马头)进行分类。
- 全局tokens的重点区域从低水平逐步变化到高水平。下图显示了Mobile→F former中第一个标记在像素上的交叉关注。
- Pattern 2 – foreground and background are separated in middle layers:
- 令人惊讶的是,在中间层(例如块8)的Mobile←Former中发现了前景和背景之间的分离。下图显示了特征映射中每个像素的6个标记的交叉注意。
-
Cross attention in Mobile←Former separates foreground and background at middle layers.
-
Mobile←Former中的交叉关注在中间层将前景和背景分开。注意力通过标记被规范化,这些标记显示了每个像素上不同标记的贡献。选取背景像素更关注第一个标记,前景像素更关注最后一个标记的Block 8。
- 显然,前景和背景在第一个和最后一个标记中是分开的。这表明全局令牌学习了有意义的原型,这些原型用类似的语义聚集像素。
- 令人惊讶的是,在中间层(例如块8)的Mobile←Former中发现了前景和背景之间的分离。下图显示了特征映射中每个像素的6个标记的交叉注意。
- Pattern 3 – attention diversity across tokens diminishes:
- 与高级别相比,低级别tokens的注意力更具多样性。如下图所示,每一列对应一个标记,每一行对应对应的多头交叉注意中的一个头。
-
Visualization of the two-way cross attention:
-
可视化双向交叉关注:mobile→former和mobile←former。使用Mobile-Former-294M,它包括6个令牌(每个令牌对应一个列)。选择了四个具有不同输入分辨率的块,每个块都有两个注意力头,显示在两行中。
-
Attention in Mobile→Former(左半部分)在像素上归一化,显示每个标记的聚焦区域。mobile←former(右半部分)中的注意力在显示每个像素上不同tokens贡献的令牌上被归一化。
-
交叉注意在高级别上比在低级别上跨tokens的变化更少。具体来说,最后一个块中的令牌2-5具有非常类似的交叉注意。
- 注意,注意力在Mobile→Former(左半部分)中的像素上被规范化,显示每个标记的聚焦区域。相比之下,Mobile←Former中的注意力在令牌上被标准化,比较每个像素上不同令牌的贡献。显然,区块3和区块5的6个令牌在Mobile→Former和Mobile←Former中都具有不同的交叉注意模式。
- 在第8块中可以清楚地观察到标记上的类似注意图。在第12块,最后5个令牌共享类似的注意模式。注意,第一个标记是输入到分类器的分类标记。在最近的ViT研究中也发现了类似的token多样性观察结果[Going deeper with image transformers,Deepvit: Towards deeper vision transformer,Refiner: Refining self-attention for vision transformers]。所有区块双向交叉注意的完整可视化如下图所示。
-
- Visualization of the two-way cross attention:
- 可视化双向交叉关注:mobile→Former和mobile←former。使用的是Mobile-Former- 294m,它包括六个令牌(每个对应一列)和十一个跨越四个阶段的Mobile-Former区块(区块2-12)。
- 每个区块都有两个注意力头,它们被可视化地分成两行。Attention in Mobile→Former (左)在像素上被规范化,显示每个标记的聚焦区域。Mobile←Former(右)中的注意在显示每个像素上不同令牌贡献的tokens上被归一化。
- 与高级别相比,低级别tokens的注意力更具多样性。如下图所示,每一列对应一个标记,每一行对应对应的多头交叉注意中的一个头。