arXiv | 如何更好地理解自然語言?自訓練+預訓練

語言: CN / TW / HK

今天給大家介紹的是Facebook AI研究團隊發表在arXiv上的一篇文章“Self-training Improves Pre-training for Natural Language Understanding”。作者在文章中提出,可以利用自訓練提升自然語言理解的預訓練模型,並且提出了一種用於資料增強的新方法——SentAugment,可從大規模無標籤的網路句子中檢索用於特定任務的無標籤句子,輔助語言模型的自訓練過程。實驗表明,SentAugment實現了有效的自訓練,並且在知識蒸餾和小樣本學習上有明顯效果。

1

研究背景

自訓練是一種半監督學習方法,它使用有標籤資料訓練一個教師模型,再用訓練後的教師模型為無標籤資料建立合成標籤。這些帶有合成標籤的資料被用於訓練一個學生模型,使得學生模型具有與教師模型相似或更好的效能。最近在自然語言理解上的工作通常集中在預訓練模型上,而自訓練也是利用無標籤資料的一種有效方法。作者在預訓練基準上引入自訓練,通過研究表明自訓練是對自然語言理解的強大預訓練模型的一種補充。

此外,無標籤資料通常是半監督學習的一個重要組成部分。但是,現有的工作通常假設這些無標籤資料來自與下游任務相同的領域,該假設限制了半監督方法的應用,尤其是在資料較少的下游任務中。為此,作者在本文中提出了一種資料增強方法——SentAugment,用於從網路上爬取的資料中,為給定任務構建相同領域的資料集。實驗表明,SentAugment可有效輔助模型自訓練,知識蒸餾和小樣本學習。

2

方法

2.1 檢索策略

SentAugment方法使用網路資料作為句子庫。首先,使用一種通用句子編碼器對句子庫中的每個句子進行嵌入,這個編碼器對於有相近意思的句子輸出相似表示。這些句子表示被用於檢索特定任務相關的無標籤資料。其次,使用同樣的通用句子編碼器對下游任務的訓練資料集進行嵌入,然後根據訓練資料集的嵌入表示計算出任務嵌入。任務嵌入的計算方法有以下三種:(1)all-average:計算訓練資料集中的所有嵌入表示的平均嵌入表示;(2)label-average:分別為每個類別的資料計算一個平均嵌入;(3)per-sentence:每個句子擁有一個單獨的嵌入表示。然後,將任務嵌入作為查詢條件,在句子庫中檢索出一個子集作為候選資料集,然後使用教師模型從候選資料集的每個類別中選出前k個樣本進行標記,形成最終的合成數據。

2.2 自訓練過程

如圖1所示, 自訓練過程分為多個步驟。首先,在下游任務中對中文預訓練模型RoBERTa-Large精調,將精調後的模型作為教師模型;其次,從句子庫中檢索特定任務的無標籤資料;之後,使用教師模型對檢索到的無標籤資料進行標記;最後,使用帶合成標籤的資料來精調一個新的RoBERTa-Large模型,將這個模型作為學生模型。

圖1 SentAugment方法

3

實驗

3.1 資料集

在評估SentAugment方法效能的實驗中使用的資料集資訊如表1所示。用於情感分析的資料集有SST-2和SST-5,其中SST-2是Stanford Sentiment Treebank的二元情感分析資料集,SST-5則是細粒度情感分析資料集。CR資料集用於產品分類任務,IMP資料集用於仇恨言論分類,TREC資料集用於問題分類,CoNLL資料集用於命名實體識別任務。

表1 資料集和下游任務

3.2自訓練實驗

該實驗的目的是瞭解自訓練是否能對下游任務的目標領域進行域適應。實驗中使用了三個模型,分別是RoBERTa-Large基準模型、RoBERTa-Large+ICP和RoBERTa-Large+ST。ST表示自訓練,即用帶合成標籤的資料集來訓練預訓練模型RoBERTa-Large,ICP表示域內連續預訓練,直接在目標領域的檢索資料上進行預訓練,不適用合成標籤。實驗結果如表2所示,自訓練可以提高RoBERTa-Large基準模型的效能,使平均水平提高了1.2%。而當使用ICP繼續使用自訓練資料進行預訓練時,模型效能從87.4%降低到86.2%。儘管ICP在RoBERTa-Large模型預訓練時執行域適應,但它的效能並不優於RoBERTa-Large。因此,自訓練是提高泛化能力並在精調時進行域適應的重要途徑。

表2 自訓練實驗結果

3.3 小樣本學習實驗

作者在小樣本學習的情況下研究了SentAugment方法的有效性。針對每個任務,作者從特定任務的訓練資料集中選取少量樣本對RoBERTa-Large模型進行精調,並將其用作教師模型。實驗結果如表3所示。自訓練可以使所有任務的精確度平均提高3.5%,在序列標記任務中表現尤為突出。

表3 小樣本學習任務中的自訓練實驗結果

3.4 知識蒸餾實驗

知識蒸餾(KD)也受益於大規模資料增強。在該實驗中,作者使用了真實資料(GT)、隨機資料(random)和檢索的無標籤資料(SA),比較了基於不同資料的知識蒸餾的效果,實驗結果如表4所示。實驗結果表明,與基於隨機資料相比,使用真實資料提煉模型時效能顯著提高,從77.1%變為82.5%。本文的資料增強方法達到了81.9%的平均準確度。

表4 基於真實資料、隨機資料和檢索資料的知識蒸餾實驗結果

4

總結

在本文中,作者表明自訓練是利用無標籤資料的另一種有效方法,當自訓練和預訓練結合時,可以進一步改進RoBERTa模型效能。此外,作者介紹了一種新的用於自然語言處理的資料增強方法SentAugment,該方法可從大規模網路資料語料庫中檢索特定任務的相關領域的句子,並且在知識蒸餾和少樣本學習上也有明顯效果。