復旦大學邱錫鵬教授:NLP預訓練模型綜述 Pre-trained Models for Natural Language Processing: A Survey

復旦大學邱錫鵬教授:NLP預訓練模型綜述

文章目錄

01 引言

多種神經網絡都被應用在 NLP 任務中,比如 CNN、RNN、GNN 和 attention 機制等。
預訓練模型(Pre-trained Models, PTMs)
文章內容:

1.全面審查。我們對NLP的PTM進行了全面的回顧,包括背景知識,模型架構,預培訓任務,各種擴展,改編方法和應用。 2.新的分類法。我們提出了用於NLP的PTM分類法,該分類法從四個不同的角度對現有PTM進行了分類:1)表示類型,2)模型體系結構; 3)預訓練任務的類型; 4)特定類型場景的擴展。 3.豐富的資源。我們收集有關PTM的大量資源,包括PTM的開源實現,可視化工具,語料庫和論文清單。 4.未來方向。我們討論並分析現有PTM的侷限性。另外,我們建議可能的未來研究方向。其餘的調查安排如下。第2節概述了PTM的背景概念和常用符號。第3節簡要概述了PTM,並闡明瞭PTM的分類。第4節提供了PTM的擴展。第5節討論如何將PTM的知識轉移到下游任務。第6節提供了有關PTM的相關資源。第7節介紹了跨各種NLP任務的應用程序集合。第8節討論了當前的挑戰並提出了未來的方向。第9節總結了論文。

02 背景

2.1 語言表示學習

一個好的表示應當描繪語言的內在規則比如詞語含義、句法結構、語義角色甚至語用。
有兩種 embedding(詞嵌入)方式:上下文嵌入和非上下文嵌入,兩者的區別在於詞的 embedding 是否根據詞出現的上下文動態地改變。

  • 非上下文嵌入
    侷限:1、一個詞通過這種方法獲得的詞嵌入總是靜態且與上下文無關的,無法處理多義詞;2、難以解決不在詞彙表中的詞(針對這個問題,很多 NLP 任務提出了字符級或詞根級的詞表示,如 CharCNN、FastText、Byte-Pair Encoding (BPE))。
  • 上下文嵌入
    爲解決多義性和上下文相關的問題,將詞在不同上下文的語義做區分。通過對詞(詞根)的 token 加一層 Neural Contextual Encoder(神經上下文編碼器)得到詞的上下文嵌入。

2.2 神經上下文編碼器

大部分的神經上下文編碼器都可以被分爲三類:卷積模型、序列模型、基於圖的模型。

在這裏插入圖片描述

實際操作中往往直接通過一個全連接圖來建模並讓模型自己學習結構(一般通過自注意力機制)。一個典型的成功運用就是 Transformer。

分析:卷積模型和序列模型都很難解決詞之間的長程依賴問題,而 Transformer 雖然能更好地描述詞之間的深層聯繫,卻往往需要非常大的語料來訓練,且容易在中等規模的數據集上過擬合。

2.3 爲什麼要預訓練?

預訓練的優點可以總結爲以下三點:

  1. 在大規模語料上通過預訓練學習通用語言表示對下游任務很有幫助;
  2. 預訓練提供了更好的模型初始化參數,使得在目標任務上有更好的泛化性能和更快的收斂速度;
  3. 預訓練是一種有效的正則化方法,能夠避免在小數據集上過擬合。

2.4 NLP的預訓練任務的簡單歷史

2.4.1 第一代預訓練:預訓練詞嵌入

靜態、淺層的模型訓練。
例如:
word2vec(CBOW/Skip-Gram) [123]
paragraph vector [94], Skip-thought vectors [87], Context2Vec [121]

2.4.2 第二代預訓練:預訓練上下文編碼器

神經編碼器的輸出向量也稱爲上下文詞嵌入,因爲它們根據其上下文表示單詞語義。
例如:
(Bi-)LSTM、
ELMo\ ULMFiT
OpenAI GPT/BERT

03 PTMs概述

PTMs 的主要區別在於上下文編碼器的使用、預訓練任務和目標。上下文編碼器已在 2.2 中做了敘述,接下來對預訓練任務進行分析,並提出一種 PTMs 分類方法。

3.1 預訓練任務

PTMs 按照預訓練任務類型可以被分爲兩類:

  • 有監督學習 Supervised learning (SL)
  • 無監督學習 Unsupervised learning (UL)
  • 自監督學習 Self-Supervised learning (SSL)

