機器之心分析師網絡
作者:Angulia Chao
編輯:H4O
近期 Google brain、Oxford、清華大學等研究機構分别發表了自己對多層感覺機(MLP)在視覺分類中起到作用的重定位,引起了廣泛的學界思考。
圖像分類(image classification)一直都是計算機視覺研究中非常基礎且重要的一類任務,在深度學習為主導的近十年中已經普遍繼承了通用卷積神經網絡(CNN)的基本範式,大部分思路多着眼于不同網絡模型的設計和子產品創新,少有直接對卷積神經網絡本身既定架構的颠覆性工作。Transformer 在自然語言處理任務上獲得成功之後,注意力機制(attention)在視覺任務方向也獲得很多關注和應用,它們中的大多數工作也被認為是十分有效的性能提升部分。
然而近期 Google brain, Oxford, 清華大學等研究機構分别發表了自己對多層感覺機(MLP)在視覺分類中起到作用的重定位,引起了廣泛的學界思考:深度學習網絡是否經曆了從 CNN 開始一系列的主幹變化之後,重新收斂于普通簡明的多層 MLP 範式了?MLP 架構是否存在普适性,潛在的科研和商用價值有多高?新的架構提出又會對之後的視覺研究和技術應用提供哪些潛在的可能性和創新啟發呢?
本文基于以上的問題,結合作者最近讀過的上述三篇 MLP 論文,單對神經網絡模型相關的圖像分類任務做一個簡單的發展梳理,之後針對近期提出的三篇論文,将其所提到的方法進行概述和觀點提煉,并嘗試總結此類研究所帶來的的意義和未來潛力。
0. 神經網絡圖像分類發展簡述
其實早在 20 世紀,使用神經網絡進行圖像分類就有 Neocognitron,ConvNet,以及 LeNet 等早期的雛形,如 LeNet 非常有效地完成了受限于數字識别的任務,且卷積的概念也早早出現,然而因為計算機算力的不足在較長一段時間内并沒有取得更多的進展。
大部分人更加熟悉的在于 2012 年 AlexNet 利用 GPU 在當年的視覺圖像分類挑戰賽(ImageNet)上取得了非常驚人的 Top-1 準确度,之後以卷積層為範式的卷積神經網絡(CNN)發展出多種經典模型。
在 2014 到 2017 年間,Inception, ResNet, VGG 等模型均達到了非常好的 SOTA 性能,其設計的小卷積核感受野,多路跨層連結等等子產品設計都被證明非常的有效。在很長一段時間内 CNN 作為骨幹是處理深度視覺任務的不二之選,可參考下圖各個經典 CNN 網絡模型的提出和演變過程:
接下來便是 2017 年附近,人們發現注意力機制在捕捉及加強視覺特征提取過程中也非常有效,并有了少量工作進行嘗試。2018 年左右,本用于自然語言處理的 Transofmer 被發現其在視覺分類等等任務方面也有非常強的可遷移性,于是 Transformer 成為了近兩年來炙手可熱的視覺研究主題,人們前所未有的關注圖像局部塊之間的上下文關系,将卷積網絡時期的感受野學習進一步改善為特征或圖像塊之間的關聯學習。注意力相關的工作也有了井噴式發展,比如 Vit[9], Deit[10] 就是最初有效融合 Transformer 思想的工作,DeepViT[11] 則是嘗試混合多個注意力子產品(attention head mixing),CaiT[12]将原 Transformer 中的注意力層分化為兩個階段進行學習,CrossViT[13],PiT[14],LeViT[15],CvT[16]以及其他更多相關工作都把 Transformer 對于全局長依賴捕捉的優點更近一步發揚,且嘗試與之前的 CNN 中被證明非常有效的子產品如池化(pooling)相結合,引領了 CNN 之後的另一輪模型革新潮流。
1. 注意力是分類性能的保障嗎?
Do You Even Need Attention? A Stack of Feed-Forward Layers Does Surprisingly Well on ImageNet
在引入目前激烈讨論的 MLP-Mixer 模型之前,我們首先來看這篇牛津大學的 4 頁研究報告,一定程度上它簡明地回答了一個問題:注意力機制是保障圖像分類任務性能的關鍵嗎?我們知道自從 Transformer 被證明在視覺任務上同樣可行後,許多視覺相關的任務也随之應用該範式,且普遍都将性能提升歸功于注意力機制,聲稱注意力機制為網絡引入了全局感受野(global receptive field),并在不同的工作中緻力于提升注意力子產品的效率及有效性。于是該文章在 ImageNet 資料集上做了一個 “嚴格控制變量” 的圖像分類實驗:在不改動注意力分類網絡其他結構和參數設定的情況下,單純将每個注意力網絡層替換為一個簡單的前傳網絡層(feed-forward layer),由此原先的 Transformer 模型可被看為由多層前傳網絡層構成的一個 MLP 分層網絡,如左下圖所示。
在實驗部分,論文作者采用了目前 Transformer 分類器中的代表作 ViT 以及 DeiT,繼承其所有的模型結構與超參設定,并依據 ViT,Deit 的 Tiny, Base, Large 三個網絡結構,在 ImageNet 資料集上訓練了三個 feed-forward only 模型(FF only)。參照右上圖訓練結果,Tiny 網絡中 FF only 模型表現相比于 attention 模型,參數數目較多的情況下性能也并不占優。然而當模型增大為 Base 與 Large 時,僅有前傳層的 FF only 表現就非常的驚豔了,在參數數目相比也較少的情況下,純前傳層構成的 MLP 模型 FF only 取得了幾乎持平甚至占優的 Top-1 分類精确度,這從側面也說明了MLP 模型在較複雜較大的網絡中有不俗的表征能力 。
為了更加公平的比較,論文作者也試圖将所有前傳層都替換為注意力層,類比實作一個 attention only 的模型來進一步探究注意力機制的表現力,然而注意力網絡在 tiny 模型上訓練了 100 個 epochs 之後也隻能達到 28.2% 的 top-1 準确度。由以上實驗,論文作者推斷一個好的 Transformer 分類器并不一定需要注意力子產品來保障性能,可能是圖檔塊的映射嵌入(embedding)或者 Transformer 本身自成體系的訓練流程保證了性能的優越性。
下圖附上 FF only 模型中替換注意力子產品的線性前傳子產品,可以看出實作直覺簡單,感興趣的讀者同樣可以根據此做更多的擴充性探索和實驗。
總體來說這篇文章提出的問題非常鮮明,提出的論證過程本身也非常有趣。論證的過程雖然實驗設定相對有限,但也在一定程度上回答了開頭的疑問:特定的注意力子產品并不一定就是性能保證,同時文章非常吸引人的一點在于,它為業界指出了一種可能性:當你面臨較大模型的需求時,根據實驗中 MLP 模型的表現力來看,它很有可能成為一個保證性能同時節省性能的不錯替代方案。
2. MLP 有望成為新的視覺範式
MLP-Mixer: An all-MLP Architecture for Vision
通過牛津大學的文章我們了解到多層感覺機(MLP)的表現能力不俗,在替換了視覺 Transformer 模型中的注意力子產品之後依然能夠實作優秀的分類性能,而被持續關注多時的注意力子產品似乎并不能獨當一面——在單獨存在時作為一種新的計算範式去支撐一個高精度的模型,其本身也更多還是依托于一個好的骨幹模型。谷歌大腦近期提出的 MLP-Mixer 就更進一步,讓我們看到 MLP 模型完全有機會成為與傳統卷積網絡(CNN),Transformer 之後的下一種視覺研究範式。
自從深度學習興起,它一直傾向于直接從原始資料中學習所需要的視覺特征,盡可能避免認為構造特征或設定歸納偏置, CNN 一直預設為此種學習思想下的一種标準,一兩年前視覺的 Transformer 取得了 SOTA 的成績,成為了另一個可選項。不同于前兩者,谷歌提出的 MLP-Mixer 結構完全摒棄了卷積或是注意力機制,完全基于多層感覺機結構,隻依賴基礎的矩陣相乘,重複地在空間特征或者通道特征上計算抽取。
MLP-Mixer 的結構如下圖所示:
首先将大小為 HxW 的的輸入圖像切割為不重合的 S 個小方塊(Patch),每個方塊的分辨率均為 PxP,随之所有圖像方塊經過統一的線性映射變為隐藏次元是 C 的張量,由此輸入 MLP-Mixer 的資料就轉換為一個次元 SxC 的二維矩陣表 X,X 在之後的計算流程會經過多個 Mixer 層,其包含兩類 MLP 計算層:a.token-mixing MLPs 和 b.channel-mixing MLPs, X 首先通過 token-mixing MLP 計算不同方塊張量之間的聯系,獲得特征 U,之後再經過 channel-mixing MLPs 來計算通道之間的特征 Y:
在模型的最後 MLP-Mixer 也接了一個常見的全連接配接分類子產品,來完成最終的類别預測。除此之外,MLP-Mixer 由于采用的 token-mixing MLP,導緻它并不需要輸入圖檔的位置編碼資訊,本身就對每個圖像塊的位置有了一定的敏感度,同時其采用的參數綁定(parameter tying) 也使得參數體量能夠大幅度的減少。
實驗部分作者采用了三個規格的模型大小分别為 base(B),large(L), huge(H), 對應的 MLP-Mixer 模型不僅在 ImageNet 與 JFT-300M 這幾個大資料集上進行了 pre-train,也同時通過在中小資料集上微調(fine-tune)來進一步測試 MLP-Mixer 的遷移學習能力。與此同時與 MLP-Mixer 對比的模型均為 CNN 類别或者 Transformer 類别中實作 SOTA 性能的模型,例如 HaloNet,ViT。
通過實驗結果彙總,也可以看出無論是預訓練或是微調遷移,MLP-Mixer 雖然沒有能達到 SOTA 的精度,但是各方面已經可以與當今的兩個主流 SOTA 模型相當,同時在效率吞吐方面也存在着不錯的優勢。
更進一步,文章将每個輸入圖檔方塊的權重進行了可視化,可以觀察的出來由粗到細、由輪廓到慢慢具象化的一個演變過程其實與 CNN 中提取視覺特征的過程也是有異曲同工之妙的。
總的來說,這篇文章提出了一個非常新穎但是有效的網絡結構,涉及的方法理論并不複雜且模型結構直覺,實驗全面詳實,是一篇非常有啟發性的的 MLP 分類開山之作。尤其需要指出的是,在 MLP-Mixer 的結構描述中,對于如何設定各個 MLP 子產品的順序,以及如何進行圖像映射,包括同樣沿用了一個非常經典的 skip-connection 結構等方面看,是否也從某個側面呼應了第一篇中 FF only 的部分猜想:怎樣進行特征的嵌入映射,與一個合理的訓練計算流程,或許才是一個高精度模型背後的支撐面。
從學術研究的角度看,MLP-Mixer 的提出啟發更多學者關注到 MLP 網絡結構是有潛能成為繼 CNN,Transformer 之後的第三種範式的,更加先進有效的網絡結構甚至微調延伸,也會不斷出現并幫助完善這個研究分支。工業化部署的方面看,MLP 模型也确實為不少在性能和效率的 trade-off 之間掙紮的企業和工程師提供了新的思路,盡管目前的 MLP-Mixer 并不是精确度最優的解,但是其在效率利用甚至記憶體節省方面似乎看起來會比注意力機制為主的 Transformer 有更多的想象空間。
希望詳細了解 MLP-Mixer 計算細節的讀者可以參考我們之前的文章[7],[8]。
3. MLP 與 CNN 的結合
RepMLP: Re-parameterizing Convolutions into Fully-connected Layers for Image Recognition
清華的這篇 RepMLP 是一種 MLP 與 CNN 進行結合的新嘗試,它嘗試将各自網絡子產品的優勢進行混合來實作更好的性能提升,并不限于分類,而是在多個視覺任務方面都給了我們一些全新的啟發。已知全連接配接層通常來說更加擅長于建立特征的長依賴關系與空間關系,但是并不擅長于捕捉局部的特征或模式識别,這也一定程度上解釋了 ViT 之類的模型為何需要數量更加龐大的訓練集或者充分的資料擴增(data augmentation),二者都有類似難以建立局部特征的毛病。于是文章提出了 RepMLP,模型主體利用多層神經網絡提取長期依賴關系與空間資訊,同時利用結構化的重參數化(re-parameterization),在網絡訓練時候将多個卷積子產品與全連接配接并行,用其抽取對應的局部先驗知識并最後進行資訊融合彙總。且 RepMLP 還巧妙地利用重參數化将推理時的參數與訓練時的參數進行了再度轉化,進而實作推理模型精簡的目的。
RepMLP 模型總的來說并不複雜可參考其結構圖如下:
對于模型具體可導性證明感興趣的讀者可以閱讀原文闡述,在此我們就不過多贅述了。
RepMLP 亮點着眼于其針對多個視覺任務的擴充嘗試,首先在分類任務上,就可以看出無論是小資料集 CIFAR10 還是超大資料及 ImageNet,MLP 結構的網絡均取得了非常不錯的效果:在 CIFAR10 資料集上,純粹的 MLP 就已經實作了 91.11 的準确度,直逼最佳精度:
在 ImageNet 上,RepMLP 也同樣比起原有的骨幹網絡實作了性能的超越:
更進一步,在之後擴充實驗涉及到的人臉識别以及語義分割任務上,RepMLP 比起原先的骨幹網絡,都各自取得了更加的精度效果。
在人臉識别任務上拿到了 95.9% 的 SOTA 成績,且推理效率也相對更優:
另一方面,在圖像分割任務上,雖然 RepMLP 相對速度較慢,但是在精度方面也實作了更高的成績。
這篇論文亮點在于将 MLP 與 CNN 結合進行了多個視覺任務的嘗試并且都證明了 MLP 的強表征性,唯一美中不足就是模型本身其實還是沿用了不少 CNN 分支中的經典模型作為骨幹網絡,在 MLP 範式中進行進一步更新修改,某種程度上難以厘清優越的性能更多是由哪一部分子產品進行貢獻的。
4. MLP 三篇工作總結以及未來研究意義
本文介紹到的三篇工作起點和方法都不同,但是也确實通過各自的角度讓我們看到了 MLP 模型擁有的潛力。多層感覺機在深度學習視覺方向最初就被認可其強大的特征表征力,然而研究的初期更多是受限于裝置算力,在機器算力支援度增加的今天,原有的限制其實已不複存在,我們可以看到近一兩年風頭無幾的 Transformer 與圖網絡(Graph Neural Network), 都是在視覺任務學習中能有效捕捉關聯依賴資訊的代表技術,視覺任務的研究對象也從最初的二維圖像為主,演進為視訊序列學習再到如今的 3D 資料學習,資料塊甚至是特征塊之間的 “關聯學習” 會占有更多的關注度。由此我們轉過頭來看 MLP,其本身帶有的特征表現力和長距離依賴捕捉都是在視覺任務如今越來越強調 “關聯學習” 的情況下非常有競争力的特質,三篇文章從各自的角度讓我們看到了 MLP 在圖像分類這一任務上的卓越能力,也讓我們看到 MLP 方向進行新一輪視覺任務網絡結構探索的趨勢:谷歌論文提出一個純 MLP 的新型網絡結構,牛津論文強調了 MLP 本身的強表征力,以及暗示了嵌入和網絡結構合理設計對性能的重要性,清華的文章則讓我們看到 MLP 有在多類型視覺任務上開花的可能性。
是以我們不妨大膽假設,MLP 在未來視覺研究中,比起目前 MLP-Mixer 這個雛形網絡,更合理更高效的網絡結構也會脫穎而出。另一方面,根據目前已經有的幾篇工作,可以看到 MLP 在今後的工業化部署之中也有不消的開發潛力,其一,MLP 模型的代碼實作是非常直覺簡潔的,根據三篇論文開源的代碼都可以看到并沒有涉及太多的 trick,是以在商業化應用的部署中就會減少複雜度和黑箱不确定性;其二當模型規模變大時,MLP 模型的參數量和計算效率均優于同期的 CNN 與 Transformer,且在性能方向幾乎持平,那麼對于要求性能的應用,相比模型剪枝或者參數蒸餾,MLP 顯然不需要在性能和效率之間過多的取舍,會是非常有潛力的一種通用解決方案。經上所述,筆者認為 MLP 未來在網絡結構革新、除分類外的多類視覺任務探索,外加商業部署應用方向其實都有非常多的細緻工作值得學者們去探索和實作。
更多相關研究:
自谷歌MLP-Mixer論文公開後,各大高校與企業實驗室也在争相釋出相關研究,這段時間機器之心報道了多篇相關研究,具體内容可查閱:
- 2021年機器學習什麼風向?谷歌大神Quoc Le:把注意力放在MLP上
- 前饋網絡+線性互動層=殘差MLP,Facebook純MLP圖像分類架構入場
- MLP回歸,無需卷積、自注意力,純多層感覺機視覺架構媲美CNN、ViT
歡迎大家持續關注,也歡迎做相關研究的讀者們積極投稿。
引用文獻:
1. A Survey of the Recent Architectures of Deep Convolutional Neural Networks https://arxiv.org/ftp/arxiv/papers/1901/1901.06032.pdf
2. Deep Learning in Image Classification: A Survey Report https://conferences.computer.org/ictapub/pdfs/ITCA2020-6EIiKprXTS23UiQ2usLpR0/114100a174/114100a174.pdf
3. MLP-Mixer: An all-MLP Architecture for Vision https://arxiv.org/pdf/2105.01601.pdf
4. Do You Even Need Attention? A Stack of Feed-Forward Layers Does SurprisinglyWell on ImageNet https://arxiv.org/pdf/2105.02723.pdf
5. RepMLP: Re-parameterizing Convolutions into Fully-connected Layers forImage Recognition https://arxiv.org/pdf/2105.01883.pdf
6. 7 Papers & Radios | 純 MLP 圖像分類架構;基于強注意力的跟蹤器網絡 https://mp.weixin.qq.com/s/dYXfGskKHGjuSfI6gJZW9w
7. 震驚!無需卷積、注意力機制,僅需 MLP 即可實作與 CNN、ViT 相媲美的性能 https://mp.weixin.qq.com/s/rNp4wLT2NwAo22gaLbVEQA
8. MLP 回歸,無需卷積、自注意力,純多層感覺機視覺架構媲美 CNN、ViT https://mp.weixin.qq.com/s?__biz=MzA3MzI4MjgzMw==&mid=2650814947&idx=1&sn=7cce32919afc573f1ddc8090ca90a74d&chksm=84e5fd9db392748be72058d2b872a44469490bb0ebe9d74800c86f3f94e6a9da30837bb95b0d&scene=21#wechat_redirect
9. An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale https://arxiv.org/abs/2010.11929
10. Training data-efficient image transformers & distillation through attention https://arxiv.org/abs/2012.12877
11. DeepViT: Towards Deeper Vision Transformer https://arxiv.org/abs/2103.11886
12. Going deeper with image transformers https://arxiv.org/abs/2103.17239
13. Crossvit: Cross-attention multi-scale vision transformer for image classification https://arxiv.org/abs/2103.14899
14. Rethinking spatial dimensions of vision transformers https://arxiv.org/abs/2103.16302
15. Levit: a vision transformer in convnet’s clothing for faster inference https://arxiv.org/abs/2104.01136
16. Cvt: Introducing convolutions to vision transformers https://arxiv.org/abs/2103.15808
關于機器之心全球分析師網絡 Synced Global Analyst Network
機器之心全球分析師網絡是由機器之心發起的全球性人工智能專業知識共享網絡。在過去的四年裡,已有數百名來自全球各地的 AI 領域專業學生學者、工程專家、業務專家,利用自己的學業工作之餘的閑暇時間,通過線上分享、專欄解讀、知識庫建構、報告釋出、評測及項目咨詢等形式與全球 AI 社群共享自己的研究思路、工程經驗及行業洞察等專業知識,并從中獲得了自身的能力成長、經驗積累及職業發展。