當前位置:
首頁 > 新聞 > 從想法到實幹,2018年13項NLP絕美新研究

從想法到實幹,2018年13項NLP絕美新研究

在即將過去的 2018 年中,自然語言處理有很多令人激動的想法與工具。從概念觀點到實戰訓練,它們為 NLP 注入了新鮮的活力。

前一段時間,Sebastian Ruder 介紹了他心中 10 個最有影響力的想法,並且每一個都提供了具體論文與核心思想。正如 Ruder 所說,他的清單必然是主觀的,主要涵蓋了遷移學習和泛化相關的想法。其中有的想法在過去一年非常受關注,大家圍繞這些完美的觀點展開了很多研究工作與實踐。而有的想法並不是當前趨勢,不過它們有可能在未來變得流行。因此,機器之心在 Ruder 介紹的基礎上,重點關注今年的前沿趨勢,並推薦一些真正好用的 NLP 新工具。

在本文中,我們會重點關注 2018 年裡的神經機器翻譯與預訓練模型,這兩個概念真的非常 Excited!而後對於實戰裝備,數百種中文預訓練詞嵌入向量、BERT 預訓練模型和建模框架 PyText 等工具真的令人忍不住想做一個新穎的 NLP 應用。

1. 神經機器翻譯

在 2018 年,神經機器翻譯似乎有了很大的改變,以前用 RNN 加上注意力機制打造的 Seq2Seq 模型好像都替換為了 Tramsformer。大家都在使用更大型的 Transformer,更高效的 Transformer 組件。例如阿里會根據最近的一些新研究對標準 Transformer 模型進行一些修正。這些修正首先體現在將 Transformer 中的 Multi-Head Attention 替換為多個自注意力分支,其次他們採用了一種編碼相對位置的表徵以擴展自注意力機制,並令模型能更好地理解序列元素間的相對距離。

有道翻譯也採用了 Transformer,他們同樣會採取一些修正,包括對單語數據的利用,模型結構的調整,訓練方法的改進等。例如在單語數據的利用上,他們嘗試了回譯和對偶學習等策略,在模型結構上採用了相對位置表徵等。所以總的而言,儘管 Transformer 在解碼速度和位置編碼等方面有一些缺點,但它仍然是當前效果最好的神經機器翻譯基本架構。

在 Ruder 的介紹中,它非常關注兩種無監督機器翻譯模型,它們都被接受為 ICLR 2018 論文。如果無監督機器翻譯模型是能行得通的,那麼這個想法本身就很驚人,儘管無監督翻譯的效果很可能遠比有監督差。在 EMNLP 2018 中,有一篇論文在無監督翻譯上更進一步提出了很多改進,並獲得極大的提升。Ruder 筆記中提到了以下這篇論文:

  • 論文:Phrase-Based & Neural Unsupervised Machine Translation

  • 論文鏈接:https://arxiv.org/abs/1804.07755

這篇論文很好地提煉出了無監督 MT 的三個關鍵點:優良的參數初始化、語言建模和通過回譯建模反向任務。這三種方法在其它無監督場景中也有使用,例如建模反向任務會迫使模型達到循環一致性,這種一致性已經應用到了很多任務,可能讀者最熟悉的就是 CycleGAN。該論文還對兩種語料較少的語言做了大量的實驗與評估,即英語-烏爾都語和英語-羅馬尼亞語。

從想法到實幹,2018年13項NLP絕美新研究

無監督 MT 的三個主要原則:A)兩種單語數據集、B)參數初始化、C)語言建模、D)回譯。

這篇論文獲得了 EMNLP 2018 的最佳長論文獎,它在遵循上面三個主要原則的情況下簡化了結構和損失函數。得到的模型優於以前的方法,並且更易於訓練和調整。

2. 預訓練模型

2018 年,使用預訓練的語言模型可能是 NLP 領域最顯著的趨勢,它可以利用從無監督文本中學習到的「語言知識」,並遷移到各種 NLP 任務中。這些預訓練模型有很多,包括 ELMo、ULMFiT、OpenAI Transformer 和 BERT,其中又以 BERT 最具代表性,它在 11 項 NLP 任務中都獲得當時最佳的性能。不過目前有 9 項任務都被微軟的新模型超過。

機器之心曾解讀過 BERT 的的核心過程,它會先從數據集抽取兩個句子,其中第二句是第一句的下一句的概率是 50%,這樣就能學習句子之間的關係。其次隨機去除兩個句子中的一些詞,並要求模型預測這些詞是什麼,這樣就能學習句子內部的關係。最後再將經過處理的句子傳入大型 Transformer 模型,並通過兩個損失函數同時學習上面兩個目標就能完成訓練。

