日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

也来盘点一些最近的非Transformer工作

發布時間:2024/10/8 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 也来盘点一些最近的非Transformer工作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?PaperWeekly 原創 ·?作者|蘇劍林

單位|追一科技

研究方向|NLP、神經網絡

大家最近應該多多少少都被各種 MLP 相關的工作“席卷眼球”了。以 Google 為主的多個研究機構“奇招頻出”,試圖從多個維度“打擊”Transformer 模型,其中勢頭最猛的就是號稱是純 MLP 的一系列模型了,讓人似乎有種“MLP is all you need”時代到來的感覺。

這一頓頓讓人眼花繚亂的操作背后,究竟是大道至簡下的“返璞歸真”,還是江郎才盡后的“冷飯重炒”?讓我們也來跟著這股熱潮,一起來盤點一些最近的相關工作。

五月人倍忙

怪事天天有,五月特別多。這個月以來,各大機構似乎相約好了一樣,各種非 Transformer 的工作紛紛亮相,仿佛“忽如一夜春風來,千樹萬樹梨花開”。單就筆者在 Arxiv 上刷到的相關論文,就已經多達七篇(一個月還沒過完,七篇方向極其一致的論文),涵蓋了 NLP 和 CV 等多個任務,真的讓人應接不暇:

[1] MLP-Mixer: An all-MLP Architecture for Vision - Google Research

[2] Beyond Self-attention: External Attention using Two Linear Layers for Visual Tasks - 清華大學

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

[4] Are Pre-trained Convolutions Better than Pre-trained Transformers? - Google Research

[5] ResMLP: Feedforward networks for image classification with data-efficient training - Facebook AI

[6] FNet: Mixing Tokens with Fourier Transforms - Google Research

[7] Pay Attention to MLPs - Google Research

以上論文是按照出現在 arixv 上的時間排序的。可以看到主力軍依舊是 Google 大佬。想當年一手促成了“Attention is all you need”趨勢的也是 Google,現在“重拳出擊”Transformer 的還是 Google,Google 大佬真可謂一直挖坑不斷啊。

把酒話桑麻

那么這系列工作究竟能帶來什么啟發呢?我們要不要趕緊跟上這系列工作呢?在這部分內容中,我們就來簡要地梳理一下上述幾篇論文,看看它們是何方神圣,是否有可能造成新一股模型潮流?

2.1 Synthesizer

要解讀上述 MLP 相關的工作,就不得不提到去年五月 Google 發表在《Synthesizer: Rethinking Self-Attention in Transformer Models》[1] 的 Synthesizer。而事實上,如果你已經了解了 Synthesizer,那么上面列表中的好幾篇論文都可以一筆帶過了。

在之前的文章 Google 新作 Synthesizer:我們還不夠了解自注意力中,我們已經對 Synthesizer 做了簡單的解讀。撇開縮放因子不說,那么 Attention 的運算可以分解為:


其中 是輸入序列的變換,這個了解 Self Attention 的讀者應該都清楚,不再詳寫。Synthesizer 則是對幾種 的新算法做了實驗,其中最讓人深刻的一種名為 Random,就是將整個 當作一個參數矩陣(隨機初始化后更新或者不更新)。

▲ Synthesizer的“預訓練+微調”實驗結果。實驗的baseline是T5,其中“R”即為Random模式,相當于MLP。

在 Random 的情況下,Attention 矩陣不再是隨樣本變化的了,也就是所有樣本公用同一個 Attention 矩陣,但是它依然能取得不錯的效果,這在當時確實對大家對 Attention 的固有理解造成了強烈沖擊。Synthesizer 的實驗相當豐富,包括“機器翻譯”、“自動摘要”、“對話生成”、“預訓練+微調”等,可以說,上面列羅的多數論文,實驗都沒有 Synthesizer 豐富。

2.2 MLP-Mixer

論文標題:

MLP-Mixer: An all-MLP Architecture for Vision

論文鏈接:

https://arxiv.org/abs/2105.01601

Synthesizer 也許沒想到,一年之后,它換了個名字,然后火起來了。

論文《MLP-Mixer: An all-MLP Architecture for Vision》所提出來的 MLP-Mxier,其實就是 Synthesizer 的 Random 模式并去掉了 softmax 激活,也就是說,它將 設為可訓練的參數矩陣,然后直接讓 。模型就這樣已經介紹完了,除此之外的區別就是 MLP-Mxier 做 CV 任務而 Synthesizer 做 NLP 任務而已。

▲ MLP-Mixer的部分實驗結果

對了,為啥這模型叫 MLP-Mxier 呢,因為作者把這種直接可訓練的 Attention 模式起了個名字叫做“token-mixing MLP”,把原來的 FFN 改叫做“channel-mixing MLP”(以前叫做 Position-wise FC),不管叫啥,反正就是號稱只是 MLP,所以模型也叫做 MLP-Mxier。

