MetaFormer:宏觀架構(gòu)才是通用視覺模型真正需要的!

極市導(dǎo)讀
視覺 Transformer 一般性的宏觀架構(gòu),而不是令牌混合器 (Token Mixer) 對(duì)模型的性能更為重要。 >>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺的最前沿
本文目錄
1 MetaFormer:令牌混合器類型不重要,宏觀架構(gòu)才是通用視覺模型真正需要的
(來(lái)自 Sea AI Lab,新加坡國(guó)立大學(xué))
1.1 MetaFormer 論文解讀
1.1.1 背景和動(dòng)機(jī)
1.1.2 什么是 MetaFormer?
1.1.3 PoolFormer 架構(gòu)
1.1.4 PoolFormer 通用視覺任務(wù)的實(shí)驗(yàn)結(jié)果
1.1.5 MetaFormer 通用視覺任務(wù)的實(shí)驗(yàn)結(jié)果
1.1.6 MetaFormer 的性能還可以再提升嗎?
1.1.7 新的激活函數(shù) StarReLU
1.1.8 縮放分支輸出和不使用偏置
1.1.9 IdentityFormer 和 RandFormer 架構(gòu)
1.1.10 ConvFormer 和 CAFormer 架構(gòu)
1.1.11 新 MetaFormer 通用視覺任務(wù)的實(shí)驗(yàn)結(jié)果
1 MetaFormer:令牌混合器類型不重要,宏觀架構(gòu)才是通用視覺模型真正需要的
論文名稱:
MetaFormer Is Actually What You Need for Vision
MetaFormer Baselines for Vision (Extended version)
論文地址:
https://arxiv.org/pdf/2111.11418.pdf
https://arxiv.org/pdf/2210.13452.pdf
1.1.1 背景和動(dòng)機(jī)
與卷積神經(jīng)網(wǎng)絡(luò) (CNN) 相比,視覺 Transformer 模型在多種計(jì)算機(jī)視覺任務(wù)中展現(xiàn)出了巨大的潛力。很多工作也開始卷 Transformer 模型的具體架構(gòu)。以 Transformer 為代表的通用視覺模型的每個(gè)模塊的架構(gòu)如下圖1所示。每個(gè) Block 一般由兩部分組成。其一是用于融合空間位置信息的令牌混合器 (Token Mixer) 模塊,其二是用于融合通道信息的 Channel MLP 模塊。當(dāng)令牌混合器取不同的形式時(shí),通用視覺模型也變化為不同的類型。比如在 ViT 中,Token Mixer 就是自注意力模塊 (Self-Attention) ;在 MLP-Mixer 中,Token Mixer 就是 Spatial MLP;在 Swin Transformer 中,Token Mixer 就是 Window-based Self-Attention;在 GFNet 中,Token Mixer 就是 2D-FFT。
這幾個(gè)工作都訓(xùn)出了很好的性能,把所有這些結(jié)果放在一起,似乎只要模型采用的一般架構(gòu)確定了之后,就可以獲得有希望的結(jié)果。

這兩篇文章為領(lǐng)域帶來(lái)了全新的視角,即:當(dāng)前普遍的看法是基于自注意力機(jī)制 (Self-Attention) 的令牌混合器 (Token Mixer) 對(duì)視覺 Transformer 架構(gòu)的能力是貢獻(xiàn)最大的。但是最近的很多研究也表明了 Self-Attention 模塊其實(shí)是可以被更加簡(jiǎn)潔的 MLP 模塊所取代,所得到的模型仍然表現(xiàn)得很好?;谶@一觀察,這兩篇文章的核心觀點(diǎn)是:視覺 Transformer 一般性的宏觀架構(gòu),而不是令牌混合器 (Token Mixer) 對(duì)模型的性能更為重要。
1.1.2 什么是 MetaFormer?
在本文中,作者給出了 MetaFormer 的一般性定義,即:MetaFormer 是一種通用架構(gòu),其中不指定令牌混合器的具體類型,而其他組件與視覺 Transformer 相同。
輸入圖片 首先進(jìn)行分 Patch 操作,一般是 Patch Embedding 模塊進(jìn)行處理:

