在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

循環神經網絡模型與前向反向傳播算法

Dbwd_Imgtec ? 來源:fqj ? 2019-05-10 08:48 ? 次閱讀

本文將討論:循環神經網絡(Recurrent Neural Networks ,以下簡稱RNN),它廣泛的用于自然語言處理中的語音識別,手寫書別以及機器翻譯等領域。

1. RNN概述

在前面講到的DNN和CNN中,訓練樣本的輸入和輸出是比較的確定的。但是有一類問題DNN和CNN不好解決,就是訓練樣本輸入是連續的序列,且序列的長短不一,比如基于時間的序列:一段段連續的語音,一段段連續的手寫文字。這些序列比較長,且長度不一,比較難直接的拆分成一個個獨立的樣本來通過DNN/CNN進行訓練。

而對于這類問題,RNN則比較的擅長。那么RNN是怎么做到的呢?RNN假設我們的樣本是基于序列的。比如是從序列索引 1 到序列索引 T 的。對于這其中的任意序列索引號 t,它對應的輸入是對應的樣本序列中的。而模型在序列索引號 t 位置的隱藏狀態,則由共同決定。在任意序列索引號 t,我們也有對應的模型預測輸出。通過預測輸出和訓練序列真實輸出,以及損失函數,我們就可以用DNN類似的方法來訓練模型,接著用來預測測試序列中的一些位置的輸出。

下面我們來看看RNN的模型。

2. RNN模型

RNN模型有比較多的變種,這里介紹最主流的RNN模型結構如下:

循環神經網絡模型與前向反向傳播算法

上圖中左邊是RNN模型沒有按時間展開的圖,如果按時間序列展開,則是上圖中的右邊部分。我們重點觀察右邊部分的圖。

這幅圖描述了在序列索引號t附近RNN的模型。其中:

1)代表在序列索引號 t?1 和 t+1 時訓練樣本的輸入。

2)

3)

4)

5)代表在序列索引號 t 時訓練樣本序列的真實輸出。

6)U,W,V這三個矩陣是我們的模型的線性關系參數,它在整個RNN網絡中是共享的,這點和DNN很不相同。 也正因為是共享了,它體現了RNN的模型的“循環反饋”的思想。

3. RNN前向傳播算法

有了上面的模型,RNN的前向傳播算法就很容易得到了。

對于任意一個序列索引號t,我們隱藏狀態

循環神經網絡模型與前向反向傳播算法

其中 σ 為RNN的激活函數,一般為 tanh, b為線性關系的偏倚。

序列索引號 t 時模型的輸出

?+ c

在最終在序列索引號 t 時我們的預測輸出為:

循環神經網絡模型與前向反向傳播算法

通常由于RNN是識別類的分類模型,所以上面這個激活函數一般是softmax。

通過損失函數

4. RNN反向傳播算法推導

有了RNN前向傳播算法的基礎,就容易推導出RNN反向傳播算法的流程了。RNN反向傳播算法的思路和DNN是一樣的,即通過梯度下降法一輪輪的迭代,得到合適的RNN模型參數 U,W,V,b,c 。由于我們是基于時間反向傳播,所以RNN的反向傳播有時也叫做BPTT(back-propagation through time)。當然這里的BPTT和DNN也有很大的不同點,即這里所有的 U,W,V,b,c 在序列的各個位置是共享的,反向傳播時我們更新的是相同的參數。

為了簡化描述,這里的損失函數我們為交叉熵損失函數,輸出的激活函數為softmax函數,隱藏層的激活函數為tanh函數。

對于RNN,由于我們在序列的每個位置都有損失函數,因此最終的損失 L 為:

循環神經網絡模型與前向反向傳播算法

其中 V,c,的梯度計算是比較簡單的:

循環神經網絡模型與前向反向傳播算法

但是 W,U,b 的梯度計算就比較的復雜了。從RNN的模型可以看出,在反向傳播時,在在某一序列位置t的梯度損失由當前位置的輸出對應的梯度損失和序列索引位置 t+1 時的梯度損失兩部分共同決定。對于 W 在某一序列位置t的梯度損失需要反向傳播一步步的計算。我們定義序列索引 t 位置的隱藏狀態的梯度為:

循環神經網絡模型與前向反向傳播算法

這樣我們可以像DNN一樣從遞推?。

循環神經網絡模型與前向反向傳播算法

對于,由于它的后面沒有其他的序列索引了,因此有:

循環神經網絡模型與前向反向傳播算法

有了

循環神經網絡模型與前向反向傳播算法

除了梯度表達式不同,RNN的反向傳播算法和DNN區別不大,因此這里就不再重復總結了。

5. RNN小結

上面總結了通用的RNN模型和前向反向傳播算法。當然,有些RNN模型會有些不同,自然前向反向傳播的公式會有些不一樣,但是原理基本類似。

RNN雖然理論上可以很漂亮的解決序列數據的訓練,但是它也像DNN一樣有梯度消失時的問題,當序列很長的時候問題尤其嚴重。因此,上面的RNN模型一般不能直接用于應用領域。在語音識別,手寫書別以及機器翻譯等NLP領域實際應用比較廣泛的是基于RNN模型的一個特例LSTM,下一篇我們就來討論LSTM模型。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴

原文標題:循環神經網絡(RNN)模型與前向反向傳播算法

文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    神經網絡教程(李亞非)

    網絡BP算法的程序設計  多層網絡BP算法源程序  第4章 Hopfield
    發表于 03-20 11:32

    【案例分享】基于BP算法神經網絡

    傳播的,不會回流),區別于循環神經網絡RNN。BP算法(Back Propagation):誤差反向傳播
    發表于 07-21 04:00

    神經網絡反向傳播算法

    03_深度學習入門_神經網絡反向傳播算法
    發表于 09-12 07:08

    手動設計一個卷積神經網絡傳播反向傳播

    本文主要寫卷積神經網絡如何進行一次完整的訓練,包括傳播反向傳播,并自己手寫一個卷積
    的頭像 發表于 05-28 10:35 ?1.8w次閱讀
    手動設計一個卷積<b class='flag-5'>神經網絡</b>(<b class='flag-5'>前</b><b class='flag-5'>向</b><b class='flag-5'>傳播</b>和<b class='flag-5'>反向</b><b class='flag-5'>傳播</b>)

    淺析深度神經網絡(DNN)反向傳播算法(BP)

    在 深度神經網絡(DNN)模型傳播算法 中,我們對DNN的
    的頭像 發表于 03-22 16:28 ?3930次閱讀
    淺析深度<b class='flag-5'>神經網絡</b>(DNN)<b class='flag-5'>反向</b><b class='flag-5'>傳播</b><b class='flag-5'>算法</b>(BP)

    反向傳播神經網絡建模的基本原理

    反向傳播神經網絡(Backpropagation Neural Network,簡稱BP神經網絡)是一種多層
    的頭像 發表于 07-02 14:05 ?605次閱讀

    反向傳播神經網絡模型的特點

    反向傳播神經網絡(Backpropagation Neural Network,簡稱BP神經網絡)是一種多層
    的頭像 發表于 07-02 14:14 ?714次閱讀

    神經網絡反向傳播算法原理是什么

    神經網絡反向傳播算法(Backpropagation Algorithm)是一種用于訓練多層神經網絡
    的頭像 發表于 07-02 14:16 ?1269次閱讀

    神經網絡傳播反向傳播區別

    神經網絡是一種強大的機器學習模型,廣泛應用于各種領域,如圖像識別、語音識別、自然語言處理等。神經網絡的核心是
    的頭像 發表于 07-02 14:18 ?1402次閱讀

    反向傳播神經網絡和bp神經網絡的區別

    反向傳播神經網絡(Backpropagation Neural Network,簡稱BP神經網絡)是一種多層
    的頭像 發表于 07-03 11:00 ?1181次閱讀

    神經網絡傳播反向傳播神經網絡訓練過程中的作用

    神經網絡是一種強大的機器學習模型,它通過模擬人腦神經元的連接方式來處理復雜的數據。神經網絡的核心是
    的頭像 發表于 07-03 11:11 ?2431次閱讀

    神經網絡反向傳播算法的推導過程

    反向傳播算法的推導過程,包括傳播、損失函數、梯度計算和權重更新等步驟。
    的頭像 發表于 07-03 11:13 ?989次閱讀

    神經網絡反向傳播算法的作用是什么

    神經網絡反向傳播算法(Backpropagation)是一種用于訓練人工神經網絡算法,它通過計
    的頭像 發表于 07-03 11:17 ?2370次閱讀

    神經網絡反向傳播算法的優缺點有哪些

    神經網絡反向傳播算法(Backpropagation Algorithm)是一種廣泛應用于深度學習和機器學習領域的優化算法,用于訓練多層
    的頭像 發表于 07-03 11:24 ?1899次閱讀

    什么是BP神經網絡反向傳播算法

    神經網絡(即反向傳播神經網絡)的核心,它建立在梯度下降法的基礎上,是一種適合于多層神經元網絡的學習算法
    的頭像 發表于 02-12 15:18 ?672次閱讀
    主站蜘蛛池模板: 天天色啪 | 欧美亚洲在线 | 最近新韩国hd视频 | 色爱区综合激月婷婷激情五月 | 综合7799亚洲伊人爱爱网 | bt天堂网在线 | 国产一区二区三区在线观看视频 | 最新久久免费视频 | 中文一区二区 | 久久人人网 | 亚洲一二三区在线观看 | 韩国最新三级网站在线播放 | 三级黄色网 | 日韩一级影院 | 色婷婷激情综合 | 特级全黄一级毛片视频 | 成人黄色在线 | 永久黄网站色视频免费 | 天天视频国产精品 | 视频一二三区 | 性xxxxbbbb在线| 在线看逼 | 国产玖玖在线 | 日韩一级片在线免费观看 | 国产精品网址你懂的 | 成年男人永久免费看片 | 干中文字幕 | 国内精品久久久久影 | 国产理论视频在线观看 | 在线天堂bt种子资源 | 天天透天天射 | 国产一区中文字幕在线观看 | 香蕉成人999视频 | 免费看美女午夜大片 | 一级特级aaaa毛片免费观看 | 7777在线| 久久精品网站免费观看 | 三级视频网站在线观看播放 | freesex性欧美炮机喷潮 | 久热99| 国产成人经典三级在线观看 |