而事實上,筆者認為這個更標準的叫法是窗口為 1 的一維卷積,但不管是這篇論文還是之前的《Attention Is All You Need》[2] ,都是寧愿把這些常規操作自己另起個名字,也要選擇性地減少甚至無視與卷積的聯系,可謂是為了“A Good Title Is All You Need”而煞費苦心了。

其實這一點也遭到了 LeCun 的批評,如果真的是標準的 MLP,那應該要將輸入展平為一個一維向量,然后再接變換矩陣。

2.3 External Attention

論文標題:

Beyond Self-attention: External Attention using Two Linear Layers for Visual Tasks

論文鏈接:

https://arxiv.org/abs/2105.02358

從類比的角度看,Synthesizer 的 Random 模式或者 MLP-Mxier,相當于將Attention中的 和 都設為參數矩陣了,而《Beyond Self-attention: External Attention using Two Linear Layers for Visual Tasks》所提出的 External Attention,則是把 和 設為(固定大小的)參數矩陣了,實驗任務同樣是 CV 的。

本來這也沒什么,畢竟深度學習就是效果為王,效果好了就能成文。但是個人認為 External Attention 很多說法就禁不住推敲的。

首先,它把自己稱為“兩個線性層”,刻意淡化它跟 Attention 的聯系(說出它是 Attention 的特例很丟人?);然后它又說“通過引入兩個外部記憶單元(也就是設為參數的 和 ),隱式地學習了整個數據集的特征”,這種說法也不能算錯,然而其實任意模型的任意參數都可以這樣解釋,這并不是 External Attention 的特性;

還有它說能實現線性的復雜度,那得固定 的長度,這種情況下其實應該跟也同樣是線性復雜的 LinFormer 比比才更有說服力(論文比了 Performer,但是 Performer 的降低復雜度思路是不一樣的,LinFormer 更有可比性)。

拋開這些文字上的不說,External Attention 的工作機制似乎有點迷。不難想到 External Attention 對每個特征的編碼是孤立的,如果換到 NLP 來說,那就是說每個詞都獨立編碼的,根本不與上下文產生聯系,所以肯定是不 work 的,那為什么在 CV 中會 work 呢?

2.4 Stack of FFN

論文標題:

Do You Even Need Attention? A Stack of Feed-Forward Layers Does Surprisingly Well on ImageNet

論文鏈接:

https://arxiv.org/abs/2105.02723

至于論文《Do You Even Need Attention? A Stack of Feed-Forward Layers Does Surprisingly Well on ImageNet》,其實跟 MLP-Mixer 是高度重合的,不過它寫起來就實在多了。它就是將輸入過一個常規的 FFN,然后將輸出轉置,再過一個 FFN,最后轉置回來,這樣如果本身就熟悉 Transformer 的話,我們很快就清楚它做了啥。

這篇論文本身就很短,一共只有 4 頁,還包括 1 頁代碼和半頁參考文獻,正文其實就只有 2.5 頁,更像是一個簡報。也許作者本身也想在這個方面深挖一下,結果 Google 的 MLP-Mixer 先出來了,那么做下去也沒意思了,遂草草完事發出。(這部分故事純粹是筆者自己的猜測。)

2.5 Pre-trained CNN

論文標題:

Are Pre-trained Convolutions Better than Pre-trained Transformers?

收錄會議:

ACL 2021

論文鏈接:

https://arxiv.org/abs/2105.03322

事實上,CNN 才是最早嘗試(在 Seq2Seq 任務中)取代 RNN 的模型,Facebook的《Convolutional Sequence to Sequence Learning》[3] 其實更早發表,只不過很快就被 Google 的《Attention Is All You Need》[2] 搶了風頭,后來 GPT、BERT 等模型發布之后,Transformer 類模型就成了當前主流,CNN 很少被深入研究了。

論文《Are Pre-trained Convolutions Better than Pre-trained Transformers?》則幫助我們驗證了“CNN+預訓練”的有效性。論文結果顯示,不管是直接用下游數據監督訓練,還是先預訓練然后微調,基于膨脹卷積或動態卷積的 CNN 模型都略優于 Transformer 模型,并且在速度上 CNN 模型還更加快。對了,這篇論文已經中了 ACL 2021,所以這篇論文的成文其實更早,只不過這個月才放出來而已。

▲ 不管有無預訓練,CNN都體現出了自己的優勢

這篇論文給我們的主要啟發是:預訓練改進與模型改進不應該混為一談,預訓練技術本身往往能給各種模型都帶來提升,不應該一提到預訓練就想到 Transformer,也不應該只把預訓練跟 Transformer 結合。事實上,筆者之前也比較喜歡 CNN,曾通過“膨脹門卷積(DGCNN)”的設計在多個任務上取得不錯的效果,而這篇論文則再次肯定了 CNN 的價值。不過盡管如此,筆者可能依然不會投入主要精力轉向 CNN 的研究。

