深度学习 -- TensorFlow(9)循环神经网络RNN
生活随笔
收集整理的這篇文章主要介紹了
深度学习 -- TensorFlow(9)循环神经网络RNN
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
一、循環神經網絡RNN介紹
二、Elman network && Jordan network
三、RNN的多種架構
1、一對一?
2、多對一
3、多對多
4、 一對多
5、Seq2Seq
四、傳統RNN的缺點
一、循環神經網絡RNN介紹
????????循環神經網絡 RNN 的基本結構是 BP 網絡的結構,也是有輸入層,隱藏層和輸出層。只不過在 RNN 中隱藏層的輸出不僅可以傳到輸出層,并且還可以傳給下一個時刻的隱藏層。????????從結構上可以觀察到 RNN 最大的特點是之前序列輸入的信息會對模型之后的輸出結果造 成影響。(有記憶)
例:? ? ? ?? ????????有一個句子是“我愛你”,那么先把句子做分詞得到“我”,“愛”,“你”三個詞,然后依次把這三個詞輸入到網絡中。那么 "為“我” 所表示的信號, 為“愛”所表示的信號,為“你”所? 表示的信號。而 "輸出結果是主語,輸出結果是謂語,輸出結果是賓語,分別得 到?“我”,“愛”,“你”這三個詞的詞性。
二、Elman network && Jordan network
????????循環神經網絡 RNN 有兩種常見的模型,一種是 Elman network 另一種是 Jordan network。 ????????Elman network 和 Jordan network 也被稱為:Simple Recurrent Networks (SRN)或 SimpleRNN,即簡單的循環神經網絡。?
公式:
?Elman network:
Jordan network:?
Elman network會更常用一些。
三、RNN的多種架構
1、一對一?
?
?
2、多對一
?
?
?
3、多對多
?
4、 一對多
?
5、Seq2Seq
Seq2Seq(Sequence to Sequence):序列到序列模型(算是多對多架構)。
?
seq2seq作用:
?
四、傳統RNN的缺點
傳統RNN的缺點:梯度消失。
梯度消失: ????????關于梯度消失的問題。就是模型計算得到的誤差信號從輸出層不斷向前傳播,以此來調整前面層的權值,使得模型的性能越來越好。但是由于誤差信號在每次傳遞的時候都需要乘以激活函數的導數,當激活函數的導數取值范圍是 0-1 之間時,會使得誤差信號越傳越小,最終趨近于0。?
RNN中的梯度消失:? ????????這個梯度消失的問題在 RNN 中同樣存在,RNN 的序列結構展開之后也可以看成是有很多的“層”,在計算誤差信號的時候同樣會出現梯度消失的問題,使得網絡輸出的學習信號只能影響到它前面的幾層,對它前面的幾層的權值進行調節。?
?
例:
RNN成功例子:?
?RNN失敗例子:
總結
以上是生活随笔為你收集整理的深度学习 -- TensorFlow(9)循环神经网络RNN的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Yolo(3)(项目)Yolo v3 目
- 下一篇: 深度学习 -- TensorFlow(项