pre
title: Efficient Multi-order Gated Aggregation Network
accepted: arXiv 2022
paper: https://arxiv.org/abs/2211.03295
code: https://github.com/Westlake-AI/MogaNet
ref: https://zhuanlan.zhihu.com/p/582542948
ref: https://zhuanlan.zhihu.com/p/582948014
亮点:纯卷积Backbone、交互复杂度
Abstract
通过交互复杂性的角度探索DNN的表示能力。经验表明交互复杂性是视觉识别一个被忽视但必不可少的指标。因此提出一个新的高效ConvNet系列,命名为MogaNet,在基于ConvNet模型基础上进行信息的上下文挖掘,并在复杂度和性能方面进行了更好的权衡。在MogaNet中,通过在空间和通道交互中利用两个专门设计的聚合模块,促进了跨多个复杂性的交互将其情境化。在ImageNet,COCO和ADE20K上进行了广泛的实验研究。
Introduction
卷积神经网络,Convolutional Neural Networks(ConvNets),区别于 ConvNeXt
受灵长类视觉系统的启发,卷积层可以对具有区域密集连接和平移等方差约束的观测图像的邻域相关性进行编码。通过交错分层,ConvNet获得了被动增加的感受野,并善于识别潜在的语义模式。尽管性能很高,但ConvNets提取的表示已被证明对区域纹理具有强烈的偏置bias,导致可视对象全局上下文的显著损失。为了解决这一限制,先前的工作提出改进宏观架构和上下文聚合模块。
通过放松局部归纳偏置inductive bias,新出现的ViT及其变种在广泛的视觉基准benchmark上迅速超过ConvNets,但从实际角度来看,自注意力机制中的二次复杂性限制了ViT的计算效率及其在细粒度下游任务中的应用潜力。
最近的研究从经验上解释了ViT的表达优势在很大程度上取决于他们的宏观架构,而不是通常推理的token mixer,更重要的是,通过先进的训练设置和结构现代化,ConvNets在不增加计算预算的情况下能够轻松提供与经过良好调整的ViT相当甚至更优异的性能。
自注意力或大内核的朴素实现阻碍了区分性上下文信息和全局交互的建模,导致DNN和人类视觉系统之间的认知差距。人脑不仅提取局部特征,同时聚合这些特征以全局感知,这比DNN更加紧凑和高效。
图3 (a)表示瓶颈的插图 (b)交互强度的分布,0.2~0.8的是中复杂度交互
在图3b中,大多数现代DNN倾向于编码极低或极高复杂的相互作用,而不是信息最丰富的中间相互作用。为此,开发一个Multi-order gated aggregation Network(MogaNet)用于加速具有多重交互复杂性的上下文信息。
根据人类视觉引入一个多阶特征聚合模块,设计的局部感知和上下文聚合封装到一个统一的空间聚合块中,其中复合多阶相关性通过并行的门控机制(gating mechanism)被有效地聚合并联系起来。
从通道层面,现存方法常有很高的通道级信息冗余,定制了一个简单但有效的通道汇聚块,自适应地对输入特征进行通道级的重分配,显著超越已有的对手(SE 模块),同时计算开销更低。
图1 ImageNet-1K 验证集上模型性能
大量实验表明,在ImageNet-1k和多种下游任务上,MogaNet在不同模型尺度的性能和效率令人印象深刻。实验结果表明,交互复杂性可以作为高质量视觉识别的重要标志indication,像感受野一样。
Preliminaries
Overall Framework
图2 吸收了ViT优点的ConvNets层级设计宏观架构
最近的研究表明,其固有的框架使ViTs优于ConvNet。因此,首先介绍了一个针对ConvNet的分层设计,它考虑了ViT的优点,如图2所示。它主要包括3个基本组成部分:
- embedding stem
- spatial mixing block
- channel mixing block
其中,Norm是一个归一化层,例如,批处理归一化(BN)。请注意,SMixer可以是各种空间操作(例如,自注意力,卷积),而CMixer通常是通过 inverted bottleneck 中的通道级MLP和r的扩展比例来实现的,这个r看图5a会发现就是用在模型中描述特征通道 C -> rC,的比例变化,所以越大通道越多,参数越多。
Revisiting Essential Operations
概括、解释了一些操作,如Regionality Perception, Context Aggregation,并用公式描述。
Regionality Perception静态地提取作为区域性感知的上下文特征,这些操作/网络模块可以定义为\(Z = S(X, W)\),其中\(S(\cdot, \cdot)\)可以是任意的二进制运算符(例如,点积、卷积、逐元素积),\(W\)表示可学习的权重。
除了局部特征之外,高级语义上下文建模对于视觉识别也是至关重要的。经典ConvNets通常使用这些模块的深层堆叠来捕获受其感受野限制的远距离交互。然而,这些设计可能在计算上效率是低下的,并可能会产生冗余特征。
因此本文提出了上下文聚合模块,以自适应地探索和强调潜在的上下文信息,并减少输入特征中的冗余。形式上将上下文聚合概括为一系列网络组件,这些组件自适应地捕获两个嵌入特征之间的交互:
\[{\mathcal O}=S\big(\mathcal{F}_{\phi}(X),\mathcal{G}_{\psi}(X)\big), \tag{4} \]其中,\(\mathcal{F}_\phi(\cdot)\)和\(\mathcal{G}_\psi(\cdot)\)是参数为\(\phi\)和\(\psi\)的聚合和上下文分支。同时,输出可以选择通过线性投影\(Z = OW_O\)转换为输入维度。
与区域性感知相反,上下文聚合模块通过聚合分支\(\mathcal{F}_{\phi}(X)\)对X上每个位置的重要性进行建模,并通过\(S(\cdot, \cdot)\)从上下文分支\(\mathcal{G}_{\psi}(X)\)中对嵌入的特征重新进行加权。
表1 根据公式4的上下文聚合方法的例子
整得很复杂,似乎是为了概括这一类操作,举例来说Regionality Perception可以是点积、卷积、逐元素积,Context Aggregation可以是自注意力、线性注意力、门控线性单元Gated linear unit(GLU)、Squeeze-and-Excitation(SE)模块。
实际上看表1第一行,\(\mathcal{F}, \mathcal{G}\)分别是自注意力的QK算出的score 和 V,所以就是用\(\mathcal{F}\)对\(\mathcal{G}\)的信息进行聚合,得到公式4所说的交互interaction \(\mathcal O\)
Representation Bottleneck from the View of Multi-order Interaction
图3a中说,人类能在50%左右遮挡时辨认对象,但可见块很少(5%10%)或很多(90%95%)都或许不了太多新的信息,应该是很少的时候信息不足,难以判断,多的时候直接就判断了,再给更多的块也没有影响
但DNN倾向于从很少或很多块里抽取信息,但对于中等可见情况(25%~75%)得到的信息增益却很少,跟人类很不一样。
如图3a所示,强大的ViT在极端遮挡比(例如,仅10∼20%可见patch块)下仍能识别目标对象,但在中等遮挡的情况下产生有限的信息增益,这表明主流深度模型和人类视觉之间存在认知差距。它可以用第m阶相互作用和m阶相互作用强度来解释......
图3b实验结果表明,大多数当前的DNN更倾向于编码过度低阶或高阶的相互作用,而通常缺少信息最丰富的中阶相互作用。从作者的角度来看,这种表示瓶颈可能归因于上述区域性感知和上下文聚合操作的不当组合,这将不利的交互偏见注入到深层架构中。
同时这图3b描述还提到中阶相互作用(Middle-order interactions)是指中等复杂的相互作用(middle-complex interaction),其中有中等数量的图片patch参与
m阶复杂度 = m等级复杂相互作用,且跟参与的图片patch正相关?
那么合理推测这个一直提到却没定义的interaction应该是图像不同特征间的一种运算结果,表示从图像里提取出的信息,那么m阶复杂度交互就是从m阶数量图片patch中抽取出的特征信息?
Methodology
Overview of MogaNet
图A1 MogaNet总体框架
图A1提供了4阶段MogaNet架构的说明。对于阶段i,输入图像或特征首先被馈送到嵌入Stem中以调节特征分辨率并嵌入到维度\(C_i\)中。假设输入图像为H×W分辨率,4个阶段的特征分别为\(\frac{H}{4}×\frac{W}{4}、\frac{H}{8}×\frac{W}{8}、\frac{H}{16}×\frac{W}{16}和\frac{H}{32}×\frac{W}{32}\)分辨率。
然后,嵌入的特征流到 \(N_i\) Moga块中,Moga块由空间和通道聚合块组成,用于进一步的上下文提取和聚合。GAP和线性层将在分类任务的最终输出之后添加。对于密集预测任务,4个阶段的输出可以通过颈部模块(neck modules)使用。
Multi-order Gated Aggregation
特征整合理论表明,人类视觉通过提取基本的上下文特征并将个体特征与注意力相关联来感知目标。然而,正如在第3节中经验性讨论的那样,仅存在 regionality perceptions 或 context aggregation 其中之一不足以同时学习不同的语境特征和多阶互动。
图3b显示了传统DNN倾向于关注低阶或高阶相互作用。他们错过了最丰富的中阶交互。因此,主要的挑战是如何有效地捕捉上下文中的多阶交互。
图4 提出的空间聚合块结构
为此,作者提出了一个空间聚合(SA)块\(SMixer(\cdot)\),以在统一设计中聚合多阶上下文,如图4所示,该块由2个级联组件组成:
\[Z = X + Moga(FD(Norm(X))), \tag{5} \]其中,\(FD(\cdot)\)是一个特征分解模块(FD),应该指的是图4中浅蓝色部分,\(Moga(\cdot)\)是一个多阶门控聚合模块,红色部分,由门控\(F_\phi(\cdot)\)和上下文分支\(G_\psi(\cdot)\)组成。这样看来多阶门控应该体现在图中右侧的多个DWConv分支
Multi-order contextual features 作为一个纯卷积结构,作者同时用静态和自适应区域感知提取多阶特征。除了m阶交互作用外,还有两个不重要的(trivial)交互作用,每个patch本身的0阶交互作用和覆盖所有patch的一阶交互作用,可以用\(Conv1×1(\cdot)\)和\(GAP(\cdot)\)来建模。为了迫使网络关注于多阶交互作用,本文提出了\(FD(\cdot)\)来动态地排除不重要的交互作用,其表述为:
\[Y = Conv1×1(X), \tag{6} \]\[Z = GELU \left(Y + \gamma_s \odot (Y −GAP(Y))\right), \tag{7} \]其中\(\gamma_s\)是一个初始化为零的缩放因子。通过对不重要的交互成分\(Y −GAP(Y)\)进行重新加权,\(FD(\cdot)\)也增加了特征多样性。然后,集成了深度卷积(DWConv),在\(Moga(\cdot)\)的上下文分支中对多阶特征进行编码。
表2 在ImageNet-1K上所设计的模块的消融
这些模块的消融见表2,SMixer指上方空间聚合块结构,CMixer指后面要讲的通道聚合块结构
Gating aggregation 为了聚合来自上下文分支的输出上下文,在门控分支中使用了\(SiLU\),即\(x\cdot Sigmoid\)。如附录C.1所证实的,作者发现\(SiLU\)既具有\(Sigmoid\)的门控效应,又具有稳定的训练特性。以\(FD(\cdot)\)的输出作为输入,为\(Moga(X)\)重写等式(4):
\[Z = SiLU\big( Conv_{1\times 1}(X)\big)\odot (SiLU\big( Conv_{1\times 1}(Y_{C})\big) = \mathcal{F}_\phi \odot \mathcal{G}_\psi, \tag{8} \]这里\(Y_C\)应该是图4右侧多阶门控的输出
使用提出的SA块,MogaNet捕获了更多的中阶交互,如图3b所示。SA块产生与ConvNeXt相似的高质量多阶表示,这远远超出了现有方法的覆盖范围,而不需要应用消耗大的聚合(如自注意力)。
Multi-order Features Reallocation by Channel Aggregation
图5 (a)提出的通道聚合块结构 (b)通道MLP跟通道汇聚模块的分析
如在第二节中所讨论的,主流架构仅通过两个线性投影来执行通道混合\(CMixer(\cdot)\),例如,通道扩展比为r的2层通道MLP或\(3\times3 DWConv\)的MLP。
如图5b所示,MLP需要大量的参数(r默认为4或8)来实现预期的性能,但计算效率较低。
这个问题可能是由冗余的跨通道引起的,大多数方法通过改善特征多样性来解决这个问题,例如,在MLP中插入一个SE模块。与之前需要另一个MLP瓶颈bottleneck的设计不同,作者设计了一个轻量级的通道聚合模块\(CA(\cdot)\)来重新加权高维隐藏空间,并进一步将其扩展到通道聚合块CA。如图5a所示,块的输出被写为:
\[Y = GELU(DW_{3\times3}(Conv_{1\times1}(Norm(X)))) \\ Z = Conv_{1\times1}(CA(Y)) + X, \tag{9} \]具体地说,\(CA(\cdot)\)通过通道减少投影\(W_r\)和GELU实现,以收集和重新分配通道级信息:
\[GA(X) = X + \gamma_{c} \cdot \left(X - GELU(XW_r)\right), \tag{10} \]其中,是\(\gamma_{c}\)通道级的比例因子,没说是超参数还是可学习的变量
图5b验证了与普通MLP和带有SE模块的MLP相比的效率。尽管对基线进行了一些改进,但MLP w/SE模块仍然需要较大的比率(例如r=6)来实现预期的性能,同时引入额外的参数和计算开销。
相比之下,使用r=4的\(CA(\cdot)\)以较小的额外成本(0.04M额外参数和0.01G FLOPs)比基线带来了0.6%的提高,同时实现了与使用r=8的基线相同的性能。
Implementation Details
表A1 MogaNet各变体的架构配置
以附录表A1的形式展示了五个不同尺寸的Moga的设计
Experiments
所有实验都是用PyTorch,在A100 GPU的Ubuntu工作站上进行
ImageNet Classification
AdamW优化器以224或256分辨率对模型训练300个epoch,学习率为1e-3,5个epoch的warmup以及余弦scheduler,详见附录A.2。
表3 轻量模型(约5M参数)在 ImageNet-1K 上的分类性能
表4 小模型(约25M参数)在mageNet-1K 上的分类性能
表5 中等模型(约45M参数)在mageNet-1K 上的分类性能
表6 大模型(约80M参数)在mageNet-1K 上的分类性能
Dense Prediction Tasks
表7 使用Mask-RCNN作为检测器在COCO val2017上的目标检测和实例分割结果
表8 使用Semantic FPN和UperNet在ADE20K上的语义分割结果,图中第一列是fine-tuned轮数
语义分割部分,实验基于MMSegmentation
Ablation and Analysis
图6 所提模块在 ImageNet-1K 上的消融 left: MogaNet-S作为baseline往上加模块 right: 交互强度分布,验证Moga(·)在多阶交互学习上贡献最多
图7 在ImageNet-1K上训练的模型梯度CAM激活图。MogaNet-S的激活图比其他卷积网络更加聚集,且不含无关物体
Related Work
与众不同,放在倒数第二个位置才讲这个。大概介绍了Convolutional Neural Networks和Vision Transformers
总结
提出一种新的用于视觉表示学习的纯ConvNet,命名为MogaNet。具体而言,设计一个空间聚合块和一个自适应channel聚合块,以在复杂度性能权衡范式下捕获上下文表示和多阶交互,广泛实验验证了MogaNet在主流视觉任务中与最先进ConvNets,ViT和混合架构相比的巨大优势。
评价
不明觉厉,听说比较挑任务,不是在所有任务上用都能涨点,或许能用于替换GAN里的判别器提高性能?
实验很丰富,西湖大学是真的有钱
待解明
- 所以是怎么提取多阶交互的?
- multi-order interaction 到底是什么,怎么跟图片patch数量扯上关系的
- 图3b那些数值怎么得来的