式中, 代表輸入的嵌入, 其中 是圖片的 Patch 數(shù), 是嵌入維度。
然后, 被輸入到重復(fù)的 MetaFormer Block 中,每個(gè) Block 包括兩個(gè)殘差子塊。
第1塊由歸一化操作 (Norm,可以是 BN 或 LN 等) 和令牌混合器 (Token Mixer) 構(gòu)成,為了在令牌之間傳遞信息,這個(gè)子塊可以表示為:

值得注意的是,盡管有些令牌混合器也可以混合通道之間的信息,如 Self-attention,但是令牌混合器的主要功能是為了在令牌之間傳遞信息。
第2塊由2層的 Channel MLP 和非線性操作構(gòu)成,為了在通道之間傳遞信息,這個(gè)子塊可以表示為:

式中, 是可學(xué)習(xí)參數(shù), 是 Expansion ratio, 是非線性激活函數(shù)。
MetaFormer 描述了一種通用架構(gòu),通過(guò)不同的令牌混合器的具體設(shè)計(jì),可以獲得不同的模型。
1.1.3 PoolFormer 架構(gòu)
從 ViT 的提出開始,很多工作非常重視令牌混合器的具體架構(gòu)是什么,并專注于設(shè)計(jì)各種高效的零派混合器。相比之下,這些工作很少注意到一般的架構(gòu),也就是 MetaFormer。本文認(rèn)為這種 MetaFormer 的一般性的宏觀架構(gòu)對(duì)視覺 Transformer 和 MLP 的模型的成功貢獻(xiàn)最大。為了驗(yàn)證這個(gè)猜想,作者搞了一個(gè)極其簡(jiǎn)單,簡(jiǎn)單到尷尬的令牌混合器 (Token Mixer):池化操作 (Pooling)。池化操作只有最最基本的融合不同空間位置信息的能力,它沒有任何的權(quán)重。
定義特征為,池化操作的表達(dá)式可以寫成:

式中, 是池化的大小,因?yàn)榛?Block 中有殘差,所以作者在4式中把得到的結(jié)果減去了輸入,PyTorch 代碼如下:
import torch.nn as nn
class Pooling(nn.Module):
def __init__(self, pool_size=3):
super().__init__()
self.pool = nn.AvgPool2d(
pool_size, stride=1,
padding=pool_size//2,
count_include_pad=False,
)
def forward(self, x):
"""
[B, C, H, W] = x.shape
Subtraction of the input itself is added
since the block already has a
residual connection.
"""
return self.pool(x) - x
Pooling 操作的好處是計(jì)算復(fù)雜度隨序列長(zhǎng)度僅僅線性變化,因此作者借助 MetaFormer 的架構(gòu),設(shè)計(jì)出 PoolFormer 的架構(gòu)如下圖2所示。PoolFormer 由4個(gè) stage 組成,各個(gè) stage 的輸入分辨率逐級(jí)遞減,Block 數(shù)分別是 。PoolFormer 的超參數(shù)如下圖3所示。


1.1.4 PoolFormer 通用視覺任務(wù)的實(shí)驗(yàn)結(jié)果
令人驚訝的是,這個(gè)被稱為 PoolFormer 的派生模型取得了非常有競(jìng)爭(zhēng)力的性能,甚至優(yōu)于一些性能優(yōu)良的 Transformer 和 MLP 模型。
ImageNet-1K 分類實(shí)驗(yàn)結(jié)果
如下圖4所示是 PoolFormer 的 ImageNet-1K 分類結(jié)果。令人驚訝的是,盡管使用的是極其簡(jiǎn)單的池化令牌混合器,PoolFormer 仍然可以達(dá)到非常有競(jìng)爭(zhēng)力的性能。比如,PoolFormer-S24 只使用了 21M 的參數(shù)和 3.4G MACs 的計(jì)算量就達(dá)到了超過(guò) 80% 的 ImageNet-1K 分類精度,其性能和效率都超過(guò)了經(jīng)典的 DeiT-S 模型和 ResMLP-S24 等等。即使與更多改進(jìn)的 ViT 和 MLP 模型相比,PoolFormer 仍然顯示出更好的性能。具體來(lái)說(shuō),PVT-Medium 在 44M 的參數(shù)和 6.7G 的 MACs 下獲得了 81.2 的 top-1 精度。而 PoolFormer-S36 在參數(shù)減少 30%(31M) 和 6.7G 的情況下達(dá)到了 81.4 的 top-1 精度。
與 RSB-ResNet[1] 相比,PoolFormer 仍然表現(xiàn)得更好。在大約 22M 參數(shù) 3.7GMACs 的情況下,RSB-ResNet-34可以獲得 75.5% 的精度,而 PoolFormerS24 的精度可以達(dá)到 80.3%。由于池化層的局部空間建模能力比神經(jīng)卷積層差很多,PoolFormer 的競(jìng)爭(zhēng)性能只能歸功于其通用架構(gòu) MetaFormer。

