RNN BPTT演算法推導

2021-09-13 19:27:02 字數 2726 閱讀 9585

bptt(沿時反向傳播演算法)基本原理與bp演算法一樣,包含三個步驟:

迴圈層將誤差項反向傳遞到上一層網路,與普通的全連線層是完全一樣的。

迴圈層的加權輸入net

lnet^l

netl

與上一層的加權輸入net

l−1net^

netl−1

關係如下:

n et

tl=u

atl−

1+ws

t−1net^l_t=ua^_t+ws_

nettl​

=uat

l−1​

+wst

−1​atl

−1=f

l−1(

nett

l−1)

a^_t=f^(net^_t)

atl−1​

=fl−

1(ne

ttl−

1​)上式中net

tlnet^l_t

nettl​

是第l層神經元的加權輸入;net

tl−1

net^_t

nettl−

1​是l-1層神經元的加權輸入;atl

−1a^_t

atl−1​

是第l-1層神經元的輸出;fl−

1f^fl−1

是第l-1層的啟用函式。

∂ ne

ttl∂

nett

l−1=

∂net

tl∂a

tl−1

∂atl

−1∂n

ettl

−1=u

∗dia

g[f′

l−1(

nett

l−1)

]\frac_t}=\frac_t}\frac_t}_t}=u*diag[f^(net^_t)]

∂nettl

−1​∂

nett

l​​=

∂atl

−1​∂

nett

l​​∂

nett

l−1​

∂atl

−1​​

=u∗d

iag[

f′l−

1(ne

ttl−

1​)]

所以:δtl

−1=∂

e∂ne

ttl−

1=∂e

∂net

tl∂n

ettl

∂net

tl−1

=δtl

∗u∗d

iag[

f′l−

1(ne

ttl−

1)]\delta^_t=\frac_t}=\frac\frac_t}=\delta^l_t*u*diag[f^(net^_t)]

δtl−1​

=∂ne

ttl−

1​∂e

​=∂n

ettl

​∂e​

∂net

tl−1

​∂ne

ttl​

​=δt

l​∗u

∗dia

g[f′

l−1(

nett

l−1​

)]上式就是將誤差項傳遞到上一層演算法。

1.3權重梯度的計算

接下來是bptt演算法的最後一步:計算每個權重的梯度

首先計算誤差函式e對權重矩陣w的梯度:∂e∂

上圖為我們前兩步計算得到的量,包括每個時刻t迴圈層的輸出值s

ts_t

st​,以及誤差項δ

t\delta_t

δt​我們知道了任意乙個時刻的誤差項δ

t\delta_t

δt​,以及上乙個時刻迴圈層的輸出值st−

1s_st−1

​,就可以按照下面的公式求出權重矩陣在t時刻的梯度:

上式中,δit

\delta^t_i

δit​

表示t時刻誤差項向量的第i各分量,即第i層的誤差項;katex parse error: double subscript at position 8: s__̲i表示t-1時刻迴圈層第i各神經元的輸出值。

權重梯度推導:

1.4梯度**與梯度消失

rnns並不能很好地處理較長的序列。主要原因是rnn在訓練中很容易發生梯度**和梯度消失,導致訓練時梯度不能在較長序列中一直傳遞下去,從而使rnn無法捕捉到長距離的影響。

三種方法應對梯度消失問題:

1)合理的初始化權重值。初始化權重,使每個神經元盡可能不要取極大或極小值,以躲開梯度消失的區域。

2)使用relu代替sigmod和tanh作為啟用函式。

3)使用其它結構的rnns,比如長短時記憶網路(lstm)和gated recurrent unit(gru),這是最流行的做法。

KMP演算法推導

申明 此文系博主對huge對kmp演算法的推導過程的加工整理而成,在讀此文之前,如果對kmp演算法不是非常了解的,可以去到閱讀有關kmp的相關知識,如果已經非常了解,那就請繼續吧。有了以上的資料了解後,讓我們一起來推導和構建kmp演算法吧。定義 a是問題中模式串 短串 長度為n b是問題中的文字串 ...

BP演算法推導

反向傳播演算法是深度學習的基礎之一,其主要的核心就是對代價函式 e 關於權重 w 或偏置 b 的偏導數 的表示式。這個表示式代表在改變權值和偏置時,代價函式變化的快慢。使用 w l 表示從 l 1 層的 k 神經元到 l 層的 j 神經元上的權重。之所以 l 的序號在 l 1 層的序號之前,是因為後...

EM演算法推導

給定觀測樣本集 求帶有隱變數模型的最大似然。似然函式 l theta logp y theta log sum zp y,z theta log p y z,theta p z theta 將似然函式減去上一步的似然函式 begin l theta l theta log p y z,theta p...