論文閱讀 | Pre-trained Models for Natural Language Processing: A Survey


參考:機器之心

論文:Pre-trained Models for Natural Language Processing: A Survey

 

  • 首先簡要介紹了語言表示學習及相關研究進展;

  • 其次從四個方面對現有 PTM (Pre-trained Model) 進行系統分類(Contextual、Architectures、Task Types、Extensions);

  • 再次描述了如何將 PTM 的知識應用於下游任務;

  • 最后展望了未來 PTM 的一些潛在發展方向。

 

第一代 PTM 旨在學習詞嵌入。由於下游的任務不再需要這些模型的幫助,因此為了計算效率,它們通常采用淺層模型,如 Skip-Gram 和 GloVe。盡管這些經過預訓練的嵌入向量也可以捕捉單詞的語義,但它們卻不受上下文限制,只是簡單地學習「共現詞頻」。這樣的方法明顯無法理解更高層次的文本概念,如句法結構、語義角色、指代等等。

 

第二代 PTM 專注於學習上下文的詞嵌入,如 CoVe、ELMo、OpenAI GPT 以及 BERT。它們會學習更合理的詞表征,這些表征囊括了詞的上下文信息,可以用於問答系統、機器翻譯等后續任務。另一層面,這些模型還提出了各種語言任務來訓練 PTM,以便支持更廣泛的應用,因此它們也可以稱為預訓練語言模型。

 

 

如上圖所示,之前 NLP 任務一般會預訓練 e 這些不包含上下文信息的詞嵌入,我們會針對不同的任務確定不同的上下文信息編碼方式,以構建特定的隱藏向量 h,從而進一步完成特定任務。
但對於預訓練語言模型來說,我們的輸入也是 e 這些嵌入向量,不同之處在於我們會在大規模語料庫上預訓練 Contextual Encoder,並期待它在各種情況下都能獲得足夠好的 h,從而直接完成各種 NLP 任務。換而言之,最近的一些 PTM 將預訓練編碼的信息,提高了一個層級。

 

各種預訓練方法的主要區別在於文本編碼器、預訓練任務和目標的不同

 

現有的預訓練方法分為四部分:

 

  • 預訓練方法(PTM)使用的詞表征類型;

 

  • 預訓練方法使用的主干網絡;
  • PTM 使用的 預訓練任務類型;
  • 為特定場景與輸入類型所設計的 PTM。

 

圖 3 詳細地展示了各種 PTM 的所屬類別:

 

細節對比:

 

預訓練任務

預訓練任務的目的在於,迫使模型學習自然語言的各種結構與意義,這才有可能將通用語言知識嵌入到模型內。

 

NLP 中最常見的無監督任務是概率語言建模(language modeling),它是一個經典的概率密度估值問題。實際上,作為一種一般性概念,語言建模通常特指自回歸或單向語言建模。傳統語言建模用下面一個公式就能說清楚,即每次給定前面所有詞下預測下一個詞

Wilson L. Taylor 等人在論文《「cloze procedure」: A new tool for measuring readability》的文獻中首次提出了掩碼語言建模(masked language modeling,MLM)概念,他們稱之為完形填空(Cloze)任務。接着,Jacob Devlin 等人在 BERT 中將 MLM 視為新型預訓練任務,以克服標准單向語言建模的缺陷。
因此,籠統地講,MLM 首次從輸入序列中遮掩一些 token,然后訓練模型來通過其余的 token 預測 masked 的 token。
盡管 MLM 在預訓練中得到了廣泛應用,Zhilin Yang 等在論文《XLNet: Generalized autoregressive pretraining for language understanding》中表示,當模型應用於下游任務時,[MASK] 等在 MLM 預訓練中使用的一些特殊 token 並不存在,這導致預訓練和微調之間出現差距。
為了克服這一問題,Zhilin Yang 在這篇論文中提出以排列語言建模(Permuted Language Modeling,PLM)來取代 MLM。簡單地說,PLM 是一種在輸入序列隨機排列上的語言建模任務。給定一個序列,然后從所有可能的排列中隨機抽樣一個排列。接着將排列序列中的一些 token 選定為目標,同時訓練模型以根據其余 token 和目標的正常位置(natural position)來預測這些目標。
去噪自編碼器(denoising autoencoder,DAE)接受部分損壞的輸入,並以恢復這些未失真的原始輸入為目標。這類任務會使用標准 Transformer 等模型來重建原始文本,它與 MLM 的不同之處在於,DAE 會給輸入額外加一些噪聲
Nikunj Saunshi 等人論文《A theoretical analysis of contrastive unsupervised representation learning》中的對比學習(contrastive learning,CTL)假設,一些觀察到的文本對在語義上比隨機取樣的文本更為接近。CTL 背后的原理是「在對比中學習」。相較於語言建模,CTL 的計算復雜度更低,因而在預訓練中是理想的替代訓練標准。
CTL 一般可以分為以下三種類型:

 

  • 替換 token 檢測(Replaced Token Detection,RTD)與 NCE 相同,但前者會根據上下文語境來預測是否替換 token。
  • NSP 訓練模型以區分兩個輸入句子是否為訓練語料庫中的連續片段
  • SOP 使用同一文檔中的兩個連續片段作為正樣本,而相同的兩個連續片段互換順序作為負樣本

 

預訓練擴展

清華大學提出了 ERNIE,它會結合知識圖譜中的多信息實體,並將其作為外部知識改善語言表征。