有監督學習的預訓練任務主要有機器翻譯 (MT),典型的模型是 CoVe。而下文進一步根據實現思路將自監督/無監督任務分爲兩類,一是基於上下文的 (LM, DAE, PLM),二是基於對比的 (CTL)。

下文主要介紹自我監督學習。表1總結了他們的損失函數。
在這裏插入圖片描述

3.1.1 語言模型 (LM)

NLP 中最常見的無監督任務,LM 一般指自迴歸 LM (auto-regressive LM) 或者單向 LM (unidirectional LM),通過最大似然估計 (MLE) 訓練計算一個句子出現的概率。

單向 LM 的缺點則是隻能編碼一個詞左側的文本和其自身,而更好的上下文應該編碼左右兩側的文本。針對這一缺點,解決方案是雙向 LM (BiLM),即一個從左到右和一個從右到左的模型的組合。

3.1.2 掩碼語言建模 Masked Language Modeling (MLM)

MLM首先從輸入語句中掩蓋一些標記,然後訓練模型以預測其餘標記所掩蓋的標記。但是,這種預訓練方法將在預訓練階段和微調階段之間產生不匹配,因爲在微調階段不會出現掩碼令牌。爲了解決這個問題,Devlin等人從經驗上講。在80%的時間內使用特殊的[MASK]令牌,在10%的時間內使用隨機令牌,在10%的時間內使用原始令牌進行屏蔽。

Sequence-to-Sequence MLM (Seq2Seq MLM)

MLM通常作爲分類問題解決。我們將屏蔽的序列饋送到神經編碼器,該編碼器的輸出矢量進一步饋入softmax分類器,以預測屏蔽的令牌。或者,我們可以爲MLM使用編碼器-解碼器(也稱爲序列到序列)體系結構,在該體系結構中,編碼器被提供了屏蔽序列,而解碼器以自迴歸的方式順序生成屏蔽令牌。我們將這種MLM稱爲序列對序列MLM(Seq2Seq MLM),在 MASS [154]和 T5 [138]中使用。 Seq2Seq MLM可以使Seq2Seq樣式的下游任務受益,例如問題回答,摘要和機器翻譯。

增強的屏蔽語言建模 Enhanced Masked Language Modeling (E-MLM)

同時,有許多研究提出了不同的MLM增強版本來進一步改進BERT。
RoBERTa [111]代替了靜態屏蔽,通過動態屏蔽改進了BERT。
UniLM [38,8]在三種類型的語言建模任務上擴展了掩碼預測的任務:單向,雙向和序列到序列的預測。
XLM [27]在稱爲翻譯語言建模(TLM)的平行雙語句子對的串聯上執行MLM。

Span- BERT [76]用隨機連續詞掩蔽和跨度邊界目標(SBO)代替了MLM,以將結構信息集成到預訓練中,這要求系統根據跨度邊界來預測掩蔽的跨度。StructBERT [187]引入了跨度順序恢復任務以進一步整合語言結構。而 ERINE (Baidu) 則是選擇 MASK 實體和短語,E-BERT 和 ERINE (THU) 則是利用了實體 embedding 方法,這三者都是藉助了外部知識來豐富 MLM。

豐富MLM的另一種方法是整合外部知識(請參閱第4.1節)。

3.1.3 排列語言模型(PLM)

針對 MLM 中使用 MASK 導致的預訓練與微調過程的不一致,Permuted Language Modeling (PLM) 對於一個給定序列,生成其所有可能排列進行採樣作爲訓練的目標。值得注意的是,PLM 並不改變原始文本的位置,而是重新定義 token 預測的順序。
實際上,由於收斂速度較慢,僅預測了置換序列中的最後幾個標記。 並針對目標感知表示引入了特殊的雙流自我注意 two-stream self-attention 。

3.1.4 去噪聲自編碼器 (Denoising Autoencoder, DAE)

這裏將原文中 Masked Language Modeling (MLM) 與 DAE 合併爲一個部分,因爲一般將 BERT 中提出的 MLM 看作是基於 DAE 的思路實現的。

DAE 的目的是通過向輸入文本中添加噪聲,利用含噪聲的樣本去重構不含噪聲的輸入。主要有五個實現方式:擋住 (MASK) token、刪除 token、填充 token、句子排列、文本輪換。

(1)token屏蔽:從輸入中隨機採樣令牌,並將其替換爲[MASK]元素。
(2)token刪除:從輸入中隨機刪除令牌。與令牌屏蔽不同,該模型需要確定缺失輸入的位置。
(3)文本填充:與SpanBERT一樣,許多文本跨度也被採樣並替換爲單個[MASK]標記。每個跨度長度均來自泊松分佈( λ\lambda = 3)。該模型需要預測跨度中缺少多少個token。
(4)句子置換:根據句號將文檔分爲多個句子,並以隨機順序關閉這些句子。
(5)文件輪換:隨機地均勻選擇一個token並旋轉文件,以使其從該token開始。該模型需要標識文檔的實際開始位置。

