Transformer MLP架構有幾分勝算?

2021-08-02 09:50:24

來源:雷鋒網

前段時間,一場關于MLP與Transformer的較量在學術圈鬧得沸沸揚揚。起因是,谷歌在《MLP-Mixer: An all-MLP Architecture for Vision》論文中提出,無需卷積模塊和注意力機制,純MLP架構也可以達到與Transformer與CNN相媲美的圖像分類性能。此文一出學術界一片嘩然,MLP is all you Need的時代要來了?Transformer在2017年谷歌發表的《Attention is All You Need》論文中首次被提出,基于自注意力機制,近幾年已經橫跨NLP和CV領域,不斷刷新各項任務的SOTA,而MLP是NLP領域最早且結構最簡單的神經網絡。為了處理更復雜的任務,神經網絡的主流架構經歷了MLP-CNN、RNN-Transformer的演變過程。此事在社交平臺引起了專家、網友的廣泛討論,有人認為,MLP-Mxier只是偷換概念,與Trasformer沒有本質區別;有人認為,工業界的研究頂多算是Technical Report,不足以支撐學術結論;還有人認為,Transformer不是萬能的,確實應該在架構設計方面挖掘一些新思路。一波未平一波又起,時隔幾天之后,清華大學、牛津大學、Facebook AI,還有Google又相繼發表了多篇論文,試圖證明Tranformer在多項任務中并不是必要條件。一時間,關于Trasformer和模型架構的討論再次被推向高潮,大家的觀點不一,質疑聲不斷。我們應該如何看待這一系列研究成果?MLP、CNN、Transformer等主流架構誰強誰弱?各自有哪些特點?當前AI學術研究面臨什么現狀?下一階段將如何發展?針對這些問題,AI科技評論聯系了來自業界和學術界的7位專家、學者以及資深從業者進行了深入交流,試圖找出一些答案。他們分別是:馬毅:加州大學伯克利分校計算機系教授何曉冬:京東副總裁,京東AI研究院常務副院長林宙辰:北京大學智能科學系教授朱軍:清華大學計算機科學系長聘教授尤洋:新加坡國立大學NUS計算機系青年教授吳琦:阿德萊德大學高級講師,ARC DECRA Fellow蘇劍林:90后機器學習從業者,「科學空間」博客知名博主,曾獲得第四屆“泰迪杯”全國大學生數據挖掘競賽特等獎和企業冠名獎。

1

MLP比肩Transformer,歸納偏置多余了?

多層感知機MLP(Multilayer Perceptron),也叫前饋神經網絡(feedforward neuarl network)是最早發明的人工神經網絡之一,其結構設計簡單,僅由輸入層、隱藏層(中間層)和輸出層組成。