PTM 能夠從大規模通用文本語料庫中學習一般的語言表征,但缺乏領域知識。Knowledge-Enriched PTM 則可以借助語言學、語義學、常識和特定領域的知識來加強預訓練方法。
一些研究集中在如何獲取 PTM 的交叉模式版本,而絕大多數是為了通用的視覺以及語言特征編碼而設計的。此類模型在大規模的跨模式數據語料庫上進行了預訓練,並結合擴展的預訓練任務從而充分利用其多模式特征。

 

模型壓縮是減小模型大小並提高計算效率的方法。目前有四種壓縮 PTM 的常用方法:(1)刪除那些不太重要的參數;(2)權重量化,使用少量的位去表示參數;(3)在相似的模型單元之間共享參數 ;(4)知識提煉。

表 3 詳細區分了一些代表性的壓縮 PTM。

 

 大多數公開的 PTM 都有過通用領域語料庫的訓練,如 Wikipedia,而這會使得其應用限制在特定領域。而一些研究提出了另一些受過專業語料庫訓練的 PTM,例如 BioBERT 用於生物醫學方向,SciBERT 用於科學方向,ClinicalBERT 用於臨床方向。
模型學習多語言文本說明跨語言共享在 NLP 任務起着非常重要的作用。MLM 對多語言的 BERT^3(M-BERT)進行了預訓練,並在 Wikipedia 文本上使用來自多達 104 種主要語言共享詞匯及權重。每個訓練樣本都是單語文檔,沒有專門設計的跨語言目標,也沒有任何跨語言的數據。

 

PTM資源

 

 

 

PTM 未來發展方向展望

雖然 PTM 已經在很多 NLP 任務中顯示出了他們強大的能力,然而由於語言的復雜性,仍存在諸多挑戰。這里,研究者給出了五個未來 PTM 發展方向的建議。

PTM 的上限

目前,PTM 並沒有觸及其上限。大多數的 PTM 可通過使用更多訓練步長以及更大數據集,來提升其性能。目前 NLP 中的 SOTA 也可通過加深模型層數來更進一步提升。PTM 的最終目的一直是我們對學習語言中通用知識內部機理的追尋。然而,這使得 PTM 需要更深層的結構,更大的數據集以及具有挑戰的預訓練任務,這將導致更加高昂的訓練成本。因此,一個更加切實的方向是在現有的軟硬件基礎上,設計出更高效的模型結構、自監督預訓練任務、優化器和訓練技巧等。例如 ELECTRA 就是此方向上很好的一個解決方案。

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

在實踐中,不同的目標任務需要 PTM 擁有不同功能。而 PTM 與下游目標任務間的差異通常在於兩方面:模型架構與數據分發。盡管較大的 PTM 通常情況下會帶來更好的性能表現,但實際問題是如何在一定情況下使用這類較大的 PTM 模型,比如低容量的設備以及低延遲的應用程序。而通常的解決方法是為目標任務設計特定的模型體系架構以及與訓練任務,或者直接從現有的 PTM 中提取部分信息用以目標任務。
此外,我們還可以使用模型壓縮等技術去解決現有問題,盡管在 CV 方面對 CNN 的模型壓縮技術進行了廣泛的研究,但對於 NLP 的 PTM 來說,壓縮研究只是個開始。Transformer 的全連接架構也使得模型壓縮非常具有挑戰性。

PTM 的結構

對於預訓練,Transformer 已經被證實是一個高效的架構。然而 Transformer 最大的局限在於其計算復雜度(輸入序列長度的平方倍)。受限於 GPU 顯存大小,目前大多數 PTM 無法處理超過 512 個 token 的序列長度。打破這一限制需要改進 Transformer 的結構設計,例如 Transformer-XL。因此,尋找更高效的 PTM 架構設計對於捕捉長距上下文信息十分重要。設計深層神經網絡結構很有挑戰,或許使用如神經結構搜索 (NAS) 這類自動結構搜索方法不失為一種好的選擇。

在參數微調之上的知識遷移

微調是目前將 PTM 的知識轉移至下游任務的主要方法,但效率卻很低,每個下游任務都有特定的微調參數。而改進的解決方案是修復 PTM 的原始參數,並特定為任務添加小型的微調適配模塊,因此可以使用共享的 PTM 服務於多個下游任務。從 PTM 挖掘知識可以變得更加靈活,如特征提取、知識提取和數據擴充等方面。

PTMs 的解釋性與可靠性

雖然 PTM 取得了令人印象深刻的表現,然而其深層非線性結構使得決策過程非常不透明。最近,可解釋的人工智能 (XAI) 成為通用 AI 社區的熱點話題。不同於 CNN 使用圖像,由於 Transformer 類結構和語言的復雜性,解釋 PTM 變得更加困難。另外,當 PTMs 在生產系統中大規模應用時,其可靠性逐漸引起了廣泛關注。深層神經網絡模型在對抗性樣本中顯得十分脆弱,在原輸入中加入難以察覺的擾動即可誤導模型產生攻擊者預先設定好的錯誤預測。
除此之外,PTM 的敵對攻擊防御手段是一個很有前途的方向,其能夠提高 PTMs 的魯棒性,同時使得他們對敵對攻擊免疫。總之,PTMs 的可解釋性與可靠性仍然需要從各個方面去探索,它能夠幫助我們理解 PTM 的工作機制,為更好的使用及性能改進提供指引。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM