摘要:越來(lái)越火的NLP到底經(jīng)歷了什么?
本文擴(kuò)展了Herman Kamper和我在2018年深度學(xué)習(xí)Indaba組織的自然語(yǔ)言處理前沿課程。整個(gè)課程的幻燈片都可以在這里找到乱投,這篇文章將主要討論NLP中基于神經(jīng)網(wǎng)絡(luò)方法的近期進(jìn)展夸盟。
免責(zé)聲明:本文嘗試將大約15年NLP的發(fā)展歷程濃縮為今天最相關(guān)的八個(gè)里程碑,因此遺漏了許多相關(guān)和重要的發(fā)展艰争。特別是,它嚴(yán)重偏向于當(dāng)前的神經(jīng)方法菩鲜,這可能給人留下此期間沒(méi)有其他有影響力方法的錯(cuò)誤影響园细。
2001年-神經(jīng)語(yǔ)言模型
語(yǔ)言建模是在給定前面的單詞的情況下預(yù)測(cè)文本中的下一個(gè)單詞的任務(wù)。 它可能是最簡(jiǎn)單的語(yǔ)言處理任務(wù)接校,具有實(shí)際應(yīng)用猛频,如智能鍵盤(pán)和電子郵件響應(yīng)建議(Kannan et al.,2016)。語(yǔ)言建模有著豐富的歷史蛛勉÷寡埃基于n-gram的經(jīng)典方法采用平滑處理看不見(jiàn)的n-gram(Kneser&Ney,1995)。Bengio等人于2001年提出了第一種神經(jīng)語(yǔ)言模型诽凌,一種前饋神經(jīng)網(wǎng)絡(luò)毡熏,如下圖1所示。
該模型把n個(gè)可以在表C中查找的先前單詞向量表示作為輸入÷滤校現(xiàn)在痢法,這種向量被稱(chēng)為詞嵌入狱窘。這些詞嵌入被連接并送入隱藏層,然后將其輸出提供給softmax層财搁。想要了解更多該模型的信息蘸炸,請(qǐng)查看此文章。
最近尖奔,前饋神經(jīng)網(wǎng)絡(luò)已被用于語(yǔ)言建模的遞歸神經(jīng)網(wǎng)絡(luò)(RNN; Mikolov等人搭儒,2010)和長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM; Graves,2013)所取代提茁。近年來(lái)已經(jīng)提出了許多經(jīng)典LSTM的新語(yǔ)言擴(kuò)展模型(請(qǐng)參閱此頁(yè)面以獲得概述)淹禾。盡管有這些發(fā)展,但經(jīng)典的LSTM仍然是一個(gè)強(qiáng)大的基線(Melis等茴扁,2018)铃岔。即使Bengio等人的經(jīng)典前饋神經(jīng)網(wǎng)絡(luò)在某些環(huán)境中也與更復(fù)雜的模型競(jìng)爭(zhēng),但這些通常只學(xué)會(huì)考慮最近的詞(Daniluk等峭火,2017)德撬。如何理解這些語(yǔ)言模型捕獲的信息是一個(gè)活躍的研究領(lǐng)域(Kuncoro等,2018; Blevins等躲胳,2018)。
語(yǔ)言建模通常是應(yīng)用RNN時(shí)的首選訓(xùn)練場(chǎng)纤勒,并成功捕捉到了想象力坯苹,許多人通過(guò)Andrej的博客文章開(kāi)始了解。語(yǔ)言建模是無(wú)監(jiān)督學(xué)習(xí)的一種形式摇天,Yann LeCun也將預(yù)測(cè)性學(xué)習(xí)作為獲取常識(shí)的先決條件(參見(jiàn)NIPS 2016的Cake幻燈片)粹湃。 關(guān)于語(yǔ)言建模最顯著的方面可能是,盡管它很簡(jiǎn)單泉坐,但它是本文討論的許多后期進(jìn)展的核心:
詞嵌入:word2vec的目標(biāo)是簡(jiǎn)化語(yǔ)言建模为鳄;
序列到序列模型:這種模型通過(guò)一次預(yù)測(cè)一個(gè)詞來(lái)生成輸出序列;
預(yù)訓(xùn)練語(yǔ)言模型:這些方法使用語(yǔ)言模型中的表示來(lái)進(jìn)行遷移學(xué)習(xí)腕让;
這反過(guò)來(lái)意味著NLP中許多最重要的最新進(jìn)展減少為一種語(yǔ)言建模形式孤钦。 為了做“真正的”自然語(yǔ)言理解,僅僅從原始形式的文本中學(xué)習(xí)可能是不夠的纯丸,我們將需要新的方法和模型偏形。
2008-多任務(wù)學(xué)習(xí)
多任務(wù)學(xué)習(xí)是在多個(gè)任務(wù)上訓(xùn)練的模型之間共享參數(shù)的一般方法。在神經(jīng)網(wǎng)絡(luò)中觉鼻,這可以通過(guò)綁定不同層的權(quán)重來(lái)輕松實(shí)現(xiàn)俊扭。多任務(wù)學(xué)習(xí)的想法在1993年由Rich Caruana首次提出,并應(yīng)用于道路跟蹤和肺炎預(yù)測(cè)(Caruana坠陈,1998)萨惑。直觀地說(shuō)捐康,多任務(wù)學(xué)習(xí)鼓勵(lì)模型學(xué)習(xí)對(duì)許多任務(wù)有用的表示。特別對(duì)于學(xué)習(xí)一般的低級(jí)表示庸蔼,集中模型的注意力或在有限量的訓(xùn)練數(shù)據(jù)的設(shè)置中特別有用解总。有關(guān)多任務(wù)學(xué)習(xí)的更全面概述,請(qǐng)查看此文章朱嘴。
Collobert和Weston于2008年首次將多任務(wù)學(xué)習(xí)應(yīng)用于NLP的神經(jīng)網(wǎng)絡(luò)倾鲫。 在他們的模型中,查找表(或詞嵌入矩陣)在兩個(gè)在不同任務(wù)上訓(xùn)練的模型之間共享萍嬉,如下面的圖2所示乌昔。
共享詞嵌入使模型能夠在詞嵌入矩陣中協(xié)作和共享一般的低級(jí)信息,這通常構(gòu)成模型中最大數(shù)量的參數(shù)壤追。Collobert和Weston在2008年的論文中證明了它在多任務(wù)學(xué)習(xí)中的應(yīng)用磕道,它引領(lǐng)了諸如預(yù)訓(xùn)練詞嵌入和使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)之類(lèi)的思想,這些思想僅在過(guò)去幾年中被廣泛采用行冰。它贏得了ICML 2018的時(shí)間考驗(yàn)獎(jiǎng)(參見(jiàn)此時(shí)的時(shí)間考驗(yàn)獎(jiǎng)?wù)撐?/a>)溺蕉。
多任務(wù)學(xué)習(xí)現(xiàn)在用于各種NLP任務(wù),并且利用現(xiàn)有或“人工”任務(wù)已成為NLP指令集中的有用工具悼做。有關(guān)不同附加任務(wù)的概述疯特,請(qǐng)查看此文章。雖然通常預(yù)先定義參數(shù)的共享肛走,但是在優(yōu)化過(guò)程期間也可以學(xué)習(xí)不同的共享模式(Ruder等漓雅,2017)。隨著模型越來(lái)越多地在多項(xiàng)任務(wù)中被評(píng)估來(lái)評(píng)估其泛化能力朽色,多任務(wù)學(xué)習(xí)越來(lái)越重要邻吞,最近提出了多任務(wù)學(xué)習(xí)的專(zhuān)用基準(zhǔn)(Wang et al,2018; McCann et al葫男,2018)抱冷。
2013-詞嵌入
文本的稀疏向量表示,即所謂的詞袋模型梢褐,在NLP中具有悠久的歷史旺遮。正如我們?cè)谏厦嫠吹降模缭?001年就已經(jīng)使用了詞或詞嵌入的密集向量表示盈咳。 Mikolov等人在2013年提出的主要?jiǎng)?chuàng)新趣效,是通過(guò)移動(dòng)隱藏層和近似目標(biāo)來(lái)使這些詞嵌入的訓(xùn)練更有效率。雖然這些變化本質(zhì)上很簡(jiǎn)單猪贪,但它們與高效的word2vec一起實(shí)現(xiàn)了大規(guī)模的詞嵌入訓(xùn)練跷敬。
Word2vec有兩種模式,可以在下面的圖3中看到:連續(xù)的詞袋(CBOW)和skip-gram。它們的目標(biāo)不同:一個(gè)基于周?chē)脑~預(yù)測(cè)中心詞西傀,而另一個(gè)則相反斤寇。
雖然這些嵌入在概念上與使用前饋神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的嵌入技術(shù)沒(méi)有什么不同,但是對(duì)非常大的語(yǔ)料庫(kù)的訓(xùn)練使它們能夠捕獲諸如性別拥褂,動(dòng)詞時(shí)態(tài)和國(guó)家–首都關(guān)系之類(lèi)的詞之間的某些關(guān)系娘锁,由圖4可知:
這些關(guān)系及其背后的意義引發(fā)了對(duì)嵌入詞的初步興趣,許多研究調(diào)查了這些線性關(guān)系的起源(Arora等饺鹃,2016; Mimno&Thompson莫秆,2017; Antoniak&Mimno,2018; Wendlandt等悔详,2018))镊屎。然而,使用預(yù)訓(xùn)練嵌入作為初始化的固定詞嵌入茄螃,把它作為當(dāng)前NLP的主要內(nèi)容被證明可以提高各種下游任務(wù)的性能缝驳。
雖然捕獲的關(guān)系word2vec具有直觀且?guī)缀跎衿娴男阅埽髞?lái)的研究表明word2vec沒(méi)有任何固有的特殊性:通過(guò)矩陣分解也可以學(xué)習(xí)詞嵌入(Pennington等归苍,2014; Levy&Goldberg用狱,2014)和通過(guò)適當(dāng)?shù)恼{(diào)整,經(jīng)典的矩陣分解方法(如SVD和LSA)可以獲得類(lèi)似的結(jié)果(Levy等拼弃,2015)夏伊。
從那時(shí)起,許多工作已經(jīng)開(kāi)始探索詞嵌入的不同方面吻氧,可以通過(guò)這篇文章了解一些趨勢(shì)和未來(lái)方向署海。盡管有許多發(fā)展,但word2ve仍然是如今被廣泛使用的一種流行的選擇医男。Word2vec的范圍甚至超出了詞級(jí)別:帶有負(fù)抽樣的skip-gram,一個(gè)基于本地環(huán)境學(xué)習(xí)嵌入的方便目標(biāo)捻勉,已被應(yīng)用于學(xué)習(xí)句子的表示(Mikolov&Le镀梭,2014; Kiros et al.,2015)-甚至超越NLP踱启,應(yīng)用到網(wǎng)絡(luò)(Grover&Leskovec报账,2016)和生物序列(Asgari&Mofrad,2015)等埠偿。
一個(gè)特別令人興奮的方向是將不同語(yǔ)言的詞嵌入投影到同一空間中以實(shí)現(xiàn)(零射擊)跨語(yǔ)言轉(zhuǎn)移透罢。越來(lái)越有可能以完全無(wú)監(jiān)督的方式(至少對(duì)于類(lèi)似語(yǔ)言)學(xué)習(xí)良好的投影,這開(kāi)啟了低資源語(yǔ)言和無(wú)監(jiān)督機(jī)器翻譯的應(yīng)用(Lample等冠蒋,2018; Artetxe等羽圃,2018)。請(qǐng)查看(Ruder等抖剿,2018)的概述朽寞。
2013年-NLP的神經(jīng)網(wǎng)絡(luò)
2013年和2014年是神經(jīng)網(wǎng)絡(luò)模型開(kāi)始應(yīng)用于NLP的標(biāo)志年份识窿。三種主要類(lèi)型的神經(jīng)網(wǎng)絡(luò)被廣泛使用:遞歸神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)脑融、循環(huán)神經(jīng)網(wǎng)絡(luò)喻频。
遞歸神經(jīng)網(wǎng)絡(luò)(RNN)是處理NLP中普遍存在的動(dòng)態(tài)輸入序列問(wèn)題的明顯選擇。 Vanilla RNNs(Elman肘迎,1990)很快被經(jīng)典的長(zhǎng)短期記憶網(wǎng)絡(luò)(Hochreiter&Schmidhuber甥温,1997)所取代,后者證明其對(duì)消失和爆炸梯度問(wèn)題更具彈性妓布。在2013年之前姻蚓,RNN仍然被認(rèn)為很難訓(xùn)練,Ilya Sutskever的博士論文是改變這種現(xiàn)狀的一個(gè)關(guān)鍵例子秋茫。LSTM細(xì)胞可視化可以在下面的圖5中看到史简。雙向LSTM(Graves等,2013)通常用于處理左右上下文肛著。
隨著卷積神經(jīng)網(wǎng)絡(luò)(CNN)被廣泛用于計(jì)算機(jī)視覺(jué)圆兵,它們也開(kāi)始應(yīng)用于文本(Kalchbrenner等,2014; Kim等枢贿,2014)殉农。用于文本的卷積神經(jīng)網(wǎng)絡(luò)僅在兩個(gè)維度上操作,其中濾波器僅需要沿時(shí)間維度移動(dòng)局荚。下面的圖6顯示了NLP中使用的典型CNN超凳。
卷積神經(jīng)網(wǎng)絡(luò)的一個(gè)優(yōu)點(diǎn)是它們比RNN更可并行化,因?yàn)槊總€(gè)時(shí)間步的狀態(tài)僅取決于本地環(huán)境(通過(guò)卷積運(yùn)算)而不是像RNN取決過(guò)去所有狀態(tài)耀态。CNN可以使用擴(kuò)張卷積擴(kuò)展到更寬的感受野轮傍,以捕捉更廣泛的背景(Kalchbrenner等2016)。 CNN和LSTM也可以組合和堆疊首装,并且可以使用卷積來(lái)加速LSTM创夜。
RNN和CNN都將語(yǔ)言視為一個(gè)序列。然而仙逻,從語(yǔ)言學(xué)的角度來(lái)看驰吓,語(yǔ)言本質(zhì)上是等級(jí)的:?jiǎn)卧~被組成高階短語(yǔ)和子句它們本身可以根據(jù)一組生產(chǎn)規(guī)則遞歸地組合。將句子視為樹(shù)而不是序列的語(yǔ)言啟發(fā)思想產(chǎn)生了遞歸神經(jīng)網(wǎng)絡(luò)系奉,這可以在下面的圖7中看到:
與從左到右或從右到左處理句子的RNN相比檬贰,遞歸神經(jīng)網(wǎng)絡(luò)從下到上構(gòu)建序列的表示。在樹(shù)的每個(gè)節(jié)點(diǎn)處缺亮,通過(guò)組合子節(jié)點(diǎn)的表示來(lái)計(jì)算新表示翁涤。由于樹(shù)也可以被視為在RNN上施加不同的處理順序,因此LSTM自然地?cái)U(kuò)展到樹(shù)。
RNN和LSTM不僅僅可以被擴(kuò)展來(lái)使用分層結(jié)構(gòu)迷雪,而且不僅可以根據(jù)本地語(yǔ)言學(xué)習(xí)詞嵌入限书,而且可以基于語(yǔ)法背景來(lái)學(xué)習(xí)詞嵌入(Levy&Goldberg,2014)章咧;語(yǔ)言模型可以基于句法堆棧生成單詞(Dyer et al倦西。,2016); 圖形卷積神經(jīng)網(wǎng)絡(luò)可以在樹(shù)上運(yùn)行(Bastings等赁严,2017)扰柠。
本文作者:【方向】
作者:阿里云云棲社區(qū)
鏈接:http://www.reibang.com/p/b140f86906bd
來(lái)源:簡(jiǎn)書(shū)
簡(jiǎn)書(shū)著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處疼约。