它最大的特點是信息只進行單向傳輸,沒有循環或回路,即從輸入層開始前向移動,經過隱藏層,再到輸出層。如果信息從輸出層反饋到輸入層,則被稱為循環神經網絡(recurrent neural network,RNN)。隨著圖像復雜程度和數據集類別數目的增漲,MLP越來越難以高效地提取特征。為了避免特征提取的參數過于冗余,卷積/Attention等高效操作相繼被提出。1998年,圖靈獎得主Yann LeCun在手寫數字識別任務中提出首個卷積神經網絡LeNet,基本確定了CNN的整體結構——由卷積層、池化層、全連接層組成;Transformer架構最早采用Attention機制,并在機器翻譯任務中達到SOTA。后來隨著BERT的問世,Transformer開始席卷整個NLP領域,甚至跨界到CV領域。然而,谷歌最近推出的MLP-Mixer模型表明,在不使用卷積和自注意力的情況下,僅基于多層感知機,也能在圖像分類任務中達到了與Transformer和CNN相當的性能。難道inductive bias反而成了束縛?清華大學教授朱軍告訴AI科技評論,相比于有inductive bias的架構,全連接架構的學習效率很低,這一點在機器學習實驗中早已被證實。效率低,意味著需要更多的訓練數據,才能使性能達到一定的階段。從工程角度來講,很多應用場景無法提供足夠的數據支撐,這時要解決問題還需要引入假設來提高有限數據的利用效率。所以說,全連接架構或者MLP-Mixer應用場景有限,而且還可能存在可解釋性差和魯棒性差的問題。尤洋也表示,MLP-Mixer接近Transformers性能的前提條件是數據量要足夠大。谷歌提供的數據顯示,MLP-Mixer的性能隨著數據量的增加而增長。在超大數據集JFT-300M上,它在更小的計算量上取得了接近ViT的精度。數據量和算力在一定程度上限制了MLP-Mixer的應用范圍。JFT-300M等大數據集的訓練是大部分高校或中等規模的公司無法輕易完成的。但MLP-Mixer的計算模式和方法很簡單。只要有足夠多的機器,大多數研究人員應該容易復現和使用。同時他也表示,目前人們在超大數據集上對inductive bias的模型探索還很有限,谷歌也只是展示了基于幾個特定人造數據集的實驗結果,inductive bias在其中發揮的價值還有待觀察。關于MLP-Mixer,目前學術界普遍認為,它與Transformer架構并沒有本質的區別。MLP-Mixer模型的核心思路是把圖片分成很多的patch,每個patch就相當于Transformers的一個token,然后用MLP結合矩陣轉置去處理數據。它的每層都包含token-mixing MLP block 和channel-mixing MLP block兩個部分。前者是把不同的channel當成不同的計算單元,后者是把不同的token當成不同的計算單元。馬毅教授認為,從理論角度看,MLP與Transformer、卷積在數學概念上幾乎完全等價,二者架構類似,只是在優化和實現細節上有差而已。何曉冬也表達了相似的看法。同時他表示,MLP-Mixer的出現也讓我們不得不思考,在算力主導AI的當下,哪些模型的訓練方法和架構設計才真正有助于性能提升?此外,尤洋表示,逐個patch的MLP類似于一個具有16x16 kernels和16x16 stride的卷積層,換言之,MLP-Mixer本身并不是純粹的MLP,它同樣具有歸納偏置。此前,Yann LeCun也發文批評過這一點。“如果真的是標準MLP,應該將輸入展平為一個一維向量,然后再接變換矩陣。”蘇劍林認為,MLP-Mxier,其實就是Synthesizer的Random模式并去掉了softmax激活。Synthesizer是去年5月Google在《Synthesizer: Rethinking Self-Attention in Transformer Models》論文中提出的模型。他認為,二者最大的區別僅在于MLP-Mxier做CV任務,而Synthesizer是做NLP任務的。“在Random模式下,‘token-mixing MLP’相當于可訓練的Attention矩陣,只是名字不同而已,將Attention換成MLP的改進,速度雖然有所提升,但理論復雜度不變,MLP-Mxier仍沒有本質上的進步。”事實上,將Transformer直接減少一兩層同樣可以達到提速的效果,而沒必要換成MLP。另外,Transformer自適應生成的Attention具有更好的適應能力,而MLP-Mxier將Attention矩陣參數化的做法,使其在“預訓練+微調”方面的性能有所下降。相比于Transformer和CNN,尤洋認為,MLP-Mixer的概念更簡單,或許可以在降低工程團隊實現復雜度,以及降低神經網絡搜索開銷方面發揮更多價值。

2

7篇論文重拳出擊,Transformer扛不住了?

谷歌之后,多家科研機構相繼發表7篇相關論文,試圖從多個維度打擊Transformer。

《Beyond Self-attention: External Attention using Two Linear Layers for Visual Tasks》- 清華大學

《RepMLP: Re-parameterizing Convolutions into Fully-connected Layers for Image Recognition》清華大學軟件學院

《Do You Even Need Attention? A Stack of Feed-Forward Layers Does Surprisingly Well on ImageNet》- 牛津大學

《ResMLP: Feedforward networks for image classification with data-efficient training》- Facebook AI

《Are Pre-trained Convolutions Better than Pre-trained Transformers?》- Google Research

《FNet: Mixing Tokens with Fourier Transforms》- Google Research

《Pay Attention to MLPs》- Google Research

