一文看懂NLP神經網路發展歷史中最重要的8個里程碑!

dicksonjyl560101發表於2018-11-08

一文看懂NLP神經網路發展歷史中最重要的8個里程碑!

 

https://mp.weixin.qq.com/s/gNZiiEfsQjlF9tArNDIt5Q

 

 

                                             

作者|Sebastian Ruder 譯者|小大非 編輯|Debra 來自

 

導讀: 這篇文章中作者嘗試將 15 年的自然語言處理技術發展史濃縮為 8 個高度相關的里程碑事件,不過它有些偏向於選擇與當前比較流行的神經網路技術相關的方向。我們需要關注的是,本文中介紹的許多神經網路模型都建立在同時代的非神經網路技術之上。在文章的最後,作者強調了這些有影響力的技術成果,它們為以後的 NLP 方法發展奠定了基礎。

這是兩篇系列文章中的第一篇。在 2018 年的 Indaba 深度學習大會 上,Herman Kamper 和我組織了一場自然語言處理研討會,整個會議的幻燈片可以在 這裡:()下載。本文將討論用神經網路方法解決 NLP 問題的主要進展,而第二篇文章將主要討論 NLP 中的開放性問題。

 

在這篇文章中我嘗試將近 15 年的自然語言處理技術發展史濃縮為 8 個高度相關的里程碑事件,為此不得不省略許多相關性較強同時也比較重要的技術事件。 本文更偏向於選擇與當前比較流行的神經網路技術相關的方向,這可能會給人一種錯誤的印象,即在這一時期沒有其他有影響力的技術方法產生。需要特別強調的是,本文介紹的許多神經網路模型都建立在同時代的非神經網路技術之上。 在這篇文章的最後一部分,我會著重介紹這些有影響力的非神經網路技術成果,它們為以後的 NLP 方法發展奠定了基礎。

 

本文主要的內容如下:

  • 2001 - 神經語言模型

  • 2008 - 多工學習

  • 2013 - 詞嵌入

  • 2013 - NLP 神經網路

  • 2014 - sequence-to-sequence 模型

  • 2015 - 注意力機制

  • 2015 - 基於記憶的網路

  • 2018 - 預訓練語言模型

  • 其他的里程碑事件

  • 傳統演算法里程碑事件

 

2001 - 神經語言模型

語言建模任務指的是給定前一個單詞去預測文字中的下一個單詞。它可能是比較簡單的語言處理任務,具體的實際應用場景包括 智慧鍵盤、電子郵件回覆建議(Kannan 等人, 2016)、拼寫自動更正等。正如很多人所知,語言建模有著豐富的歷史。其中比較經典的方法基於 n-grams ,並使用平滑處理不可見的 n-grams(Kneser & Ney, 1995)。

第一個神經語言模型是 Bengio 等人在 2001 年提出的前饋神經網路,如圖 1 所示。

圖 1:前饋神經網路語言模型(Bengio 等,2001;2003)

這個模型將從表 C 中查詢到的 n 個單詞作為輸入向量表徵。這種向量被現在的學者們稱做“詞嵌入”。這些詞嵌入級聯後被輸入到一個隱藏層中,該隱藏層的輸出又被輸入到 softmax 層。更多關於模型的資訊,請看 這篇文章( )。

 

最近,在語言建模技術方面,前饋神經網路被迴圈神經網路(RNNs;Mikolov 等人,2010)和長短時記憶網路(LSTMs;格雷夫斯,2013)所取代。儘管近年來提出了許多擴充套件經典 LSTM 的新語言模型,經典的 LSTM 仍然作為一個強大的基線存在著(Melis 等人, 2018)。甚至 Bengio 等人的經典前饋神經網路在某些情況下也可以與更復雜的模型一較高下,因為這些模型通常只會考慮距離較近的單詞(Daniluk 等人, 2017)。因此,如何更好地理解這種語言模型所捕獲的資訊也是一個比較熱門的研究領域(Kuncoro 等人, 2018;布萊文斯等人,2018 年)。

 