目標(biāo)檢測(cè)和實(shí)例分割實(shí)驗(yàn)結(jié)果
如下圖5所示是在 COCO benchmark 上驗(yàn)證的目標(biāo)檢測(cè)和實(shí)例分割實(shí)驗(yàn)結(jié)果。作者使用 PoolFormer 作為 Backbone,RetinaNet 和 Mask R-CNN 作為檢測(cè)頭。使用 1× 的訓(xùn)練策略,訓(xùn)練模型 12 Epochs?;赑oolFormer 的 Backbone 搭配 RetinaNet 作為檢測(cè)頭進(jìn)行目標(biāo)檢測(cè),其表現(xiàn)一直優(yōu)于同類的 ResNet Backbone。比如,PoolFormer-S12 取得了36.2的 AP,大大超過(guò)了 ResNet-18 的31.8的 AP。

語(yǔ)義分割實(shí)驗(yàn)結(jié)果
如下圖6所示是在 ADE20K 上驗(yàn)證的語(yǔ)義分割實(shí)驗(yàn)結(jié)果。作者使用 PoolFormer 作為 Backbone,Semantic FPN 作為分割頭。訓(xùn)練模型 80K iteration?;赑oolFormer 的 Backbone 搭配 Semantic FPN 作為分割頭進(jìn)行語(yǔ)義分割,其表現(xiàn)一直優(yōu)于同類的 ResNet Backbone 和 PVT。這些結(jié)果進(jìn)一步表明了 MetaFormer 的巨大潛力。

1.1.5 MetaFormer 通用視覺任務(wù)的實(shí)驗(yàn)結(jié)果
如下圖7所示是 MetaFormer 通用視覺任務(wù)的實(shí)驗(yàn)結(jié)果。作者把池化操作進(jìn)一步換成了多種不同的簡(jiǎn)單操作 (如 Identity Mapping,Global Random Matrix,Depthwise Convolution 等),精度分別達(dá)到了 74.3%,75.8%,78.1%,證明只要有 MetaFormer 這樣的宏觀架構(gòu),即使是用完全隨機(jī)的令牌混合器 (Global Random Matrix),也能很好地工作,更不用說(shuō)與其他更好的令牌混合器了。當(dāng)進(jìn)一步把令牌混合器換成帶有可學(xué)習(xí)參數(shù)的 Depth-wise Convolution 之后,S12 級(jí)別的模型可以訓(xùn)出 78.1% 的性能。到目前為止,已經(jīng)在 MetaFormer 中指定了多種令牌混合器,所有得出的模型都保持了良好的結(jié)果,說(shuō)明 MetaFormer 架構(gòu)確實(shí)是模型 work 的關(guān)鍵。

