日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

深度学习~循环神经网络RNN, LSTM

發(fā)布時間:2025/4/5 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习~循环神经网络RNN, LSTM 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

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

1.1 RNN出現(xiàn)背景

1.2 RNN概念

2. LSTM

2.1 LSTM出現(xiàn)背景

2.2?LSTM結(jié)構(gòu)

參考


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

1.1 RNN出現(xiàn)背景

problem:傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)通常無法從先前的信息中進行推理

solve:但是受人類記憶啟發(fā)的RNN可以通過添加一個循環(huán)來解決此問題,該循環(huán)允許信息從網(wǎng)絡(luò)的一個步驟傳遞到下一步驟

1.2 RNN概念

循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)是一種用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)。

相比一般的神經(jīng)網(wǎng)絡(luò)來說,他能夠處理序列變化的數(shù)據(jù)。比如某個單詞的意思會因為上文提到的內(nèi)容不同而有不同的含義,RNN就能夠很好地解決這類問題。

這里:

x為當前狀態(tài)下數(shù)據(jù)的輸入,??h表示接收到的上一個節(jié)點的輸入。

?y為當前節(jié)點狀態(tài)下的輸出,而h'為傳遞到下一個節(jié)點的輸出。

通過上圖的公式可以看到,輸出?h'?與?x?和?h?的值都相關(guān)。

而?y?則常常使用?h'?投入到一個線性層(主要是進行維度映射)然后使用softmax進行分類得到需要的數(shù)據(jù)。

對這里的y如何通過?h'?計算得到往往看具體模型的使用方式。

通過序列形式的輸入,我們能夠得到如下形式的RNN。


如圖8所示,RNN的循環(huán)過程描述了在時間范圍[1,t + 1]中的特定節(jié)點A。

在時間t的節(jié)點A接收兩個輸入變量:Xt表示在時間t的輸入,回流回路表示在時間[0,t1]的隱藏狀態(tài),并且節(jié)點A在時間t導(dǎo)出變量ht。

在這種情況下,提出了長期短期記憶(LSTM)網(wǎng)絡(luò),這是一種能夠?qū)W習(xí)長期依賴關(guān)系的特殊RNN。如圖8所示,

  • LSTM單元接收三個輸入:當前時間t的輸入X,先前時間t -1的輸出h和代表先前時間t -1的隱藏狀態(tài)的輸入箭頭。
  • LSTM單元輸出兩個輸出:輸出h和當前時間t的隱藏狀態(tài)(表示為向外箭頭)。
  • LSTM單元包含四個門,即輸入門,輸出門,忘記門和輸入調(diào)制門,以通過操作以及S形和tanh函數(shù)控制數(shù)據(jù)流。

2. LSTM

2.1 LSTM出現(xiàn)背景

長短期記憶(Long short-term memory, LSTM)是一種特殊的RNN,

problem:為了解決長序列訓(xùn)練過程中的梯度消失和梯度爆炸問題,因為當前的RNN僅查看最新信息以在實踐中執(zhí)行當前任務(wù),因此它無法保留長期依賴關(guān)系

solve:簡單來說,就是相比普通的RNNLSTM是一種能夠?qū)W習(xí)長期依賴關(guān)系的特殊RNNLSTM能夠在更長的序列中有更好的表現(xiàn)

相比RNN只有一個傳遞狀態(tài),LSTM有兩個傳輸狀態(tài),一個(cell state)和一個(hidden state)。

Tips:RNN中的對于LSTM中的。其中對于傳遞下去的改變得很慢,通常輸出的是上一個狀態(tài)傳過來的加上一些數(shù)值。

則在不同節(jié)點下往往會有很大的區(qū)別

2.2?LSTM結(jié)構(gòu)

  • 首先使用LSTM的當前輸入和上一個狀態(tài)傳遞下來的拼接訓(xùn)練得到四個狀態(tài)。

?

其中,,,是由拼接向量乘以權(quán)重矩陣之后,再通過一個sigmoid激活函數(shù)轉(zhuǎn)換成0到1之間的數(shù)值,來作為一種門控狀態(tài)。而z則是將結(jié)果通過一個tanh激活函數(shù)將轉(zhuǎn)換成-1到1之間的值(這里使用tanh是因為這里是將其做為輸入數(shù)據(jù),而不是門控信號)。

  • 下面開始進一步介紹這四個狀態(tài)在LSTM內(nèi)部的使用。(敲黑板)

是Hadamard Product,也就是操作矩陣中對應(yīng)的元素相乘,因此要求兩個相乘矩陣是同型的。則代表進行矩陣加法。

-->哈達馬積(hadamard product):?兩個維度相同的矩陣相乘,得到另一個維數(shù)相同的矩陣

LSTM內(nèi)部主要有三個階段:

1. 忘記階段。這個階段主要是對上一個節(jié)點傳進來的輸入進行選擇性忘記--簡單來說就是?“忘記不重要的,記住重要的”。

具體來說是通過計算得到的(f表示forget)來作為忘記門控,來控制上一個狀態(tài)的哪些需要留哪些需要忘

2. 選擇記憶階段。這個階段將這個階段的輸入有選擇性地進行“記憶”。主要是會對輸入進行選擇記憶。哪些重要則著重記錄下來,哪些不重要,則少記一些。

當前的輸入內(nèi)容由前面計算得到的z表示。而選擇的門控信號則是由(i代表information)來進行控制。

將上面兩步得到的結(jié)果相加,即可得到傳輸給下一個狀態(tài)的。也就是上圖中的第一個公式。

3. 輸出階段。這個階段將決定哪些將會被當成當前狀態(tài)的輸出。主要是通過來進行控制的。并且還對上一階段得到的進行了放縮(通過一個tanh激活函數(shù)進行變化)。

與普通RNN類似,輸出往往最終也是通過變化得到。

通過門控狀態(tài)來控制傳輸狀態(tài),記住需要長時間記憶的,忘記不重要的信息;而不像普通的RNN那樣只能夠“呆萌”地僅有一種記憶疊加方式。對很多需要“長期記憶”的任務(wù)來說,尤其好用。

參考

臺大李宏毅教授的深度學(xué)習(xí)視頻~第一部分RNN尤其LSTM的介紹,https://blog.csdn.net/qq_15111861/article/details/95932902。

總結(jié)

以上是生活随笔為你收集整理的深度学习~循环神经网络RNN, LSTM的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。