語言建模通常是應用 RNN 時的第一步,對於這一點大家已經形成了共識。 許多人是透過 Andrej 的部落格 文章第一次接觸到語言建模的。語言建模是一種非監督學習形式,Yann LeCun 也將其稱為預測性學習,並將其作為獲得基礎常識的先決條件(參見NIPS 2016 年的幻燈片)。語言建模最引人關注的一點是,儘管它很簡單,但卻是本文後面討論的許多技術發展的核心:

  • 詞嵌入:word2vec 的目標是簡化語言建模。

  • sequence-to-sequence 模型:這種模型透過一次預測一個單詞生成一個輸出序列。

  • 預訓練語言模型:這些方法使用來自語言模型的表述進行遷移學習。

 

反過來講,這意味著近年來 NLP 的許多重要進展都可以歸結為某些形式的語言建模。為了“真正”理解自然語言,僅僅從文字的原始形式中學習是不夠的。我們需要新的方法和模型。

 

2008- 多工學習

多工學習是在多個任務上訓練的模型之間共享引數的一種通用方法。 在神經網路中,可以透過給不同層施以不同的權重,來很容易地實現多工學習。多工學習的概念最初由 Rich Caruana 在 1993 年提出,並被應用於道路跟蹤和肺炎預測(Caruana, 1998)。直觀地說,多工學習鼓勵模型學習對許多工有用的表述。這對於學習一般的、低階的表述形式、集中模型的注意力或在訓練資料有限的環境中特別有用。想要更全面地瞭解多工學習,請看 這篇文章。

在 2008 年,Collobert 和 Weston 將多工學習首次應用於 NLP 的神經網路。在他們的模型中,查詢表(或單詞嵌入矩陣)在兩個接受不同任務訓練的模型之間共享,如下面的圖 2 所示。

圖 2:單詞嵌入矩陣的共享(Collobert & Weston, 2008 年;Collobert 等人,2011)

 

詞嵌入的共享,使得模型能夠在詞嵌入矩陣中協作和共享一般的低階資訊,而這些低階資訊所佔的引數量往往是模型中最大的一部分。 2008 年,Collobert 和 Weston 共同撰寫的論文對多工學習之外的其他應用還產生了一定的影響。它率先提出了一些想法,如對文字嵌入進行預訓練以及使用卷積神經網路(CNNs)來處理文字資料。它獲得了 ICML 2018 年的經典論文獎(參見 本文的經典論文獎演講)。

 

多工學習現在被廣泛地用於 NLP 任務。充分利用現有的或“人造”的任務進行訓練,可以更好的提高 NLP 效率。 雖然引數的共享通常是預定義的,但是在最佳化過程中也可以學習到不同的共享模式(Ruder 等人, 2017)。隨著對多工模型泛化能力的評估,多工學習越來越重要,最近還提出了多工學習的專用標準(Wang 等人, 2018;McCann 等人,2018 年)。

 

2013- 詞嵌入

用稀疏向量表示文字,即所謂的詞袋模型在 NLP 有著悠久的歷史。 正如上文中介紹的,早在 2001 年就開始使用 密集向量 表示詞或詞嵌入。Mikolov 等人在 2013 年提出的創新技術是透過去除隱藏層,逼近目標,進而使這些單詞嵌入的訓練更加高效。雖然這些技術變更本質上很簡單,但它們與高效的 word2vec 配合使用,便能使大規模的詞嵌入訓練成為可能。

 

Word2vec 有兩種風格,如下面的圖 3 所示:連續字袋(CBOW)和 skip-gram。不過他們的目標不同:一個是根據周圍的單詞預測中心單詞,而另一個則相反。

圖 3:連續字袋和 skip-gram 架構(Mikolov 等人, 2013a;2013 b)

 

雖然這些嵌入在概念上與使用前饋神經網路學習的嵌入在概念上沒有區別,但是在一個非常大的語料庫上訓練之後,它們就能夠捕獲諸如性別、動詞時態和國家 - 首都關係等單詞之間的特定關係,如下圖 4 所示。

圖 4:word2vec (Mikolov 等人, 2013a;2013 b)

