循環神經網絡
循環神經網絡(RNN)主要用於預測任務:基於當前和歷史輸入序列,預測序列的下一個字符。循環神經網絡相對於普通神經網絡而言,最大的特點在於穎倉變量H的引進,用Ht表示H在時間步t的值,該變量記錄了到當前字符爲止的序列信息。歷史信息的使用使得預測更爲精確。循環神經網絡的示意圖:
循環神經網絡模型
假設Xt∈Rn×d是時間步t的小批量輸入,Ht∈Rn×h是該時間步的隱藏變量,則:
Ht=Φ(XtWxh+Ht−1Whh+bh)
其中Wxh∈Rd×h,Whh∈Rh×h,bh∈R1×h,Φ函數是非線性激活函數。由於引入了Ht−1Whh,Ht能夠捕捉截至當前時間步的序列的歷史信息,就像是神經網絡當前時間步的狀態或記憶一樣。循環神經網絡的展開式示意圖如下所示:
在時間步,輸出層的輸出爲:
Ot=HtWhq+bq
其中Whq∈Rd×h,bq∈R1×q。
注:上述來源於伯禹學習平臺的《動手學深度學習》的學習筆記