UniDrop:一種簡單而有效的 Transformer 提升技術

來自:南大 NLP

這篇論文來自 NAACL2021

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 的有效性。

02

UniDrop

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)。

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。

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 所示:

可以看到,相比於標準的 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 的有效性和優越性,更重要的,它不需要額外的計算開銷和外部資源。更多的細節、結果以及分析請參考原論文。

注:本工作由吳震在 MRSA 實習期間完成。

05

Reference

[1] Vaswani, Ashish, et al. "Attention is all you need." arXiv preprint arXiv:1706.03762 (2017).

[2] Srivastava, Nitish, et al. "Dropout: a simple way to prevent neural networks from overfitting." The journal of machine learning research 15.1 (2014): 1929-1958.

[3] Fan, Angela, Edouard Grave, and Armand Joulin. "Reducing transformer depth on demand with structured dropout." arXiv preprint arXiv:1909.11556 (2019).

[4] Zhou, Wangchunshu, et al. "Scheduled DropHead: A Regularization Method for Transformer Models." arXiv preprint arXiv:2004.13342 (2020).

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/X_uMWYDY-bAjkSnmnJBLTw