從想法到實幹,2018年13項NLP絕美新研究

如上所示為不同預訓練模型的架構,BERT 可以視為結合了 OpenAI GPT 和 ELMo 優勢的新模型。其中 ELMo 使用兩條獨立訓練的 LSTM 獲取雙向信息,而 OpenAI GPT 使用新型的 Transformer 和經典語言模型只能獲取單向信息。BERT 的主要目標是在 OpenAI GPT 的基礎上對預訓練任務做一些改進,以同時利用 Transformer 深度模型與雙向信息的優勢。

這種「雙向」的來源在於 BERT 與傳統語言模型不同,它不是在給定所有前面詞的條件下預測最可能的當前詞,而是隨機遮掩一些詞,並利用所有沒被遮掩的詞進行預測。

更詳細的論文解讀可以查看:谷歌終於開源 BERT 代碼:3 億參數量,機器之心全面解讀

此外,值得注意的是,最近微軟發布了一種新的綜合性模型,它在 GLUE 的 11 項基準 NLP 任務中的 9 項超過了 BERT,且評分也超過了 BERT。除了準確率外,微軟的新模型只有 1.1 億的參數量,遠比 BERT-Large 模型的 3.35 億參數量少,和 BERT-Base 的參數量一樣多。

從想法到實幹,2018年13項NLP絕美新研究

在「Microsoft D365 AI & MSR AI」模型的描述頁中,新模型採用的是一種多任務聯合學習。因此所有任務都共享相同的結構,並通過多任務訓練方法聯合學習。目前新模型的信息還非常少,如果經過多任務預訓練,它也能像 BERT 那樣用於更廣泛的 NLP 任務,那麼這樣的高效模型無疑會有很大的優勢。

Sebastian Ruder 非常欣賞 ELMo 的創新性想法,它同樣也是今年的論文(NAACL 2018):

  • 論文:Deep contextualized word representations (NAACL-HLT 2018)

  • 論文鏈接:https://arxiv.org/abs/1802.05365

這篇論文提出了廣受好評的 ELMo,除了令人印象深刻的實驗結果外,最吸引人的就是論文的分析部分,它剔除了各種因素的影響,並對錶征所捕獲的信息進行了分析。在下圖左中語義消歧(WSD)執行得很好,它們都表明語言模型提供的語義消歧和詞性標註(POS)表現都接近當前最優水平。

從想法到實幹,2018年13項NLP絕美新研究

第一層和第二層雙向語言模型的語義消歧(左)和詞性標註(右)與基線模型對比的結果。

3. 常識推理數據集

將常識融入模型是 NLP 最重要的研究方向之一。然而,創建好的數據集並非易事,即使是流行的數據集也存在很大的偏好問題。今年已經出現了一些試圖教機器學習常識的數據集,如華盛頓大學的 Event2Mind 和 SWAG。但 SWAG 很快就被 BERT 打敗了。有代表性的研究成果包括:

  • 論文:From Recognition to Cognition: Visual Commonsense Reasoning

  • 論文地址:https://arxiv.org/abs/1811.10830

這是首個包含每個答案的基本原理(解釋)的可視化 QA 數據集。而且,回答問題需要複雜的推理。創作者竭盡全力解決可能出現的偏好,確保每個答案作為正確答案的先驗概率為 25%(每個答案在整個數據集中出現 4 次,其中 3 次作為錯誤答案,1 次作為正確答案);這需要利用可以計算相關性和相似性的模型來解決約束優化問題。

從想法到實幹,2018年13項NLP絕美新研究

給定一幅圖像、一系列地點和一個問題,模型必須回答該問題,並提供合理的推理解釋答案為什麼是正確的(Zellers et al., 2018)

4. 元學習

元學習是目前機器學習領域一個令人振奮的研究趨勢,它解決的是學習如何學習的問題(參考《入門 | 從零開始,了解元學習》)。元學習在少樣本學習、強化學習和機器人學方面有很多應用,其中最突出的應用是與模型無關的元學習(model-agnostic meta-learning,MAML),但在 NLP 中的成功應用卻非常少。元學習在訓練樣本有限時非常有用。有代表性的研究成果包括:

  • 論文 1:Meta-Learning for Low-Resource Neural Machine Translation

  • 論文鏈接:http://aclweb.org/anthology/D18-1398

