使用Transformer與無監督學習,OpenAI提出可遷移至多種NLP任務的通用模型

OpenAI 最近經過一個與任務無關的可擴展系統在一系列語言任務中得到了當前最優的性能,目前他們已經發布了該系統。OpenAI 表示他們的方法主要結合了兩個已存的研究,即 Transformer 和無監督預訓練。實驗結果提供了很是使人信服的證據,其代表聯合監督學習方法和無監督預訓練可以獲得很是好的性能。這實際上是不少研究者過去探索過的領域,OpenAI 也但願他們此次的實驗結果能激發更加深刻的研究,並在更大和更多的數據集上測試聯合監督學習與無監督預訓練的性能。git


OpenAI 的系統分爲兩階段,首先研究者以無監督的方式在大型數據集上訓練一個 Transformer,即便用語言建模做爲訓練信號,而後研究者在小得多的有監督數據集上精調模型以解決具體任務。研究者開發的這種方式借鑑了他們關於 Sentiment Neuron(blog.openai.com/unsupervise…)方面的研究成果,他們發現無監督學習技術在足夠多的數據集上訓練能產生使人驚訝的可區分特徵。所以研究者但願更進一步探索這一律念:咱們能開發一個在大量數據進行無監督學習,並精調後就能在不少不一樣任務上實現很好性能的模型嗎?研究結果代表這種方法可能有很是好的性能,相同的核心模型能夠針對不一樣的任務進行少許適應和精調就能實現很是不錯的性能。github

這一項研究任務創建在《Semi-supervised Sequence Learning》論文中所提出的方法,該方法展現瞭如何經過無監督預訓練的 LSTM 與有監督的精調提高文本分類性能。這一項研究還擴展了論文《Universal Language Model Fine-tuning for TextClassification》所提出的 ULMFiT 方法,它展現了單個與數據集無關的 LSTM語言模型如何進行精調以在各類文本分類數據集上得到當前最優的性能。OpenAI 的研究工做展現瞭如何使用基於 Transformer 的模型,並在精調後能適應於除文本分類外其它更多的任務,例如常識推理、語義類似性和閱讀理解。該方法與 ELMo 類似但更加通用,ELMo 一樣也結合了預訓練,但使用爲任務定製的架構以在各類任務中取得當前頂尖的性能。網絡

OpenAI 只須要不多的調整就能實現最後的結果。全部數據集都使用單一的前向語言模型,且不使用任何集成方法,超參配置也與大多數研究成果相同。架構

OpenAI 特別興奮這一方法在三個數據集上獲得的性能,即 COPA、RACE 和 ROCStories,它們都是旨在爲常識推理和閱讀理解設計的測試集。OpenAI 的模型在這些數據集上都得到了新的最佳性能,且有較大的提高。這些數據集一般被認爲須要多句子推理和顯著的世界知識來幫助解決問題,這代表研究者的模型經過無監督學習主要提高了這些技能。這一樣代表咱們能夠經過無監督學習技術開發複雜的語言理解能力。機器學習

爲何使用無監督學習性能

監督學習是近期大部分機器學習成功方法的關鍵,可是,它須要大型、通過仔細清洗的數據集才能表現良好,這須要很高的成本。無監督學習因其解決這些缺陷的潛力而具有極大吸引力。因爲無監督學習解決了人工標註數據的瓶頸,它在 計算能力不斷加強、可獲取原始數據增多的當前趨勢下,仍然可以實現很好的擴展。無監督學習是很是活躍的研究領域,可是它在實際應用中仍然受到限制。

近期出現了利用無監督學習方法經過大量無標註數據來加強系統的熱潮;使用無監督技術訓練的詞表徵可使用包含 TB 級信息的大型數據集,並且無監督方法與監督學習技術相結合可以在大量 NLP 任務上提升性能。直到最近,這些用於 NLP 任務的無監督技術(如 GLoVe 和word2vec)使用簡單的模型(詞向量)和訓練過的信號(局部詞共現)。Skip-Thought 向量是對複雜方法才能實現的改進的較早呈現。可是如今新技術用於進一步提高性能,包括預訓練句子表徵模型、語境化詞向量(ELMo 和 CoVE)的使用,以及使用自定義架構來結合無監督預訓練和監督式精調的方法,好比本文中 OpenAI 的方法。學習

在大型文本語料庫上對模型進行預訓練能夠極大地改善其在較難的天然語言處理
任務(如 Winograd Schema Resolution)上的性能。OpenAI 還注意到他們可以使用底層
語言模型開始執行任務,無需訓練。例如,在選擇正確答案等任務中的性能隨着底層
語言模型
的改進而獲得改善。儘管這些方法的絕對性能與當前最優的監督方法相比仍然較低(在問答任務中,非監督方法的性能仍然不如簡單的滑動窗口監督式基線模型),可是這些方法在大量任務上具有魯棒性,這使人鼓舞。不包含任何任務和世界相關信息的隨機初始化網絡,其性能不比使用這些啓發式方法的隨機初始化網絡好。這爲生成性預訓練爲何可以提升下游任務上的性能提供了一些洞見。

