神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)的載體,而神經(jīng)網(wǎng)絡(luò)模型中,最經(jīng)典非RNN模型所屬,盡管它不完美,但它具有學(xué)習(xí)歷史信息的能力。后面不管是encode-decode 框架,還是注意力模型,以及自注意力模型,以及更加強(qiáng)大的Bert模型家族,都是站在RNN的肩上,不斷演化、變強(qiáng)的。
這篇文章,闡述了RNN的方方面面,包括模型結(jié)構(gòu),優(yōu)缺點(diǎn),RNN模型的幾種應(yīng)用,RNN常使用的激活函數(shù),RNN的缺陷,以及GRU,LSTM是如何試圖解決這些問題,RNN變體等。
這篇文章最大特點(diǎn)是圖解版本,其次語言簡(jiǎn)練,總結(jié)全面。
概述
傳統(tǒng)RNN的體系結(jié)構(gòu)。Recurrent neural networks,也稱為RNNs,是一類允許先前的輸出用作輸入,同時(shí)具有隱藏狀態(tài)的神經(jīng)網(wǎng)絡(luò)。它們通常如下所示:

對(duì)于每一時(shí)步 , 激活函數(shù) ,輸出 被表達(dá)為:
這里是時(shí)間維度網(wǎng)絡(luò)的共享權(quán)重系數(shù)
是激活函數(shù)

下表總結(jié)了典型RNN架構(gòu)的優(yōu)缺點(diǎn):
| 處理任意長(zhǎng)度的輸入 | 計(jì)算速度慢 |
| 模型形狀不隨輸入長(zhǎng)度增加 | 難以獲取很久以前的信息 |
| 計(jì)算考慮了歷史信息 | 無法考慮當(dāng)前狀態(tài)的任何未來輸入 |
| 權(quán)重隨時(shí)間共享 | |
| 優(yōu)點(diǎn) | 缺點(diǎn) |
|---|
RNNs應(yīng)用
RNN模型主要應(yīng)用于自然語言處理和語音識(shí)別領(lǐng)域。下表總結(jié)了不同的應(yīng)用:
一對(duì)一

傳統(tǒng)神經(jīng)網(wǎng)絡(luò)
一對(duì)多

音樂生成
多對(duì)一


機(jī)器翻譯
RNN 類型圖解例子
對(duì)于RNN網(wǎng)絡(luò),所有時(shí)間步的損失函數(shù) 是根據(jù)每個(gè)時(shí)間步的損失定義的,如下所示:損失函數(shù)
時(shí)間反向傳播
在每個(gè)時(shí)間點(diǎn)進(jìn)行反向傳播。在時(shí)間步,損失相對(duì)于權(quán)重矩陣的偏導(dǎo)數(shù)表示如下:
處理長(zhǎng)短依賴
常用激活函數(shù)
RNN模塊中最常用的激活函數(shù)描述如下:
5


SigmoidTanhRELU
梯度消失/爆炸
在RNN中經(jīng)常遇到梯度消失和爆炸現(xiàn)象。之所以會(huì)發(fā)生這種情況,是因?yàn)楹茈y捕捉到長(zhǎng)期的依賴關(guān)系,因?yàn)槌朔ㄌ荻瓤梢噪S著層的數(shù)量呈指數(shù)遞減/遞增。
梯度修剪
梯度修剪是一種技術(shù),用于執(zhí)行反向傳播時(shí),有時(shí)遇到的梯度爆炸問題。通過限制梯度的最大值,這種現(xiàn)象在實(shí)踐中得以控制。

門的類型
為了解決消失梯度問題,在某些類型的RNN中使用特定的門,并且通常有明確的目的。它們通常標(biāo)注為,等于:
其中,是特定于門的系數(shù),是sigmoid函數(shù)。主要內(nèi)容總結(jié)如下表:

Gated Recurrent Unit(GRU)和長(zhǎng)-短期記憶單元(LSTM)處理傳統(tǒng)RNNs遇到的消失梯度問題,LSTM是GRU的推廣。下表總結(jié)了每種結(jié)構(gòu)的特征方程:GRU/LSTM

注:符號(hào)表示兩個(gè)向量之間按元素相乘。
RNN的變體
下表總結(jié)了其他常用的RNN模型:


Bidirectional (BRNN)Deep (DRNN)
編輯:jq
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4417瀏覽量
67502 -
rnn
+關(guān)注
關(guān)注
0文章
92瀏覽量
7345
原文標(biāo)題:神經(jīng)網(wǎng)絡(luò)RNN圖解!
文章出處:【微信號(hào):tyutcsplab,微信公眾號(hào):智能感知與物聯(lián)網(wǎng)技術(shù)研究所】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
算法工程師需要具備哪些技能?
無刷電機(jī)轉(zhuǎn)子永磁體的幾種結(jié)構(gòu)優(yōu)缺點(diǎn)
星地?cái)?shù)據(jù)大模型融合分析與應(yīng)用分系統(tǒng)平臺(tái)的應(yīng)用與未來發(fā)展
一文讀懂LSTM與RNN:從原理到實(shí)戰(zhàn),掌握序列建模核心技術(shù)
正確的連接電機(jī)傳動(dòng)軸的幾種常見連接方式及其優(yōu)缺點(diǎn)
知識(shí)分享 | 使用MXAM進(jìn)行AUTOSAR模型的靜態(tài)分析:Embedded Coder與TargetLink模型
大模型推理顯存和計(jì)算量估計(jì)方法研究
大模型在半導(dǎo)體行業(yè)的應(yīng)用可行性分析
FA模型卡片和Stage模型卡片切換
從FA模型切換到Stage模型時(shí):module的切換說明
PCBA 表面處理:優(yōu)缺點(diǎn)大揭秘,應(yīng)用場(chǎng)景全解析
大模型時(shí)代的深度學(xué)習(xí)框架
KaihongOS操作系統(tǒng)FA模型與Stage模型介紹
AI眼鏡大模型激戰(zhàn):多大模型協(xié)同、交互時(shí)延低至1.3S
深度分析RNN的模型結(jié)構(gòu),優(yōu)缺點(diǎn)以及RNN模型的幾種應(yīng)用
評(píng)論