06.12 OpenAI最新研究:如何通過無監督學習提升自然語言理解能力?

OpenAI最新研究:如何通過無監督學習提升自然語言理解能力?

原文來源:amazonaws.com

作者:Alec Radford、Karthik Narasimhan、Tim Salimans、Ilya Sutskever

「雷克世界」編譯:嗯~阿童木呀

導語:長期以來,使用無監督(預)訓練來提高區別性任務的性能表現一直是機器學習研究的一個重要目標。最近,OpenAI通過使用一個具有可擴展性的任務不可知系統,在一系列不同的自然語言任務上實現了當前最先進的研究成果。而該系統將兩種現有的方法進行了聯合,即transformers和無監督預訓練。接下來,我們就來了解一下。

一般來說,自然語言理解涵蓋各種各樣的任務,如文本蘊涵(textual entailment)、問題回答(question answering)、語義相似度評估(semantic similarity assessment)和文檔分類(document classification)。儘管大型未標記的文本語料非常豐富,但用於學習這些特定任務的已標記數據卻很少,從而使得那些經過區別性訓練的模型充分發揮其作用變得具有挑戰性。我們研究證明,在這些任務上的巨大收益可以通過對未標記文本的不同語料庫中的語言模型進行生成式預訓練,然後在每個特定任務上進行區別性微調來實現。與以往的方法相比,我們在微調過程中利用任務感知輸入轉換來實現有效的遷移,同時需要對模型體系結構進行最小程度化的更改。我們在大量的自然語言理解基準上展示了我們所提出方法的有效性。我們的通用任務不可知模型(task-agnostic model)的性能表現要遠遠優於那些使用針對每項任務專門設計的體系結構進行區別性訓練的模型,在所研究的12項任務中,有9項都顯著地對現有的最先進技術有了改進。例如,我們在常識推理(commonsense reasoning)(Stories Cloze Test)方面實現了8.9%的絕對性改進,在問題回答(RACE)方面的改進為5.7%,在文本方面(MultiNLI)改進為1.5%。

OpenAI最新研究:如何通過無監督學習提升自然語言理解能力?

圖1:(左)本研究中使用的Transformer架構和訓練目標。(右)在不同任務中用於微調的輸入變換。我們將所有結構化輸入轉換為標記序列,以便由我們的預訓練的模型進行處理,然後再用線性+ softmax層進行處理。

可以這樣說,從原始文本中進行有效學習的能力對於緩解自然語言處理(NLP)中對監督學習的依賴具有至關重要的作用。大多數深度學習方法都需要大量的手動標記數據,而這限制了它們在許多缺乏註釋資源的領域內的適用性。在這些情況下,可以利用未標記數據中語言信息的模型為收集更多註釋提供了一個有價值的替代性選擇方法,而這些註釋可能是非常耗時且昂貴的。此外,即使在有相當多的監督可用的情況下,以無監督的方式學習良好的表徵也可以提供顯著的性能提升。到目前為止,最令人信服的證據就是,使用了大量的預訓練詞嵌入(word embeddings)以提高一系列NLP任務的性能改進。

然而,對於未標記文本中詞級以上信息的利用是具有挑戰性的,主要有兩個原因。首先,不清楚什麼類型的優化目標在學習那些對於遷移有用的文本表徵時是最有效的。最近的研究著眼於各種目標,如語言建模、機器翻譯、以及語篇連貫(discourse coherence),且每種方法在不同任務上的性能表現都要優於其他方法;其次,對於最有效的方法而言並沒有達成一種共識從而將這些已學習的表徵遷移到目標任務中。現有技術涉及到一種使用錯綜複雜的學習方案和添加輔助學習目標,對模型架構進行特定於任務的更改的組合。這些不確定性使得難以為語言處理開發出一種有效的半監督學習方法。

OpenAI最新研究:如何通過無監督學習提升自然語言理解能力?

圖2:我們實驗中所使用的不同任務和數據集列表。

在本文中,我們使用無監督預訓練和監督微調的組合,探索了一種用於語言理解任務的半監督方法。我們的目標是學習一種通用的表徵方式,而這種表徵能夠幾乎不做任何調整就遷移到各種各樣的任務中。我們假設可以訪問大量未標記文本的語料庫以及若干個具有手動註釋的訓練樣本(目標任務)的數據集。我們的設置不要求這些目標任務與未標記的語料庫處於相同的域中。我們採用了一個兩階段的訓練程序。首先,我們在未標記的數據上使用一個語言建模目標來學習神經網絡模型的初始參數。隨後,我們使用一個相應的監督目標將這些參數調整為目標任務中。

對於我們的模型體系結構,我們使用的是Transformer,它已被證明在諸如機器翻譯、文檔生成和句法分析等各種任務中的性能表現非常好。這種模型選擇為我們提供了一個更加結構化的記憶,用於處理文本中的長期依賴關係,與循環網絡等替代方案相比,它可在各種任務中實現具有魯棒性的遷移性能。在遷移過程中,我們利用來自遍歷式方法(traversal-style approaches)的特定於任務的輸入調整,它將結構化文本輸入作為單個連續的標記序列進行處理。正如我們在實驗中所展示的那樣,這些適應性調整使得我們能夠對已預訓練模型的體系結構進行最小限度的更改,從而進行有效的微調。

OpenAI最新研究:如何通過無監督學習提升自然語言理解能力?

圖3:(左)從RACE和MultiNLI上的預訓練語言模型遷移越來越多層的效果。(右圖)顯示了隨著LM預訓練函數的更新,不同任務中零樣本性能表現的演變情況。每個任務的性能在隨機猜測基線和單一模型當前最先進的技術水平之間進行歸一化。

在本文中,我們在四種語言理解任務上——自然語言推理、問題回答、語義相似度和文本分類,對我們所提出的方法進行了評估。我們的通用任務不可知模型的性能表現要遠遠勝過那些使用針對每項任務專門設計的體系結構進行區別性訓練的模型,在所研究的12項任務中,有9項都對現有的最先進技術進行了顯著改進。例如,我們在常識推理(Stories Cloze Test)獲得了8.9%的改進、在問題回答(RACE)獲得了5.7%的改進、在文本蘊涵(MultiNLI)獲得了1.5%的改進,以及在最近引入的GLUE多任務基準上獲得了5.5%的改進。我們還在四種不同的環境設置中分析了預訓練模型的零樣本(zero-shot)行為,並證明它為下游任務獲取有用的語言知識。

我們引入了一個框架,通過生成式預訓練和區別性微調,用單個任務不可知模型實現強大的自然語言理解。通過對具有長距離連續文本的多樣語料庫進行預訓練,我們的模型獲得了重要的世界知識和處理遠程依賴的能力,而這種能夠隨後將成功地遷移到解決諸如問題回答、語義相似度評估、蘊涵確定、文本分類等區分性任務,改進我們所研究的12個數據集中的9個當前最先進技術的性能表現。長期以來,使用無監督(預)訓練來提高區別性任務的性能表現一直是機器學習研究的一個重要目標。而我們的研究表明,實現顯著的性能收益確實是可能的,並提供了一些有關對於什麼樣的模型(Transformers)和數據集(具有長距離依賴關係的文本)來說,使用這種方法將最有效的提示。我們希望這將有助於開展在自然語言理解和其他領域中對無監督學習的新研究,從而進一步提高我們對無監督學習將如何以及何時發揮作用的理解。

原文鏈接:https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf


分享到:


相關文章: