NLP的ImageNet时代已经到来
摘要:?NLP領域即將巨變,你準備好了嗎?
自然語言處理(NLP)領域正在發生變化。
作為NLP的核心表現技術——詞向量,其統治地位正在被諸多新技術挑戰,如:ELMo,ULMFiT及OpenAI變壓器。這些方法預示著一個分水嶺:它們在?NLP?中擁有的影響,可能和預訓練的?ImageNet?模型在計算機視覺中的作用一樣廣泛。
由淺到深的預訓練
預訓練的詞向量給NLP的發展帶來了很好的方向。2013年提出的語言建模近似——word2vec,在硬件速度慢且深度學習模型得不到廣泛支持的時候,它的效率和易用性得到了采用。此后,NLP項目的標準方式在很大程度上保持不變:經由算法對大量未標記數據進行預處理的詞嵌入被用于初始化神經網絡的第一層,其它層隨后在特定任務的數據上進行訓練。這種方法在大多數訓練數據量有限的任務中表現的不錯,通過模型都會有兩到三個百分點的提升。盡管這些預訓練的詞嵌入模型具有極大的影響力,但它們有一個主要的局限性:它們只將先驗知識納入模型的第一層,而網絡的其余部分仍然需要從頭開始訓練。
?
word2vec捕獲的關系(來源:TensorFlow教程)
Word2vec及其他相關方法是為了實現效率而犧牲表達性的笨方法。使用詞嵌入就像初始化計算機視覺模型一樣,只有編碼圖像邊緣的預訓練表征:它們對許多任務都有幫助,但是卻無法捕獲可能更有用的信息。利用詞嵌入初始化的模型需要從頭開始學習,不僅要消除單詞的歧義,還要從單詞序列中提取意義,這是語言理解的核心。它需要建模復雜的語言現象:如語義組合、多義性、長期依賴、一致性、否定等等。因此,使用這些淺層表示初始化的NLP模型仍然需要大量示例才能獲得良好性能。
ULMFiT、ELMo和OpenAI transformer最新進展的核心是一個關鍵的范式轉變:從初始化我們模型的第一層到分層表示預訓練整個模型。如果學習詞向量就像學習圖像的邊一樣,那么這些方法就像學習特征的完整層次結構一樣,從邊到形狀再到高級語義概念。
有趣的是,計算機視覺(CV)社區多年來已經做過預訓練整個模型以獲得低級和高級特征。大多數情況下,這是通過學習在ImageNet數據集上對圖像進行分類來完成的。ULMFiT、ELMo和OpenAI transformer現已使NLP社區接近擁有“?ImageNet for language?”的能力,即使模型能夠學習語言的更高層次細微差別的任務,類似于ImageNet啟用訓練的方式學習圖像通用功能的CV模型。在本文的其余部分,我們將通過擴展和構建類比的ImageNet來解開為什么這些方法看起來如此有前途。
ImageNet
?
ImageNet對機器學習研究過程的影響幾乎是不可取代的。該數據集最初于2009年發布,并迅速演變為ImageNet大規模視覺識別挑戰賽(ILSVRC)。2012年,由Alex Krizhevsky,Ilya Sutskever和Geoffrey Hinton提交的深層神經網絡表現比第二競爭對手好41%,這表明深度學習是一種可行的機器學習策略,并可能引發ML研究領域的深度學習的爆發。
ImageNet的成功表明,在深度學習的時代,數據至少與算法同樣重要。ImageNet數據集不僅使誕生于2012年的深度學習能力得以展現,而且還在遷移學習中實現了重要性的突破:研究人員很快意識到可以使用最先進的模型從ImageNet中學到任何將權重初始化,這種“微調”方法可以表現出良好的性能。
?
在ILSVRC-2012上接受過訓練的特征可歸納為SUN-397數據集
預訓練的ImageNet模型已被用于在諸如物體檢測之類的任務中如語義分割,人體姿勢估計和視頻識別,并且表現非常良好。同時,他們已經將CV應用到訓練樣本數量少且注釋昂貴的領域。
ImageNet中有什么?
為了確定ImageNet的語言形式,我們首先必須確定是什么讓ImageNet適合遷移學習。之前我們只是對這個問題有所了解:減少每個類的示例數或類的數量只會導致性能下降,而細粒度和更多數據對性能并不總是好的。
與其直接查看數據,更謹慎的做法是探究在數據上訓練的模型學到了什么。眾所周知,在ImageNet上訓練的深層神經網絡的特征遷移順序為從第一層到最后一層、從一般任務到特定任務:較低層學習建模低級特征,如邊緣,而較高層學習建模高級概念,如圖案和整個部分或對象,如下圖所示。重要的是,關于物體邊緣、結構和視覺組成的知識與許多 CV 任務相關,這就揭示了為什么這些層會被遷移。因此,類似 ImageNet的數據集的一個關鍵屬性是鼓勵模型學習可以泛化到問題域中新任務的特征。
?
可視化在ImageNet上訓練的GoogLeNet中不同層的特征捕獲的信息
除此之外,很難進一步概括為什么ImageNet的遷移工作表現的如此好。例如,ImageNet數據集的另一個可能的優點是數據的質量,ImageNet的創建者竭盡全力確保可靠和一致的注釋。然而,遠程監督的工作是一個對比,這表明大量的弱標簽數據可能就足夠了。事實上,最近Facebook的研究人員表示,他們可以通過預測數十億社交媒體圖像上的主題標簽以及ImageNet上最先進的準確性來預先訓練模型。
如果沒有更具體的見解,我們必須明白兩個關鍵的需求:?
? ?1.?????類似ImageNet的數據集應該足夠大,即大約數百萬個訓練樣例。
? ?2.????它應該代表該學科的問題空間。
用于語言任務的ImageNet
相比于 CV,NLP 的模型通常淺得多。因此對特征的分析大部分聚焦于第一個嵌入層,很少有人研究遷移學習的高層性質。我們考慮規模足夠大的數據集。在當前的 NLP 形勢下,有以下幾個常見任務,它們都有可能用于 NLP 的預訓練模型。
閱讀理解是回答關于段落自然語言問題的任務。這項任務最受歡迎的數據集是Stanford Question Answering Dataset(SQuAD),其中包含超過100,000個問答配對,并要求模型通過突出顯示段落中的跨度來回答問題,如下所示:
?
自然語言推理是識別一段文本和一個假設之間的關系(蘊涵、矛盾和中立)的任務。這項任務最受歡迎的數據集是斯坦福自然語言推理(SNLI)語料庫,包含570k人性化的英語句子對。數據集的示例如下所示:
?
機器翻譯,將一種語言的文本翻譯成另一種語言的文本,是NLP中研究最多的任務之一,多年來人們已經為流行的語言對積累了大量的訓練數據,例如40M英語-法語WMT 2014中的法語句子對。請參閱下面的兩個示例翻譯對:
?
成分文法分析(Constituency parsing)試圖以(線性化)分析樹的形式提取句子的句法結構,如下所示。目前已經有數以百萬計的弱標簽解析用于訓練此任務的序列到序列模型。
?
語言建模(LM)旨在預測下一個單詞的前一個單詞。現有的基準數據集最多包含一億個單詞,但由于任務無監督的,因此可以使用任意數量的單詞進行訓練。請參閱下面的維基百科文章組成的受歡迎的WikiText-2數據集中的示例:
?
所有這些任務提供或允許收集足夠數量的示例來訓練。實際上,以上任務(以及很多其它任務例如情感分析、skip-thoughts?和自編碼等)都曾在近幾個月被用于預訓練表征。
雖然任何的數據都包含某些偏差,人類標注可能無意間引入額外信息,而模型也將會利用這些信息。近期研究表明在諸如閱讀理解和自然語言推理這樣的任務中的當前最優模型實際上并沒有形成深度的自然語言理解,而是注意某些線索以執行粗淺的模式匹配。例如,Gururangan?等人?(2018)?在《Annotation Artifacts in Natural Language Inference Data》中表明,標注者傾向于通過移除性別或數量信息生成蘊涵示例,以及通過引入否定詞生成矛盾。只需使用這些線索,模型就可以在未查看前提的情況下在?SNLI?數據集上以?67%?的準確率分類假設。
因此,更難的問題是:哪個任務最能代表NLP問題?換種說法,哪個任務使我們能學到最多關于自然語言理解的知識或關系?
語言建模的案例
為了預測句子中最可能的下一個單詞,模型不僅需要能夠表達語法(預測單詞的語法形式必須與其修飾語或動詞匹配),還需要模型語義。更重要的是,最準確的模型必須包含可被視為世界知識或常識的東西。考慮一個不完整的句子“服務很差,但食物是”。為了預測后續的單詞,如“美味”或“糟糕”,模型不僅要記住用于描述食物的屬性,還要能夠識別出“但是”結合引入對比,以便新屬性具有“窮人”的反對情緒。
語言建模是上面提到的最后一種方法,它已被證明可以捕獲與下游任務相關的語言的許多方面,例如長期依賴性、等級關系和情緒。與相關的無監督任務(例如跳過思考和自動編碼)相比,語言建模在語法任務上表現更好,即使訓練數據較少。
語言建模的最大好處之一是訓練數據可以通過任何文本語料庫免費提供,并且可以獲得無限量的訓練數據。這一點尤其重要,因為NLP不僅涉及英語、目前在全球范圍內有大約4,500種語言。作為預訓練任務的語言建模為以前沒有語言開發模型打開了大門。對于數據資源非常低的語言,即使是未標記的數據也很少,多語言語言模型可以同時在多種相關語言上進行訓練,類似于跨語言嵌入的工作。
?
ULMFiT的不同階段
到目前為止,我們將語言建模作為預訓練任務的論點純粹是概念性的。但最近幾個月,我們也獲得了經驗:語言模型嵌入(ELMo)、通用語言模型微調(ULMFiT)和OpenAI已經憑經驗證明了語言建模如何用于預訓練,如上所示。所有這三種方法都采用預訓練語言模型來實現自然語言處理中各種任務的最新技術,包括文本分類、問答、自然語言推理、序列標記等等。
在如下所示的ELMo等很多情況中,使用預訓練語言模型作為核心的算法在廣泛研究的基準上,要比當前最優的結果高10%到20%。ELMo同時也獲得了?NLP頂級盛會NAACL-HLT 2018?的最佳論文。最后,這些模型表現出非常高的樣本效率,達到最優性能只需要數百樣本,甚至可以實現zero-shot學習。
?
ELMo在各種NLP任務中實現的改進
鑒于這一步取得的變化,NLP?實踐者很可能在一年后下載預處理的語言模型,而不是預處理的詞嵌入,來用于他們自己的模型中,就像現在大多數?CV?項目的起點是如何預處理?ImageNet?模型一樣。
然而,類似于word2vec,語言建模的任務自然有其自身的局限性:它只是作為真正的語言理解的代理,并且單個單體模型沒有能力捕獲某些下游任務所需的信息。例如,為了回答關于或遵循故事中人物軌跡的問題,模型需要學習執行回指或共同解決。此外,語言模型只能捕獲他們所看到的內容。某些類型的特定信息,例如大多數常識知識,很難單獨從文本中學習,這就需要整合一部分外部信息。
一個突出的問題是如何從一個預訓練語言模型將信息遷移到下游任務中。有兩個主要的范式,一是是否將預訓練語言模型作為固定的特征提取器,并將其表征作為特征整合到隨機初始化的模型(正如ELMo所做的)中;二是是否微調完整的語言模型(如ULMFiT所做的)。后者在計算機視覺中很常用,其中訓練時會調整模型的最高層或最高的幾層。雖然NLP模型通常更淺,因此相比對應的視覺模型需要不同的微調技術,但近期的的預訓練模型變得更深了。我在下一月將展示NLP遷移學習的每個核心組件的作用:包括表達性很強的語言模型編碼器(如深度BiLSTM或Transformer),用于預訓練的數據的量和本質,以及微調預訓練模型使用的方法。
但理論依據在哪里?
到目前為止,我們的分析主要是概念性的和經驗性的,因為人們仍然很難理解為什么在ImageNet上訓練的模型遷移得如此之好。一種更為正式的、考慮預訓練模型泛化能力的方式是基于bias learning模型(Baxter, 2000)。假設我們的問題域覆蓋特定學科中任務的所有排列,例如計算機視覺——它構成了環境。我們對此提供了許多數據集,允許我們誘導一系列假設空間?H=H'。我們在偏置學習中的目標是找到偏置,即假設空間?H'∈H,它可以在整個環境中最大化性能。
多任務學習中的經驗和理論結果(Caruana,1997; Baxter,2000)表明,在足夠多的任務中學習到的偏置或許可以推廣到在同樣環境中未見過的任務上。通過多任務學習,在ImageNet上訓練的模型可以學習大量的二進制分類任務(每個類一個)。這些任務都來自自然、真實世界的圖像空間,可能對許多其他?CV?任務也有代表性。同樣,語言模型通過學習大量分類任務(每個詞一個)可能誘導出有助于自然語言領域許多其他任務的表征。然而,要想從理論上更好地理解為什么語言建模似乎在遷移學習中如此有效,還需要進行更多的研究。
NLP的ImageNet時代
NLP使用遷移學習的時機已經成熟。鑒于ELMo、ULMFiT和OpenAI的實證結果如此令人印象深刻,這種發展似乎只是一個時間問題,預訓練的詞嵌入模型將逐漸淘汰,取而代之的是每個?NLP?開發者工具箱里的預訓練語言模型。這有可能會解決NLP領域標注數據量不足的問題。
??數十款阿里云產品限時折扣中,趕緊點擊領劵開始云上實踐吧!
以上為譯文。
本文由阿里云云棲社區組織翻譯。
文章原標題《NLP's ImageNet moment has arrived》,
作者:gradient。譯者:虎說八道,審校:。
文章為簡譯,更為詳細的內容,請查看原文。
原文鏈接
總結
以上是生活随笔為你收集整理的NLP的ImageNet时代已经到来的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谈谈社区、产品和新Dubbo | 从Du
- 下一篇: Python数据挖掘与机器学习,快速掌握