作者利用 MAML 來學習一個好的用於翻譯的初始化,將每個語言對看成一個獨立的元任務。資源較少的語言或許是元學習在 NLP 領域最有應用價值的場景。將多語言遷移學習(如多語言 BERT)、無監督學習和元學習相結合是一個有前景的研究方向。

從想法到實幹,2018年13項NLP絕美新研究

遷移學習、多原因遷移學習和元學習之間的差異。實線:初始化的學習。虛線:微調路徑。

  • 論文 2:Meta-Learning a Dynamical Language Model

  • 論文地址:https://arxiv.org/abs/1803.10631

作者提出,用於優化神經網路模型的元學習器的行為和循環神經網路類似,它會提取一系列模型訓練過程中的參數和梯度作為輸入序列,並根據這個輸入序列計算得到一個輸出序列(更新後的模型參數序列)。他們在論文中詳細描述了該相似性,並研究了將元學習器用於神經網路語言模型中,以實現中期記憶:經過學習,元學習器能夠在標準 RNN(如 LSTM)的權重中,編碼中期記憶(除了短期記憶在 LSTM 隱藏狀態中的傳統編碼方式以外)。

從想法到實幹,2018年13項NLP絕美新研究

他們的元學習語言模型由 3 層記憶層級組成,自下而上分別是:標準 LSTM、用於更新 LSTM 權重以存儲中期記憶的元學習器,以及一個長期靜態記憶。他們發現,元學習語言模型可以通過訓練來編碼最近輸入的記憶,就像一篇維基百科文章的開始部分對預測文章的結尾部分非常有幫助一樣。

5. 魯棒無監督方法

今年,我們觀察到,跨語言嵌入方法在語言相似性低時會失效。這是遷移學習中的常見現象,源語言和目標語言設置(例如,域適應中的域、持續學習和多任務學習中的任務)之間存在差異,導致模型退化或失效。因此,使模型對這些變化更加魯棒非常重要。有代表性的研究成果包括:

  • 論文:A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings

  • 論文鏈接:http://www.aclweb.org/anthology/P18-1073

這篇論文根據其理解構建了一個更好的初始化,而沒有使用元學習作為初始化。特別地,他們將兩種語言中擁有相似詞分布的單詞配對。這是從分析中利用領域知識和 insight 以使模型更加魯棒的絕佳範例。

從想法到實幹,2018年13項NLP絕美新研究

