谷歌:CNN击败Transformer,有望成为预训练界新霸主!LeCun却沉默了...
文 | ????????????????
這幾年,大家都說深度學習進入了預訓練時代。作為一個入行不久的小白,我一直以為各類基于 Transformers 結構的預訓練模型是 NLP 的巨大里程碑,CNN、RNN 老矣,只配作為手下敗將。大家的文章似乎也是這樣:把 BERT 作為 encoder 的歸為一組來對比性能,把 CNN、RNN encoder 歸為另一組,且總是要比基于 BERT 的差一些。
但是,我們有沒有想過一個問題?當今所有預訓練模型都是基于 transformers 結構的模型,我們使用預訓練模型提升下游任務性能,是因為使用海量數據預訓練,還是因為 transformers 的結構呢?
今天這篇文章就使用卷積模型進行預訓練,并且在幾個下游任務 fine-tune,性能和基于 transformers 的預訓練模型相當(甚至更高)。作者認為,這樣的好結果加上卷積操作本身更小的復雜度,pre-trained convolutions 簡直是在性能和效率上將 transformers 完爆!
然而,Yann LeCun 對這篇文章卻做出了很曖昧的評價:
相信這兩天,大家也都被這篇 Google 的 ACL 和 LeCun 的評價刷屏,但 LeCun 為什么會這樣評價?這是正面評價還是負面評價?
筆者看完這篇文章之后,也有一種意猶未盡的感覺:這個問題確實有待進一步研究。下面就容我細細道來。
論文題目:
Are Pre-trained Convolutions Better than Pre-trained Transformers?
論文鏈接:
https://arxiv.org/pdf/2105.03322.pdf
模型
這部分將詳細介紹整體的卷積預訓練模型。這篇文章并沒有直接采用最原始的卷積操作,而是采用了 [1] 中改進的卷積。因此,讓我們先了解一下這里的卷積操作。為嚴謹起見,下文中的 CNN 均特指在文本序列上的一維卷積。
卷積模塊
CNN 與 self-attention 都可以理解為對 token 的聚合。self-attention 在以下方面比 CNN 更好:
CNN 與 self-attention 相比,CNN 在單層的感受野大小是有限且固定的,只能通過堆疊層數來增大感受野;self-attention 在一層就可以捕捉所有 token 之間的關系,這對于捕捉長距離依賴非常關鍵。
self-attention 聚合的權重是與輸入 token 相關的,而 CNN 的聚合權重是與輸入 token 無關的。
反過來,CNN 也有自己的優勢:
CNN 比 self-attention 快得多:CNN 是線性復雜度,self-attention 是平方復雜度(甚至因此誕生了《輕量 transformers》這個分支領域)。
attention 中的位置編碼不斷在被改進和完善 [3];甚至最近有人發現,輸入順序對 transformers 影響很小 [4],因此位置編碼還有待研究。而 CNN 是按順序進行的,不需要額外的位置編碼。
怎樣融合二者的優點呢?請看我下面一步步推出 Dynamic Convolution。
Convolutions
我們先來回憶一下傳統的 CNN 結構:
▲傳統CNN,圖源[2]傳統 CNN 結構如上圖所示,不同的卷積核有不同的尺寸,一個卷積核對輸入序列的所有通道進行卷積計算。
Depthwise Convolutions
深度可分離卷積中,每個通道只被一個卷積核所卷積:
▲Depthwise,圖源[2]例如在上圖中,原始序列的第一個通道只與藍色的卷積核交互,得到輸出序列中的第一個維度,其它通道也是同理。這樣一來,卷積的計算量將大大減少。
Lightweight Convolutions
輕量化卷積對深度可分離卷積做了進一步地簡化:
▲Lightweight,圖源[2]首先,相鄰通道的卷積核可進行參數共享:例如圖中相同顏色的通道,其卷積核參數是共享的。
另外,卷積核參數在其長度的維度上被 softmax 歸一化:
其中,卷積核參數 。里面的 分別是卷積核的數量,以及卷積核的長度。
看到這里,是不是突然發現,這里的歸一化和 attention map 的歸一化簡直一模一樣?都是對加權聚合的權重進行歸一化!另外,attention 的 multi-head 也可以理解為多個通道的卷積核。這樣一來,self-attention 中的 attention map 歸一化和 multi-head 都在卷積中有所體現。
Dynamic Convolutions
動態卷積是對輕量化卷積的進一步改進:
動態卷積通過一個線性映射 使得卷積核 的生成與其順序輸入的不同 token 有關,而不是對整個文本序列固定的卷積核。而且,這里的卷積核參數只與當前被卷積核覆蓋的幾個 token 相關,而不像 self-attention 那樣,需要與全部 token 交互計算。因此整體上,動態卷積還是線性復雜度。
綜上所述,動態卷積于是很好地模擬了 self-attention 中 attention map 歸一化、multi-head,以及權重與輸入相關。本文就分別基于上述的三種卷積操作,搭建卷積預訓練模型結構。
卷積預訓練模型結構
寫到這里實在忍不住吐槽:本文的卷積預訓練模型結構依然在模仿基于 transformers 的預訓練模型結構,只不過是將其中的 multi-head self-attention 換成了上面說的卷積操作,query-key-value 的結構換成了類似的線性門控(Gated Linear Units[5])結構。
首先,每個 convolution block 的結構如下圖所示:
這里沒有使用類似 self-attention 的 query-key-value 的結構(上圖的 a),而是使用了一種“線性門控 + 卷積 + 線性映射”的結構(上圖的 bc):
這里 都是可以學習的參數。實驗中的卷積使用了上文說的輕量化卷積、動態卷積,以及空洞卷積 [6]。
對于整體的卷積預訓練模型,本文也是使用類似 transformers 的方式將 convolution blocks 進行堆疊:
其中 是上文提到的 convolution block, 是兩層全連接網絡,后面接一個 ReLU。
實驗
模型在 Colossal Cleaned CommonCrawl Corpus (C4) 數據集上進行了預訓練。預訓練時,模型的 seq2seq 的結構、MLM 任務依然是模擬 transformers;層數、序列長度等參數也與 BART-base 保持了一致。
在實驗部分,這篇文章希望探究如下五個問題:
卷積也能在預訓練中獲益,學到豐富的先驗知識嗎?
卷積預訓練和 transformers 相比,性能怎么樣?
卷積預訓練和 transformers 相比,有什么優點?會更快嗎?
什么情景下,卷積預訓練會失敗?
不同的卷積模塊之間,有很大的差別嗎?
下游任務
這篇文章在非常多下游任務上進行了實驗,在一些任務上性能追平了基于 transformers 的 BART 或 T5:
在攻擊性言論檢測任務中(CivilComment 和 WikiToxic 數據集),卷積預訓練網絡均優于 transformers,但是 Lightweight 從預訓練得到的提升更高。
在情感分類任務中(IMDb,SST-2 和 S140 數據集),卷積預訓練不敵 transformers,但是非常接近。
在問題分類任務中(TREC 數據集),卷積預訓練網絡大體上優于 transformers,transformers 從預訓練得到的提升更高一點。
在新聞分類任務中(News 數據集),卷積預訓練網絡均優于 transformers,空洞卷積受預訓練增益最大。
上面的實驗可以回答提出的幾個問題:
問題1:卷積網絡也能在預訓練中獲益,只是不如 transformers 大。
問題2:無論是否與訓練,卷積的性能優于或與 transformers 一致。
問題5:空洞卷積和動態卷積似乎好于輕量化卷積。
其它對比
作者在實驗中發現,與訓練卷積結構缺少相互的 attention 結構,因此在需要構建多個事物之間關系的任務上,卷積預訓練結構似乎并不適合。
另外,卷積預訓練模型更快,因此能被運用到更長的序列。隨著序列長度的增加,卷積預訓練模型的速度優勢將更加顯著:
總結
現在的預訓練是和 transformers 綁定的。因此,BERT、transformers、大規模預訓練模型,這些概念似乎被混為了一談。這篇文章就將 transformers 結構和預訓練解耦,希望喚起學術界的注意:是不是其它結構也能在預訓練時代大放光彩呢?
個人認為,在某種意義上來講,這篇文章的卷積操作相當于在模擬 multi-head self-attention;整體的卷積預訓練模型也可以說是在模擬 transformers。用這樣的預訓練模型與基于 transformers 的預訓練模型相比,就能得出“transformers 結構不重要,預訓練才重要”的結論嗎?這是不是還需要進一步研究?
尋求報道、約稿、文案投放:
添加微信xixiaoyao-1,備注“商務合作”
后臺回復關鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺回復關鍵詞【頂會】
獲取ACL、CIKM等各大頂會論文集!
?
[1] Felix Wu, et al., "Pay Less Attention with Lightweight and Dynamic Convolutions", ICLR 2019, https://arxiv-download.xixiaoyao.cn/pdf/1901.10430.pdf
[2] 論文紹介: Pay Less Attention with Lightweight and Dynamic Convolutions, https://qiita.com/koreyou/items/328fa92a1d3a7e680376
[3] Jianlin Su, et al., "RoFormer: Enhanced Transformer with Rotary Position Embedding", arXiv:2104.09864, https://arxiv-download.xixiaoyao.cn/pdf/2104.09864.pdf
[4] Koustuv Sinha, et al., "Masked Language Modeling and the Distributional Hypothesis: Order Word Matters Pre-training for Little", ACL 2021, https://arxiv-download.xixiaoyao.cn/pdf/2104.06644.pdf
[5] Yann N. Dauphin, et al., "Language Modeling with Gated Convolutional Networks", ICML 2017, https://arxiv-download.xixiaoyao.cn/pdf/1612.08083.pdf
[6] Fisher Yu and Vladlen Koltun, "Multi-Scale Context Aggregation by Dilated Convolutions", ICLR 2016, https://arxiv-download.xixiaoyao.cn/pdf/1511.07122.pdf
總結
以上是生活随笔為你收集整理的谷歌:CNN击败Transformer,有望成为预训练界新霸主!LeCun却沉默了...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 凭“难听”上热搜的 idol 们,不如考
- 下一篇: 推荐中的attention有什么作用?