中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

RNN背后的數學原理是什么

發布時間:2021-12-03 15:41:37 來源:億速云 閱讀:209 作者:柒染 欄目:大數據

RNN背后的數學原理是什么,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

RNN背后的數學原理是什么  
 

0引言

現在,關于機器學習、深度學習和人工神經網絡的討論越來越多了。但程序員往往只想把這些魔幻的框架用起來,大多并不想知道背后到底是如何運作的。但是如果我們能夠掌握這些背后的原理,對于使用起來豈不更好。今天我們就來討論下循環神經網絡及其背后的基本數學原理,這些原理使得循環神經網絡能夠做到其他神經網絡做不到的事情。
RNN背后的數學原理是什么  
? RNN (循環神經網絡)。  

這篇文章的目的是對循環神經網絡的功能、結構提供一個直觀的認識。

一個神經網絡通常取自變量(或一組自變量)和因變量,然后它學習之間的映射(我們稱之為訓練),一旦訓練完成,當給定一個新的自變量,就能預測相應的因變量。

但如果數據的順序很重要呢?想象一下,如果所有自變量的順序都很重要呢?

讓我來直觀地解釋一下吧。

RNN背后的數學原理是什么  

只要假設每個螞蟻是一個獨立變量,如果一個螞蟻朝著不同的方向前進,對其他螞蟻來說都沒關系,對吧?但是,如果螞蟻的順序很重要怎么辦?

RNN背后的數學原理是什么  

此時,如果一只螞蟻錯過或者離開了群體,它將會影響到后面的螞蟻。

那么,在機器學習空間中,哪些數據的順序是重要的呢?

  • 自然語言數據的詞序問題
  • 語音數據
  • 時間序列數據
  • 視頻/音樂序列數據
  • 股市數據
  • 等等

那么 RNN 是如何解決整體順序很重要的數據呢?我們用自然文本數據為例來解釋 RNN。

假設我正在對一部電影的用戶評論進行情感分析。

這部電影好(This movie is good) — 正面的,再到這部電影差(This movie is bad) — 負面的。

我們可以通過使用簡單的詞匯袋模型對它們進行分類,我們可以預測(正面的或負面的),但是等等。

如果影評是這部電影不好(This movie is not good),怎么辦?

BOW 模型可能會說這是一個積極的信號,但實際上并非如此。而 RNN 理解它,并預測它是消極的信息。

 

1RNN 如何做到的呢?

 

1各類 RNN 模型

1、一對多

RNN 接受一個輸入,比如一張圖像,并生成一個單詞序列。

RNN背后的數學原理是什么  

2、多對一

RNN 接受一個單詞序列作為輸入,并生成一個輸出。

RNN背后的數學原理是什么  

3、多對多

RNN背后的數學原理是什么  

接下來,我們正專注于第二種模式多對一。RNN 的輸入被視為時間步長。

示例: 輸入(X) = [" this ", " movie ", " is ", " good "]

this 的時間戳是 x(0),movie 的是 x(1),is 的是 x(2),good 的是 x(3)。

 

2網絡架構及數學公式

下面讓我們深入到 RNN 的數學世界。

首先,讓我們了解 RNN 單元格包含什么!我希望并且假設大家知道前饋神經網絡,FFNN 的概括,

RNN背后的數學原理是什么

? 隱藏層只有單一神經元的前饋神經網絡示例。
RNN背后的數學原理是什么  
? 具有單一隱藏層的前饋神經網絡。

在前饋神經網絡中,我們有 X(輸入)、H(隱藏)和 Y(輸出)。我們可以有任意多的隱藏層,但是每個隱藏層的權值 W 和每個神經元對應的輸入權值是不同的。

上面,我們有權值 Wy10 和 Wy11,分別對應于兩個不同的層相對于輸出 Y 的權值,而 Wh00、Wh01 等代表了不同神經元相對于輸入的不同權值。

由于存在時間步長,神經網絡單元包含一組前饋神經網絡。該神經網絡具有順序輸入、順序輸出、多時間步長和多隱藏層的特點。