這些詞語間關係的獲得及其背後的意義引發了人們對嵌入技術的興趣——人們開始大量研究這些線性關係形成的原理(Arora 等人, 2016;Mimno & Thompson, 2017;Antoniak & Mimno,2018 年;Wendlandt 等人,2018 年)。 然而,推動詞嵌入技術成為當前 NLP 的主流技術的卻不是這些原理,而是在初始化時使用預訓練的嵌入,因為這樣做可以提高下游任務的效能。

 

雖然 word2vec 捕捉到的詞間關係很直觀、質量高得甚至有些神奇,但後來的研究表明,word2vec 本身並沒有什麼特別之處:詞嵌入也可以透過矩陣分解來學習(Pennington 等人,2014);透過適當的調優,SVD 和 LSA 等經典的矩陣分解方法也得到了類似的結果(Levy 等人, 2015)。

 

從那以後,人們開始投入大量的精力去探索詞嵌入的各個方面。透過 這篇文章,我們可以看出一些趨勢和未來的方向。 儘管有許多發展進步,但到現在為止,word2vec 仍然是大眾的首選。 對 Word2vec 的使用範圍已經不限於單詞級別了:基於區域性上下文學習嵌入的簡單目標——帶負抽樣的 skip-gram 已被用於學習句子表示(Mikolov & Le, 2014;Kiros 等人,2015)。Word2vec 甚至還在網路(Grover & Leskovec, 2016)和生物序列(Asgari & Mofrad, 2015)等其他應用場景中發揮了作用。

 

一個比較有研究價值的技術方向是將不同語言的詞嵌入到同一個空間中,以實現(零樣本)跨語言遷移。以一種完全不受監督的方式(至少對於類似的語言來說)學習資料以實現一個好的推測效果變得越來越有可能 (Conneau 等人,2018 年;Artetxe 等人,2018 年;Søgaard 等人,2018)。這種學習方式可被應用於語言資源缺乏的無監督機器翻譯系統中(Lample 等人,2018;;Artetxe 等人,2018)。檢視(Ruder 等人, 2018)以獲得概述。

 

2013 - NLP 神經網路

2013 年和 2014 年是 NLP 問題開始引入神經網路模型的時期。使用最廣泛的三種主要的神經網路是:迴圈神經網路、卷積神經網路和遞迴神經網路。

 

迴圈神經網路(RNNs) 迴圈神經網路是處理 NLP 中普遍存在的動態輸入序列的一個最佳的技術方案。Vanilla RNNs (Elman, 1990)很快被經典的長 - 短期記憶網路(Hochreiter & Schmidhuber,1997)所取代,它被證明對消失和爆炸梯度問題更有彈性。在 2013 年之前,RNN 仍被認為很難訓練;Ilya Sutskever 的博士論文為改變這種現狀提供了一個關鍵性的例子。下面的圖 5 對 LSTM 單元進行了視覺化顯示。雙向 LSTM (Graves 等人, 2013)通常用於處理左右兩邊的上下文。

圖 5:LSTM 網路(來源:Chris Olah)

 

卷積神經網路(CNNs)   卷積神經網路本來是廣泛應用於計算機視覺領域的技術,現在也開始應用於語言 (Kalchbrenner 等人, 2014;Kim 等人,2014)。文字的卷積神經網路只在兩個維度上工作,其中濾波器(卷積核)只需要沿著時間維度移動。下面的圖 6 顯示了 NLP 中使用的典型 CNN。

圖 6:文字卷積神經網路(Kim, 2014)

 

卷積神經網路的一個優點是它們比 RNN 更可並行化,因為其在每個時間步長的狀態只依賴於本地上下文(透過卷積運算),而不是像 RNN 那樣依賴過去所有的狀態。 使用膨脹卷積,可以擴大 CNN 的感受野,使網路有能力捕獲更長的上下文(Kalchbrenner 等人, 2016)。 CNN 和 LSTM 可以組合和疊加 (Wang 等人, 2016) ,卷積也可以用來加速 LSTM (Bradbury 等人, 2017)。

 

遞迴神經網路   RNN 和 CNN 都將語言視為一個序列。然而,從語言學的角度來看,語言本質上是層次化的:單詞被組合成高階短語和從句,這些短語和從句本身可以根據一組生產規則遞迴地組合。將句子視為樹而不是序列的語言學啟發思想產生了遞迴神經網路 (Socher 等人, 2013),如下圖 7 所示。