MLP篇其中,第一篇論文提出的External Attention表明,只用兩個級聯的線性層和歸一化層就可以取代“Self-attention”。蘇劍林認為:從實驗描述來看,External Attention有很多說法禁不住推敲:(1)兩個線性層其實是Attention的變式;(2)沒有與LinFormer進行比較,以證明其實現了線性的復雜度。(3)獨立編碼的External Attention在NLP任務中不work,卻在CV中work。牛津大學提出用Feed forward取代ViT模型中的注意力層,同樣可以在ImageNet上達到接近ViT的top-1準確率——基于ViT / DeiT的模型,可達到74.9%的top-1精度,而ViT和DeiT分別為77.9%和79.9%。關于這項研究,不少學者認為它是MLP-Mixer架構的簡易版。由于這篇論文全文只有4頁(正文2.5頁),不少學者猜測,可能作者原本也想在這個方向深挖一下,但沒想被Googel搶先了一步。受 ViT 的啟發,Facebook AI提出了結構更簡單、更穩定的ResMLP架構——它不采用任何形式的注意力機制,僅僅包含線性層與 GELU 非線性激活函數。蘇劍林認為,雖然ResMLP在ImageNet上達到了不錯的準確率,但它與MLP-Mixer和Stack of FFN沒有本質的區別,尤其是Stack of FFN。如果忽略細微的細節差異,甚至可以認為它們三個是同一個模型。谷歌則接連發表了三篇相關論文,對 ViT 模型中自注意力層的必要性提出了質疑,而學者們普遍認為,FNet模型在某種意義上同樣是MLP-Mixer的一個特例;gMLP也屬于常規的結構煉丹工作,只要算力足夠都可以實現,二者都沒有足夠的創新性或者為模型發展帶來任何新的啟示。不過,其發表的《Are Pre-trained Convolutions Better than Pre-trained Transformers?》論文,則為學術圈普遍存在的“Transformer能否取代CNN”的討論擴展了新思路。目前,這篇論文已被ACL2021接收。CNN篇近幾年,Transformer從Vision Transformer到層出不窮的變種,不斷地刷新著各項任務榜單,大有取代CNN之勢。而谷歌在這篇論文驗證了“CNN+預訓練”的有效性。論文中表明,不管是直接用下游數據監督訓練,還是先預訓練然后微調,基于膨脹卷積或動態卷積的CNN模型都略優于Transformer模型,并且在速度上CNN模型還更加快。蘇劍林認為,這篇工作帶給我們的啟發是:預訓練改進與模型改進不應該混為一談,預訓練技術本身往往能給各種模型都帶來提升,不應該一提到預訓練就想到Transformer,也不應該只把預訓練跟Transformer結合。那么,我們該如何看待Transformer與CNN模型?研究者有必要轉向CNN嗎?蘇劍林表示,我們不能否定CNN的價值,但如果當前已經比較專注Transformer了,就沒必要分出太多精力去轉向CNN了。對此,他提供了三點看法:1、理論上來說,CNN無法捕捉足夠遠的長程依賴,這是根本缺陷,雖然通過膨脹卷積等方式,可以快速增大CNN的感受野,但也只是比較大,不是Transformer理論上的一步到位;2、如果單純看提高效率角度,Transformer本身也有很多優化空間,如果只是為了執行效率而轉向CNN,那這個理由似乎不那么有說服力;3、Transformer的O(n^2)的復雜度本身也帶來更多的折騰空間(比如像UniLM),可以玩出更多的花樣(比如像K-BERT)。

3

反映了哪些研究問題?

綜上所述,MLP-Mixer主要依靠大數據來維持其性能,其在結構設計上沒有帶來理論上的創新,甚至會犧牲模型可解釋性和魯棒性。這種簡單粗暴的研究模式,是否存在灌水的嫌疑?全連接架構為什么被重新提起,它適合哪些研究領域和應用場景?