3.1.5 對比學習(CTL)

在這裏插入圖片描述

CTL (Contrastive Learning) 基於一種“learning by comparison”的思路,假設某些觀測文本對比隨機採樣文本在語義上更相似,通過構建正樣本和負樣本並度量距離來實現學習。CTL 通常比 LM 具有更少的計算複雜度,也因此成爲一個值得選擇的 PTMs 訓練標準。

例子:
Collobert et al. [26] 提出了成對排序任務,以區分真假短語。 該模型需要預測合法短語的得分要比通過用隨機單詞替換其中心單詞而獲得的不正確短語更高的分數。
Mnih和Kavukcuoglu [125]使用噪聲對比估計(Noise-Contrastive Estimation,NCE)[54]有效地訓練了詞的嵌入,該算法訓練了一個二元分類器來區分真實樣本和假樣本。

Deep InfoMax (DIM)

DIM 最初是在 CV 領域提出的用於最大化圖像全局特徵與局部特徵之間的互信息(Mutual Information)的方法。

InfoWord 將 DIM 引入到語義表達學習中,提出用 DIM objective 以最大化句子的全局表示和一個 N-gram 的具備表示之間的互信息。

在這裏插入圖片描述

Replaced Token Detection (RTD)

RTD 和 NCE 大體相同,根據上下文來預測 token 是否替換。

CBOW 的 negetive sampling 就可以看作是一個 RTD 的簡單版本,其中採樣是根據詞彙表中的分佈進行採樣。

ELECTRA 基於 RTD 提出了一種新的 generator-discriminator 框架。首先用 MLM 任務訓練 generator,再用 generator 的權重初始化 discriminator,再用判別任務(判別哪些 token 被 generator 替換過)訓練 discriminator。

最終在下游任務只需要對 discriminator 進行 fine-tuning。RTD 也是一種很好的解決 MLM 導致的不一致問題的方法。

WKLM[195] 則是通過在實體層面(entity-level)進行詞替換,替換爲同一個實體類型的實體名。

Next Sentence Prediction (NSP)

NSP 訓練模型區分兩個輸入語句是否爲訓練語料中連續的片段,在選擇預訓練句對時,第二個句子 50% 是第一個句子實際的連續片段,50% 是語料中的隨機段落。NSP 能夠教會模型理解兩個輸入句子之間的聯繫,從而使得如 QA 和 NLI 這種對此類信息敏感的下游任務受益。

然而,近來 NSP 的必要性也遭到了質疑,XLNet 的作者發現不用 NSP loss 的單句訓練優於使用 NSP 的句對訓練。RoBERTa 的作者進一步分析表明:在對單個文本中的文本塊訓練時,去除 NSP 會在下游任務稍微提高性能。

Sentence Order Prediction (SOP)

NSP 結合了主題預測相關性預測,而因爲主題預測更容易,模型將更依賴於主題預測。爲了更好地模擬句子連貫性,ALBERT [91]用句子順序預測(SOP)損失代替了NSP損失,SOP 使用一個文檔中的兩個連續片段作爲正樣本,將這兩個片段交換順序作爲負樣本。

採用了 SOP 的 ALBERT 在多項下游任務中結果都優於 BERT。 StructBERT [187]和BERTje [32]也使用 SOP 作爲自監督學習任務。

3.1.6其他

除上述任務外,還有許多其他輔助的預培訓任務,它們旨在吸收事實知識(請參閱第4.1節),改進跨語言任務(請參閱第4.2節),多模式應用程序(請參閱第4.3節)。 或其他特定任務(請參閱第4.4節)。

3.2 PTMs分類

在這裏插入圖片描述

1.表示類型:根據用於下游任務的表示,我們可以將PTM分爲非上下文模型和上下文模型。
2.體系結構:PTM使用的骨幹網,包括LSTM,Transformer編碼器,Transformer解碼器和完整的Transformer體系結構。 “ Transformer編碼器”和“ Transformer解碼器”的區別在於,解碼器部分使用帶有三角矩陣的蒙板自我注意來防止token進入其未來(右邊)位置。
3.預訓練任務類型:已經在第3.1節中討論了它們。
4.擴展:針對各種情況而設計的PTM,包括知識豐富的PTM,多語言或特定語言的PTM,多模型PTM,特定領域的PTM和壓縮的PTM。我們將在第4節中特別介紹這些擴展。

