自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

自然語言處理的神經(jīng)網(wǎng)絡(luò)模型初探

人工智能 深度學習 自然語言處理
深度學習(Deep Learning)技術(shù)對自然語言處理(NLP,Natural Language Processing)領(lǐng)域有著巨大的影響。

深度學習(Deep Learning)技術(shù)對自然語言處理(NLP,Natural Language Processing)領(lǐng)域有著巨大的影響。

但作為初學者,您要從何處開始學習呢?

深度學習和自然語言處理都是較為廣闊的領(lǐng)域,但每個領(lǐng)域重點研究些什么?在自然語言處理領(lǐng)域中,又是哪一方面最受深度學習的影響呢?

通過閱讀本文,您會對自然語言處理中的深度學習有一個初步的認識。

閱讀這篇文章后,您可以知道:

  • 對自然語言處理領(lǐng)域影響最為深遠的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
  • 綜觀那些可以通過深度學習成功解決的自然語言處理任務(wù)。
  • 密集詞表示(Dense word representations)的重要性以及可以用于學習它們的方法。

現(xiàn)在,讓我們開始本次學習之旅。

[[220808]]

自然語言處理的神經(jīng)網(wǎng)絡(luò)模型入門

圖片作者 faungg ,部分版權(quán)保留。

概覽

本文將遵循相關(guān)論文的結(jié)構(gòu)而分為 12 個部分,分別是:

  1. 關(guān)于論文(簡介)
  2. 神經(jīng)網(wǎng)絡(luò)架構(gòu)
  3. 特征表示
  4. 前饋神經(jīng)網(wǎng)絡(luò)
  5. 詞嵌入
  6. 訓練神經(jīng)網(wǎng)絡(luò)
  7. 級聯(lián)和多任務(wù)學習
  8. 結(jié)構(gòu)化輸出預(yù)測
  9. 卷積層
  10. 循環(huán)神經(jīng)網(wǎng)絡(luò)
  11. 循環(huán)神經(jīng)網(wǎng)絡(luò)的具體架構(gòu)
  12. 樹型建模

我想給大家介紹一下本文的主要部分和風格,以及高層次的話題介紹。

如果你想繼續(xù)深入研究,我強烈推薦閱讀全文或者一些最近出版的的書

1.關(guān)于論文

論文的題目是:“A Primer on Neural Network Models for Natural Language Processing ” (自然語言處理的神經(jīng)網(wǎng)絡(luò)模型入門)。

這篇論文可以免費在 ArXiv 上獲取,最新一次提交則是在 2015 年。它不只是一篇論文,更像是一篇技術(shù)報告或教程,并且文中還提供了針對學生與研究人員的,關(guān)于自然語言處理(NLP)中的深度學習方法的比較全面的介紹。

本教程從自然語言處理研究的角度對神經(jīng)網(wǎng)絡(luò)模型進行了相關(guān)研究,力圖令自然語言領(lǐng)域的研究人員能跟上神經(jīng)網(wǎng)絡(luò)技術(shù)的發(fā)展速度。

這篇入門論文是由 NLP 領(lǐng)域研究員 Yoav Goldberg 撰寫的,他曾在 Google Research 擔任研究科學家。雖然 Yoav 最近引起了一些爭議,但我不會因此反對他。

這是一份技術(shù)報告,大概共有 62 頁,其中約有 13 頁是參考文獻列表。

這篇文章非常適合初學者,其原因有二:

  • 它對于讀者的要求并不高,只需要您對這一主題有一定的興趣,并且了解少數(shù)關(guān)于機器學習與(或者)自然語言處理相關(guān)的知識即可。
  • 它涵蓋了廣泛的深度學習方法和自然語言問題。

在本教程中,我嘗試給 NLP 從業(yè)人員(以及新人)提供基本的背景知識,術(shù)語,工具和方法,使他們能夠理解神經(jīng)網(wǎng)絡(luò)模型背后的原理,并將其應(yīng)用到自己的工作中。 ... 本文的受眾,是那些有興趣使用現(xiàn)存的有用技術(shù),并以實用且富有創(chuàng)造性的方式將其應(yīng)用到他們最喜歡的 NLP 問題中的讀者。

通常,關(guān)鍵的深度學習方法通過語言學或自然語言處理的術(shù)語或命名法重新建立,這(在深度學習與自然語言處理之間)提供了一個有用的橋梁。

最后值得一提的是,這篇 2015 年的入門教程已在 2017 年出版,名為 “Neural Network Methods for Natural Language Processing” (自然語言處理中的神經(jīng)網(wǎng)絡(luò)方法)。

如果你喜歡這篇入門教程并且想深入研究,我強烈推薦您繼續(xù)閱讀 Yoav 的這本書。