首先,理論上來說,CNN 就無法捕捉足夠遠的長程依賴,這是根本缺陷,雖然通過膨脹卷積等方式,可以快速增大 CNN 的感受野,但也只是比較大,不是 Transformer 理論上的一步到位;其次,如果單純看提高效率角度,Transformer 本身也有很多優化空間,如果只是為了執行效率而轉向 CNN,那這個理由似乎不那么有說服力;還有,Transformer 的 的復雜度本身也帶來更多的折騰空間(比如像 UniLM),可以玩出更多的花樣(比如像 K-BERT)。

總的來說,我們不能否定 CNN 的價值,但如果當前已經比較專注 Transformer 了,那么就沒必要分出太多精力去轉向 CNN 了。

2.6 ResMLP

論文標題:

ResMLP: Feedforward networks for image classification with data-efficient training

論文鏈接:

https://arxiv.org/abs/2105.03404

至于 Facebook 在《ResMLP: Feedforward networks for image classification with data-efficient training》提出的 ResMLP,跟前述的 MLP-Mixer 和 Stack of FFN 也沒有本質區別,其文字描述也跟 Stack of FFN 很相似,忽略細微的細節差異,甚至可以認為它們三個就是同一個模型。最后,ResMLP 的實驗任務同樣是 CV 的。

2.7 FNet

論文標題:

FNet: Mixing Tokens with Fourier Transforms

論文鏈接:

https://arxiv.org/abs/2105.03824

就筆者看來,《FNet: Mixing Tokens with Fourier Transforms》所提出的 FNet,是列表的七篇論文中最有意思的一篇。某種意義上來說,FNet 也是 MLP-Mixer 的一個特例,但它是一個非常有意思的特例:MLP-Mixer 的注意力矩陣是直接參數優化而來的,FNet 的參數矩陣是直接通過傅立葉變換得到的!所以,FNet 的“注意力層”是沒有任何優化參數的!

其實我們也可以從注意力的角度來理解 FNet。拋開歸一化因子不看,那么注意力運算大致可以寫為:

這里的 本來是 的矩陣,FNet 說: 可以換成 矩陣:

是的,你沒看錯,它就是要將它粗暴地換成 組成的 矩陣。當然,這樣一來越到后面 就指數爆炸了。為了避免這種情況,FNet 就改為:

也就是搞成虛指數就不會爆炸了!就這么粗暴,這就得到了基于傅立葉變換的 FNet。原論文對序列長度和特征維度兩個方向都做了傅立葉變換,然后只保留實數部分,就用這個運算取代了自注意力。對于傅立葉變換的實現,我們有稱之為“快速傅立葉變換(FFT)”的算法,效率是 ,所以 FNet 也能有效處理長序列。

FNet 的部分效果如下表。其實從預訓練和下游任務的效果上來看,FNet 并沒有什么優勢,不過它在 Long-Range Arena [4](一個測試模型長程能力的評測榜單)上的效果倒是不錯。

▲?FNet的“預訓練+微調”實驗結果

▲ FNet的Long-Range Arena實驗結果

當然,FNet 這么粗暴的做法能行本來就已經是個奇跡了,它給我們帶來的最大沖擊無疑是:就這樣都行?傅立葉變換為什么能行?筆者也不知道答案。網上有些評論說,這說明了注意力機制其實就是一種坐標基的變換,而傅立葉變換也是一種基的變換,兩者的作用是類似的。

這個說法確實有點本質的感覺,在 ICLR 2021 中也有篇論文《Is Attention Better Than Matrix Decomposition?》[5] 用 SVD 代替 Attention 也能取得不錯的效果,這說明基變換的說法確實存在(SVD 也是一種基變換),但是基變換的同時如何保持時序性、哪種基變換更適合,這些問題完全沒有頭緒。

2.8 gMLP / aMLP

論文標題:

Pay Attention to MLPs

論文鏈接:

https://arxiv.org/abs/2105.08050

最后《Pay Attention to MLPs》所給我們帶來的 gMLP、aMLP 是比較常規的新結構探索工作,算是 MLP-Mixer 的增強版。gMLP 的 g 是 “gate” 的意思,簡單來說 gMLP 就是將 MLP-Mixer 跟門控機制結合起來,而 aMLP 的 a 是 “attention” 的意思,它將 attention 與 gMLP 結合起來。

具體來說,gMLP 大致是如下運算:

簡單來說,就是將收入沿著特征維度分為兩半,然后將其中一半傳入 MLP-Mixer,作為另一半的 gate。而 aMLP 則是將 MLP-Mixer 和一個簡單的單頭 Self Attention 結合來作為 gate:

