顏水成發(fā)了個(gè)“簡(jiǎn)單到尷尬”的模型證明Transformer威力源自架構(gòu)
本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
Transformer做視覺(jué)取得巨大成功,各大變體頻頻刷榜,其中誰(shuí)是最強(qiáng)?
早期人們認(rèn)為是其中的注意力機(jī)制貢獻(xiàn)最大,對(duì)注意力模塊做了很多改進(jìn)。
后續(xù)研究又發(fā)現(xiàn)不用注意力換成Spatial MLP效果也很好,甚至使用傅立葉變換模塊也能保留97%的性能。
爭(zhēng)議之下,顏水成團(tuán)隊(duì)的最新論文給出一個(gè)不同觀(guān)點(diǎn):
其實(shí)這些具體模塊并不重要,Transformer的成功來(lái)自其整體架構(gòu)。

他們把Transformer中的注意力模塊替換成了簡(jiǎn)單的空間池化算子,新模型命名為PoolFormer。
這里原文的說(shuō)法很有意思,“簡(jiǎn)單到讓人尷尬”……

測(cè)試結(jié)果上,PoolFormer在ImageNet-1K上獲得了82.1%的top-1精度。
(PyTorch版代碼已隨論文一起發(fā)布在GitHub上,地址可在這篇推文末尾處獲取。)
同等參數(shù)規(guī)模下,簡(jiǎn)單池化模型超過(guò)了一些經(jīng)過(guò)調(diào)優(yōu)的使用注意力(如DeiT)或MLP模塊(如ResMLP)的模型。

這個(gè)結(jié)果讓一些圍觀(guān)的CVer直接驚掉下巴:

太好奇了,模型簡(jiǎn)單到什么樣才能令人尷尬?
PoolFormer
整體結(jié)構(gòu)與其他模型類(lèi)似,PoolFormer只是把token mixer部分換了一下。

因?yàn)橹饕?yàn)證視覺(jué)任務(wù),所以假設(shè)輸入數(shù)據(jù)的格式為通道優(yōu)先,池化算子描述如下:

PyTorch風(fēng)格的偽代碼大概是這樣:

池化算子的復(fù)雜度比自注意力和Spatial MLP要小,與要處理的序列長(zhǎng)度呈線(xiàn)性關(guān)系。
其中也沒(méi)有可學(xué)習(xí)的參數(shù),所以可以采用類(lèi)似傳統(tǒng)CNN的分階段方法來(lái)充分發(fā)揮性能,這次的模型分了4個(gè)階段。
假設(shè)總共有L個(gè)PoolFormer塊,那么4個(gè)階段分配成L/6、L/6、L/2、L/6個(gè)。

每個(gè)階段的具體參數(shù)如下:

PoolFormer基本情況介紹完畢,下面開(kāi)始與其他模型做性能對(duì)比。
首先是圖像分類(lèi)任務(wù),對(duì)比模型分為三類(lèi):
- CNN模型ResNet和RegNetY
- 使用注意力模塊的ViT、DeiT和PVT
- 使用Spatial MLP的MLP-Mixer、ResMLP、Swin-Mixer和gMLP
在ImageNet-1K上,無(wú)論是按累計(jì)乘加操作數(shù)(MACs)還是按參數(shù)規(guī)模為標(biāo)準(zhǔn),PoolFormer性能都超過(guò)了同等規(guī)模的其他模型。

目標(biāo)檢測(cè)和實(shí)例分割任務(wù)上用了COCO數(shù)據(jù)集,兩項(xiàng)任務(wù)中PoolFormer都以更少的參數(shù)取得比ResNet更高的性能。
△目標(biāo)檢測(cè)
△實(shí)例分割
最后是ADE20K語(yǔ)義分割任務(wù),PoolFormer的表現(xiàn)也超過(guò)了ResNet、ResNeXt和PVT。

消融實(shí)驗(yàn)
上面可以看出,幾大視覺(jué)任務(wù)上PoolFormer都取得了有競(jìng)爭(zhēng)力的成績(jī)。
不過(guò)這還不足以支撐這篇論文開(kāi)頭提出的那個(gè)觀(guān)點(diǎn)。
到底是整體架構(gòu)重要?還是說(shuō)PoolFormer中的池化模塊剛好是一種簡(jiǎn)單卻有效的Token Mixer?
團(tuán)隊(duì)的驗(yàn)證方法是把池化模塊直接替換成恒等映射(Identity Mapping)。
結(jié)果令人驚訝,替換后在ImageNet-1K上也保留了74.3%的Top-1精度。
在此基礎(chǔ)上無(wú)論是改變池化核尺寸、歸一化方法、激活函數(shù)影響都不大。
最重要的是,在4個(gè)階段中把注意力和空間全連接層等機(jī)制混合起來(lái)用性能影響也不大。
其中特別觀(guān)察到,前兩階段用池化后兩階段用注意力這種組合表現(xiàn)突出。
這樣的配置下稍微增加一下規(guī)模精度就可達(dá)到81%,作為對(duì)比的ResMLP-B24模型達(dá)到相同性能需要7倍的參數(shù)規(guī)模和8.5倍的累計(jì)乘加操作。

最終,消融實(shí)驗(yàn)結(jié)果說(shuō)明Transformer中具體到token mixer這個(gè)部分,具體用了哪種方法并不關(guān)鍵。
不增加模型規(guī)模的情況下,網(wǎng)絡(luò)的整體結(jié)構(gòu)才是對(duì)性能提升最重要的。
這樣的整體結(jié)構(gòu)被團(tuán)隊(duì)提煉出來(lái),命名為MetaFormer。

NLP上還會(huì)成立嗎?
這項(xiàng)研究由顏水成領(lǐng)導(dǎo)的Sea AI Lab和來(lái)自新加坡國(guó)立大學(xué)的成員共同完成。
△顏水成
論文的最后,團(tuán)隊(duì)表示下一步研究方向是在更多場(chǎng)景下繼續(xù)驗(yàn)證,如自監(jiān)督學(xué)習(xí)和遷移學(xué)習(xí)。
除了視覺(jué)任務(wù),也要看看在NLP任務(wù)上結(jié)論是否也成立。
另外發(fā)這篇論文還有一個(gè)目的:
呼吁大家把研究的重點(diǎn)放在優(yōu)化模型的基礎(chǔ)結(jié)構(gòu),而不是在具體模塊上花太多精力去打磨。

論文地址:
https://arxiv.org/abs/2111.11418
GitHub倉(cāng)庫(kù):
https://github.com/sail-sg/poolformer