2.神經(jīng)網(wǎng)絡(luò)架構(gòu)

本小節(jié)簡要介紹了各種不同類型的神經(jīng)網(wǎng)絡(luò)架構(gòu),在后面的章節(jié)中對它們進行了一些交叉引用。

全連接(Fully connected)前饋神經(jīng)網(wǎng)絡(luò)是非線性學習器,在大多數(shù)情況下,它可以替換到使用了線性學習器的任何地方。

小節(jié)內(nèi)容涵蓋了四種神經(jīng)網(wǎng)絡(luò)架構(gòu),并重點介紹了各種應(yīng)用和引用的例子:

  • 全連接前饋神經(jīng)網(wǎng)絡(luò),如多層感知器網(wǎng)絡(luò)(Multilayer Perceptron Networks)。
  • 具有卷積和池化層(Pooling Layers)的網(wǎng)絡(luò),如卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network)。
  • 遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks),如長短期記憶(LSTM,Long Short Term Memory)網(wǎng)絡(luò)。
  • 循環(huán)神經(jīng)網(wǎng)絡(luò)(Recursive Neural Networks)。

如果您只對其中一種特定網(wǎng)絡(luò)類型的應(yīng)用感興趣,并想直接閱讀相關(guān)文獻,本節(jié)則提供了一些很好的來源。

3.特征表示

本節(jié)重點介紹了如何將稀疏表示過渡轉(zhuǎn)化為密集表示,然后再運用到深度學習模型訓練中。

當把輸入的稀疏線性模型轉(zhuǎn)變?yōu)榛谏窠?jīng)網(wǎng)絡(luò)的模型時,最大的變化大概就是不再將每個特征表示為一個唯一的維度(所謂的單一表示 [One-hot Representation]),而是將它們表示為密集向量(Dense Vector)。

本節(jié)中介紹了 NLP 分類系統(tǒng)的一般結(jié)構(gòu),可總結(jié)如下:

  1. 提取一組核心語言特征。
  2. 為每個向量檢索對應(yīng)的向量。
  3. 組合成為特征向量。
  4. 將組合的矢量饋送到一個非線性分類器中。

這個公式的關(guān)鍵在于使用了密集特征向量而不是稀疏特征向量,并且用的是核心特征而非特征組合。

請注意,在神經(jīng)網(wǎng)絡(luò)設(shè)置中的特征提取階段,僅僅處理核心特征的提取。這與傳統(tǒng)的基于線性模型的 NLP 系統(tǒng)大相徑庭,因為在該系統(tǒng)中,特征設(shè)計者不僅必須手動地指定感興趣的核心特征,而且還需要手動指定它們之間的相互作用。

4.前饋神經(jīng)網(wǎng)絡(luò)

本節(jié)是前饋人工神經(jīng)網(wǎng)絡(luò)的速成課。

帶有兩個隱藏層的前饋神經(jīng)網(wǎng)絡(luò),摘自 “A Primer on Neural Network Models for Natural Language Processing”。

網(wǎng)絡(luò)是通過大腦啟發(fā)的隱喻與數(shù)學符號來呈現(xiàn)的。常見的神經(jīng)網(wǎng)絡(luò)主題包括如下幾種:

  • 表示能力(例如通用逼近性 [Universal approximation])。
  • 常見的非線性關(guān)系(例如傳遞函數(shù))。
  • 輸出變換(例如 softmax)。
  • 詞嵌入(例如內(nèi)置的學習密集表示)。
  • 損失函數(shù)(如 Hinge-loss 和對數(shù)損失)。

5.詞嵌入

在自然語言處理中,詞嵌入表示(Word Embedding Representations)是神經(jīng)網(wǎng)絡(luò)方法的關(guān)鍵部分。本節(jié)則擴展了這個主題,并列舉了一些關(guān)鍵的方法。

神經(jīng)網(wǎng)絡(luò)方法中的一個主要組成部分是使用嵌入 - 將每個特征表示為低維空間中的向量

本節(jié)中介紹了關(guān)于詞嵌入的以下幾個主題:

  • 隨機初始化(例如,從統(tǒng)一的隨機向量開始訓練)。
  • 特定的有監(jiān)督任務(wù)的預(yù)訓練(例如,遷移學習 [Transfer Learning])。
  • 無監(jiān)督任務(wù)的預(yù)訓練(例如,word2vec 與 GloVe 之類的統(tǒng)計學方法)。
  • 訓練目標(例如,目標對結(jié)果向量的影響)。
  • 上下文的選擇(例如,每個單詞受到附近的單詞的影響)。

