01研究背景及動機
近些年,Transformer[1]逐漸成為了自然語言處理中的主流結構。為了進一步提升Transformer的性能,一些工作通過引入額外的結構或知識來提升Transformer在特定任務上的表現。盡管如此,過參數化(over-parameterization)和過擬合(overfitting)一直是Transformer中的一個顯著問題。作為一種正則化技術,Dropout常被用來緩解模型的過擬合問題[2]。和引入額外結構或知識的工作相比,dropout的一個優勢是不需要額外的計算開銷和外部資源。因此,本文的出發點在于,能否通過融合不同的dropout技術來進一步提升Transformer的性能甚至達到state-of-the-art效果?
為此,我們提出UniDrop技術,從細粒度到粗粒度將三種不同層次的dropout整合到Transformer結構中,它們分別為feature dropout、structure dropout和data dropout 。Feature dropout (FD),即傳統的dropout技術[2],通常應用在網絡的隱層神經元上。Structure dropout (SD)是一種較粗粒度的dropout,旨在隨機drop模型中的某些子結構或組件。Data dropout (DD)作為一種數據增強方法,通常用來隨機刪除輸入sequence的某些tokens。在UniDrop中,我們從理論上分析了這三層dropout技術在Transformer正則化過程中起到了不同的作用,并在8個機器翻譯任務上和8個文本分類任務上驗證了UniDrop的有效性。
02UniDrop
2.1Transformer結構
UniDrop旨在提升Transformer的性能。在UniDrop中,feature dropout和structure dropout的使用與網絡結構密切相關。因此,我們簡單回顧Transformer的網絡結構。
圖1:標準Transformer結構和Feature Dropout
如圖1(a)所示,Transformer由多個相同的block堆疊而成,每個block包含兩個sub-layer,分別為multi-head self-attention layer和position-wise fully connected feed-forward layer,每個sub-layer后都使用了殘差連接和層正則(Add&Norm)。
Multi-head Attention:Multi-head attention sub-layer包含多個并行的attention head,每個head通過帶縮放的點乘attention將query Q和鍵值對K、V映射乘輸出,如下式所示:
多個head的輸出最終被拼接在一起并做線性映射作為最終的multi-head attention輸出。
Position-wise Feed-Forward:這一層主要包含兩個線性映射和一個ReLU激活函數:
2.2Feature Dropout
如前所述,Feature Dropout (FD)即傳統的dropout技術[2],可以以一定的概率隨機抑制網絡中的某些神經元。實際上,在標準的Transformer實現中,每個sub-layer后都默認配置了dropout。除此之外,Transformer也在multi-head attention和feed-forward network的激活函數層添加了dropout,本文將探索它們對Transformer性能的影響:
FD-1 (attention dropout):根據公式(1),在multi-head attention中,我們可以獲得attention權重A=QKT,feature dropout FD-1被應用在attention權重A上。
FD-2 (activation dropout):FD-2被應用在feed-forward network sub-layer兩層線性變換間的激活函數上。
除了上面已有的feature dropout,我們在預實驗中發現Transformer仍有過擬合的風險。因此,我們額外提出兩種feature dropout添加到Transformer結構中:
FD-3 (query, key, value dropout):FD-1直接應用在attention權重A上,表示token i和token j之間的connection有可能被drop,一個更大的FD-1值意味著更大的概率失去sequence中一些關鍵的connection。為了緩解這種風險,我們在attention之前的query Q、key K和value V上分別添加了dropout。
FD-4 (output dropout):我們在softmax分類的線性映射前也添加了dropout。具體而言,對sequence2sequence任務,我們將FD-4添加到Transformer decoder中,對于文本分類任務我們將FD-4添加到Transformer encoder中。
2.3Structure Dropout
為了提升Transformer的泛化性,之前的工作已經提出了兩種Structure Dropout (SD),分別是LayerDrop[3]和DropHead[4]。DropHead通過隨機舍棄一些attention head,從而防止multi-head attention機制被某些head主導,最終提升multi-head attention的泛化性。相比之下,LayerDrop是一種更高級別的結構dropout,它能隨機舍棄Transformer的某些層,從而直接降低Transformer中的模型大小。通過預實驗分析,我們將LayerDrop添加到我們的UniDrop中。
2.4Data Dropout
Data Dropout (DD)以一定的概率p隨機刪除輸入序列中tokens。然而,直接應用data dropout很難保留原始高質量的樣本,對于一個長度為n的sequence,我們保留住原始sequence的概率為(1-p)n,當n較大時,這個概率將會非常低。失去原始高質量樣本對很多任務都是不利的。為了保留原始高質量的樣本,同時又能利用data dropout進行數據增強,我們在UniDrop中提出了一個2-stage data dropout方案。對于給定的sequence,我們以一定的概率 pk保留原始的樣本,當data dropout被應用時(概率為1- pk),我們以預定的概率p來隨機刪除序列中的tokens。
2.5UniDrop整合
最終,我們將上面三種不同粒度的dropout技術集成到我們的UniDrop中,并從理論上分析了feature dropout、structure dropout、data dropout能夠正則Transformer的不同項并且不能相互取代,具體分析可參考論文。Figure 2是UniDrop的簡單示例。
圖2:UniDrop示例
03實驗與分析
我們在序列生成(機器翻譯)和文本分類兩個任務上來驗證UniDrop的性能。
3.1神經機器翻譯
我們在IWSLT14數據集上進行了機器翻譯實驗,共4個語言對,8個翻譯任務,baseline為標準的Transformer結構,實驗結果如表1所示:
表1:不同模型在IWSLT14翻譯任務上的結果
可以看到,相比于標準的Transformer,我們的UniDrop在所有任務翻譯任務上都取得了一致且顯著的提升。為了驗證UniDrop中每種dropout的作用,我們進行了ablation study實驗,也在標準Transformer添加單一的dropout去驗證它們的性能。從結果看,FD、SD和DD都能在一定程度上提升Transformer的性能,并能夠協同工作,最終進一步提升Transformer的泛化性。
為了進一步驗證UniDrop的優越性,我們也在廣泛被認可的benchmarkIWSLT14 De→En翻譯任務上和其他系統進行了對比。這些系統從不同的方面提升機器翻譯,如訓練算法設計(Adversarial MLE)、模型結構設計(DynamicConv)、引入外部知識(BERT-fused NMT)等??梢钥吹?,我們的Transformer+UniDrop仍然顯著超過了其他系統。
表2:不同系統在IWSLT14 De→En翻譯任務上的表現
3.2文本分類
對于文本分類任務,我們以RoBERTaBASE作為backbone,在4個GLUE數據集上和4個傳統的文本分類數據集上進行了實驗,結果如表3和表4所示:
表3:不同模型在GLUE tasks (dev set)上的準確率
表4:不同模型在傳統文本分類任務上的準確率
可以看到,作為一個強大的預訓練模型,RoBERTaBASE顯著超過了其他方法。即使如此,UniDrop仍然能夠進一步提升RoBERTaBASE的性能,這進一步驗證了UniDrop對Transformer模型的有效性。
3.3分析
為了展現UniDrop能夠有效防止Transformer過擬合,我們畫出了不同模型在IWSLT14 De→En翻譯驗證集上的loss曲線,如圖3所示:
圖3:不同模型在IWSLT14 De→En翻譯上的dev loss
可以看到,標準的Transformer結構隨著訓練輪數的增加,很容易出現過擬合現象。相比之下,FD、SD、DD都在一定程度上緩解了Transformer的過擬合問題。在所有對比模型中,我們的UniDrop取得了最低的dev loss,并且dev loss能持續下降,直到訓練結束。綜合來看,UniDrop在預防Transformer過擬合問題上取得了最好的表現。
此外,我們也進行了細粒度的ablation study實驗來探究不同的feature dropout以及我們2-stage data dropout對Transformer性能的影響,結果如表5所示:
表5:Ablation Study
可以看到,FD-3比FD-1帶來更多的提升,這也驗證了我們之前的分析,僅使用FD-1對提升multi-head attention的泛化性來說是不夠的。另外,表5表明我們提出的2-stage data dropout策略對提升性能是有幫助的,這體現了保留原始高質量樣本的必要性。
04總結與展望
過擬合是Transformer結構中一個常見的問題,dropout技術常被用來防止模型過擬合。本文中,我們提出了一種集成的dropout技術UniDrop,它由細粒度到粗粒度,將三種不同類型的dropout(FD、SD、DD)融合到Transformer結構中。我們從理論上分析UniDrop中的三種dropout技術能夠從不同的方面防止Transformer過擬合,在機器翻譯和文本分類任務上的實驗結果也體現了UniDrop的有效性和優越性,更重要的,它不需要額外的計算開銷和外部資源。更多的細節、結果以及分析請參考原論文。
編輯:lyn
-
Dropout
+關注
關注
0文章
13瀏覽量
9996 -
Transformer
+關注
關注
0文章
130瀏覽量
5908 -
自然語言處理
+關注
關注
1文章
510瀏覽量
13195
原文標題:UniDrop:一種簡單而有效的Transformer提升技術
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論