接下來(lái)作者進(jìn)一步把 stage3 和 stage4 的 Pooling 操作換成 Attention 和 SpatialFC 操作。因?yàn)?Pooling 操作可以處理更長(zhǎng)的輸入序列,而 Attention 和 SpatialFC 操作則擅長(zhǎng)捕捉全局的信息。因此,MetaFormer 的其中一種很自然而然的設(shè)計(jì)思路就是在前面的 stage 使用 Pooling 操作,在后面的 stage 放一些 Attention 和 SpatialFC 操作。從圖7的實(shí)驗(yàn)結(jié)果也可以看出,這樣的設(shè)計(jì)的性能可以分被實(shí)現(xiàn) 81.0% 和 77.9% 的 top-1 精度。
這些結(jié)果表明,將 MetaFormer 的池化和其他令牌混合器結(jié)合起來(lái),可能是進(jìn)一步提高性能的一個(gè)有希望的方向。下一節(jié)將繼續(xù)探索如何使得 MetaFormer 的性能繼續(xù)提升。
1.1.6 MetaFormer 的性能還可以再提升嗎?
至此,ViT 的抽象宏觀架構(gòu), MetaFormer,已被證明對(duì)一個(gè)通用視覺架構(gòu)的 work 起了很關(guān)鍵的作用。原班人馬作者又在新的一個(gè)工作中進(jìn)行了下一步的探索,即:MetaFormer 的性能還可以再提升嗎?
在這個(gè)工作里面,作者再一次將目光從令牌混合器上移開,使用了幾種最最基本的 token mixer:**恒等映射 (Identity mapping),全局隨機(jī)合并 (Global Random Mixing),可分離卷積 (Separable Convolution),以及原始的自注意力機(jī)制 (Self-attention)**。并給出了下面3個(gè)觀察:
MetaFormer 保證了穩(wěn)定的性能下限: 使用恒等映射作為令牌混合器 (其實(shí)壓根就沒有令牌混合的功能),搞出一個(gè)叫 IdentityFormer 的模型,讓我們驚訝的是,這個(gè)極其粗糙的模型已經(jīng)達(dá)到了令人滿意的精度 (73M Params 和 11.5 GMACs 實(shí)現(xiàn)了 80.4% 的 ImageNet-1K 精度)。IdentityFormer 的結(jié)果表明,MetaFormer 確實(shí)是一個(gè)可靠的體系結(jié)構(gòu),即使使用恒等映射這種無(wú)效的令牌混合機(jī)制,它也能確保良好的性能下界。 MetaFormer 搭配任意令牌混合器,都能實(shí)現(xiàn)不錯(cuò)的性能: 為了進(jìn)一步探究 MetaFormer 對(duì)令牌混合器的泛化性,作者進(jìn)一步將令牌混合器替換為一個(gè)隨機(jī)矩陣。這樣以來(lái),雖然也有令牌混合的功能,但是混合的方式也是完全任意的。具體而言,只在前兩個(gè) stage 使用隨機(jī)矩陣,后兩個(gè) stage 依然使用 Identity mapping。該衍生模型被稱為 RandFormer,這個(gè)模型提高了 IdentityFormer 1.0%,實(shí)現(xiàn)了 81.4% 的 ImageNet-1K 精度。這個(gè)結(jié)果驗(yàn)證了 MetaFormer 與令牌混合器的泛化性和兼容性。 MetaFormer 毫不費(fèi)力地實(shí)現(xiàn)最先進(jìn)的性能: 作者進(jìn)一步嘗試向 MetaFormer 中加入更多類型的令牌混合器,比如很久之前提出的可分離卷積 (Separable Convolution),以及原始的自注意力機(jī)制 (Self-attention),得到的模型分別稱之為 ConvFormer 和 CAFormer,具體而言:
ConvFormer 的性能超越了 ConvNeXt [2] : 使用了可分離卷積作為令牌混合器之后,得到一個(gè)不含任何注意力機(jī)制的純 CNN 模型,精度超越 CVPR 2022 的 ConvNeXt。
CAFormer 在 ImageNet-1K 上創(chuàng)下了新紀(jì)錄: 使用了自注意力機(jī)制作為令牌混合器之后 (前2個(gè) stage),在 ImageNet-1K 上在224×224 的分辨率下達(dá)到了 85.5% 的 top-1 精度的新記錄。

1.1.7 新的激活函數(shù) StarReLU
作者在這個(gè)工作里面給出了一個(gè)新的激活函數(shù) StarReLU 和2個(gè)小改動(dòng)。
ReLU 激活函數(shù)
原始 Transformer 模型使用 ReLU 作為默認(rèn)的激活函數(shù),ReLU 的表達(dá)式可以寫成:

