【深度学习】预训练的卷积模型比Transformer更好?
引言
這篇文章就是當下很火的用預訓練CNN刷爆Transformer的文章,LeCun對這篇文章做出了很有深意的評論:"Hmmm"。本文在預訓練微調范式下對基于卷積的Seq2Seq模型進行了全面的實證評估。本文發現:
(1)預訓練過程對卷積模型的幫助與對Transformer的幫助一樣大;
(2)預訓練的卷積模型在模型質量和訓練速度方面在某些場景中是有競爭力的替代方案。
Pre-Trained Convolution Models
Lightweight Depthwise Convolution
1.Depthwise convolutions
假設輸入一個tensor??,其維度為??,depthwise卷積定義如下:
?是可學習的矩陣,?是位置??和channel??的輸出。最后整體的輸出維度和輸入維度是一樣的都是??。?
舉例:一個大小為64×64像素、三通道彩色圖片首先經過第一次卷積運算,depthwise卷積完全是在二維平面內進行,且Filter的數量與上一層的Depth相同。所以一個三通道的圖像經過運算后生成了3個Feature map,如下圖所示。
Depthwise Convolution完成后的Feature map數量與輸入層的depth相同,但是這種運算對輸入層的每個channel獨立進行卷積運算后就結束了,沒有有效的利用不同map在相同空間位置上的信息。
2. Lightweight Convolutions
Lightweight Convolutions在Depthwise Convolution的基礎上使用了?,??是一個具有softmax歸一化核以及共享輸出通道和權重的深度可分離卷積:
其中?,參數在每個?的輸出通道中共享。當的時候,相當于所有通道共享所有的參數。
3. Dynamic Convolutions
Dynamic Convolutions ?是Lightweight Convolutions的一種變種,該方法關鍵的思想是學習特定位置的核來執行輕量級卷積:
其中??是一個線性變化,參數為?,學習的是特定位置的kennel。
Span-based Seq2Seq pre-training
本文采用span-based的Seq2Seq預訓練(Raffel等人,2019)。具體來說,給定一個輸入序列,我們隨機mask掉個spans,并用特殊的[mask]標記替換。然后,預訓練任務是生成被mask掉的token。例如:
Inputs:??The?happy?cat?sat?[mask]. Outputs:?on?the?mat.Convolutional Seq2Seq Architecture 本文實現的Convolutional Seq2Seq模型與Transformer的區別在于將Transformer中的multi-headed self-attention替換為卷積blocks。對于Transformer中的query-key-value,本文使用門控線性單元代替。其中每個卷積block由以下部分組成:
??
其中??都是學習的參數。
作者實驗了lightweight convolutions、dynamic convolutions以及dilated convolutions。和(Wu等人,2019年;Gehring等人,2017年)的實驗相同,本文保持編碼器-解碼器的attention不變。并且遵循Transformer的主干模型,在該模型中,本文使用LayerNorm和殘差連接形成每個子模塊。因此,每個Conv block被寫為:
?
?就是上述的各個類型的卷積。??是一個兩層帶RELU的全連接。
Optimization
本文采用了token-wise的交叉熵loss:
第一個sum指的是將mask掉的??個span的loss求和,?π?表示的是類別??在??時刻的預測值,???表示的是類別??在??時刻的ground truth。
Research Questions and Discussion
作者總結了幾個希望本文能夠解決的幾個問題:
(1)pre-train給卷積模型帶來的收益和Transformer相比怎樣?卷機模型
(2)卷積模型如果通過預訓練或者其他方式是否能夠和Transformer模型對抗,什么情況下卷積模型表現好?
(3)使用預訓練的卷積模型比預訓練的Transformer有什么好 處(如果有的話)?卷積比基于自注意的Transformer更快嗎?
(4)不使用預訓練卷積效果不好,是否有無特定的故障模式、注意事項和原因分別是什么?
(5)某些卷積變體是否比其他變體更好?
Experiments and Analysis
數據集:?
Toxicity Detection(二分類):CIVIL COMMENTS、WIKI TOXIC SUBTYPES 、
Sentiment Classification:IMDb、SST-2、Twitter Sentiment140?
News?Classification(四分類):AGNews?
Question Classification(46類分類):TREC Semantic Parsing/Compositional?
Generalization: COGS 生成給定英語句子的語義表示的任務。例如,A cat smiled → cat(x1) AND smile.agent(x2, x1).
Experimental Setup
Pre-training 數據:the Colossal Cleaned Com- monCrawl Corpus (C4)
span size: 3
optimizer: Adafactor optimizer
GPU: 16 TPU-v3 12小時
Results
可以看出,除了IMDb之外,其他的任務中,卷積模型的效果都是要優于Transformer的。
但是感覺也可以理解,因為除了替換self-attention之外,大致結構也都和Transformer是一致的,記得之前也有文章說過Transformer最有效的部分并不是self-attention?
此外作者還對比了二者的速度和操作數量變化:
可以看出卷積不僅始終比Transformer更快(即使在較短的序列中)操作更少,而且比Transformer的規模更大。卷積處理文本的長度可以線性擴展,而Transformer不能擴展到更長的序列。
????
為啥沒在GLUE上測試?
那如果把Transformer整體都替換為卷積是否還會有這樣的效果呢?
而且作者說目前的模型還沒辦法處理cross-sentence的情況。
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯溫州大學《機器學習課程》視頻 本站qq群851320808,加入微信群請掃碼:總結
以上是生活随笔為你收集整理的【深度学习】预训练的卷积模型比Transformer更好?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win11锁屏快捷键是什么 Win11锁
- 下一篇: win7系统任务管理器如何强制关闭程序