(pytorch-深度学习)深度循环神经网络
深度循環(huán)神經網絡
循環(huán)神經網絡只有一個單向的隱藏層,在深度學習應用里,我們通常會用到含有多個隱藏層的循環(huán)神經網絡,也稱作深度循環(huán)神經網絡。
下圖演示了一個有LLL個隱藏層的深度循環(huán)神經網絡,每個隱藏狀態(tài)不斷傳遞至當前層的下一時間步和當前時間步的下一層。
具體來說
- 在時間步ttt里,設小批量輸入Xt∈Rn×d\boldsymbol{X}_t \in \mathbb{R}^{n \times d}Xt?∈Rn×d(樣本數為nnn,輸入個數為ddd)
- 第?\ell?隱藏層(?=1,…,L\ell=1,\ldots,L?=1,…,L)的隱藏狀態(tài)為Ht(?)∈Rn×h\boldsymbol{H}_t^{(\ell)} \in \mathbb{R}^{n \times h}Ht(?)?∈Rn×h(隱藏單元個數為hhh)
- 輸出層變量為Ot∈Rn×q\boldsymbol{O}_t \in \mathbb{R}^{n \times q}Ot?∈Rn×q(輸出個數為qqq),且隱藏層的激活函數為?\phi?。
第1隱藏層的隱藏狀態(tài)和之前的計算一樣:
Ht(1)=?(XtWxh(1)+Ht?1(1)Whh(1)+bh(1)),\boldsymbol{H}_t^{(1)} = \phi(\boldsymbol{X}_t \boldsymbol{W}_{xh}^{(1)} + \boldsymbol{H}_{t-1}^{(1)} \boldsymbol{W}_{hh}^{(1)} + \boldsymbol_h^{(1)}),Ht(1)?=?(Xt?Wxh(1)?+Ht?1(1)?Whh(1)?+bh(1)?),
其中權重Wxh(1)∈Rd×h\boldsymbol{W}_{xh}^{(1)} \in \mathbb{R}^{d \times h}Wxh(1)?∈Rd×h、Whh(1)∈Rh×h\boldsymbol{W}_{hh}^{(1)} \in \mathbb{R}^{h \times h}Whh(1)?∈Rh×h和偏差 bh(1)∈R1×h\boldsymbol_h^{(1)} \in \mathbb{R}^{1 \times h}bh(1)?∈R1×h分別為第1隱藏層的模型參數。
當1<?≤L1 < \ell \leq L1<?≤L時,第?\ell?隱藏層的隱藏狀態(tài)的表達式為
Ht(?)=?(Ht(??1)Wxh(?)+Ht?1(?)Whh(?)+bh(?)),\boldsymbol{H}_t^{(\ell)} = \phi(\boldsymbol{H}_t^{(\ell-1)} \boldsymbol{W}_{xh}^{(\ell)} + \boldsymbol{H}_{t-1}^{(\ell)} \boldsymbol{W}_{hh}^{(\ell)} + \boldsymbol_h^{(\ell)}),Ht(?)?=?(Ht(??1)?Wxh(?)?+Ht?1(?)?Whh(?)?+bh(?)?),
其中權重Wxh(?)∈Rh×h\boldsymbol{W}_{xh}^{(\ell)} \in \mathbb{R}^{h \times h}Wxh(?)?∈Rh×h、Whh(?)∈Rh×h\boldsymbol{W}_{hh}^{(\ell)} \in \mathbb{R}^{h \times h}Whh(?)?∈Rh×h和偏差 bh(?)∈R1×h\boldsymbol_h^{(\ell)} \in \mathbb{R}^{1 \times h}bh(?)?∈R1×h分別為第?\ell?隱藏層的模型參數。
最終,輸出層的輸出只需基于第LLL隱藏層的隱藏狀態(tài):
Ot=Ht(L)Whq+bq,\boldsymbol{O}_t = \boldsymbol{H}_t^{(L)} \boldsymbol{W}_{hq} + \boldsymbol_q,Ot?=Ht(L)?Whq?+bq?,
其中權重Whq∈Rh×q\boldsymbol{W}_{hq} \in \mathbb{R}^{h \times q}Whq?∈Rh×q和偏差bq∈R1×q\boldsymbol_q \in \mathbb{R}^{1 \times q}bq?∈R1×q為輸出層的模型參數。
同多層感知機一樣,隱藏層個數LLL和隱藏單元個數hhh都是超參數。此外,如果將隱藏狀態(tài)的計算換成門控循環(huán)單元或者長短期記憶的計算,就可以得到深度門控循環(huán)神經網絡。
總結
以上是生活随笔為你收集整理的(pytorch-深度学习)深度循环神经网络的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 变量调试,PHP变量调试函数
- 下一篇: (pytorch-深度学习)循环神经网络