在這裏插入圖片描述

圖3顯示了分類法以及一些相應的代表性PTM。此外,表2更詳細地區分了一些代表性的PTM。

3.3 模型分析

大量文獻分析了存儲在預訓練的非上下文和上下文嵌入中的語言知識和世界知識。

3.3.1 非上下文嵌入

首先探究靜態詞嵌入,以獲取各種知識。 Mikolov等[124]發現,由神經網絡語言模型學習的單詞表示能夠捕獲語言的語言規律性,並且單詞之間的關係可以通過特定於關係的向量來表徵。Rubinstein等人 [145]發現,分佈詞表示法擅長預測生物分類屬性(例如,狗是動物),但無法學習定語屬性(例如,天鵝是白色的)。同樣,Gupta等[53] 表明word2vec嵌入隱式編碼實體的引用屬性。分佈式單詞向量與簡單的監督模型一起可以學習以合理的準確度預測實體的數字和二進制屬性。

3.3.2 上下文嵌入

大量研究已經探究並歸納了上下文嵌入中的不同類型的知識。通常,知識有兩種類型:語言知識和世界知識。

語言知識

Tenney等[174],劉等[105]發現BERT在許多句法任務上表現出色,例如詞性標記和成分標記。但是,與簡單的語法任務相比,BERT在語義和細粒度的語法任務方面還不夠出色。
此外,Tenney等。 [173]分析了BERT層在不同任務中的作用,發現BERT以與NLP pipelines中相似的順序解決任務。此外,主語-動詞一致性[49]和語義角色[43]的知識也被證實存在於BERT中。此外,休伊特和曼寧[58],賈瓦哈爾等[71],Kim等[84]提出了幾種從BERT提取dependency trees and constituency trees 的方法,證明了BERT編碼語法結構的能力。 Reif等[142]探索了BERT中內部表示的幾何,並找到了一些證據:1)語言特徵似乎在分離的語義和句法子空間中表示; 2)注意力矩陣包含語法表示; 3)BERT很好地區分了詞義。

世界知識

探索世界知識的一種直接方法是使用“填空”的完形填空語句查詢BERT,例如“ Dante出生於[MASK]”。 Petroni等 [132]通過從幾個知識源手動創建 single-token 的完形填空語句(查詢)來構造LAMA(語言模型分析)任務。他們的實驗表明,BERT與傳統信息提取方法比,包含世界知識。由於LAMA中查詢生成過程的簡單性,Jiang等人[73]認爲,LAMA只是衡量語言模型所知的下限,並提出了更高級的方法來生成更有效的查詢。儘管有LAMA令人驚訝的發現,但隨後的工作也對其提出質疑[135,81]。同樣,一些研究從BERT得出了下游任務的關係知識[15]和常識知識[31]。

04 PTM的4個擴展

4.1 引入知識的PTMs

通常 PTMs 都是用大量語料訓練通用的語言表示,而將外部的領域知識引入到 PTMs 被證明式有效的。自 BERT 以來,就有很多預訓練任務用以將外部知識納入 PTMs,如:

LIBERT:linguistically-informed BERT ,通過附加語言約束任務納入了語言知識。(!!!)

SentiLR:通過對每個單詞添加情感極性,將 MLM 拓展至 Label-Aware MLM (LA-MLM),在多個情感分類任務達到 SOTA。

SenseBERT:不僅能預測被 mask 的 token,還能預測 WordNet 中的 supersense。

ERINE (THU):將知識圖譜中預訓練的實體嵌入與文本中相應的實體提及相結合,以增強文本表示。(!!!)

KnowBERT:端到端將帶實體連接模型與實體表示集成。(!!!)

KEPLER:將知識嵌入和語言模型對象聯合。(!!!)

K-BERT:不同於以上幾個模型通過實體嵌入引入知識圖譜中的結構化信息,K-BERT 通過直接將知識圖譜中相關三元組引入句子,獲得一個 BERT 的拓展的樹形輸入。

K-Adapter:針對不同預訓練任務獨立訓練不同的適配器以引入多種知識,以解決上述模型在注入多種知識出現的遺忘問題。

關等[51]採用常識知識庫,ConceptNet和ATOMIC來增強GPT-2的故事生成能力。爲了進一步捕獲合理故事中句子之間的因果關係和時間依存關係,採用了多任務學習,該學習結合了區分性目標,可以在微調過程中區分真假故事。(!!!)