三個單詞的相似性分布:與不相關的單詞(「two」和「cane」(狗))相比,等效翻譯(「two」和「due」)有更加相似的詞分布。(Artexte et al. 2018 http://www.aclweb.org/anthology/P18-1073)

6. 理解表徵

今年,人們在更好地理解表徵方面做了很多工作。特別地,《Fine-grained Analysis of Sentence Embeddings Using Auxiliary Prediction Tasks》這篇論文提出了「診斷分類器」(度量學習到的表徵是否能預測特定屬性的任務),之後在其它研究中變得常見,如《What you can cram into a single vector: Probing sentence embeddings for linguistic properties》。有代表性的研究成果包括:

  • 論文:Dissecting Contextual Word Embeddings: Architecture and Representation

  • 論文鏈接:http://aclweb.org/anthology/D18-1179

這篇論文在更好理解預訓練語言模型表徵方面做出了很大貢獻。他們廣泛地研究了精心設計的無監督和有監督任務上學習到的單詞和跨度表徵。結果發現:預訓練表徵會在較低層學習到與低級形態和句法任務相關的任務,在較高層學習到更大範圍的語義。對我而言,該研究表明了預訓練語言模型確實能捕捉文本的相似屬性,正如計算機視覺模型在 ImageNet 上預訓練後,能捕捉圖像之間的相似屬性。

從想法到實幹,2018年13項NLP絕美新研究

BiLSTM 和 Transformer 的預訓練表徵的每一層的性能,從左到右依次是:POS 標記、選區解析和無監督共指解析 (Peters et al. 2018 http://aclweb.org/anthology/D18-1179)。

7. 輔助任務

在很多設置中,我們都看到人們越來越多使用帶有仔細選擇的輔助任務的多任務學習方法。其中最重要的一個案例是 BERT。其使用了下一句預測來實現優越性能(近期被用在 Skip-thoughts 以及 Quick-thoughts 等)。有代表性的研究成果包括:

  • 論文 1:Syntactic Scaffolds for Semantic Structures

  • 論文鏈接:http://aclweb.org/anthology/D18-1412

這篇論文通過為每個跨度預測對應的句法成分類型,以此提出了一種預訓練跨度表徵的輔助任務。儘管在概念上很簡單,該輔助任務可以在跨度級預測任務中取得極大提升,例如語義角色標註和共指解析等。該論文表明,通過目標任務在所需級別學習的專用表徵有極大的用處。

  • 論文 2:pair2vec: Compositional Word-Pair Embeddings for Cross-Sentence Inference

  • 論文鏈接:https://arxiv.org/abs/1810.08854

依據相似的思路,這篇論文通過最大化詞對以及語境的逐點互信息預訓練詞對錶征。相比更加通用的表徵(例如語言建模),這鼓勵模型學習更有意義的詞對錶征。這些預訓練表徵在諸如 SQuAD、和 MultiNLI 等需要跨句推理的任務中很有效。我們可以期待看到更多可捕捉適用於特定下游任務的預訓練模型,並且和更加通用的任務互補(例如語言建模)。

從想法到實幹,2018年13項NLP絕美新研究

OntoNotes 的句法、命題語料庫和共指標註。命題語料庫 SRL 參數和共指在句法成分之上標註。幾乎每個參數都與句法成分有關 (Swayamdipta et al., 2018 http://aclweb.org/anthology/D18-1412)

8. 半監督學習結合遷移學習

最近,遷移學習取得最新進展,我們不應該忘記使用目標任務特定數據更明確的方式。其實,預訓練表徵與多種形式的半監督學習是互補的。已經有研究者探索半監督學習的一個特定類別——自標註方法。有代表性的研究包括:

  • 論文:Semi-Supervised Sequence Modeling with Cross-View Training

  • 論文鏈接:http://aclweb.org/anthology/D18-1217

這篇論文表明,一個概念上非常簡單的想法——即確保對不同輸入視圖的預測與主模型的預測一致——可以在一系列不同的任務中獲得收益。這一想法與 word dropout 類似,但允許利用未標註數據來加強模型的魯棒性。與 mean teacher 等其他 self-ensembling 模型相比,它是專門為特定 NLP 任務設計的。

從想法到實幹,2018年13項NLP絕美新研究

輔助預測模塊看到的輸入:輔助 1:They traveled to __________________. 輔助 2:They traveled to Washington _______. 輔助 3: _____________ Washington by plane. 輔助 4: ________________________ by plane

9. 利用大型文本的問答和推理

在一系列新的問答(QA)數據集的幫助下,問答系統取得了很多進展。除對話問答和多步驟推理之外,問答系統最具挑戰性的一個方面是合成敘述和含有大量信息的本文。有代表性的研究包括:

  • 論文:The NarrativeQA Reading Comprehension Challenge

  • 論文鏈接:http://aclweb.org/anthology/Q18-1023

本文作者根據對整個電影劇本和書籍的問答提出了一個頗具挑戰性的 QA 數據集。雖然目前的方法仍無法完成這項任務,但模型可以選擇使用摘要(而不是整本書)作為上下文,選擇答案(而不是生成答案),以及使用 IR 模型的輸出。這些變體提高了任務的可行性,使得模型可以逐漸擴展到完整的語境。

從想法到實幹,2018年13項NLP絕美新研究

QA 數據集對比。

10. 歸納偏向

CNN 中的卷積、正則化、dropout 以及其他機制等歸納偏向都是神經網路模型做為正則化項的核心部分,也使得模型採樣更為高效。然而,提出一種普遍可用的歸納偏向並把它融入到模型中非常具有挑戰性。有代表性的研究成果包括:

  • 論文 1:sequence classification with human attention (CoNLL 2018)

  • 論文鏈接:http://aclweb.org/anthology/K18-1030

該論文提出使用來自人類眼球追蹤語料庫的人類注意力來正則化 RNN 中的注意。如今許多 Transformers 這樣的現有模型都在使用 attention,找到更高效訓練的合適方式是很重要的方向。也很高興看到人類語言學習能幫助我們改進計算模型。

  • 論文 2:Linguistically-Informed Self-Attention for Semantic Role Labeling (EMNLP 2018)

  • 論文鏈接:http://aclweb.org/anthology/D18-1548

該論文有很多喜人的地方:在句法與語義任務上同時訓練一個 Transformer;訓練時加入高質量解析的能力以及領域外評估。通過訓練一個注意力 head 來關注每個 token 的 syntactic parents,這篇論文也正則化了 Transformer 的多 head 注意力,使其對句法更為敏感。我們未來可能會看到更多 Transformer 注意 head 示例,做為專註輸入特定方面的輔助詞預測器。

從想法到實幹,2018年13項NLP絕美新研究

過去十年的 PropBank 語義角色標記。在領域外數據上,Linguistically-Informed Self-Attention (LISA) 方法與其他方法的對比。

不論是採用 Mask 的語言模型還是通過回譯的無監督機器翻譯,這 10 個想法都非常優美。但是在實際應用中,我們更希望直接使用已有的工具構建高效應用,只有這樣,這些想法才能轉化為真正有意思的東西。

11. 上百種預訓練中文詞向量

做自然語言處理,詞嵌入基本是繞不開的步驟,各種任務都需要歸結到詞層面才能繼續計算。因此對於國內自然語言處理的研究者而言,中文詞向量語料庫是需求很大的資源。為此,北京師範大學等機構的研究者開源了「中文詞向量語料庫」,該庫包含經過數十種用各領域語料(百度百科、維基百科、人民日報 1947-2017、知乎、微博、文學、金融、古漢語等)訓練的詞向量,涵蓋各領域,且包含多種訓練設置。

中文詞向量項目地址:https://github.com/Embedding/Chinese-Word-Vectors

該項目提供使用不同表徵(稀疏和密集)、上下文特徵(單詞、n-gram、字元等)以及語料庫訓練的中文詞向量(嵌入)。我們可以輕鬆獲得具有不同屬性的預訓練向量,並將它們用於各類下游任務。

從想法到實幹,2018年13項NLP絕美新研究

12. BERT 開源實現

儘管如前所述 BERT 的效果驚人,但預訓練所需要的計算力同樣驚人,一般的開發者基本就不要想著能復現了。BERT 的作者在 Reddit 上也表示預訓練的計算量非常大,Jacob 說:「OpenAI 的 Transformer 有 12 層、768 個隱藏單元,他們使用 8 塊 P100 在 8 億詞量的數據集上訓練 40 個 Epoch 需要一個月,而 BERT-Large 模型有 24 層、2014 個隱藏單元,它們在有 33 億詞量的數據集上需要訓練 40 個 Epoch,因此在 8 塊 P100 上可能需要 1 年?16 Cloud TPU 已經是非常大的計算力了。」

但是,谷歌團隊開源了 BERT 的預訓練模型,我們可以將它們用於不同的 NLP 任務。這節省了我們大量計算力,同時還能提升已有模型的效果,因此做 NLP 任務前,你可以先用預訓練的 BERT 試試水?

BERT 實現地址:https://github.com/google-research/bert

從想法到實幹,2018年13項NLP絕美新研究

其實目前已經有很多開發者將 BERT 預訓練模型應用到它們自己的項目中,包括抽取句向量、句子相似性判斷或情感分析等,下面兩篇文章簡單介紹了如何將 BERT 預訓練模型遷移到你的項目中:

小數據福音!BERT 在極小數據下帶來顯著提升的開源實現

兩行代碼玩轉 Google BERT 句向量詞向量

13. Facebook 開源 NLP 建模框架 PyText,從論文到產品部署只需數天

為了降低人們創建、部署自然語言處理系統的難度,Facebook 開源了一個建模框架——PyText,它模糊了實驗與大規模部署之間的界限。PyTex 是 Facebook 正在使用的主要自然語言處理(NLP)建模框架,每天為 Facebook 及其應用程序系列的用戶提供超過 10 億次 AI 任務處理。這一框架基於 PyTorch,可以 1)簡化工作流程,加快實驗進度;2)提供一大批預構建的模型架構和用於文本處理和辭彙管理的工具,以促進大規模部署;3)提供利用 PyTorch 生態系統的能力,包括由 NLP 社區中的研究人員、工程師預構建的模型和工具。利用該框架,Facebook 在幾天內就實現了 NLP 模型從理念到完整實施的整個過程,還部署了依賴多任務學習的複雜模型。

Yann LeCun 對此介紹道,「PyText 是一個工業級的開源 NLP 工具包,可用於在 PyTorch 中開發 NLP 模型,並通過 ONNX 部署。其預訓練模型包括文本分類、序列標註等。」

項目地址:https://github.com/facebookresearch/pytext

從想法到實幹,2018年13項NLP絕美新研究

參考鏈接:http://ruder.io/10-exciting-ideas-of-2018-in-nlp/

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

NeurIPS 2018提前看:可視化神經網路泛化能力
揭秘框架的本源:開源中文書「TensorFlow內核剖析」

TAG:機器之心 |