另外,透過MLP、CNN、Trasformer等主流架構的發展歷程,我們可以看到,模型跨界的已經逐漸成為科研領域的必然趨勢,這背后除了谷歌等科技巨頭的主導外,大數據、大算力的時代背景產生了哪些推動作用?而基于此,在限定領域研究特定算法的增量改進是否還有意義?從當前來看,哪些問題才應該成為學術研究的重點?圍繞這些問題,林宙辰、朱軍、吳琦、尤洋等人給出了如下解答:問題1:近年不斷出現模型跨界現象,從Transformer進入CV,到MLP開始用于大規模圖像識別,再到CNN用于NLP預訓練。這是反映了算力提升、數據量增加的行業整體發展,還是一種科技巨頭主導媒體傳播帶來的錯覺?林宙辰:當前的MLP復興只是為了理解注意力機制的作用,發現用MLP可以替代注意力機制。實際上用MLP的性能也只能接近,而不是超越用注意力機制時的性能,但它的計算成本要低很多,所以性價比很高,這在實際應用中還是有一定意義的。當然,MLP重新獲得關注,跟谷歌的宣傳關系是很大的。吳琦:媒體傳播有一定的助推作用,但并不能說是錯覺,這其實正是科研領域的一個必然趨勢— 模型的統一性。我認為,所謂的模型跨界并沒有什么驚奇的。無論CV還是NLP,本質都是機器學習。機器學習是對數據分布規律的分析,它不在乎數據本身是來源于圖像還是語言。因此,二者本質上是相通的,只是不同應用的表現形式。當一個模型(比如Transformer)在某一個領域里被證明有效之后,必然會被遷移到另一個領域,而這個過程中,那些擁有大量計算資源,足夠數據支撐,且工程能力過硬的科技巨頭往往會占據先機。我不認為這類研究有什么問題,恰恰相反,它對整個community是有益的。從學術界角度來看,高校科研人員發paper會變得更難——難以超過產業界大模型的performance。但換一個角度,如何合理、高效的使用并解釋預訓練模型,也是學術界沒有大GPU,大數據的研究者值得思考和探索的問題。朱軍:媒體傳播確實在“模型跨界”方面起到了一定的助推作用。過去一個機器學習模型需要三到五年,才逐漸被應用端使用,或者擴展到自然語言領域。現在大家獲取信息的渠道更快更豐富,加上很多技術是開源的,這些都在一定程度上增加了模型跨界應用的可能。但這一過程中,大數據也起到了關鍵性作用。因為很多模型本身所用的數據來自不同的領域,自然語言里有,計算機視覺里也有,大家在范式上逐漸趨于同質化,這為加快模型遷移速度創造了條件。問題2:之后是否會有更多MLP、CNN跨界的新研究?MLP會像預訓練Transformer和視覺 Transformer成為AI社區的主流嗎?存在哪些應用局限?林宙辰:MLP應當只是曇花一現,它的性能并沒有超越現有的最新方法,只是在“性價比”上超越了Transformer,而工業界并不在乎通過堆砌算力達到更高的性能。那些需要低計算復雜度的應用,如手機、邊緣計算,它們對性價比更敏感,可能是MLP研究能獲得較多應用的唯一場景。”朱軍:MLP本身有一定的價值,大家肯定會沿著這條路不斷深挖,類似工作還會有很多。但是不能期待MLP可以解決所有問題,它可能在benckmark數據集或者其他性能指標上有所提高,但同時損失東西也可能更嚴重,比如可解釋性、魯棒性。它的價值應該是分場景的,如果更關心可解釋性,比如醫療診斷,那么它可能不適合。問題3:在跨界漸成趨勢的背景下,研究人員在限定領域開展特定算法優化,模型改進的意義是什么?為什么要做跨界研究?吳琦:類似的跨界研究會越來越多,效果也不會差,但不能因此否定在限定領域中研究特定算法架構的意義,一方面,很多實際應用是集中于某一個特定領域的——實際應用更注重結果和效率,模型是否統一并不重要。另一方面是有效性,特定的算法架構也具有一定的可遷移性。尤洋:模型跨界在機器學習領域一直在發生,這是一個自發的過程。很多年前,人們就用LSTM在視覺數據集MNIST上取得不錯的效果。我們設計任何一種方法,都是希望它具有通用性,而不是局限于NLP或者CV。雖然最開始有些研究是關于特定算法架構的增量、改進的,但是日后有可能在其它應用上也會產生好的效果。問題4:有人指出,MLP-Mixer、預訓練CNN的出現,是因為沒有意識到任務本身(圖像分類)設置的局限性,才導致學術社區在狹窄的領域上做一些無意義的灌水,真正應該做的是不斷去擴展對智能本身的理解,探索全新的任務。您怎么看?吳琦:我相信圖像理解(分類,檢測)的提高,對‘智能’的提高是很有作用的,因為‘智能’的輸入是由‘感知’來獲取的,而感知的一部分就是對視覺信息的理解,這個理解無論是向量化的,還是結構化的,對后續的‘認知’和‘推理’都至關重要。無論任務怎么‘新’,感知一定是一個非常重要前提條件。以VQA為例,當我們去使用ground-truth的圖像信息(比如物體類別,屬性,關系等)來作為后面回答問題推理模型的輸入時,會發現結果很好。但是換成由模型識別出的圖像信息之后,問答的準確率會大幅下降。所以某種意義上,‘視覺’能力是這個任務的瓶頸。而所謂‘智能’、‘推理’,在獲取完美的視覺感知信息之后,就沒有那么困難了。所以我認為,不管是MLP,CNN還是transformer,只要能夠提高視覺感知的能力,就一定是在推進對‘智能’的理解。尤洋:我認為,每個成熟的研究人員都有自己的判斷。對智能本身的理解非常重要,但并不能說其它研究工作是是“無意義的灌水”。一般重大科研成果的發布往往會超出所有人的預料,這意味著科研本身需要一定的自由度,所以我認為,學術社區只要能做到數據真實,有足夠高的自由度就好。問題5:有人指出,借助于算力和數據的發展確實可以在一定程度上忽視算法的改進。但機器學習理論的研究也不能荒廢。理論和實驗是科學的兩條腿,我們也需要不斷從理論角度去探索能直接發揮作用的算法歸納偏置。在CNN和 Transformer的關系探討中,有人指出,CNN偏重等變性,Transformer偏重關聯性, 而一個好的架構應該兩者兼顧。對于以上觀點,您怎么看?尤洋:我認為,理論研究是非常重要的,如果我們希望能將AI用到一些未來的高危或重要的任務中,就需要堅實的理論依據。同時,我也認為,理論研究到一定程度是能指導我們獲得更好的使用方法的。關于等變性和關聯性的結合,這可能取決于具體的應用。如果未來能有模型能自動根據具體的應用去動態調整兩者的比重,應該會很有意思。問題6:您認為目前AI社區應該更加關注哪些研究方向,不應該過多關注哪些研究方向?尤洋:我認為兩個研究方向非常重要:(1) 自監督學習; (2) AI模型的能耗;過去10年,大規模數據集的創建和以GPU算力的大幅提升,使得監督學習 (supervised learning)方法在大規模應用中取得了非常好的效果。按照當前的技術趨勢,未來人工智能技術的優化與應用需要更大的數據。然而,創建一個具有干凈、準確標簽的數據集非常昂貴和緩慢。與此同時,無標簽數據正在以前所未有的速度生成,為了充分利用這些數據,設置一個合適的學習目標并從數據本身獲得監督信息是一種潛在的有效解決方案。不同于依賴人工標注的方法,自監督學習 (self-supervised learning)通過探索數據點之間的關系而生成標簽,使得研究人員能夠無限地去探索數據中免費的標簽信息。此外,由于標注人員的認知能力有限,人造標簽可能會限制AI模型學習能力的上限。另外,由于能耗的原因,芯片產業在多年前已經從主頻時代轉向了多核時代。同樣 ,AI模型訓練的能耗可能會是未來人工智能發展的重要瓶頸。根據Emma Strubell等人 的研究,從紐約到舊金山每位旅客乘坐飛機產生二氧化碳排放量是1,984 lbs。然而,兩年前訓練一個Transformer模型卻需要626,155 lbs (現在應該更高)。所以,要想讓人工 智能未來廣泛應用,研究人員應該嘗試設計一些低能耗的方法。

關鍵詞: MLP架構 勝算 Transformer 數據堆砌