神經(jīng)詞嵌入起源于語言建模領(lǐng)域,其中訓練所得的網(wǎng)絡(luò)則用于基于先前詞的序列來預(yù)測下一個詞。

6.訓練神經(jīng)網(wǎng)絡(luò)

這個較長的章節(jié)是為神經(jīng)網(wǎng)絡(luò)新手而寫的,它著重于訓練神經(jīng)網(wǎng)絡(luò)的具體步驟。

神經(jīng)網(wǎng)絡(luò)的訓練,是通過運用基于梯度的方法將訓練集上的損失函數(shù)最小化來完成的。

本節(jié)重點介紹隨機梯度下降法(還有相似的如 Mini-batch 這樣的方法)以及訓練過程中的一些重要主題,比如說正則化。

有趣的是,本節(jié)還提供了神經(jīng)網(wǎng)絡(luò)的計算圖形透視圖,為諸如 Theano 和 TensorFlow 這樣的符號化數(shù)值計算庫提供了一個引子,而這些庫則是當前流行的用于實現(xiàn)深度學習模型的基礎(chǔ)。

一旦圖形被構(gòu)建,就可以直接運行正向計算(計算計算結(jié)果)或者反向計算(計算梯度)

7.級聯(lián)和多任務(wù)學習

在前一節(jié)的基礎(chǔ)上,本節(jié)總結(jié)了級聯(lián) NLP 模型和多語言任務(wù)學習模型的作用。

級聯(lián)模型(Model cascading):利用神經(jīng)網(wǎng)絡(luò)模型計算圖的定義來使用中間表示(編碼)開發(fā)更復(fù)雜的模型。

例如,我們可能有一個前饋網(wǎng)絡(luò),它用于根據(jù)詞的相鄰詞和(或)構(gòu)成它的字符來預(yù)測詞的詞性。

多任務(wù)學習(Multi-task learning):有一些相互關(guān)聯(lián)的自然語言預(yù)測任務(wù),它們不會相互影響,但它們各自的信息可以跨任務(wù)共享。

用于預(yù)測塊邊界、命名實體邊界和句子中的下一個單詞的信息,都依賴于一些共享的基礎(chǔ)句法語義表示

這兩個先進的概念都是在神經(jīng)網(wǎng)絡(luò)的背景下描述的,它允許模型或信息在訓練(誤差反向傳播)和預(yù)測期間具有連通性。

8.結(jié)構(gòu)化輸出預(yù)測

本節(jié)關(guān)注的是使用深度學習方法進行結(jié)構(gòu)化預(yù)測的自然語言任務(wù),比如說序列、樹,以及圖。

典型的例子是序列標記(例如詞性標注 [Part-of-speech tagging]),序列分割(分塊,NER [Named-entity Recognition,命名實體識別])以及句法分析。

本部分涵蓋了基于貪心思想和基于搜索的結(jié)構(gòu)化預(yù)測,重點關(guān)注后者。

常用的自然語言結(jié)構(gòu)化預(yù)測方法,是基于搜索的方法。

9.卷積層

本節(jié)提供了卷積神經(jīng)網(wǎng)絡(luò)(CNN,Convolutional Neural Networks)的速成課程,以及闡述了這一網(wǎng)絡(luò)對自然語言領(lǐng)域的影響。

值得注意的是,當下已經(jīng)證明了 CNN 對諸如情感分析(Sentiment analysis)這樣的分類 NLP 任務(wù)非常有效,例如學習尋找文本中的特定子序列或結(jié)構(gòu)以進行預(yù)測。

卷積神經(jīng)網(wǎng)絡(luò)被設(shè)計來識別大型結(jié)構(gòu)中的指示性局部預(yù)測因子(Indicative local predictors),并且將它們組合起來以產(chǎn)生結(jié)構(gòu)的固定大小的向量表示,從而捕獲這些對于預(yù)測任務(wù)而言最具信息性的局部方面(Local aspects)。

10.循環(huán)神經(jīng)網(wǎng)絡(luò)

與前一節(jié)一樣,本節(jié)重點介紹了在 NLP 中所使用的特定網(wǎng)絡(luò)及其作用與應(yīng)用。在 NLP 中,遞歸神經(jīng)網(wǎng)絡(luò)(RNN,Recurrent Neural Networks)用于序列建模。

遞歸神經(jīng)網(wǎng)絡(luò)(RNN)允許在固定大小的向量中表示任意大小的結(jié)構(gòu)化輸入,同時也會注意輸入的結(jié)構(gòu)化屬性。

