近日,OpenAI 在其官方博客發(fā)文介紹了他們最新的自然語言處理(NLP)系統(tǒng)。這個系統(tǒng)是可擴展的、與任務(wù)無關(guān)的,并且在一系列不同的 NLP 任務(wù)中都取得了亮眼的成績。但該方法在計算需求等方面仍存在改進的空間。下面我們來看他們的博文:
我們即將發(fā)布一個可擴展的,與任務(wù)無關(guān)的自然語言處理系統(tǒng),該系統(tǒng)在一系列不同的語言任務(wù)上都取得了目前最先進的成績。我們的方法結(jié)合了兩種現(xiàn)有的 NLP 網(wǎng)絡(luò)架構(gòu):Transformer 和無監(jiān)督預(yù)訓(xùn)練。大量任務(wù)數(shù)據(jù)集上的測試結(jié)果表明,這種方法將監(jiān)督學(xué)習(xí)方法與無監(jiān)督預(yù)訓(xùn)練結(jié)合得非常好;當(dāng)然,這也是之前許多人在探索的想法。我們希望我們的工作能夠激發(fā)該方向進一步的研究,并鼓勵大家將這一想法應(yīng)用到更大更多的不同數(shù)據(jù)集上。
先看結(jié)果:
我們的系統(tǒng)的工作流程分為兩個階段:首先,以無監(jiān)督的方式在大量數(shù)據(jù)上訓(xùn)練一個 Transformer 模型——使用語言建模作為訓(xùn)練信號——然后,在小得多的監(jiān)督數(shù)據(jù)集上對這個模型進行 fine-tuning,以幫助它解決特定的任務(wù)。這項研究是建立在我們之前一項關(guān)于情緒神經(jīng)元(Sentiment Neuron)的工作基礎(chǔ)之上的,在那項工作中我們注意到,當(dāng)訓(xùn)練數(shù)據(jù)足夠多時,無監(jiān)督學(xué)習(xí)技術(shù)可以產(chǎn)生驚人的判別性特征。
在本項研究工作中,我們這個想法進行了進一步的探索:我們可以開發(fā)一個模型,以無監(jiān)督的方式對大量數(shù)據(jù)進行訓(xùn)練,然后對模型進行 fine-tuning,以在許多不同任務(wù)上獲得良好的性能。我們的研究結(jié)果表明,這種方法的效果非常好。針對不同的任務(wù),只需要對同一個的核心模型進行最少的調(diào)整就可以進行應(yīng)用。
這項工作建立在半監(jiān)督序列學(xué)習(xí)(Semi-supervised Sequence Learning)的基礎(chǔ)之上,其中半監(jiān)督序列學(xué)習(xí)方法展示了如何通過使用 LSTM 的無監(jiān)督預(yù)訓(xùn)練,然后進行有監(jiān)督的 fine-tuning 來提高文檔分類性能。
我們的工作還對ULMFiT進行了拓展,說明了為了在各個文檔分類數(shù)據(jù)集上獲得最先進的性能,應(yīng)該如何對單個與數(shù)據(jù)集無關(guān)的 LSTM 語言模型進行 fine-tuning;我們的工作展示了如何使用基于 Transformer 的模型來實現(xiàn)文檔分類之外的更廣泛的任務(wù),如常識推理,語義相似性和閱讀理解。
它和 ELMo 也有一些類似,但比 ELMo 更加通用。(編輯注:ELMo 是目前最先進的上下文詞嵌入技術(shù),同樣使用了預(yù)訓(xùn)練技術(shù),但為了在各種任務(wù)中獲得最先進的結(jié)果針對不同任務(wù)使用了定制架構(gòu)。)
我們的實驗結(jié)果只需要進行非常少的調(diào)整就可以實現(xiàn)。其中所有數(shù)據(jù)集都使用單一的正向語言模型,沒有任何集成,并且大多數(shù)報告結(jié)果都使用了完全相同的超參數(shù)設(shè)置。
值得一提的是該方法在三種關(guān)于測試常識推理和閱讀理解的數(shù)據(jù)集(COPA,RACE和ROCStories)上的表現(xiàn)。我們的模型以遠超第二名的成績在這些數(shù)據(jù)集上獲得了最先進的結(jié)果。這些數(shù)據(jù)集普遍被認為需要借助多語句推理和有意義的世界知識進行解決,而我們的模型主要通過無監(jiān)督學(xué)習(xí)來提高這些技能。這也表明了通過無監(jiān)督技術(shù)來開發(fā)復(fù)雜的語言理解功能的可能。這讓我們特別興奮。
▌為什么是無監(jiān)督學(xué)習(xí)?
監(jiān)督學(xué)習(xí)是機器學(xué)習(xí)最近成功的關(guān)鍵。但是,它可能需要大量的、經(jīng)過仔細清理的、昂貴的數(shù)據(jù)集才能發(fā)揮非常好的作用。而無監(jiān)督學(xué)習(xí)則有可能解決這些不足,這是非常有吸引力的。由于無監(jiān)督學(xué)習(xí)沒有了顯式人工標(biāo)簽的限制,在當(dāng)前計算量和原始數(shù)據(jù)不斷增加的趨勢下,這項技術(shù)表現(xiàn)出了非常好的擴展性。 不過雖然無監(jiān)督學(xué)習(xí)是一個非常活躍的研究領(lǐng)域,但其實際用途仍然有限。
最近有人試圖通過無監(jiān)督學(xué)習(xí)用大量無標(biāo)記數(shù)據(jù)進行增強以進一步提高系統(tǒng)的自然語言處理能力。通過無監(jiān)督技術(shù)訓(xùn)練的詞向量表示可以使用由 TB 級信息組成的大型數(shù)據(jù)集,并且當(dāng)它與監(jiān)督學(xué)習(xí)相結(jié)合時,可以提高各種 NLP 任務(wù)的性能。之前,這些 NLP 的無監(jiān)督技術(shù)(例如GLoVe和word2vec)使用的都還是簡單模型(詞向量)和訓(xùn)練信號(詞局部共現(xiàn),the local co-occurence of words)。
Skip-Thought Vectors是早期的一個值得注意的方法,展示了通過更復(fù)雜的方法實現(xiàn)的改進的可能性。而現(xiàn)在正在使用的新技術(shù)則進一步提高了性能,這包括使用預(yù)訓(xùn)練的語句表示模型,上下文詞向量(主要是ELMo和CoVE),以及使用定制架構(gòu)來融合無監(jiān)督預(yù)訓(xùn)練和監(jiān)督 fine-tuning 的方法(也就是我們的方法)。
在大量文本上對我們的模型進行預(yù)訓(xùn)練,可顯著提高其在諸如 Winograd Schema Resolution 等具有挑戰(zhàn)性的自然語言處理任務(wù)上的表現(xiàn)。
我們還注意到,該方法可以直接使用底層語言模型開始執(zhí)行任務(wù),而無需對其進行任何訓(xùn)練。例如,隨著基礎(chǔ)語言模型的改進,像在選擇題中選擇正確答案這種任務(wù)的性能會穩(wěn)步增加。
雖然這些方法的絕對性能相對于最新的監(jiān)督技術(shù)而言仍然很低(對于問答式任務(wù),它僅比簡單的滑動窗口基線結(jié)果好),但令人鼓舞的是,這種行為在大量任務(wù)中表現(xiàn)的非常魯棒。這種不使用任務(wù)和世界信息的隨機初始化網(wǎng)絡(luò)表現(xiàn)的和使用這些信息的隨機網(wǎng)絡(luò)一樣好。這為我們了解為什么生成式預(yù)訓(xùn)練可以提高下游任務(wù)的性能提供了一些有意義的參考。
我們還使用模型中現(xiàn)有的語言功能進行了情感分析。對于斯坦福 Sentiment Treebank 數(shù)據(jù)集(該數(shù)據(jù)集包含了電影評論中的正面和負面語句),我們可以使用語言模型來猜測評論是正面還是負面(在語句后面輸入單詞“very”即可進行預(yù)測),并且觀察模型是傾向于將詞性預(yù)測為“積極”還是傾向于將詞性預(yù)測為“消極”。 這種方法根本不需要根據(jù)任務(wù)對模型進行調(diào)整,并且其性能與經(jīng)典基線準(zhǔn)確率相當(dāng),可達 80% 。
我們的工作也驗證了 Transformer 架構(gòu)的魯棒性和實用性,表明它具有足夠的靈活性,可在廣泛的任務(wù)中實現(xiàn)最先進的結(jié)果,而無需復(fù)雜的任務(wù)定制或超參數(shù)調(diào)整。
▌不足之處
這個項目也有一些突出問題非常值得注意:
計算需求:以前的許多自然語言處理方法都是從頭開始在單個 GPU 上訓(xùn)練相對較小的模型。但我們的方法預(yù)訓(xùn)練步驟計算需求則相當(dāng)昂貴——在 8 個 GPU 上訓(xùn)練 1 個月。幸運的是,這只需要做一次,我們正在將我們的模型發(fā)布出來,以方便其他人不用重復(fù)這一步驟。
它也是一個大型模型(與之前的工作相比),因此使用了更多的計算和內(nèi)存——我們使用了37層(12塊)Transformer 架構(gòu),并且在最多可達 512 個 tokens 的序列上訓(xùn)練。并且大多數(shù)實驗都是在 4 個和 8 個 GPU 的系統(tǒng)上進行的。該模型針對新任務(wù)進行 fine-tuning 的速度非常快,有助于減輕額外的資源需求。
通過文本學(xué)習(xí)世界的局限性和偏見:互聯(lián)網(wǎng)上隨時可用的書籍和文本所包含的關(guān)于世界的信息并不完整,甚至并不準(zhǔn)確。最近的研究(https://arxiv.org/abs/1705.11168)表明,某些類型的信息很難通過文本進行學(xué)習(xí)。而另外一些研究(https://arxiv.org/abs/1803.02324)則表明了數(shù)據(jù)分布中存在的模型學(xué)習(xí)和開發(fā)偏見。
依舊脆弱的泛化性能:盡管我們的方法提升了自然語言處理系統(tǒng)在大量任務(wù)上的性能,但目前的深度學(xué)習(xí) NLP 模型仍然表現(xiàn)出了令人驚訝的反直覺的行為——尤其是在以系統(tǒng)性、對抗性或分布性的方式進行評估時。盡管我們已經(jīng)觀察到一些研究進展,但我們的方法對這些問題并不是免疫的。
這種方法表現(xiàn)出比先前的面向文字蘊含(Textual entailment)的神經(jīng)網(wǎng)絡(luò)方法更好的詞法魯棒性。在 Glockner 等人介紹的數(shù)據(jù)集(https://arxiv.org/abs/1805.02266)上,我們模型的準(zhǔn)確率達到了 83.75%,其性能類似于通過 WordNet 整合外部知識的KIM。
▌工作展望
方法規(guī)模化拓展:我們已經(jīng)觀察到,語言模型的性能改進與下游任務(wù)的改進密切相關(guān)。目前我們正在使用商用硬件(一臺 8 GPU 計算機)以及僅包含幾千本書(約 5 GB 文本)的訓(xùn)練數(shù)據(jù)集。這表明經(jīng)過充分驗證該方法在處理越來越大的計算量和數(shù)據(jù)時還有很大提升空間。
改進的 fine-tuning:我們在 fine-tuning 上的策略目前非常簡單。通過使用更復(fù)雜的自適應(yīng)和轉(zhuǎn)換技術(shù)(例如ULMFiT中的技術(shù))可能為我們的系統(tǒng)帶來實質(zhì)性的改進。
更好地理解生成式預(yù)訓(xùn)練帶來提升的原因:盡管我們已經(jīng)討論了一些關(guān)于這個問題的想法,但更有針對性的實驗和研究將有助于我們對那些相互矛盾的解釋進行判斷。例如,我們觀察到的提升有多少是由于對處理更廣泛上下文能力的改進,以及多少是由于對世界知識的改進?
▌附錄:數(shù)據(jù)集示例
-
自然語言處理
+關(guān)注
關(guān)注
1文章
619瀏覽量
13646
原文標(biāo)題:OpenAI NLP最新進展:通過無監(jiān)督學(xué)習(xí)提升語言理解
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論