过去几年深度学习领域的主要炒作绝对是Transformers 。自从在 2017 年发表被超级引用的论文Attention Is All You Need以来,许多研究人员一直在努力改进它们并将其应用于每个可能的领域。虽然最初为 NLP 而生,但人们对应用于视觉的 Transformers 的兴趣呈指数级增长,并且自 ViT 推出以来,许多研究小组已经提出了其架构的不同变体。
ViT 编码器有两个主要组件:第一个是著名的基于注意力的编码器,它处理混合输入标记的信息;第二个包含具有典型扩展-压缩结构的 MLP。历史上注意力模块一直被认为是Transformer能力的核心。出于这个原因大多数研究人员都专注于如何改进注意力模块。尽管如此最近的工作已经证明了 MLP 的能力以及实现可比结果的能力。这方面引起了人们的怀疑,即 self-attention 模块并不是所需要的全部。
Sea AI Lab 与新加坡国立大学一起遵循这一直觉来定义 MetaFormer。假设与特定的注意力模块相比,通用的 Transformer 架构更为基础。为了证明这一点,用“非常简单”的非参数空间平均池化层替换了注意力模块,并在不同的计算机视觉任务上取得了有竞争力的结果,例如图像分类、对象检测、实例分割和语义分割。该模型被命名为PoolFormer,并在性能、参数数量和 MAC(乘积和累加)方面与经典的 Transformer(例如 DeiT)和 MLP-like(例如 ResMLP)模型进行了比较。
在此架构中,输入首先由补丁嵌入处理,类似于原始 ViT 实现,由n=C1卷积滤波器强制执行,具有 7×7 窗口和步长值为 4,产生维度为C1 x H的张量/4 x 宽/4。然后将输出传递给一系列 PoolFormer 块。在 PoolFormer 中,注意力模块被一个stride=1的池化块代替,它执行平均池化(简单地使每个令牌平均聚合到其附近的令牌特征)。在跳过连接之后,第二个块由一个两层 MLP 组成,与原始 Transformer 编码器一样。
重复整个过程,构建4个阶段的层次结构,通过池化将图像的原始高度和宽度压缩到H/32和W/32。根据嵌入尺寸(小型或中型),即根据四个嵌入尺寸(C1、C2、C3、C4)定义了两种不同类型的配置。为了更好地理解上图,假设总共有L=12 个PoolFormer 块,阶段 1、2 和 4 将包含L/6=2 个PoolFormer 块,而阶段 3 将包含L/2=6个块。经过消融研究,作者决定使用 Group Normalization 作为归一化技术,GeLu 作为激活函数。
这种非常简单的实现结果令人惊讶。对于图像分类任务,在 ImageNet-1K 数据集上进行测试,PoolFormer 达到了 82.1% 的 top-1 准确率,超过了经典的 Transformer 实现,尤其是 DeiT 0.3%,参数减少了 35%,MAC 减少了 48%,并且类似于 MLP ResMLP 等实现减少了 1.1%,参数减少了 52%,MAC 减少了 60%。在对象检测、实例分割和语义分割任务中表现出类似的性能。
总之,作者将整个 Transformer 架构抽象为一个通用的 MetaFormer,其中没有指定令牌混合器。该理论的核心是令牌混合器不是获得可接受性能的必要条件,而主要电源在通用结构中。为了证明这一点,实现了一个基于非参数平均池化的非常简单的令牌混合器,它获得了与基于 Transformer 的 SOTA 架构相当的结果。
本文的主要目的是让计算机视觉社区不仅关注令牌混合器,还关注通用 MetaFormer 架构,以在不同领域实现越来越高的性能。
论文:
https://arxiv.org/abs/2111.11418v1
GitHub:
https://github.com/sail-sg/poolformer