考慮到 RNN,特別是 NLP 中的長短期記憶(LSTM)的普及,這個較大的章節(jié)介紹了各種關(guān)于循環(huán)神經(jīng)網(wǎng)絡(luò)的主題與模型,其中包括:

  • RNN 的抽象概念(例如網(wǎng)絡(luò)圖中的循環(huán)連接)。
  • RNN 訓練(例如通過時間進行反向傳播)。
  • 多層(堆疊)RNN(例如深度學習的 “深度” 部分)。
  • BI-RNN(例如前向和反向序列作為輸入)。
  • 用于表示的 RNN 堆疊。

我們將在 RNN 模型結(jié)構(gòu)或結(jié)構(gòu)元素上花費一定的時間,特別是:

  • 接受器(Acceptor):完整的序列輸入后,它計算輸出的損失。
  • 編碼器(Encoder):最終向量用作輸入序列的編碼器。
  • 轉(zhuǎn)換器(Transducer):為輸入序列中的每個觀測對象創(chuàng)建一個輸出。
  • 編碼器 - 解碼器(Encoder-Decoder):輸入序列在被解碼為輸出序列之前,會編碼成為固定長度的向量。

11.循環(huán)神經(jīng)網(wǎng)絡(luò)的具體架構(gòu)

本章節(jié)基于上一節(jié)的內(nèi)容,介紹了具體的 RNN 算法。

具體包括如下幾點:

  • 簡單的 RNN(SRNN)。
  • 長短期記憶(LSTM)。
  • 門控循環(huán)單元(GRU,Gated Recurrent Unit)。

12.樹型建模

最后一節(jié)則重點關(guān)注一個更復(fù)雜的網(wǎng)絡(luò),我們稱為學習樹型建模的遞歸神經(jīng)網(wǎng)絡(luò)。

樹,可以是句法樹,話語樹,甚至是由一個句子中各個部分所表達的情緒的樹。我們希望基于特定的樹節(jié)點或基于根節(jié)點來預(yù)測值,或者為完整的樹或樹的一部分指定一個質(zhì)量值。

由于遞歸神經(jīng)網(wǎng)絡(luò)保留了輸入序列的狀態(tài),所以遞歸神經(jīng)網(wǎng)絡(luò)會維持樹中節(jié)點的狀態(tài)。

遞歸神經(jīng)網(wǎng)絡(luò)的例子,摘自 “A Primer on Neural Network Models for Natural Language Processing”。

擴展閱讀

如果您正在深入研究,本節(jié)將提供更多有關(guān)該主題的資源。

A Primer on Neural Network Models for Natural Language Processing,2015 年發(fā)表。

Neural Network Methods for Natural Language Processing,2017 年出版。

Yoav Goldberg 的個人主頁

Medium 上的 Yoav Goldberg

總結(jié)

這篇文章介紹了一些關(guān)于自然語言處理中的深度學習的入門知識。

具體來說,你學到了:

  • 對自然語言處理領(lǐng)域影響最大的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
  • 對可以通過深度學習算法成功解決的自然語言處理任務(wù)有一個廣泛的認識。
  • 密集表示以及相應(yīng)的學習方法的重要性。

原文鏈接:https://machinelearningmastery.com/primer-neural-network-models-natural-language-processing/

作者:Jason Brownlee

【本文是51CTO專欄作者“云加社區(qū)”的原創(chuàng)稿件,轉(zhuǎn)載請通過51CTO聯(lián)系原作者獲取授權(quán)】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2017-09-19 13:56:46

神經(jīng)網(wǎng)絡(luò)自然語言深度學習

2021-09-03 12:01:07

模型自然語言

2020-04-24 10:53:08

自然語言處理NLP是人工智能

2021-05-13 07:17:13

Snownlp自然語言處理庫

2021-06-23 17:48:02

自然語言神經(jīng)網(wǎng)絡(luò)人工智能

2022-04-22 09:00:00

自然語言處理HMMCRF

2022-09-30 15:28:05

BERT語言模型自然語言

2022-04-11 09:30:00

自然語言HMM深度學習

2017-10-19 17:05:58

深度學習自然語言

2024-04-24 11:38:46

語言模型NLP人工智能

2024-02-05 14:18:07

自然語言處理

2021-05-17 09:00:00

自然語言人工智能技術(shù)

2017-04-17 15:03:16

Python自然語言處理

2017-05-05 15:34:49

自然語言處理

2020-02-25 12:00:53

自然語言開源工具

2020-02-25 23:28:50

工具代碼開發(fā)

2021-11-12 15:43:10

Python自然語言數(shù)據(jù)

2021-05-18 07:15:37

Python

2023-08-07 08:41:45

自然語言模型因果推理

2017-08-28 21:31:37

TensorFlow深度學習神經(jīng)網(wǎng)絡(luò)
點贊
收藏

51CTO技術(shù)棧公眾號