每個(gè)單元的計(jì)算量花銷是 1 FLOP。
GELU 激活函數(shù)
GPT,BERT,ViT 等模型使用 GELU 作為默認(rèn)的激活函數(shù),GELU 的表達(dá)式可以寫成:

式中, 是高斯分布的累計(jì)分布函數(shù) (Cumulative Distribution Function for Gaussian Distribution, CDFGD),每個(gè)單元的計(jì)算量花銷是 14 FLOPs (乘法加法都算作 1 FLOPs,tanh 的計(jì)算量按照 6 FLOPs 來(lái)計(jì)算)。
Squared ReLU 激活函數(shù)
為了簡(jiǎn)化 GELU 的運(yùn)算,Primer[3] 這個(gè)工作發(fā)現(xiàn) CDFGD 可以使用 ReLU 替換。

每個(gè)單元的計(jì)算量花銷是 2 FLOPs。盡管 Squared ReLU 比較簡(jiǎn)單,但作者發(fā)現(xiàn)它在某些模型上的性能不如GELU 激活函數(shù)。作者認(rèn)為,性能較差的原因可能是由于輸出分布的偏移造成的。
StarReLU 激活函數(shù)
假設(shè)輸入 服從均值為 0 , 方差為 1 的正態(tài)分布, 即 , 則有:

上式的計(jì)算過(guò)程是:
因此,為了消除輸出分布偏移的影響,作者對(duì) Squared ReLU 激活函數(shù)的分布減去均值,再除以標(biāo)準(zhǔn)差,得到 StarReLU 激活函數(shù):

但是,在以上公式的推導(dǎo)中,作者假設(shè)輸入呈現(xiàn)出標(biāo)準(zhǔn)正態(tài)分布,這一假設(shè)很強(qiáng)。為了使得激活函數(shù)可以適應(yīng)不同的情況,可以將 scale 和 bias 設(shè)置為可學(xué)習(xí)的參數(shù),因此,激活函數(shù)可以統(tǒng)一寫成:

式中, 對(duì)于所有通道都是共享的。StarReLU 激活函數(shù)每個(gè)單元的計(jì)算量花銷只有 4 FLOPs。
1.1.8 縮放分支輸出和不使用偏置
為了能把 ViT 架構(gòu)做得更深,CaiT[4] 這個(gè)工作提出使用 LayerScale 方法,即給可學(xué)習(xí)分支的輸出乘以一個(gè)可學(xué)習(xí)的系數(shù):

式中, 代表輸入的特征, 是歸一化函數(shù), 代表令牌混合器或者 Channel MLP。
NormFormer 提出了一種 ResScale 的方法,即通過(guò)給 shortcut 分支的輸出乘以一個(gè)可學(xué)習(xí)的系數(shù)來(lái)穩(wěn)定模型的訓(xùn)練:

作者把上面兩種技術(shù)結(jié)合,給兩個(gè)分支都乘以一個(gè)可學(xué)習(xí)的系數(shù),稱為 BranchScale,表達(dá)式如下:

但是最后發(fā)現(xiàn) ResScale 性能最好。
然后,作者在 FC 層,卷積層,歸一化層中都不使用偏置項(xiàng),發(fā)現(xiàn)這樣不但不會(huì)影響性能,而且還能夠帶來(lái)輕微的提升。
1.1.9 IdentityFormer 和 RandFormer 架構(gòu)
IdentityFormer 的令牌混合器 (恒等映射函數(shù)實(shí)質(zhì)上沒有令牌混合的功能):

RandFormer 的令牌混合器:

式中, 是一個(gè)不更新參數(shù)的隨機(jī)矩陣,起到基本的令牌混合的功能。
PyTorch 代碼如下:
import torch
import torch.nn as nn
# Identity mapping
from torch.nn import Identity
# Random mixing
class RandomMixing(nn.Module):
def __init__(self, num_tokens=196):
super().__init__()
self.random_matrix = nn.parameter.Parameter(
data=torch.softmax(torch.rand(num_tokens, num_tokens), dim=-1),
requires_grad=False)
def forward(self, x):
B, H, W, C = x.shape
x = x.reshape(B, H*W, C)
x = torch.einsum('mn, bnc -> bmc', self.random_matrix, x)
x = x.reshape(B, H, W, C)
return x
模型架構(gòu)參數(shù)如下圖9所示。