圖 7:遞迴神經網路(Socher 等人, 2013)

 

遞迴神經網路從下到上構建序列的表示,這一點不同於從左到右或從右到左處理句子的 RNN。 在樹的每個節點上,透過組合子節點的結果來計算新的結果。由於樹也可以被視為在 RNN 上強加不同的處理順序,所以 LSTM 自然地也被擴充套件到樹上(Tai 等人, 2015)。

 

RNN 和 LSTM 可以擴充套件到使用層次結構。單詞嵌入不僅可以在本地學習,還可以在語法語境中學習(Levy & Goldberg, 2014);語言模型可以基於句法堆疊生成單詞(Dyer 等人, 2016);圖卷積神經網路可以基於樹結構執行(Bastings 等人, 2017)。

 

2014-sequence-to-sequence 模型

2014 年,Sutskever 等人提出了 sequence-to-sequence 模型。這是一個使用神經網路將一個序列對映到另一個序列的通用框架。在該框架中,編碼器神經網路逐符號處理一個句子,並將其壓縮為一個向量表示;然後,一個解碼器神經網路根據編碼器狀態逐符號輸出預測值,並將之前預測的符號作為每一步的輸入, 如下圖 8 所示。

圖 8:sequence-to-sequence 模型(Sutskever 等人, 2014)

 

機器翻譯是對這個框架比較成功的應用。 2016 年,谷歌宣佈將開始用神經 MT 模型取代基於單片短語的 MT 模型 (Wu 等人, 2016)。根據 Jeff Dean 的說法,這意味著用 500 行神經網路模型替換 50 萬行基於短語的 MT 程式碼。

 

 

由於其靈活性,這個框架現在是自然語言生成任務的首選框架,其中不同的模型承擔了編碼器和解碼器的角色。重要的是,解碼器模型不僅可以解碼一個序列,而且可以解碼任意表徵。 例如,可以基於影像生成標題(Vinyals 等人, 2015)(如下圖 9 所示)、基於表生成文字(Lebret 等人, 2016)和基於應用程式中原始碼更改描述(Loyola 等人, 2017)。

圖 9:基於影像生成標題(Vinyals 等人,2015)

 

 

sequence-to-sequence 學習甚至可以應用於 NLP 中輸出具有特定結構的結構化預測任務。 為了簡單起見,輸出被線性化,如下面的圖 10 所示,用於進行選區解析。神經網路已經證明了在有足夠數量的訓練資料進行選區分析(Vinyals 等人,2015)和命名實體識別(Gillick 等人, 2016)的情況下,直接學習可以產生這種線性化輸出的能力。

 

圖 10:線性化選區解析樹(Vinyals 等人,2015)

 

序列和解碼器的編碼器通常基於 RNN,但可以使用其他模型型別。新的體系結構主要來源於 MT 的貢獻,它是 sequence-to-sequence 模型體系結構的主要開發者。最新的模型有 deep LSTMs (Wu 等人,2016;tional encoders 、Kalchbrenner 等人,2016;Gehring 等人, Transformer 、Vaswani 等人,2017)和 LSTM 與 Transformer 的結合體(Chen 等人, 2018)。

 

2015- 注意力機制

注意力機制 (Bahdanau 等人, 2015) 是神經網路機器翻譯 (NMT)的核心創新之一,也是使 NMT 模型勝過經典的基於短語的 MT 系統的關鍵思想。 sequence-to-sequence 模型的主要瓶頸是需要將源序列的全部內容壓縮為一個固定大小的向量。 注意力機制透過允許解碼器回頭檢視源序列隱藏狀態來緩解這一問題,然後將其加權平均作為額外輸入提供給解碼器,如下面的圖 11 所示。

圖 11:Attention(Bahdanau 等人, 2015)

 

 