與 FFNN 不同的是,這里我們不僅從輸入值計算隱藏層值,還從之前的時間步長值計算隱藏層值。對于時間步長,隱藏層的權值(W)是相同的。下面展示的是 RNN 以及它涉及的數學公式的完整圖片。

RNN背后的數學原理是什么  

在圖片中,我們正在計算隱藏層的時間步長 t 的值:

  •      
  •      
  •      是之前的時間步長。我說過 W 對所有時間步長來說都是一樣的。激活函數可以是 Tanh、Relu、Sigmoid 等。
RNN背后的數學原理是什么  
? 不同的激活函數。

上面我們只計算了 Ht,類似地,我們可以計算所有其他的時間步長。

步驟:

  • 1、從        和        計算       

  • 2、由        和        計算       

  • 3、從        、      、      和        計算       

  • 4、由        和        計算        ,依此類推。

需要注意的是:

  • 1、      和        是權重向量,每個時間步長都不同。

  • 2、我們甚至可以先計算隱藏層(所有時間步長),然后計算        值。

  • 3、權重向量一開始是隨機的。

一旦前饋輸入完成,我們就需要計算誤差并使用反向傳播法來反向傳播誤差,我們使用交叉熵作為代價函數。

 

2BPTT(時間反向傳播)

如果你知道正常的神經網絡是如何工作的,剩下的就很簡單了,如果不清楚,可以參考本號前面關于人工神經網絡的文章。

我們需要計算下面各項,

  • 1、相對于輸出     (隱藏和輸出單元)的總誤差如何變化?
  • 2、相對于權重     (U, V, W)的輸出如何變化?

因為 W 對于所有的時間步長都是一樣的,我們需要返回到前面,來進行更新。

RNN背后的數學原理是什么

? RNN 中的 BPTT。

記住 RNN 的反向傳播和人工神經網絡的反向傳播是一樣的,但是這里的當前時間步長是基于之前的時間步長計算的,所以我們必須從頭到尾遍歷來回。

如果我們運用鏈式法則,就像這樣

RNN背后的數學原理是什么  
? 反向傳播鏈式法則。

在所有時間步長上的 W 都相同,因此按鏈式法則展開項越來越多。

在 Richard Sochers 的循環神經網絡講座幻燈片[1]中,可以看到一種類似但不同的計算公式的方法。

  • 類似但更簡潔的 RNN 公式:
  
  • 總誤差是各時間步長 t 對應誤差的總和:
  
  • 鏈式法則的應用:
  

所以這里,與我們的相同。

可以用任何優化算法來更新,比如梯度下降法。

 

2回到實例

現在我們回過頭來談談我們的情感分析問題,這里有一個 RNN,

RNN背后的數學原理是什么  

我們給每個單詞提供一個詞向量或者一個熱編碼向量作為輸入,并進行前饋和 BPTT,一旦訓練完成,我們就可以給出新的文本來進行預測。它會學到一些東西,比如不+積極的詞 = 消極的

RNN 的問題 → 消失/爆炸梯度問題

由于 W 對于所有的時間步長都是一樣的,在反向傳播過程中,當我們回去調整權重時,信號會變得要么太弱要么太強,從而導致要么消失要么爆炸的問題。

關于RNN背后的數學原理是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

rnn
AI

靖安县| 和林格尔县| 天祝| 民勤县| 大连市| 郸城县| 广元市| 勐海县| 南投市| 青神县| 北流市| 台东县| 广丰县| 日土县| 乌拉特后旗| 台北市| 台安县| 文昌市| 恭城| 蕲春县| 遵义市| 晋州市| 安阳市| 荔波县| 东光县| 南涧| 兴城市| 铜山县| 莲花县| 巴彦淖尔市| 盘山县| 辽中县| 蓬安县| 丰城市| 太保市| 墨竹工卡县| 巫溪县| 龙井市| 琼海市| 汤原县| 临湘市|