論文做的實驗比較全面,包括 CV 和 NLP 的。從論文所報告的效果來看,gMLP 略差于標準的 Self Attention,而 aMLP 則是普遍優于 Self Attention,這進一步肯定了門控機制的價值。只不過不管是 gMLP 還是 aMLP,人工堆砌的味道太重了,要水一篇 paper 還可以,但個人認為沒有給模型的發展方向帶來什么新的啟發。

▲ gMLP,aMLP的NLP部分實驗結果

前路在何方

通過以上閱讀,我們可以知道,MLP-Mixer、Stack of FFN、ResMLP 這三個模型,事實上可以看成是去年的 Synthesizer 的一個特例,甚至從技術上來說,它們還不如 Synthesizer 的內容豐富,因此真算不上什么有意思的工作;至于它的改進版 gMLP / aMLP,則是非常常規的結構煉丹工作,只要算力足夠我們都可以去做,所以也確實沒什么意思;External Attention 號稱兩個線性層,事實上就是Attention的變式,其生效機制和實驗對比也不夠明朗;比較有意思的就是 CNN 預訓練和 FNet 這兩個工作了,一個讓我們解耦了“預訓練改進”和“模型改進”兩個概念,一個提出的傅立葉變換也有效給我們帶來了較大的思想沖擊。

整體而言,這些工作離成熟還遠得很,最多是初步驗證了有效性,連優雅也說不上。比如,除了 FNet,這些所謂的“all in MLP”的模型,都沒有辦法比較優雅處理變長輸入,像 MLP-Mixer、Stack of FFN、ResMLP 純粹在(固定大小的)圖像上實驗,所以不用考慮這個問題,像 Synthesizer / gMLP / aMLP 雖然做了 NLP 的實驗,但看上去都是強行截斷的,算不上漂亮。所以,這系列工作一定程度上是開拓了新的思路,但其實帶來了更多有待解答的問題。

那么我們要不要跟呢?個人認為沒必要投入多少精力進去,平時大致關注一下就行了。拋開前面說的優雅性問題不說,這些工作的實用性本身就值得商榷。像將 Attention 換成 MLP 的改進,最大的優點無非就是提速,沒錯,是會快一點,但理論復雜度還是 ,這說明其實沒有本質改進,況且提速的同時通常還會降低一點性能。

如果單從“提速并降低一點性能”的追求來看,Transformer 可做的工作也非常多(最直接的就是減少一兩層),沒必要換成 MLP,而換成 MLP 探索自由度降低了不少。當然,從“拓荒”的學術角度來看,多角度嘗試各種新模型是有意義的,但這也不宜摻入過多的人造因素在里邊,不然就變成了一個在結構上過擬合任務的過程了,難登大雅之堂。

此外,對于 NLP 來說,我們可能比較關心的是“預訓練+微調”這一塊的性能,而很遺憾,從 Synthesizer 開始的一系列 NLP 實驗表明,將 Attention 換成 MLP 后的模型也許在某個任務上能取得有競爭性的結果,但是其遷移性往往不好,也就是說可能單看預訓練效果還不錯,但是“預訓練+微調”多數就比不上 Transformer 了。這也不難理解,因為它們把 Attention 矩陣參數化,那么該矩陣更有可能跟具體任務強相關了,不像 Transformer 那樣自適應生成的 Attention 矩陣那樣具有更好的適應能力。

曲終人散時

本文盤點了最近的一些“非主流”工作,主要是通過以 MLP 為主的非 Transformer 結構來取代 Transformer 并獲得了有競爭力的結果。總的來說,這些工作看起來形形色色,但都有跡可循,有“新瓶裝舊酒”之感,能給人新啟示的并不多。

全文僅乃筆者的閉門造車之言,僅代表筆者的個人觀點,如有不當之處,還請讀者海涵斧正。

參考文獻

[1] https://arxiv.org/abs/2005.00743

[2] https://arxiv.org/abs/1706.03762

[3] https://arxiv.org/abs/1705.03122

[4] https://arxiv.org/abs/2011.04006

[5] https://openreview.net/forum?id=1FvkSpWosOl

更多閱讀

#投 稿?通 道#

?讓你的論文被更多人看到?

如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。

總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?

PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得技術干貨。我們的目的只有一個,讓知識真正流動起來。

?????來稿標準:

? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?

? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?

? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志

?????投稿郵箱:

? 投稿郵箱:hr@paperweekly.site?

? 所有文章配圖,請單獨在附件中發送?

? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通

????

現在,在「知乎」也能找到我們了

進入知乎首頁搜索「PaperWeekly」

點擊「關注」訂閱我們的專欄吧

關于PaperWeekly

PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。

總結

以上是生活随笔為你收集整理的也来盘点一些最近的非Transformer工作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。