注意力機制有很多不同的形式(Luong 等人, 2015)。這裡有一個簡短的概述。 注意力機制廣泛適用於任何需要根據輸入的特定部分做出決策的任務,並且效果不錯。 它已被應用於一致性解析(Vinyals 等人,2015)、閱讀理解(Hermann 等人,2015)和一次性學習(Vinyals 等人,2016)等諸多領域。輸入甚至不需要是一個序列,即可以包含其他表示,如影像字幕(Xu 等人, 2015),如下圖 12 所示。 注意力機制的一個額外的功能是,它提供了一種少見的功能,我們可以透過檢查輸入的哪些部分與基於注意力權重的特定輸出相關來了解模型的內部工作方式。

 

圖 12:影像字幕模型中的視覺注意力,預測模型在生成“飛盤”時所關注的內容。(Xu 等人, 2015)

 

注意力機制也不僅僅侷限於觀察輸入序列;可以使用 self-attention 檢視句子或文件中的周圍單詞,以獲得更佳的上下文敏感的詞表示。Transformer 架構的核心是多層次的自我關注(Vaswani 等人, 2017),這是目前 NMT 最先進的模型。

 

2015 - 基於記憶的網路

注意力機制可以看作是模糊記憶的一種形式。記憶由模型的隱藏狀態組成,模型選擇從記憶中檢索內容。 研究者們提出了許多具有更明確記憶的模型。這些模型有不同的變體,如 神經圖靈機 (Graves 等 ,2014)、 記憶網路 (Weston 等 ,2015)和 端到端記憶網路 (Sukhbaatar 等,2015)、 動態記憶網路 (Kumar 等 ,2015)、 神經微分計算機 (Graves 等,2016)和 迴圈實體網路 (Henaff 等,2017)。

 

記憶的訪問通常基於與當前狀態的相似度,類似於注意力,通常可以寫入和讀取。模型在如何實現和利用記憶體方面有所不同。例如,端到端記憶網路多次處理輸入,並更新記憶以實現多個推理步驟。神經圖靈機也有一個基於位置的定址,這允許他們學習簡單的計算機程式,如排序。 基於記憶的模型通常應用於一些特定任務中,如語言建模和閱讀理解。 在這些任務中,長時間儲存資訊應該很有用。記憶的概念是非常通用的:知識庫或表可以充當記憶,而記憶也可以根據整個輸入或它的特定部分填充。

 

2018 - 預訓練語言模型

預訓練的詞嵌入與上下文無關,僅用於初始化模型中的第一層。 最近幾個月,一系列監督型任務被用於神經網路的預訓練(Conneau 等人,2017;McCann 等人,2017;Subramanian 等人,2018 年)。相反,語言模型只需要無標籤的文字;因此,訓練可以擴充套件到數十億個令牌、新域和新語言。預訓練語言模型於 2015 年被首次提出(Dai & Le, 2015);直到最近,它們才被證明在各種任務中效果還是不錯的。語言模型嵌入可以作為目標模型中的特徵(Peters 等人,2018 年),或者使用語言模型對目標任務資料進行微調(Ramachandran 等人,2017 年;霍華德 & 魯德出版社,2018 年)。新增語言模型嵌入可以在許多不同的任務中提供比最先進的技術更大的改進,如下面的圖 13 所示。

 

圖 13:嵌入到最先進的語言模型中的改進(Peters 等人, 2018)

 

預訓練的語言模型已經被證明可以用更少的資料進行學習。 由於語言模型只需要無標記的資料,因此對於標記資料稀缺的低資源語言尤其有用。

 

其他里程碑事件

其他一些技術發展沒有上面提到的那樣流行,但仍然有廣泛的影響。

基於字元的表示   在字元上使用 CNN 或 LSTM 以獲得基於字元的詞表示的做法現在相當普遍,特別是對於形態資訊重要或有許多未知單詞的豐富的語言和任務,效果更加明顯。據我所知,序列標籤使用基於字元的表示(Lample 等人,2016;普蘭克等人,2016),可以減輕在計算成本增加的情況下必須處理固定詞彙表的需要,並支援完全基於字元的 NMT (Ling 等人, 2016;Lee 等人,2017)。

 