1.1.10 ConvFormer 和 CAFormer 架構(gòu)
ConvFormer 的令牌混合器:

式中, 和 是 Pointwise 卷積, 是 Depthwise 卷積。作者遵循了 MobileNetV2[5] 里面 inverted separable convolution 的設(shè)計(jì)得到一個(gè)純卷積的令牌混合器。
PyTorch 代碼如下:
import torch
import torch.nn as nn
# Separable Convolution
class SepConv(nn.Module):
"Inverted separable convolution from MobileNetV2"
def __init__(self, dim, kernel_size=7, padding=3, expansion_ratio=2, act1=nn.ReLU, act2=nn.Identity,
bias=True):
super().__init__()
med_channels = int(expansion_ratio * dim)
self.pwconv1 = nn.Linear(dim, med_channels, bias=bias) # pointwise conv implemented by FC
self.act1 = preconv_act()
self.dwconv = nn.Conv2d(med_channels, med_channels, kernel_size=kernel_size,
padding=padding, groups=med_channels, bias=bias) # depthwise conv
self.act2 = act_layer()
self.pwconv2 = nn.Linear(med_channels, dim, bias=bias) # pointwise conv implemented by FC
def forward(self, x):
# [B, H, W, C] = x.shape
x = self.pwconv1(x)
x = self.act1(x)
x = x.permute(0, 3, 1, 2) # [B, H, W, D] -> [B, D, H, W]
x = self.dwconv(x)
x = x.permute(0, 2, 3, 1) # [B, D, H, W] -> [B, H, W, D]
x = self.act2(x)
x = self.pwconv2(x)
return x
模型架構(gòu)參數(shù)如下圖10所示。

1.1.11 新 MetaFormer 通用視覺任務(wù)的實(shí)驗(yàn)結(jié)果
ImageNet-1K 實(shí)驗(yàn)結(jié)果
訓(xùn)練方式1:先以 224×224 的分辨率在 ImageNet-1K 數(shù)據(jù)集上訓(xùn)練 300 Epochs (不使用 LayerScale,但是在最后的兩個(gè) stage 使用 ResScale。優(yōu)化器使用 AdamW,Batch Size 設(shè)置為 4096,CAFormer 除外 (使用 LAMB 優(yōu)化器)),再以 384×384 的分辨率在 ImageNet-1K 數(shù)據(jù)集上微調(diào) 30 Epochs。
訓(xùn)練方式2:先以 224×224 的分辨率在 ImageNet-21K 數(shù)據(jù)集上訓(xùn)練 90 Epochs,再以 224×224 或者 384×384 的分辨率在 ImageNet-1K 數(shù)據(jù)集上微調(diào) 30 Epochs。
如下圖11所示是 IdentityFormer 和 RandFormer 與 RSB-ResNet 等模型對(duì)比的實(shí)驗(yàn)結(jié)果,下劃線部分代表凍結(jié)參數(shù)的參數(shù)量。雖然令牌混合器只是恒等映射和凍結(jié)參數(shù)的隨機(jī)映射矩陣,但是 IdentityFormer-S12/S24 也超過(guò)了 RSB-ResNet-18/34 4.0%/2.7% 的精度。通過(guò)縮放模型尺寸到 ~ 73M 參數(shù)和 ~ 12G MACs, IdentityFormer-M48 可以實(shí)現(xiàn) 80.4% 的精度,該精度已經(jīng)超過(guò) RSB-ResNet-50 的 79.8%。IdentityFormer 的結(jié)果表明,MetaFormer 對(duì)于模型性能的下限有個(gè)穩(wěn)定的保底。也就是說(shuō),如果采用 MetaFormer 作為通用框架來(lái)開發(fā)自己的模型,在類似IdentityFormer-M48 的 Params 和 MACs 的情況下,精度不會(huì)低于80%。而且,RandFormer 可以持續(xù)提升 IdentityFormer 的精度。RandFormer 的結(jié)果表明了 MetaFormer 與令牌混合器的通用兼容性。因此,當(dāng)配備了奇奇怪怪的令牌混合器時(shí),可以放心 MetaFormer 的性能。