OpenAI 還使用模型中的現有語言功能來執行情感分析。研究人員使用了 Stanford Sentiment Treebank 數據集,該數據集包含積極和消極的電影評論句子,研究人員可使用語言模型經過在一個評論句子後輸入單詞「very」,並查看該模型預測該單詞是「積極」或「消極」的機率,來猜想這條評論是積極仍是消極的。這種方法無需將模型針對特定任務進行調整,它與經典基線模型的性能持平——大約 80% 的準確率。測試

該研究也是對 Transformer 架構的魯棒性和實用性的驗證,代表無需針對特定任務進行復雜的定製化或調參,也能夠在大量任務上達到當前最優的結果。ui

缺點設計

該項目也有幾個突出的問題值得注意:

  • 計算需求:不少以前的解決 NLP 任務的方法能夠在單塊 GPU 上從零開始訓練相對較小的模型。OpenAI 的方法在預訓練步驟中須要很高的成本——在 8 塊 GPU 上訓練 1 個月。幸運的是,這僅須要作一次,OpenAI 會發布他們的模型,從而其餘人能夠避免這一步。它也是一個很大的模型(相比於以前的工做),於是須要更多的計算和內存。OpenAI 使用了一個 37 層(12 個模塊)的 Tranformer 架構,而且在達到 512 個 token 的序列上訓練。多數實驗都是在 4 和 8 塊 GPU 的系統上構建的。該模型確實能很快速地精調到新的任務上,這緩解了額外的資源需求。

  • 經過文本學習而致使的對世界理解的侷限和誤差:在互聯網上可用的書籍和文本並無囊括關於世界的完整甚至是準確的信息。近期的研究代表特定類型的信息很難僅經過文本學習到,其它研究代表模型會從數據分佈中學習和利用誤差。

  • 泛化能力仍然很脆弱:雖然 OpenAI 的方法在多種任務中提升了性能,目前的

    深度學習
    NLP 模型仍然展示出使人吃驚的和反直覺的行爲,特別是當在系統化、對抗性或超出數據分佈的方式進行評估的時候。OpenAI 的方法相比於以前的純
    神經網絡
    的方法在文本蘊涵任務上展現了提高的詞法魯棒性。在 Glockner 等人的論文《Breaking NLI Systems with Sentences that Require Simple Lexical Inferences》引入的數據集中,他們的模型達到了 83.75% 的
    準確率
    ,和 KIM(Knowledge-based Inference Model,來自《NATURAL LANGUAGE INFERENCE WITH EXTERNAL KNOWLEDGE》)的性能相近(經過 WordNet 整合了外部知識)。

將來方向

  • 擴展該方法:研究者觀察到

    語言模型
    性能的提升和下游任務的提升有很大關聯。他們目前使用的是商用 GPU(單個 8GPU 機器)以及僅包含數千本書籍的訓練數據集(約 5GB 的文本)。這意味着若是使用驗證效果好的方法以及更多的計算資源和數據,該模型還有很大的提高空間。

  • 改善精調過程:研究者的方法目前還很簡單。有可能使用更復雜的適應和遷移技術例如在 ULMFiT 中所探索的方法,可讓該模型得到顯著的提高。

  • 更好地理解生成式預訓練的有效性:雖然本文中片面地討論了一些思想,更多的目標指向的實驗和研究將幫助分辨不一樣的解釋。例如,實驗中觀察到的性能增益有多少是因爲處理更普遍上下文的能力的提升,有多少是因爲世界知識的提升。

附錄:數據集示例

論文:Improving Language Understanding by Generative Pre-Training

摘要:天然語言理解包括很普遍的任務類型,例如文本蘊涵、問答、語義類似性評估以及

文本分類
。雖然存在大量的未標記文本語料庫,可是爲學習這些特定任務而標註的數據是較匱乏的,從而令有區別地訓練表現足夠好的模型變得頗有挑戰性。咱們在本研究中代表經過在多個未標記文本語料庫上對語言模型進行生成式預訓練,而後有區別地對每一個特定任務進行精調,能夠在這些任務上取得很大的增益。相比於以前的方法,咱們在精調以得到有效遷移的過程當中利用了任務相關的輸入轉換,同時僅須要對模型架構作極小的改變。結果代表咱們的方法在天然語言理解的很普遍的基準上具有有效性。咱們不基於任務的模型超越了那些爲每一個任務特別設計架構而分別進行訓練的模型,在研究的 12 項任務的 9 項中顯著提升了當前最佳結果。例如,咱們在常識推理(Stories Cloze Test)、問答(RACE)、文本蘊涵(MultiNLI)中分別達到了 8.9%、5.7%、1.5% 的絕對提升。


原文連接:
https://blog.openai.com/language-unsupervised/
相關文章
相關標籤/搜索