Vision MLP | ActiveMLP: An MLP-like Architecture with Active Token Mixer

ActiveMLP: An MLP-like Architecture with Active Token Mixer

在这里插入图片描述

与CycleMLP的思路和实现都非常类似的一篇工作。直观上来看,本文将偏移量的约束放宽,使用了可学习的形式,这一点正如我之前的文章《Pytorch中Spatial-Shift-Operation的5种实现策略》(Pytorch中Spatial-Shift-Operation的5种实现策略)中提到的那样,都可以看做是NIPS 2018的Constructing Fast Network through Deconstruction of Convolution一种特化版本。

在这里插入图片描述

现有方法

现有的主流视觉任务的骨干架构主要包括三类,CNN、Transformer和MLP类的架构。彼此之间的主要差异在于融合上下文信息到给定token的方式。现有方法将更加有效的token-mixing机制作为架构设计的核心。
如果按照token-mixing的角度来看:

  • CNN:在一个固定形状的偏移窗口中局部混合token。
  • Transformer:基于计算得到的成对注意力权重,将其他token的信息传递到query中。这依赖于token之间在嵌入空间中的相似关系。
  • MLP:按照人为制定的规则以确定的形式部分token或者是全部token构建全连接操作,以确保信息交互。

所以可以说,当前的模型架构设计中token-mixing是非常重要的组件,它极大地影响着模型的有效性和效率。
由于本文主要改进MLP架构,所以作者们指出了现有MLP的问题:

  • 横跨全部token的全连接操作限制了模型处理不同分辨率输入的能力,局限了下游任务的使用。
  • 手动设计的确定规则也限制了空间信息交互仅发生在固定的区域,这缓解了分辨率的约束,但是也使得模型缺少了对于信息交互中有着多样特征模式的视觉内容的适应能力。

主要改进

基于现有架构的token-mixing行为,作者们有这样两点观察:

  1. 空间维度上,视觉目标有着多样的形状和形变,使得固定范围内的信息交互结构低效且难以胜任。这就需要信息传播函数具有一定的自适应性。
  2. 通道维度上,token的不同的语义属性分布在不同通道中。这使得不同token之间的关系建模起来很复杂。所以跨通道共享的token信息交互策略不够有效。就需要更加细粒度的信息传播方式的设计。

这篇文章作者们通过引入可学习的空间偏移参数,构建了一种内容自适应的非局部的token-mixing,即Active Token Mixer (ATM)。其主要的特点为:

  • 通过自适应的方式预测将会按照通道级别集成到目标token的源token的位置。不同通道的采样偏移位置不同。
  • 延续了之前许多方法的分解思路(VIP、DynaMixer等等),使用水平和垂直两个空间方向的分支并行处理。这可以降低偏移量学习的复杂性。两个轴向的分支和原始的token会被加权融合得到最终的token-mixing结果。

通过这样的结构,实现了:

  • 内容自适应:不再受限于手工设计。
  • 灵活性:从全局范围中,按照通道层级动态选择上下文token,可以良好的兼容具有不同尺度和形变的视觉内容。
  • 有效性:ATM模块的计算复杂度只有O(HWC^2),关于输入分辨率的线性复杂度,和灵活且不可知的感受野,使得其对于大尺寸图像任务更加友好。

计算流程

在这里插入图片描述

抛开符号化复杂的表达形式,整个模块的计算过程可以简单表示如下:

  1. 对输入x分别送入两个轴向分支中进行处理。
  2. 单个轴向分支中,输入会被送到一个独立的全连接层,无约束地预测偏移向量,其中每个元素对应一个独立的输入通道。
  3. 预测的偏移量按照双线性插值的方式以浮点坐标的形式获得指定轴向上被采样的token。
  4. 对原始token使用恒等连接来保留原始信息。
  5. 三个分支的结果各自使用独立的全连接层进行变换得到hatxw,hatxh,hatxi。然后使用学习的权重加权求和。这里加权用的权重是对hatxw+hatxh+hatxi使用三个独立的全连接层变换后三个结果之间逐通道softmax得到。

与现有方法的差异

  • 相较于传统卷积,ATM与1x1卷积具有相同的计算复杂度(实际上就是基于1x1的可变形卷积实现的)。但是ATM具有扩展感受野到全局范围的灵活性。
  • 相较于MHSA,有着可学习偏移参数的ATM同样具有逐通道/头混合全局信息的能力,但却可以避免过多的计算量。
  • 相较于容易让人联想到的可变形卷积,ATM主要有两点不同:
    • ATM嵌入在MLP风格的骨干网络中,可以将各通道内上下文信息更灵活的集成。
    • ATM解耦了不同轴向上的偏移参数的学习,使得其更容易被优化。

模型细节

在这里插入图片描述

  • 模型仍然延续PreNorm的范式,并使用LN。
  • 延续分层金字塔架构形式。
  • 作者们发现没必要为每个ATM生成新的偏移,所以会在每个stage中每K层使用一组参数,不同模型变体使用的K也不同。另外注意,offset生成结构在每个ATM分支中每个token之间都是共享的。
  • 对于每个stage,会在ATM之前引入一个位置编码生成器PEG(Conditional positional encodings for vision transformers),位置信息的引入有助于加速偏移参数的学习。

实验效果

消融实验

在这里插入图片描述

  • 这里的baseline只包含channel-mixing MLP,即所有的offset都设置为0。
  • 通过引入位置信息,COCO上得到了进一步的提升。可以看到密集任务可以受益于位置信息,而分类任务不会受其明显影响。
  • 第四个模型中,作者们尝试将生成的偏移参数的数量设置为1,即所有通道共享同一组参数,从而构建了token-level的可变形算子。可以看到,虽然减少了一些参数,但是性能下降还是比较明显的。

在这里插入图片描述

这里进一步探究了偏移参数的分布情况。从COCO数据集中随机采样1000张图,将计算得到的不同层的中心token的水平偏移参数平均后,汇总得到直方图。可以看到,随着层的加深,感受野逐渐增大。这也验证了提出的结构可以灵活地捕获全局信息。

ImageNet1K

在这里插入图片描述

ADE20K

在这里插入图片描述

COCO

在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: mlp-mixer是一种全MLP架构,用于视觉任务。它使用多层感知机(MLP)来代替传统的卷积神经网络(CNN)来处理图像。这种架构的优点是可以更好地处理不同尺度和方向的特征,同时减少了计算和内存消耗。它在许多视觉任务中表现出色,例如图像分类、目标检测和语义分割。 ### 回答2: mlp-mixer是一种全连接多层感知器(Multi-Layer Perceptron,MLP)网络架构,用于视觉场景的图像分类任务。它是在自然语言处理领域中Transformer的启发下发展起来的。与CNN、ResNet等传统的卷积神经网络架构不同,mlp-mixer主要采用全连接层(FC)和MLP Block。 mlp-mixer架构设计的主要思想是将全局信息和本地信息分离,然后通过一系列由FC和MLP Block组成的混合层进行特征提取。在每个MLP Block中,特征向量会被分成多个部分进行局部特征提取,之后再全局汇聚。这样可以保证局部信息不会在多次卷积操作后丢失,并且全局信息的汇聚也是非常高效的。 另外,mlp-mixer架构中的Layer Norm和MLP Block中的GELU激活函数等技术也是有其特点的。Layer Norm是比Batch Norm更加具有一般性的归一化技术,可以提高模型对小批量数据的扩展性。而GELU激活函数在接近0处光滑,对精度保持了很好的提升。这些技术的运用让mlp-mixer模型具有了更好的稳定性和鲁棒性。 综上所述,mlp-mixer是一个全新的神经网络架构,其与传统的卷积神经网络的不同点在于摆脱了卷积操作,通过全连接层和MLP Block等模块提取图像特征。该模型有很强的泛化性,并且在图像分类任务上取得了不错的效果。它的优点在于良好的可扩展性和可解释性,且训练效果非常稳定。在未来,mlp-mixer模型或许有望在计算机视觉领域中取得更进一步的发展。 ### 回答3: MLP-Mixer是一种全MLP(多层感知器)的架构,可以应用于视觉任务中的图像分类和目标检测等任务。MLP-Mixer在CVPR 2021中被提出并于同年6月被公开发布。 传统的卷积神经网络(CNN)被广泛应用于计算机视觉领域。但是,随着计算机视觉任务的不断发展和增加,如何更好地处理不同类型和规模的数据集,成为了一个挑战。因此,MLP-Mixer尝试解决传统卷积神经网络中一些问题,例如参数共享、池化和批归一化等。 MLP-Mixer的主要思想是将传统的卷积操作替换为由若干密集连接层(全连接层)组成的mixing层。传统的卷积操作只考虑空间上的邻居关系,而mixing层考虑全局视角。mixing层通过对不同通道(channel)的信息进行交互,捕捉不同通道之间的全局相关性,提高了特征提取的效率和性能,同时降低卷积神经网络的复杂性。 此外,MLP-Mixer还引入了多层感知器池化层(MLP Pooling Layer)代替传统的最大池化层(Max Pooling Layer),使神经网络更加灵活和高效。MLP-Mixer考虑到了计算机视觉中不同尺度的特征信息,通过MLP池化层进行特征重组和降维,使得神经网络可以处理多尺度特征信息,提高特征提取的精度和速度。 总的来说,MLP-Mixer是一种全MLP的架构,其独特的mixing层和MLP Pooling层相比传统的卷积神经网络有着更好的性能和可扩展性。未来,MLP-Mixer有望在计算机视觉领域的各种任务中得到广泛的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值