如下圖12所示是 ConvFormer 和 CAFormer 與 ConvNeXt 等模型對(duì)比的實(shí)驗(yàn)結(jié)果,ConvFormer 實(shí)際上可以看作是一種沒有任何注意力機(jī)制的純 CNN 模型。從圖中可以觀察到,ConvFormer 明顯優(yōu)于強(qiáng) CNN 基線模型ConvNeXt。比如在 224 ×224 的分辨率下,ConvFomer-B36 (100M 參數(shù)和 22.6 GMACs) 比 ConvNeXt-B (198M參數(shù)和34.4 GMACs) 高出 0.5% 的 top-1 精度。
而且,CAFormer 的性能更顯著。CAFormer 只是把 ConvFormer 的前兩個(gè)階段由可分離卷積替換成了自注意力機(jī)制,但它已經(jīng)持續(xù)優(yōu)于其他不同規(guī)模的模型,如下圖12所示。值得注意的是,CAFormer 在 ImageNet-1K 上創(chuàng)造了 224×224 直接訓(xùn)練 300 Epochs 的新記錄 85.5% 的 top-1 精度,優(yōu)于 MViTv2-L 等。
ConvFormer 和 CAFormer 的結(jié)果表明,即使是配備了可分離卷積這種幾年前提出的 "老式" 令牌混合器,仍然可以取得顯著的性能,這些結(jié)果表明MetaFormer可以提供很高的潛力。有了這些結(jié)論,當(dāng)進(jìn)一步將令牌混合器換成其他更高級(jí)的形式以后,取得更好的性能其實(shí)也已經(jīng)不足為奇了。

總結(jié)
本文介紹的這兩篇文章為領(lǐng)域帶來(lái)了全新的視角,即:視覺 Transformer 一般性的宏觀架構(gòu),而不是令牌混合器 (Token Mixer) 對(duì)模型的性能更為重要。為了驗(yàn)證這個(gè)猜想,作者搞了一個(gè)極其簡(jiǎn)單,簡(jiǎn)單到尷尬的令牌混合器 (Token Mixer):池化操作 (Pooling)。池化操作只有最最基本的融合不同空間位置信息的能力,它沒有任何的權(quán)重。但是基于它所構(gòu)建的 PoolFormer 架構(gòu)依然能取得不俗的性能。不僅如此,把令牌混合器分別換成恒等映射和凍結(jié)參數(shù)的隨機(jī)矩陣的結(jié)果表明 MetaFormer 對(duì)于模型性能的下限有個(gè)穩(wěn)定的保底,及其對(duì)于令牌混合器的通用兼容性。即使是配備了可分離卷積這種幾年前提出的 "老式" 令牌混合器,仍然可以取得顯著的性能,這些結(jié)果表明MetaFormer可以提供很高的潛力。
參考
^Resnet' strikes back: An improved training procedure in timm ^A ConvNet for the 2020s ^Primer: Searching for Efficient Transformers for Language Modeling ^Going deeper with Image Transformers ^MobileNetV2: Inverted Residuals and Linear Bottlenecks
公眾號(hào)后臺(tái)回復(fù)“數(shù)據(jù)集”獲取100+深度學(xué)習(xí)數(shù)據(jù)集下載~

# 極市平臺(tái)簽約作者#
科技猛獸
知乎:科技猛獸
清華大學(xué)自動(dòng)化系19級(jí)碩士
研究領(lǐng)域:AI邊緣計(jì)算 (Efficient AI with Tiny Resource):專注模型壓縮,搜索,量化,加速,加法網(wǎng)絡(luò),以及它們與其他任務(wù)的結(jié)合,更好地服務(wù)于端側(cè)設(shè)備。
作品精選