KT-NET:楊等[200]提出了一種知識-文本融合模型來獲取相關的語言和事實知識,以進行機器閱讀理解。採用一種注意機制從(knowledge bases)KB中自適應地選擇所需的知識,然後將所選的知識與BERT融合以實現上下文和知識感知的預測。(!!!)

洛根四世等[113]和Hayashi等[56]將語言模型分別擴展爲知識圖語言模型knowledge graph language model(KGLM)和潛在關係語言模型latent relation language model(LRLM),這兩種模型都允許以知識圖爲條件的預測。這些新穎的以KG爲條件的語言模型顯示了進行預訓練的潛力。(!!!)

4.2 多語言與特定語言PTMs

4.2.1 Multilingual PTMs

學習多語言文本表示對於跨語言 NLP 任務是很重要的。

跨語言理解 Cross-Lingual Language Understanding (XLU)

早期的大多數工作都集中在學習多語言單詞嵌入[44、117、152],該語言表示在單個語義空間中來自多種語言的文本。但是,這些方法通常需要語言之間的(弱)對齊。近期有如下幾個多語言 PTMs:

Multilingual-BERT:M-BERT,在 Wikipedia 上 104 種種語言的文本上進行 MLM 訓練,每個訓練樣本都是單語言的,也沒有專門設計跨語言目標,但即便如此,M-BERT 在跨語言任務上表現還是非常好。

XLM:通過結合跨語言任務 TLM (translation language modeling),提升了 M-BERT 的性能。

Unicoder:提出三個跨語言預訓練任務:1) cross-lingual word recovery; 2) cross-lingual paraphrase classification; 3) cross-lingual masked language model。

XLM-RoBERTa(XLM-R)[28]是一種按比例縮放的多語言編碼器,它以大量增加的訓練數據進行了預訓練,其預訓練任務僅是單語言的MLM。 XLM-R在包括XNLI,MLQA和NER在內的多個跨語言基準測試中獲得了最新的成果。

跨語言生成(XLG)

多語言生成是一種從輸入語言生成具有不同語言的文本的任務,例如機器翻譯和跨語言抽象摘要。與用於多語言分類的PTM不同,用於多語言生成的PTM通常需要共同預訓練編碼器和解碼器,而不是僅僅關注編碼器。

MASS[154]在多種語言上使用單語Seq2Seq MLM預先訓練了Seq2Seq模型,併爲無人監督的 NMT 取得了重大改進。

XNLG [19]爲跨語言自然語言生成執行兩階段的預訓練。第一階段通過單語言MLM和跨語言MLM(XMLM)任務對編碼器進行預訓練。第二階段通過使用單語言DAE和跨語言自動編碼(XAE)任務對解碼器進行預訓練,同時保持編碼器固定。實驗表明XNLG在跨語言問題生成和跨語言抽象摘要方面的優勢。

mBART [112]是BART [98]的多語言擴展,它在25種語言的大規模單語言語料庫上與Seq2Seq去噪自動編碼器(DAE)任務一起對編碼器和解碼器進行預訓練。實驗表明,mBART可以在各種機器翻譯(MT)任務中顯着提高性能。

4.2.2特定於語言的PTM

儘管多語言PTM在多種語言上表現良好,但最近的工作表明,使用單一語言訓練的PTM明顯優於多語言結果[119、93、180]。對於沒有明確單詞邊界的中文,建模較大的粒度[29,36,191]和多粒度[164,165]詞表示法已顯示出巨大的成功。

Kuratov和Arkhipov [90]使用遷移學習技術使多語言PTM適應俄語的單語言PTM。

另外,一些單語言的PTM已針對不同的語言發佈,例如CamemBERT [119]和FlauBERT [93](法語),FinBERT [180](芬蘭語),BERTje [32]和RobBERT [34](荷蘭語),AraBERT [4]阿拉伯語。

4.3多模態PTM

隨 PTMs 在 NLP 領域的廣泛應用,一些多模態 PTMs 也被設計出來,在一些語音、視頻、圖像數據集上進行了預訓練,比如:

  • 視頻-語言:VideoBERT[159]、CBT[158]、Uni-ViLM[116]
  • 圖像-語言:用於 visual question answering (VQA) and visual commonsense reasoning (VCR),如 ViLBERT[114]、LXMERT[169]、VisualBERT[100]、B2T2、VLBERT、 Unicoder-VL、UNITER
  • 音頻-文本:用於端到端 Speech Question Answering (SQA) 任務,如 SpeechBERT

4.3.1 視頻-文本PTM

