RECURRENT NEURAL NETWORKS TUTORIAL

RECURRENT NEURAL NETWORKS TUTORIAL

循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks, RNNs, 遞歸神經(jīng)網(wǎng)絡(luò))是一種在自然語(yǔ)言處理方面大有前途的模型。但有別于它的流行,我很難找到關(guān)于RNN的原理與實(shí)現(xiàn)的資源。這就是我要寫這篇教程的原因。這是一篇系列教程,我將從如下幾個(gè)方面來(lái)講解,

1. RNN基礎(chǔ) Introduction to RNNs (this post)

2. 使用Python與Theano來(lái)實(shí)現(xiàn)RNN Implementing a RNN using Python and Theano

3. 理解定時(shí)后向傳播算法與梯度消失問(wèn)題 Understanding the Backpropagation Through Time (BPTT) algorithm and the vanishing gradient problem

4. 實(shí)現(xiàn)一個(gè)GRU/LSTM RNN Implementing a GRU/LSTM RNN

在教程中,我們會(huì)實(shí)現(xiàn)一個(gè)基于RNN的語(yǔ)言模型recurrent neural network based language model。語(yǔ)言模型的應(yīng)用將包括兩部分:

1. 允許我們給任意的句子評(píng)分,來(lái)評(píng)價(jià)它是否是一個(gè)真實(shí)的句子。這是對(duì)于語(yǔ)法和語(yǔ)義正確性的一種度量。這類模型往往用作機(jī)器翻譯的一部分。

2. 允許我們生成新的文本(我認(rèn)為這要酷得多)。訓(xùn)練基于莎士比亞的語(yǔ)言模型,使我們可以生成類似莎士比亞的文本。The Unreasonable Effectiveness of Recurrent Neural Networks論證了什么樣的RNN語(yǔ)言模型能夠勝任。

我假設(shè)你已經(jīng)對(duì)基礎(chǔ)的神經(jīng)網(wǎng)絡(luò)有了一定的認(rèn)識(shí)。如果不,請(qǐng)看Implementing A Neural Network From Scratch,它可以指導(dǎo)你理解并實(shí)現(xiàn)一個(gè)非循環(huán)的網(wǎng)絡(luò)。

什么是RNNs?

RNN背后的思想是充分利用順序信息。在傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)中,我們假設(shè)所有的輸入(和輸出)是相互獨(dú)立的。但是在很多情況下這是一個(gè)很壞的概念。如果你想預(yù)測(cè)一個(gè)句子中下一個(gè)單詞是什么,你當(dāng)然最好要知道前一個(gè)單詞是什么。RNNs被稱為循環(huán),是因?yàn)樗鼘?duì)序列中的所有元素執(zhí)行相同的任務(wù),每一次輸出都依托于之前的計(jì)算。換一種想法,RNNs擁有對(duì)至今為止計(jì)算過(guò)的信息的“記憶”。理論上,RNNs可以利用任意長(zhǎng)序列上的信息,但在實(shí)際中,它們通常只能回顧之前幾步(稍后詳細(xì)介紹)。典型的RNN是這樣的:

上圖展現(xiàn)了一個(gè)RNN展開(kāi)(unrolled, unfolded)為全連接的形式。通過(guò)展開(kāi)我們,

The above diagram shows a RNN beingunrolled(or unfolded) into a full network. By unrolling we simply mean that we write out the network for the complete sequence. For example, if the sequence we care about is a sentence of 5 words, the network would be unrolled into a 5-layer neural network, one layer for each word. The formulas that govern the computation happening in a RNN are as follows:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Recurrent Neural Networks Tutorial, Part 1 – Introduction...
    Elinx閱讀 1,543評(píng)論 0 2
  • 向左?還是向右? 或許我們需要一個(gè)方向才能知曉前行的腳步,面對(duì)選擇常常無(wú)從選擇,或者選了“左”,而“右”則成了縈繞...
    二二薇閱讀 166評(píng)論 0 0
  • 產(chǎn)品最終的目的是服務(wù)是為了人們,但是企業(yè)最終的目的是盈利。 他們的目的在某些事件段上是一致的,但是在另一些事件段上...
    然而_然而_閱讀 272評(píng)論 0 0
  • 正能量!負(fù)能量!正能量!負(fù)能量!正能量!負(fù)能量!正能量!負(fù)能量!正能量!負(fù)能量!最近感覺(jué)自己滿滿的都是負(fù)能量!說(shuō)話...
    記憶and時(shí)光閱讀 237評(píng)論 0 0

友情鏈接更多精彩內(nèi)容