自注意力真的是Transformer的必杀技吗?MSRA否认三连,并反手给你扔来一个sMLPNet

作者丨happy
编辑丨极市平台
本文原创首发于极市平台公众号,转载请获得授权并标明出处。

自注意力真的是Transformer的必杀技吗?MSRA否认三连,并反手给你扔来一个sMLPNet_第1张图片

论文链接:https://arxiv.org/pdf/2109.05422.pdf

个人思考

自今年5月份MLP-Mixer横冲出世以来,4个月的时间里出来了20+MLP相关的论文,从MLP-Mixer、ResMLP、gMLP到A2-MLP、CCS,再到ViP,MLP相关的结构好像一下被探索到头,自ViP之后的MLP相关的paper大多都借鉴了ViP的思想,此外再小心翼翼的加点不一样的小改进。与此同时,优异的Vision Transformer也在尝试将其内在的自注意力替换为MLP,比如Swin Transformer的变种SwinMLP

这篇论文有种组合CSWin(7月份上线arXiv)、ViP(6月份上线arXiv)的味道,但实验部分又并未与两者进行比较。虽然文末提到了sMLPNet与CSWin是同期工作,见如下。

We notice that some concurrent Transformer-based models, such as CSWin, have obtained an even higher accuracy than sMLPNet…

但是sMLPNet并未提到6月份就已上线arXiv的ViP,着实不应该,关键的是:两者的部分思想是那么相似。此外,消融实验中也看到了ViP中的加权融合与Concat+FC融合的对比。隐约说明:sMLPNet应该是知道ViP,但因为性能不如ViP而刻意没写。

当然,sMLPNet的重点不是跟谁比性能,旨在对Transformer中的自注意力机制的必要性进行挖掘与探索并得出“自注意力并非Transnformer取得优异性能的秘密武器 ”。

sMLPNet比较新颖的一个点:token-mixing部分同时进行了局部与全局依赖建模。局部依赖建模比较容易想到,DWConv即可;全局建模用则从CSWin那里借鉴了一些idea。两者一组合就取得了非常的指标。

但是呢,sMLPNet引入了BN与DWConv后就不能算作是纯MLP架构,可能这也是之前MLP类模型非常小心翼翼的原因吧,生怕影响“出身”(狗头)。

下面正式介绍本篇论文

Abstract

本文对Transformer中的核心模块自注意力模块进行探索:它是否是Transformer在图像识别任务中取得优异性能的关键?

我们构建了一种Attention-free的、基于MLP的sMLPNet。具体来讲,我们将MLP模块中的token-mixing替换为稀疏MLP(sparse MLP, sMLP)模块 。对于2D图像tokens,sMLP沿轴向进行1DMLP,同时在行/列方向上分别进行参数共享。受益于稀疏连接与参数共享,sMLP模块可以大幅降低模型参数量与计算量,进而避免了干扰MLP类模型性能的“过拟合”问题。

sMLPNet仅需24M参数即可在ImageNet数据及上取得81.9%top1精度,优于同等大小的CNN与Vision Transformer;当参数量扩大到66M,sMLPNet取得了83.4%top1精度,具有与Swin Transformer相当精度。sMLPNet的成功说明:自注意力机制并非Transformer取得优异性能的关键所在。

全文链接:自注意力真的是Transformer的必杀技吗?MSRA否认三连,并反手给你扔来一个sMLPNet

你可能感兴趣的:(计算机视觉,人工智能,深度学习)