VideoBERT [159]和CBT [158]是聯合的視頻和文本模型。爲了獲得用於預訓練的視覺和語言標記的序列,分別通過基於CNN的編碼器和現成的語音識別技術對視頻進行預處理。單個Transformer編碼器在處理後的數據上進行訓練,以學習視頻字幕等下游任務的視覺語言表示。

此外,Uni-ViLM [116]提出引入生成任務,以進一步預訓練在下游任務中使用的解碼器。

4.3.2圖像-文本PTM

旨在適應諸如視覺問題解答(VQA)和視覺常識推理(VCR)之類的下游任務。幾個提出的模型採用兩個單獨的編碼器分別用於圖像和文本表示,例如ViLBERT [114]和LXMERT [169]。

4.4特定領域和特定任務的PTM

大多數 PTMs 都是在 Wikipedia 這樣的通用領域語料庫上訓練的,這就限制了他們在特定領域內的表現。

近期有一些用專業領域語料訓練的 PTMs,例如BioBERT [96]用於生物醫學文本,SciBERT [11]用於科學文本,ClinicalBERT [68,3]用於臨牀文本。除了對特定領域的PTM進行預訓練之外,一些工作還嘗試使可用的預訓練模型適應目標應用,例如生物醫學實體標準化[72],專利分類[95],進度說明分類和關鍵字提取[170]。還提出了一些面向任務的預訓練任務,例如用於情感分析的 在SentiLR [82]上的的Label-Aware MLM ,用於文本摘要的Gap句子生成(GSG)[205]和用於流離失所檢測的嘈雜單詞檢測[186]。

4.5模型壓縮

有五種壓縮PTM的方法[45]:
(1)模型修剪,刪除不重要的參數,
(2)權重量化[39],使用佔位更少(低精度)的參數
(3)參數共享(parameter sharing):在相似模型單元之間共享參數
(4)知識蒸餾[60],它訓練了一個較小的學生模型,該模型從原始模型的中間輸出中學習,並且
(5)模塊替換,用更緊湊的替代品替換了原始PTM的模塊。

表3比較了一些代表性的壓縮PTM。

在這裏插入圖片描述

05 如何將PTMs應用至下游任務

5.1 遷移學習

5.2 如何遷移

考慮以下三個問題:

5.2.1選擇適當的預訓練任務,模型架構和語料庫

5.2.2選擇適當的層

H(l)(1<=l<=L)H^{(l)}(1<=l<=L)表示預訓練的第l層,g(.)表示目標任務的特定模型。
有三種方式選擇表示:
a)Embedding Only。一種方法是僅選擇預訓練的靜態嵌入,而模型的其餘部分仍需要從頭開始進行訓練以完成新的目標任務。如 word2vec 和 Glove;
他們無法捕獲可能更有用的高級信息。詞嵌入僅在捕獲詞的語義上有用,但是我們還需要了解詞義之類的高級概念。
b)頂層。最簡單有效的方法是將頂層的表示形式饋送到特定於任務的模型g(H(L))g(H(L))中。如BERT。
c)所有層。自動選擇最佳層,例如ELMo [129]:
rt=γl=1Lαlht(l)r_t = \gamma \sum_{l=1}^L \alpha_l h_t^{(l)}
其中ala_l是第l層的softmax歸一化權重,而γ是標度,用於縮放通過預訓練模型輸出的矢量。mixup representation 被輸入到特定於任務的模型g(rt)g(r_t)中。

5.2.3調整還是不調整?

目前兩種遷移方式:

  1. 特徵提取(凍結了預訓練參數)
  2. 微調(未凍結和微調了預訓練參數)
    在特徵提取方式中,將經過預訓練的模型視爲現成的特徵提取器。此外,重要的是要公開內部層,因爲它們通常會編碼最易遷移的表示形式[131]。
    儘管這兩種方式都可以極大地使大多數NLP任務受益,但是特徵提取方式卻需要更復雜的特定於任務的體系結構。因此,對於許多不同的下游任務而言,微調方法通常比特徵提取方法更爲通用和方便。
    表4給出了適應性PTM的一些常見組合。
    在這裏插入圖片描述

5.3 微調策略

自ULMFit和BERT以來,微調已成爲PTM的主要適應方法。但是,微調的過程通常很脆弱:即使使用相同的超參數值,不同的隨機種子也可能導致結果大不相同[37]。
除了標準的微調之外,還有一些有用的微調策略。

兩階段微調

第一階段,在一箇中間任務/語料上進行遷移,第二階段,遷移到目標任務。
Story ending predic- tion by transferable bert: TransBERT
How to fine-tune BERT for text classification?
Sentence encoders on STILTs: Supplementary training on intermediate labeled-data tasks
Convolutional sequence to sequence learning

