上下文嵌入,如ELMo和BERT,超越了像Word2Vec這樣的全局單詞表示,在廣泛的自然語言處理任務中取得了突破性的性能。上下文嵌入根據上下文為每個單詞分配一個表示,從而捕獲不同上下文中單詞的用法,并對跨語言傳輸的知識進行編碼。在這項綜述中,我們回顧了現有的上下文嵌入模型、跨語言的多語言預訓練、上下文嵌入在下游任務中的應用、模型壓縮和模型分析。
在大型語料庫無監督訓練的分布式詞表示(Turian et al., 2010; Mikolov et al., 2013; Pennington et al., 2014)在現代自然語言處理系統中得到了廣泛的應用。但是,這些方法只獲得每個單詞的一個全局表示,而忽略了它們的上下文。與傳統的單詞表示不同,上下文嵌入超越了單詞級語義,因為每個標記都與作為整個輸入序列的函數的表示相關聯。這些與上下文相關的表示可以在不同的上下文中捕捉到詞匯的許多句法和語義特征。(Peters et al., 2018; Devlin et al., 2018; Yang et al., 2019; Raffel et al., 2019)的研究表明,在大規模未標記的語料庫上預訓練的上下文嵌入,在文本分類、問題回答和文本摘要等一系列自然語言處理任務上取得了最先進的表現。進一步的分析(Liu et al., 2019a; Hewitt and Liang, 2019; Hewitt and Manning, 2019; Tenney et al., 2019a)證明了上下文嵌入能夠學習跨語言的有用且可遷移的表示。
綜述論文的其余部分組織如下。在第2節中,我們定義了上下文嵌入的概念。在第3節中,我們將介紹獲取上下文嵌入的現有方法。第四部分介紹了多語言語料庫中下文嵌入的預處理方法。在第5節中,我們描述了在下游任務中應用預訓練的上下文嵌入的方法。在第6節中,我們詳細介紹了模型壓縮方法。在第7節中,我們調查了旨在識別通過語境嵌入學到的語言知識的分析。在第8節中,我們通過強調未來研究的一些挑戰來結束綜述。
題目: KG-BERT: BERT for Knowledge Graph Completion
摘要: 知識圖譜是許多人工智能任務的重要資源,但往往是不完整的。在這項工作中,我們使用預訓練的語言模型來對知識圖譜進行補全。我們將知識圖譜中的三元組視為文本序列,并提出了一種新的框架結構——知識圖譜雙向編碼方向轉換器(KG-BERT)來對這些三元組進行建模。該方法以一個三元組的實體描述和關系描述作為輸入,利用KG-BERT語言模型計算三元組的評分函數。在多個基準知識圖譜上的實驗結果表明,我們的方法在三元組分類、鏈接預測和關系預測任務上都能達到最新的性能。
【導讀】嵌入向量( embedding)是一項廣受歡迎的技術,有著眾多應用。最近來自撰寫了《Embeddings in Natural Language Processing Theory and Advances in Vector Representation of Meaning》,共163頁pdf,該書首先解釋了傳統的詞向量空間模型和詞嵌入(如Word2Vec和GloVe),然后介紹了其他類型的嵌入,如語意、句子和文檔以及圖形嵌入。我們還概述了上下文化表示(如ELMo、BERT)的最新發展狀況,并解釋了它們在NLP中的潛力。值得關注。
自2010年代早期以來,嵌入一直是自然語言處理(NLP)的流行詞匯之一。將信息編碼為低維向量表示,在現代機器學習算法中很容易得到集成,這在NLP的發展中起到了核心作用。嵌入技術最初集中在單詞上,但很快注意力開始轉向其他形式:從圖形結構(如知識庫),轉向其他類型的文本內容(如句子和文檔)。
這本書提供了一個高層次NLP嵌入技術的綜述。該書首先解釋了傳統的詞向量空間模型和詞嵌入(如Word2Vec和GloVe),然后介紹了其他類型的嵌入,如語意、句子和文檔以及圖形嵌入。我們還概述了上下文化表示(如ELMo、BERT)的最新發展狀況,并解釋了它們在NLP中的潛力。
在第二章,我們提供了一些基本的NLP和機器學習應用于語言問題的背景知識。然后,簡要介紹了詞匯語義中常用的一些主要的知識資源。
第3章討論了單詞表示,從傳統的基于可數的模型的簡要概述開始,接著是最近的基于預測的和基于字符的嵌入。在同一章中,我們還描述了一些專門用于嵌入的技術,例如跨語言單詞嵌入,以及單詞表示的通用評估方法。
3.第4章討論了嵌入結構化知識資源的各種技術,特別是語義圖。我們將概述最近的主要方法對于圖的嵌入節點和邊,并總結其應用和評價。
在第5章中,我們重點討論了單詞的個別含義的表示,即:文字意義。討論了兩類意義表示(無監督的和基于知識的),然后討論了這類表示的評價技術。
第六章是關于上下文嵌入的最新分支。在本章中,我們首先解釋這種嵌入的必要性,然后描述主要的模型以及它們如何與語言模型相聯系。在同一章中,我們還介紹了解釋和分析上下文模型有效性的一些工作。
第7章超越了單詞的層次,描述了如何將句子和文檔編碼成向量表示。我們介紹了一些著名的監督和非監督技術,并討論了這些表示的應用和評估方法。
第8章解釋了最近討論的詞嵌入的一些倫理問題和固有偏見。本章還介紹了消除詞嵌入的一些建議。
最后,在第九章中,我們提出了結束語和開放式研究的挑戰。
近年來,預訓練模型(PTMs)的出現將自然語言處理(NLP)帶入了一個新的時代。在這項綜述中,我們提供了一個全面的PTMs調研。首先簡要介紹了語言表示學習及其研究進展。然后,我們根據四種觀點對現有的PTMs進行了系統的分類。接下來,我們將描述如何將PTMs的知識應用于下游任務。最后,我們概述了未來PTMs研究的一些潛在方向。本調查旨在為理解、使用和開發各種NLP任務的PTMs提供實際指導。
1. 概述
隨著深度學習的發展,各種神經網絡被廣泛用于解決自然語言處理(NLP)任務,如卷積神經網絡(convolutional neural networks, CNNs)[75,80,45]、遞歸神經網絡(neural networks, RNNs)[160, 100]、基于圖的神經網絡(graphbased neural network, GNNs)[146, 161, 111]和注意力機制[6,171]等。這些神經模型的優點之一是能夠緩解特征工程問題。非神經NLP方法通常嚴重依賴于離散的手工特征,而神經方法通常使用低維和稠密的向量(又稱分布式表示)隱式地表示語言的語法或語義特征。這些表示是在特定的NLP任務中學習的。因此,神經方法使人們可以很容易地開發各種NLP系統。
盡管神經模型在NLP任務中取得了成功,但與計算機視覺(CV)領域相比,性能改進可能不那么顯著。主要原因是,當前用于大多數監督的NLP任務的數據集相當小(機器翻譯除外)。深度神經網絡通常具有大量的參數,使其對這些小的訓練數據過度擬合,在實際應用中泛化效果不佳。因此,許多NLP任務的早期神經模型相對較淺,通常只包含1 ~ 3個神經層。
最近大量的工作表明,在大型語料庫上的預訓練模型(PTMs)可以學習通用語言表示,這對后續的NLP任務是有益的,可以避免從零開始訓練新模型。隨著計算能力的發展,深層模型(即隨著訓練技能的不斷提高,PTMs的體系結構由淺向深推進。第一代PTM的目標是學習好的詞嵌入。由于下游任務不再需要這些模型本身,它們在計算效率方面通常非常膚淺,如Skip-Gram[116]和GloVe[120]。雖然這些預訓練的嵌入可以捕獲單詞的語義含義,但它們是上下文無關的,不能捕獲文本的高級概念,如語法結構、語義角色、回指等。第二代PTMs主要學習上下文詞嵌入,如CoVe[113]、ELMo[122]、OpenAI GPT[130]、BERT[32]等。這些學習過的編碼器仍然需要在上下文中通過下游任務來表示單詞。此外,還提出了各種預訓練的任務,以學習PTMs的不同目的。
這篇綜述的貢獻可以總結如下:
3.資源豐富。我們在PTMs上收集了豐富的資源,包括開源系統、論文列表等。
綜述的其余部分組織如下。第2節概述了PTMs的背景概念和常用符號。第3節簡要概述了PTMs,并澄清了PTMs的分類。第4節提供了PTMs的擴展。第5節討論如何將PTMs的知識遷移到下游任務。第6節給出了PTMs的相關資源,包括開源系統、論文列表等。第7節介紹了跨各種NLP任務的應用程序集合。第8節討論了當前的挑戰并提出了未來的方向。第9節對本文進行了總結。
2. 背景
2.1 語言表示學習
分布式表示的核心思想是用低維實值向量來描述文本的意義。而向量的每一個維度都沒有對應的意義,而整體則代表一個具體的概念。圖1說明了NLP的通用神經體系結構。詞嵌入有兩種:非上下文嵌入和上下文嵌入。它們之間的區別是,一個詞的嵌入是否根據它出現的上下文動態變化。
2.2 神經上下文編碼器
大部分的神經上下文編碼器可以分為三類:卷積模型、序列模型和基于圖的模型。圖2說明了這些模型的體系結構。
(1) 卷積模型。卷積模型采用單詞在輸入句中的嵌入,通過卷積運算將相鄰詞的局部信息聚合起來,從而獲取單詞的意義[80]。卷積模型通常易于訓練,能夠捕獲局部上下文信息。
(2 )序列模型。序列模型通常采用rns(如LSTM[60]和GRU[21])來捕獲單詞的上下文表示。在實踐中,雙向RNNs被用來收集單詞兩邊的信息,但其性能往往受到長期依賴問題的影響。
(3) 基于圖模型。與上述模型不同的是,基于圖的模型以單詞為節點,學習單詞之間具有預定義語言結構的上下文表示,如句法結構[146,161]或語義關系[111]。
2.3 為什么要預訓練?
隨著深度學習的發展,模型參數的數量迅速增加。需要更大的數據集來充分訓練模型參數并防止過度擬合。然而,對于大多數NLP任務來說,構建大規模的標記數據集是一個巨大的挑戰,因為注釋成本非常昂貴,特別是對于語法和語義相關的任務。
相比之下,大規模的未標記語料庫相對容易構建。為了利用巨大的未標記文本數據,我們可以首先從它們那里學習良好的表示,然后將這些表示用于其他任務。最近的研究表明,借助從大型無注釋語料庫的PTMs中提取的表示,許多NLP任務的性能都有顯著提高。
預訓練的好處可以總結如下:
3. 預訓練語言模型分類
為了明確現有PTMs與NLP之間的關系,我們構建了PTMs的分類法,該分類法從不同的角度對現有PTMs進行了分類: (1) PTMs使用的單詞表示類型,(2) PTMs使用的主干網絡,(3) PTMs使用的預訓練任務類型,(4) 為特定類型的場景或輸入設計的PTMs。圖6顯示了分類以及一些相應的代表性PTMs。
此外,表1詳細區分了一些有代表性的PTMs。
4. 預訓練語言模型擴展
4.1 知識增強的PTMs
PTMs通常從通用的大型文本語料庫中學習通用語言表示,但缺乏領域特定的知識。將來自外部知識庫的領域知識整合到PTM中已被證明是有效的。外部知識范圍從語言學[87,78,123,178],語義[92],常識[48],事實[199,123,101,188,182],到具體領域的知識[54]。
4.2 多模態PTMS 由于PTMs在許多NLP任務上的成功,一些研究集中在獲得PTMs的跨模態版本上。這些模型中的絕大多數是為一般的視覺和語言特征編碼而設計的。這些模型是在一些巨大的跨模態數據語料庫上進行預訓練的,例如帶有口語單詞的視頻或帶有字幕的圖像,結合擴展的預訓練任務來充分利用多模態特征。VideoBERT[152]和CBT[151]是視頻和文本的聯合模型。為了獲得用于預訓練的視覺和語言標記序列,視頻分別由基于cnn的編碼器和現成的語音識別技術進行預處理。在處理后的數據上訓練一個變壓器編碼器,以學習下游任務(如視頻字幕)的視覺語言表示。此外,UniViLM[109]提出引入生成任務來進一步預訓練下游任務中使用的解碼器。
4.3 模型壓縮
應用基準、機器翻譯、問答、情感分析、摘要、命名實體識別
(1) PTMs的上界
目前,PTMs還沒有達到其上限。現有的PTMs大多可以通過更多的訓練步驟和更大的語料庫來進一步完善。
通過增加模型的深度可以進一步提高NLP的技術水平,如Megatron-LM144和Turing-NLG(170億個參數,78個隱藏尺寸為4256和28個注意頭的Transformer層)。
通用型PTM一直是我們學習語言固有的通用知識(甚至是世界知識)的追求,但此類PTM通常需要更深入的體系結構、更大的語料庫和更具挑戰性的訓練前任務,這又進一步導致了更高的訓練成本。然而,訓練大模型也是一個具有挑戰性的問題,需要更復雜、更高效的訓練技術,如分布式訓練、混合精度、梯度積累等。因此,更實際的方向是使用現有的硬件和軟件設計更有效的模型架構、自我監督的訓練前任務、優化器和訓練技能。ELECTRA[22]是這個方向的一個很好的解決方案。
(2) 面向任務的預訓練和模型壓縮
在實踐中,不同的下游任務需要不同的PTMs能力。PTMs與下游任務之間的差異通常表現在兩個方面:模型體系結構和數據分布。較大的差異可能導致PTMs的益處可能不明顯。盡管較大的PTM通常可以帶來更好的性能,但一個實際問題是如何在特殊場景(如低容量設備和低延遲應用程序)中利用這些巨大的PTM。因此,我們可以為下游任務精心設計特定的模型架構和預訓練任務,或者從現有的PTMs中提取部分特定于任務的知識。
此外,我們可以通過使用模型壓縮等技術,用通用的現有PTM來教他們,而不是從頭開始訓練面向任務的ptm(參見4.3節)。雖然在CV[17]中,針對CNNs的模型壓縮已經得到了廣泛的研究,但針對NLP的PTMs的模型壓縮才剛剛開始。Transformer 的全連接結構也使模型壓縮更具挑戰性。
(3) PTMs架構
Transformer已被證明是一種有效的預訓練體系結構。然而,Transformer 的主要限制是它的計算復雜度,它是輸入長度的平方。由于GPU內存的限制,目前大多數PTM不能處理512個標記以上的序列。打破這一限制需要改進Transformer的架構,比如Transformer- xl[27]。因此,為PTMs搜索更有效的模型體系結構對于捕獲更長期的上下文信息非常重要。
深度架構的設計具有挑戰性,我們可以從一些自動化方法中尋求幫助,如神經架構搜索(neural architecture search, NAS)[205]。
(4)超越微調的知識遷移
目前,將PTMs的知識傳遞給下游任務的主要方法是微調,但其缺點是參數效率低下:每個下游任務都有自己的微調參數。一種改進的解決方案是對原有PTMs的參數進行修正,并為特定的任務添加小的可調自適應模塊[149,61]。因此,我們可以使用一個共享的PTM來服務多個下游任務。事實上,從PTMs中挖掘知識可以更加靈活,如特征提取、知識提取[195]、數據擴充[185,84],利用PTMs作為外部知識[125]等。期望有更有效的方法。
(5) PTMs的可解釋性和可靠性
雖然PTM的性能令人印象深刻,但其深層的非線性架構使得決策過程高度不透明。
近年來,可解釋人工智能[4]已經成為人工智能領域的一個研究熱點。與用于圖像的CNN不同,由于Transformer的架構和語言的復雜性,解釋PTMs更加困難。人們做了大量的工作(見3.3節)來分析PTMs中包含的語言和世界知識,這有助于我們以某種程度的透明性理解這些PMTs。然而,許多模型分析工作依賴于注意力機制,注意力對可解釋性的有效性仍存在爭議[66,142]。
此外,隨著PTMs在生產系統中的廣泛應用,PTMs的可靠性也成為一個備受關注的問題。深層神經模型容易受到對抗性樣本的影響,這些例子可能會誤導模型,使其產生一個特定的錯誤預測,而這種預測會受到來自原始輸入的難以察覺的干擾。在CV中,對抗性攻擊和防御被廣泛研究。然而,由于語言的離散性,文本仍然面臨著挑戰。為文本生成對抗性樣本需要具備以下品質:(1)不易被人類法官察覺,但容易被神經模型誤導;(2)語法流利,語義與原輸入一致。Jin等人[71]用對抗性的例子成功地在文本分類和文本蘊涵方面攻擊了經過微調的BERT。Wallace等人[175]定義了通用的對抗觸發器,當將模型連接到任何輸入時,該觸發器可以誘導模型產生特定目的的預測。有些觸發器甚至會導致GPT-2模型生成帶有種族主義色彩的文本。對PTM進行對抗性攻擊的研究有助于我們了解它們的能力,從而充分暴露它們的弱點。Sun等人[155]的研究表明,BERT對拼寫錯誤并不敏感。此外,針對PTMs的對抗防御也很有前途,它提高了PTMs的魯棒性,使其對對抗攻擊免疫。
總的來說,作為許多NLP應用中的關鍵組件,PTMs的可解釋性和可靠性在很多方面還有待進一步的探索,這有助于我們理解PTMs是如何工作的,并為更好的使用和進一步的改進提供指導。
參考文獻:
Akbik et al. [2018] Alan Akbik, Duncan Blythe, and Roland Vollgraf. Contextual string embeddings for sequence labeling. In COLING, pages 1638–1649, 2018.
Alberti et al. [2019] Chris Alberti, Jeffrey Ling, Michael Collins, and David Reitter. Fusion of detected objects in text for visual question answering. In EMNLP-IJCNLP, pages 2131–2140, 2019.
Alsentzer et al. [2019] Emily Alsentzer, John R. Murphy, Willie Boag, Wei-Hung Weng, Di Jin, Tristan Naumann, and Matthew B. A. McDermott. Publicly available clinical BERT embeddings. arXiv preprint arXiv:1904.03323, 2019.
Arrieta et al. [2020] Alejandro Barredo Arrieta, Natalia Díaz-Rodríguez, Javier Del Ser, Adrien Bennetot, Siham Tabik, Alberto Barbado, Salvador García, Sergio Gil-López, Daniel Molina, Richard Benjamins, et al. Explainable artificial intelligence (xai): Concepts, taxonomies, opportunities and challenges toward responsible ai. Information Fusion, 58:82–115, 2020.
Baevski et al. [2019] Alexei Baevski, Sergey Edunov, Yinhan Liu, Luke Zettlemoyer, and Michael Auli.Cloze-driven pretraining of self-attention networks. In Kentaro Inui, Jing Jiang, Vincent Ng, and Xiaojun Wan, editors, EMNLP-IJCNLP, pages 5359–5368, 2019.
題目: A Survey on Contextual Embeddings
摘要:
上下文嵌入,如ELMo和BERT,超越了像Word2Vec這樣的全局單詞表示,在廣泛的自然語言處理任務中取得了突破性的性能。上下文嵌入根據上下文為每個單詞分配一個表示,從而捕獲不同上下文中單詞的用法,并對跨語言傳輸的知識進行編碼。在這項調查中,我們回顧了現有的上下文嵌入模型、跨語言的多語言預訓練、上下文嵌入在下游任務中的應用、模型壓縮和模型分析。
對于自然語言理解任務來說,外部知識通常是有用的。我們介紹了一個上下文文本表示模型,稱為概念上下文(CC)嵌入,它將結構化的知識合并到文本表示中。與實體嵌入方法不同,我們的方法將知識圖編碼到上下文模型中。就像預先訓練好的語言模型一樣,CC嵌入可以很容易地在廣泛的任務中重用。我們的模型利用語義泛化,有效地編碼了龐大的UMLS數據庫。在電子健康記錄(EHRs)和醫療文本處理基準上的實驗表明,我們的模型大大提高了監督醫療NLP任務的性能。
基于Transformer的模型目前在NLP中得到了廣泛的應用,但我們對它們的內部工作原理仍然知之甚少。本文綜合了40多項分析研究,對著名的BERT模型(Devlin et al 2019)的已知情況進行了描述。我們還提供了對模型及其訓練機制的擬議修改的概述。然后我們概述了進一步研究的方向。
概述
自2017年推出以來,Transformers(Vaswani et al 2017)掀起了NLP的風暴,提供了增強的并行化和更好的長依賴建模。最著名的基于Transformers 的模型是BERT (Devlin et al 2019),他們在許多基準測試中獲得了最先進的結果,并集成在谷歌搜索中,提升了10%的查詢準確率。
雖然很明顯BERT和其他基于Transformer的模型工作得非常好,但是不太清楚為什么,這限制了架構的進一步假設驅動的改進。與CNNs不同,Transformer幾乎沒有認知動機,而且這些模型的大小限制了我們進行預訓練實驗和消融研究的能力。這解釋了過去一年里大量的研究試圖理解BERT表現背后的原因。
本文概述了迄今為止所了解到的情況,并強調了仍未解決的問題。我們重點研究BERT學習的知識的類型,這些知識在哪里體現,如何學習,以及提出的改進方法。
BERT架構
從根本上說,BERT是一堆由多個“頭”組成的Transformer 編碼器層,即全連接神經網絡增強了一個自我注意機制。對于序列中的每個輸入標記,每個頭計算鍵、值和查詢向量,這些向量用于創建加權表示。將同一層中所有磁頭的輸出合并并通過全連接層運行。每個層都用一個跳過連接進行包裝,并在它之后應用層規范化。
圖1 BERT模型
目錄:
題目:GNEG:Graph-Based Negative Sampling for word2vec
論文摘要; 負抽樣是分布式詞表示學習的一個重要組成部分。我們假設,考慮全局的語料庫級信息,為每個目標詞生成不同的噪聲分布,比原始的基于頻率的分布更能滿足每個訓練詞的反例要求。為此,我們從語料庫中預先計算單詞的共現統計量,并將其應用于隨機游走等it網絡算法中。我們通過一系列實驗驗證了這一假設,實驗結果表明,我們的方法將單詞類比任務提高了約5%,并將單詞相似性任務的性能提高了約1%。
論文題目: Learning Conceptual-Contextual Embeddings for Medical Text
論文摘要:
對于自然語言理解任務來說,外部知識通常是有用的。本文介紹了一個上下文文本表示模型,稱為概念上下文(CC)嵌入,它將結構化的知識合并到文本表示中。與實體嵌入方法不同,文中提到的方法將知識圖編碼到上下文模型中。就像預先訓練好的語言模型一樣,CC嵌入可以很容易地在廣泛的任務中重用。模型利用語義泛化,有效地編碼了龐大的UMLS數據庫。電子實驗健康記錄(EHRs)和醫療文本處理基準表明,而使得模型大大提高了監督醫療NLP任務的性能。