對抗學習   對抗學習方法已經在 ML 領域掀起了風暴,在 NLP 中也有不同形式的應用。對抗性的例子越來越被廣泛使用,它不僅是作為一種工具來探究模型和理解它們的失敗案例,而且也使自身更加魯棒(Jia & Liang, 2017)。 (虛擬)對抗性訓練,即最壞情況擾動 (Miyato 等人,2017) 和領域對抗性損失 (Ganin 等人, 2016;Kim 等人,2017), 同樣可以使模型更加魯棒。生成對抗網路(GANs)對於自然語言生成還不是很有效 (Semeniuta 等人, 2018), 但在匹配分佈時很有用 (Conneau 等人, 2018)。

 

強化學習   強化學習已被證明對具有時間依賴性的任務有效 ,例如在訓練期間選擇資料(Fang 等人, 2017;Wu 等人, 2018)和建模對話(Liu 等人, 2018)。RL 對於直接最佳化不可微的末端度量(如 ROUGE 或 BLEU)也有效,反而在彙總中最佳化替代損失(如交叉熵)(Paulus 等人, 2018;Celikyilmaz 等人,2018)和機器翻譯場景效果就不明顯了(Ranzato 等人,2016)。 類似地,逆向強化學習在過於複雜而無法指定資料的情況下也很有用,比看圖說話任務 (Wang 等人, 2018)。

 

非神經網路演算法的里程碑事件

在 1998 年和接下來的幾年裡,FrameNet 專案誕生了(Baker 等人, 1998),這指導了 語義角色標註 的任務。這是一種淺語義解析的形式,至今仍在積極研究開發中。在本世紀初,與自然語言學習會議(CoNLL)一起組織的共享任務促進了核心 NLP 任務的研究,如組塊(Tjong Kim Sang 等人, 2000)、命名實體識別(Tjong Kim Sang 等人, 2003)和依賴解析(Buchholz 等人, 2006)等。許多 CoNLL 共享任務資料集現在仍然被用作評估的標準。

 

2001 年,條件隨機場 (CRF;Lafferty 等人, 2001) 成為了最具影響力的序列標註方法類別之一,獲得了 ICML 2011 的最佳論文獎。 CRF 層是當前最先進的序列標註問題模型的核心部分,這些模型具有標籤間的相互依賴性,如命名實體識別(Lample 等,2016)。

2002 年,雙語互譯質量評估輔助工具(BLEU;Papineni 等人,2002)給出了 雙語互譯質量度量標準 ,這使得 MT 系統得以擴充套件。其現在仍然是 MT 評估的標準度量標準。同年, 結構感知機(Collins,2002)問世,為結構化感知工作奠定了基礎。 在同一次會議上, 情感分析也成了最受歡迎和廣泛研究的 NLP 任務之一 (Pang 等人, 2002)。這三篇論文都獲得了 2018 年 NAACL 最佳論文獎。

 

2003 年引入了潛在 狄利克雷分配(LDA ;Blei 等人,2003), 這是機器學習中應用最廣泛的技術之一,至今仍是主題建模的標準方法。 在 2004 年,有學者提出了比 SVM 更適合於捕獲結構化資料中的相關性的 新最大邊緣模型 (Taskar 等人, 2004a;2004b)。

 

2006 年, OntoNotes (Hovy 等人, 2006)介紹了一個具有多個註釋和高註釋協議的大型多語言語料庫。OntoNotes 已被用於訓練和評估各種任務,如依賴解析和引用解析。 Milne 和 Witten(2008)在 2008 年介紹了 利用維基百科豐富機器學習方法的方案。 到目前為止, Wikipedia 是訓練 ML 方法最有用的資源之一,無論是用於實體連結和消除歧義、語言建模、知識庫還是其他各種任務。

 

2009 年,提出了 遠端監督 的概念(Mintz 等人, 2009)。遠端監督利用啟發式或現有知識庫中的資訊生成帶有噪聲的模式,可用於從大型語料庫中自動提取示例。遠端監督現已被廣泛應用,並且已經是關係提取、資訊提取、情感分析等領域的常用技術。

 

英文原文:

 

推薦閱讀:

一大批歷史精彩文章啦

中國法研杯 --- 司法人工智慧挑戰賽

編碼器- 解碼器網路:神經翻譯模型詳解

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2219227/,如需轉載,請註明出處,否則將追究法律責任。

相關文章