【NLP】人大团队研究:面向文本生成,预训练模型进展梳理
文本生成是?NLP 中最重要且頗具挑戰性的任務之一。近年來,預訓練語言模型 (Pretrained Language Models ,下文簡稱 “PLM”) 的范式,極大地推動了該領域的發展。例如,我們曾介紹過 AI 在古詩生成上的突破《清華團隊最新成果:可致特朗普能詠比特幣,AI 寫古詩 “更上一層樓”》。
最近,一項由中國人民大學團隊完成的預印本論文 Pretrained Language Models for Text Generation: A Survey,概述了在用于文本生成的 PLM 主題中取得的主要進展,旨在為文本生成研究人員提供相關研究的綜述與指導。
Transformer 與 PLM 的興起
文本生成,旨在將輸入數據(例如,序列和關鍵字)以人類語言模式生成合理且可讀的文本。
PLM 的思路,則是首先在大規模語料庫中預訓練模型,然后在各種下游任務中對這些模型進行微調,以達到最先進的結果。
PLM 可以從語料庫中編碼大量語言知識,并促使生成語言的通用表示。因此,PLM 通常有利于下游任務,并且可以避免從頭開始訓練新模型。
此外,隨著算力的增強和 Transformer 架構的出現,PLM 由淺入深,在許多任務中取得了出色的性能,例如 BERT 和 GPT。因此,研究人員提出了各種方法來解決基于 PLM 的文本生成任務。
文本生成的核心是生成一系列離散標記序列 y=〈y1, . . . , yj, . . . , yn〉,其中每個 yj 是從單詞詞匯表 V 中提取的。在大多數情況下,文本生成以輸入數據為條件,例如屬性、文本和結構化數據,記為??。形式上,文本生成任務可以描述為:
?χχ?? ??
輸入?? | 任務 |
隨機噪聲(Random noise) | 無條件文本生成(Unconditional text generation) |
離散屬性(Discrete attributes) | 主題到文本的生成(Topic-to-text generation) |
基于屬性的文本生成(Attribute-based generation) | |
結構化數據(Structured data) | 數據到文本的生成(Data-to-text generatio) |
多媒體(Multimedia) | 圖像文本描述(Image Caption) |
語音識別(Speech recognition) | |
文本序列(Text sequence) | 機器翻譯(Machine translation) |
總結(Summarization) | |
對話系統(Dialogue system) |
表 1 文本生成的主要任務及其對應輸入
PLM ?使用大量未標記的文本數據進行預訓練,并且可以在下游生成任務上進行微調。
在大規模語料庫上預訓練的 PLM 將海量的語言和世界知識編碼為大量參數,可以增強對語言的理解并提高生成質量。預訓練的思想受到人類思維的啟發,比如人類會轉移和重用過去所學的舊知識,以理解新知識并處理各種新任務。受此啟發,PLM 可以利用舊經驗和知識成功地執行新任務。
由于 Transformer 取得的巨大成就,幾乎所有的 PLM 都采用了 Transformer 的骨干網絡。對于文本生成任務,一些 PLM 使用遵循基本編碼器 - 解碼器框架的標準 Transformer 架構,而其他 PLM 使用僅解碼器的 Transformer。
不同的數據類型
從輸入來看,文本生成可以分為三種主要輸入,即非結構化輸入、結構化輸入和多媒體輸入。PLM 將對這些輸入數據進行建模。
丨非結構輸入
在 NLP 研究中,大多數研究側重于對非結構化文本輸入(例如,句子、段落和文檔)進行建模。要生成令人滿意的輸出文本,需要具備出色語言理解能力,即超越輸入文本中單個單詞表面含義。
在某些情況下,輸入文本可能是由多個句子和段落組成的長文檔。對于受句子或短段落約束的 PLM,它們不太能夠準確地對文檔中的長期依賴項進行建模??紤]到這一挑戰,分層 BERT 被提出用來學習具有自注意力的句子之間的交互以進行文檔編碼。此外,為了捕獲句間關系,DiscoBERT 在 BERT 之上堆疊圖卷積網絡 (GCN) 以對結構性話語圖進行建模。通過直接對話語單元進行操作,DiscoBERT 保留了包含更多概念或上下文的能力,從而產生更簡潔和信息量更大的輸出文本。
該研究觀察到大多數最新的 PLM 都是針對英文文本進行預訓練的。然而,許多多語言生成任務(例如機器翻譯)涉及多種語言,某些語言資源不足,這一挑戰阻礙了單語 PLM 在多語文本生成任務中的廣泛應用。因此,Conneau 等人提出學習跨語言模型(XLMs)以進行多語言理解?;诳缯Z言 PLM,文本生成模型即使在資源匱乏的語言中仍可獲得有效的輸入詞嵌入。
丨結構化輸入
結構化數據(例如圖形和表格)也是許多實際應用(例如天氣報告生成)中文本生成的關鍵輸入類型。然而,在現實世界的場景中,很難收集大量帶有真實文本的標記結構化數據進行訓練。由于在大規模語料庫上進行了預訓練,PLM 編碼了大量的語言知識,并在許多任務中表現出出色的小樣本能力。
在將 PLM 應用于結構化數據時,一個主要挑戰是如何將結構化數據輸入到 PLM 中,PLM 最初是為序列文本設計的。為了適應 PLM 的順序性質,Ribeiro 等人將輸入知識圖(KG)和抽象意義表示(AMR)圖線性化為三元組序列,Li 等人引入了一個額外的圖編碼器來對輸入 KG 進行編碼,Gogo 采用基于模板的方法將輸入表序列化為文本序列。例如,屬性 - 值對 “name: jackreynolds” 將被序列化為句子 “name is jackreynolds”。然而,直接線性化會丟失原始數據的結構信息,這可能導致生成關于數據的不忠實原文本。因此,為了生成忠實文本,Gong 等人提出了一個輔助重建任務來恢復輸入數據的結構信息,這可以增強建模結構信息的能力。
通常,輸出文本應盡可能多地保留結構化數據中的重要信息。因此,為了生成符合輸入的高保真文本,采用指針生成器機制從輸入知識數據中復制單詞。通過將 PLM 以外部知識為基礎,很可能賦予生成模型兼具豐富的知識和良好的泛化能力。
丨多媒體輸入
除了上述文本數據之外,還進行了一些嘗試將多媒體數據(例如圖像、視頻和語音)作為輸入,例如圖像、視頻文本描述和語音識別等。VideoBERT 和 CBT 都對視頻文本描述任務進行了預訓練。
然而,它們僅對基于 BERT 的編碼器進行了預訓練,以學習視覺和語言標記序列的雙向聯合分布。所以必須再訓練一個單獨的視頻到文本解碼器,但這往往會導致預訓練 - 微調的差異。相比之下,Unified VLP 使用共享的多層 Trans-former 網絡進行編碼和解碼。
受 GPT 中生成預訓練目標的啟發,跨模態預訓練模型(XGPT)被提出,以圖像為輸入,在預訓練階段使用圖像標題任務作為基本生成任務。
除了圖像和視頻,語音識別還需要人工轉錄的監督數據。因此,開發了許多無監督和半監督方法來集成 PLM 以進行弱監督學習。例如,還有團隊提出了一種無監督的方法來預訓練編碼器 - 解碼器模型,其中包含不成對的語音和書面文本。兩個預訓練階段用于分別提取帶有語音和書面文本的聲學和語言信息,這對于下游的語音識別任務很有用。
3 大關鍵要求
在不同的文本生成任務中,生成的文本應該滿足幾個關鍵屬性,即相關性、忠于原文和順序一致。
根據語言學文獻,在文本生成中,相關性是指輸出文本中的主題與輸入文本高度相關。一個代表性的例子是對話系統的任務,它需要生成的響應與輸入對話歷史相關。除了對話歷史之外,還可以提供與響應類型相對應的條件作為外部輸入,例如響應的主題和說話者的角色。生成的響應也應該與條件相關。
同樣,忠于原文也是文本生成的一個關鍵指標,它要求生成文本中的內容不應與輸入文本中的事實相矛盾。有時,它進一步意味著生成的文本符合世界事實。一個代表性的例子是文本摘要任務,其目的是生成代表原始內容中最重要信息的忠實文本。在大量文本集合上進行預訓練,PLM 可能有利于利用背景知識生成忠實的文本。
另外,在 NLP 領域,順序保持表示輸入和輸出文本中語義單元(詞、短語等)的順序是一致的。
最有代表性的例子是機器翻譯任務。從源語言翻譯成目標語言時,保持源語言和目標語言的短語順序一致,會在一定程度上保證翻譯結果的準確性。
幾種常用的微調策略
對于使用 PLM 生成文本,一個關鍵因素是如何設計合適的微調策略。在這一部分,該研究從數據、任務和模型 3 大角度回顧了幾種常用的微調策略。
丨數據角度
在將 PLMs 應用于文本生成任務尤其是在新領域的文本生成任務時,如何設計適合新領域特點的合適有效的微調策略是一個重要的考慮因素。
小樣本學習:通常采用的方法是使用預訓練參數插入現有模塊。然后該研究用幾個、一個甚至沒有研究任務的例子對它進行微調,分別是所謂的少樣本、單樣本和零樣本。
例如在多語言翻譯中,一些低資源語言缺乏足夠的平行語料庫。XLM 提出學習跨語言模型,可以將在高資源語言中學到的知識用于低資源語言。使用第 4 節中提出的方法,小樣本學習也可以應用于數據到文本的任務。
領域轉移:在微調目標任務之前,繼續在具有預訓練目標的特定數據上訓練 PLM。掩碼預測是一種廣泛使用的方法,試圖使用剩余的令牌來預測被掩碼的令牌。領域轉移中存在多種掩蔽方式的變體。
丨任務角度
除了新領域的特征外,在微調 PLM 時考慮特定生成任務中的語言連貫性和文本保真度等特殊問題也很有意義。
增強連貫性:為了增強語言連貫性,一個重要的方法是在微調期間更好地建模語言上下文。通過對比學習微調的模型擅長區分句子對是否相似。通過這種方法,PLM 被迫理解兩個句子之間的位置或語義關系,從而獲得更好的表示。
下一句預測(NSP)是判斷兩個輸入句子是否為連續句段的常用方法,可應用于摘要和對話系統。
去噪自動編碼 (DAE) 將損壞的文本作為輸入,旨在恢復原始文本。使用 DAE 微調的模型具有很強的理解整體句子和捕獲更遠距離相關性的能力。
保真度:文本保真度是指生成的文本如何與原始輸入信息保持一致,這是許多文本生成任務中需要考慮的一個重要方面。PLMs 中的通用結構無法在特定文本生成任務中保留文本保真度。對于表到文本生成任務,需要對表的結構信息進行編碼。
數據 | 種類 | 方法 |
輸入 | 非結構化 | BERT 充當文本編碼器;用于文檔建模的分層;以及用于多語言輸入文本的跨語言 PLM。 |
結構化 | 將 KG 和 AMR 圖線性化為三重序列;用于編碼 KG 的圖編碼器;以及將表序列化為基于模板的文本序列。 | |
多媒體 | 視頻文本描述;圖像文本描述;以及語音識別。 | |
輸出 | 相關性 | 微調對話系統中的 PLM 以生成更相關和上下文相關的響應;以及基于 BERT 推廣到任何類型的輸入條件。 |
忠于原文 | 使用多個 PLM 提高忠實度;從輸入中檢索相關部分并結合 PLM 的先驗知識;以及通過主題建模損失在不同目標域中生成忠實文本。 | |
順序一致性 | 詞對對齊;通用多語言機器翻譯模型和詞表示對齊。 |
表 2 文本生成的輸入類型和輸出屬性的類別
丨模型角度
為了提高生成文本的質量,關鍵是根據特定任務的數據很好地訓練 PLMs 的參數,以便 PLMs 可以捕獲專門針對生成任務的語義特征。然而,如上所述,特定于任務的數據不足,因此在對有限數據進行微調時很可能會出現過擬合的情況。這一部分將介紹幾種針對模型的微調方法。
首先是使用固定的教師 GPT 來保存在另一個微調 GPT 中編碼的知識。包括利用 BERT 模型(教師)作為監督來指導 Seq2Seq 模型(學生)以獲得更好的生成性能。此外,還可以利用兩個優化器分別更新 PLM 和初始模塊的參數,以解決兩個模塊之間的差異。
還有其他方法可以指導微調過程。例如,強化學習可用于通過不可微的度量直接指導模型,例如 ROUGE。
未來的幾大重要方向
本文概述了用于文本生成的預訓練語言模型的最新進展。為了推進這一領域,將 PLM 應用于文本生成有幾個有希望的未來方向。
丨模型擴展
這個方向的必要性在于,預訓練和下游生成任務之間仍然存在差異。因此,為文本生成設計合適的預訓練范式仍十分必要。此外,在預訓練期間將外部知識納入 PLM 已被證明是有效的,研究如何為文本生成注入更多的相關知識是一個重要趨勢。
丨可控生成
使用 PLM 生成可控文本是一個有趣的方向,但仍處于早期的階段。控制生成文本的某些屬性有許多有用的應用,例如在對話系統中對抑郁癥患者產生積極響應。
然而,PLM 通常在通用語料庫中進行預訓練,難以控制生成文本的多粒度屬性(例如,情感、主題和連貫性)。同時,這些控制代碼是預設的和粗粒度的。未來的工作可以探索多粒度控制并開發足夠可控的 PLM。
丨模型壓縮
盡管具有大規模參數的 PLM 在文本生成方面取得了成功,但這些模型在資源受限的環境中部署具有挑戰性。因此,研究如何以少量參數實現競爭性能是有意義的。
丨微調探索
預訓練的直接目的是將 PLM 中學到的語言知識提煉到下游生成任務中。并且,微調是目前主要的傳輸方法。可以通過多種方式將知識從 PLM 轉移到下游模型。
丨與語言無關的 PLM
如今,幾乎所有用于文本生成的 PLM 都主要基于英語。這些 PLM 在處理非英語生成任務時會遇到挑戰。因此,與語言無關的 PLM 值得研究,它需要捕獲跨不同語言的通用語言和語義特征。
丨道德問題
目前,PLM 是在從網絡爬取的大規模語料庫上進行預訓練的,沒有進行細粒度過濾,可能會導致道德問題,例如生成有關用戶的私人內容。因此,研究人員應盡最大努力防止濫用 PLM。此外,PLM 生成的文本可能存在偏見,這與訓練數據在性別、種族和宗教維度上的偏見一致。因此,該研究應該干預 PLM 以防止此類偏差。
Refrence:
https://arxiv.org/pdf/2105.10311v2.pdf
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯溫州大學《機器學習課程》視頻 本站qq群851320808,加入微信群請掃碼:總結
以上是生活随笔為你收集整理的【NLP】人大团队研究:面向文本生成,预训练模型进展梳理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win7系统怎么打开屏幕键盘
- 下一篇: Win11关机后自动开机怎么办 Win1