多任務微調

多任務和預訓練互爲補充。
Multi-task deep neural networks for natural language understanding

使用額外的適配模塊進行微調

原始參數固定,在 PTMs 裏接入一些 fine-tunable adaptation modules
BERT and PALs: Projected attention layers for efficient adaptation in multi-task learning
Parameter-efficient transfer learning for NLP

其他

其他:逐層解凍而非連續 fine-tune 所有層;
Improving BERT fine-tuning via self-ensemble and self-distillation
Universal language model fine-tuning for text classification: gradual unfreezing
An embarrassingly simple approach for transfer learning from pretrained language models: sequential unfreezing

06 一些PTMs的資源

一些開源的應用:
在這裏插入圖片描述
word2vec:
https://github.com/tmikolov/word2vec

GloVe:
https://nlp.stanford.edu/projects/glove

FastText:
https://github.com/facebookresearch/fastText

Transformers:
https://github.com/huggingface/transformers

Fairseq:
https://github.com/pytorch/fairseq

Flair:
https://github.com/flairNLP/flair

AllenNLP:
https://github.com/allenai/allennlp

FastNLP:
https://github.com/fastnlp/fastNLP

Chinese-BERT:
https://github.com/ymcui/Chinese-BERT-wwm

BERT:
https://github.com/google-research/bert

RoBERTa:
https://github.com/pytorch/fairseq/tree/master/examples/roberta

XLNet:
https://github.com/zihangdai/xlnet/

ALBERT:
https://github.com/google-research/ALBERT

T5:
https://github.com/google-research/text-to-text-transfer-transformer

ERNIE (Baidu):
https://github.com/PaddlePaddle/ERNIE

相關資源:

論文列表:
https://github.com/thunlp/PLMpapers
https://github.com/tomohideshibata/BERT-related-papers
https://github.com/cedrickchee/awesome-bert-nlp

BERT Lang Street(收集 BERT 在不同數據集和任務上的表現):
https://bertlang.unibocconi.it/

BERTViz(應用 transformer 的模型的注意力可視化):
https://github.com/jessevig/bertviz

07應用

如何以可比較的指標評估PTM。因此,有必要進行大規模基準測試。

7.1一般評估基準

GLUE (The General Language Understanding Evaluation) 標準是一個集合了 9 個自然語言理解任務的標準。

其中包括:單個句子分類任務(CoLA和SST-2)、文本對分類任務(MNLI, RTE, WNLI, QQP, MRPC)、文本相似度任務(STSB)、相關性排行任務(QNLI)。GLUE 標準能夠能夠很好地評估模型的魯棒性和通用性。GLUE不提供測試集的標籤,而是設置evaluation server。

而近期 NLP 的快速發展促使了新的標準 SuperGLUE 的提出,相比 GLUE,SuperGLUE 有更多富有挑戰性且多種多樣的任務,如指代消解和 QA。

最新的corresponding leaderboard在
4) https://gluebenchmark.com/
5) https://super.gluebenchmark.com/

7.2問答

問答系統(Question answering, QA)或是狹義概念的機器閱讀理解(machine reading comprehension, MRC)也是 NLP 的重要任務。

從易到難,有三種類型的 QA 任務:單回合提取 QA (single-round extractive QA, SQuAD)、多回合生成QA (multi-round generative QA, CoQA)、多跳問答 (multi-hop QA, HotpotQA)。

針對提取 QA,有通過 PTM 初始化 encoder 的回溯閱讀架構(retrospective reader architecture);針對多回合生成 QA,有“PTM+Adversarial Training+Rationale Tagging+Knowledge Distillation”架構;針對多跳 QA,有“Select, Answer, and Explain” (SAE) 系統。

最新的模型在:
6) https://rajpurkar.github.io/SQuAD-explorer/
7) https://stanfordnlp.github.io/coqa/
8) https://hotpotqa.github.io/

7.3情感分析

BERT 通過在廣泛使用的情感分析數據集 SST-2 上進行微調後,表現超過了先前的 SOTA 模型。而後又有很多將 BERT 進行調整以應用在 aspect 級的情感分析(ABSA)任務上。

(原文中有很多參考文獻)

7.4命名實體識別

命名實體識別(Named Entity Recognition, NER)也是知識提取的一個基礎任務,在很多 NLP 任務上都有重要作用。
由於ELMo和BERT在NLP中發揮了作用,因此關於NER的預訓練模型還有很多工作要做。
(原文中有很多參考文獻)

7.5機器翻譯

機器翻譯(Machine Translation, MT)也是 NLP 的一項重要任務。幾乎所有 MT 模型都使用了 encoder-decoder 框架,該框架首先通過編碼器將輸入令牌編碼爲隱藏表示,然後以目標語言從解碼器解碼輸出令牌。

而近期隨預訓練模型的發展,也有不少嘗試將 BERT 之類的預訓練模型用於初始化 encoder,取得了一定成效。

7.6總結

從長文本中總結出短文本也是近期 NLP 的熱點。也有很多嘗試將 PTM 應用在總結文本任務上,如將 BERT 通過插入 [CLS] token 來學習句子表示的模型 BERTSUM。

7.7對抗攻擊與防禦

深入的神經模型容易受到對抗性示例的攻擊,這些示例可能會誤導模型以產生特定的錯誤預測,併產生來自原始輸入的不可察覺的擾動。在CV中,對抗性攻擊和防禦已得到廣泛研究。然而,由於語言的離散性,對於文本來說仍然是挑戰。爲文本生成對抗性樣本需要具備以下方面:
(1)人類判斷力無法感知,但會誤導神經模型;
(2)語法流利,語義上與原始輸入一致。

08 未來方向

儘管PTM已證明可以勝任各種NLP任務,但由於語言的複雜性,仍然存在挑戰。在本節中,我們建議PTM的五個未來方向。

(1)PTM的上限

隨 BERT 的出現,我們可以發現,很多模型都可以通過更長的訓練步長不在和更大的語料來提升性能,比如去年的 T5 使用的 C4 數據集。而我們也可以通過加深模型來提升性能,比如 Turing-NLG 使用了 72 個 transformer 層。

PTMs 的共同目標都是學習語言的本質通用知識(或者說是世界的知識),然而,隨着模型的不斷加深,語料的不斷增大,訓練模型的花銷也越來越大。一種更可行的解決方案是設計更有效的模型架構、自監督預訓練任務、優化器和軟硬件方面的技巧等。ELECTRA [24]就是這個方向上一個很好的嘗試。

(2)PTM的體系結構

Transformer 是 PTMs 的一個高效的框架,但 Transformer 的侷限在於計算複雜度。由於 GPU 顯存大小的限制,目前大多數 PTM 無法處理序列長度超過 512 個 token 的序列。打破這一限制需要改進 Transformer 的結構設計,如 Transformer-XL。設計深層神經網絡結構是很有挑戰性的任務,或許使用如神經結構搜索 (NAS) 這類自動化的方案。

(3)面向任務的預訓練和模型壓縮

在實踐中,不同的目標任務需要 PTMs 的不同功能。PTMs 和下游任務的差異通常在於模型架構與數據分發。更大的差異可能會使得 PTMs 的使用收益更小,比如 text generation 和 text matching 的任務就有很大差異
大型 PTMs 應用到實際場景時面臨的低容量設備和低延遲應用的要求:爲下游任務精心設計特定的模型結構與預訓練任務,或者直接從現有的 PTMs 中提取部分與任務有關的知識
使用模型蒸餾技術對現有的 PTMs 進行教育,來完成目標任務。

與其從頭訓練任務導向的PTM,不如通過模型壓縮等技術將它們與現有的通用PTM一起教(見4.5節)。儘管在CV中對CNN的模型壓縮進行了廣泛的研究[18],但對NLP的PTM壓縮只是開始。transformer 的完全連接結構也使模型壓縮更具挑戰性。

(4)超越微調的知識轉移

Fine-tuning 是目前將 PTM 的知識遷移至下游任務的主要方法,但參數效率卻很低,每個下游任務都有特定的 fine-tuned 參數。

一個可以改進的解決方案是固定 PTMs 的原始參數,併爲特定任務添加小型的可微調的適配器,這樣就可以在不同的下游任務使用共享的 PTMs。從 PTM‘s 中挖掘知識也可以更靈活,比如:知識提取、知識蒸餾、數據增加、將 PTMs 作爲外部知識等等。

(5)PTM的可解釋性和可靠性

可解釋性:PTMs 的深層非線性結構/Transformer 類結構/語言的複雜性使得解釋 PTM 變得更加困難

可靠性:PTMs 在對抗性樣本中顯得非常脆弱。Adversarial defenses 也是一個非常有前景的方向

09結論

本論文對NLP的PTM進行了全面的概述,包括背景知識,模型架構,預培訓任務,各種擴展,改編方法,相關資源和應用程序。基於當前的PTM,從四個不同的角度提出了PTM的新分類法。還建議了PTM的幾種未來研究方向。

參考:https://zhuanlan.zhihu.com/p/139015428

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章