循环神经网络知识要点笔记

循环神经网络
基于当前的输入与过去的输入序列,预测序列的下一个字符。循环神经网络引入一个隐藏变量 H H ,用 H t H_{t} 表示 H H 在时间步 t t 的值。 H t H_{t} 的计算基于 X t X_{t} H t 1 H_{t-1} ,可以认为 H t H_{t} 记录了到当前字符为止的序列信息,利用 H t H_{t} 对序列的下一个字符进行预测。
假设 X t R n × d X_{t}\in \mathbb{R}^{n\times d } 是时间步长 t t 的小批量输入, H t R n × h H_{t}\in \mathbb{R}^{n\times h } 是该时间步的隐藏变量,则:
H t = ϕ ( X t W x h + H t 1 W h h + b h ) H_{t}=\phi(X_{t}W_{xh} +H_{t-1}W_{hh}+b_{h})
其中 W x h R d × h W_{xh}\in \mathbb{R}^{d\times h} W h h R h × h W_{hh}\in \mathbb{R}^{h\times h} b h R 1 × h b_{h} \in \mathbb{R}^{1\times h} ϕ \phi 函数是非线性激活函数。由于引入了 H t 1 W h h H_{t-1}W_{hh} H t H_{t} 能够捕捉截至当前时间步的序列的历史信息,就像是神经网络当前时间步的状态或记忆一样。由于 H t H_{t} 的计算基于 H t 1 H_{t-1} ,上式的计算是循环的,使用循环计算的网络即循环神经网络(recurrent neural network)。
在时间步 t t ,输出层的输出为:
O t = H t W h q + b q O_{t}=H_{t}W_{hq} +b_{q}
其中 W h q R h × q W_{hq}\in \mathbb{R}^{h\times q} , b q R 1 × q b_{q}\in \mathbb{R}^{1\times q}
在这里插入图片描述

GRU
RNN存在的问题:梯度较容易出现衰减或爆炸(BPTT)
⻔控循环神经⽹络:捕捉时间序列中时间步距离较⼤的依赖关系
RNN:
在这里插入图片描述
H t = ϕ ( X t W x h + H t 1 W h h + b h ) H_{t}=\phi(X_{t}W_{xh} +H_{t-1}W_{hh}+b_{h})
GRU:
在这里插入图片描述
R t = ϕ ( X t W x r + H t 1 W h r + b r ) R_{t}=\phi(X_{t}W_{xr} +H_{t-1}W_{hr}+b_{r})
Z t = ϕ ( X t W x z + H t 1 W h z + b z ) Z_{t}=\phi(X_{t}W_{xz} +H_{t-1}W_{hz}+b_{z})
H t ~ = t a n h ( X t W x h + ( R h H t 1 ) W h h + b h ) \tilde{H_{t}}=tanh(X_{t}W_{xh} +(R_{h}\odot H_{t-1})W_{hh}+b_{h})
H t = Z t H t 1 + ( 1 Z t ) H t 1 H t ~ H_{t}=Z_{t}\odot H_{t-1} +(1-Z_{t})H_{t-1}\odot \tilde{H_{t}}
• 重置⻔有助于捕捉时间序列⾥短期的依赖关系;
• 更新⻔有助于捕捉时间序列⾥⻓期的依赖关系。

LSTM
长短期记忆long short-term memory :
遗忘门:控制上一时间步的记忆细胞 输入门:控制当前时间步的输入
输出门:控制从记忆细胞到隐藏状态
记忆细胞:⼀种特殊的隐藏状态的信息的流动
在这里插入图片描述
I t = ϕ ( X t W x i + H t 1 W h i + b i ) I_{t}=\phi(X_{t}W_{xi} +H_{t-1}W_{hi}+b_{i})
F t = ϕ ( X t W x f + H t 1 W h f + b f ) F_{t}=\phi(X_{t}W_{xf} +H_{t-1}W_{hf}+b_{f})
O t = ϕ ( X t W x o + H t 1 W h o + b o ) O_{t}=\phi(X_{t}W_{xo} +H_{t-1}W_{ho}+b_{o})
C t ~ = t a n h ( X t W x c + H t 1 W h c + b c ) \tilde{C_{t}}=tanh(X_{t}W_{xc} +H_{t-1}W_{hc}+b_{c})
C t = F t C t 1 + I t C t ~ C_{t}=F_{t}\odot C_{t-1} +I_{t}\odot \tilde{C_{t}}
H t = O t t a n h ( C t ) H_{t}=O_{t}\odot tanh(C_{t})

参考资料:
https://www.kesci.com/org/boyuai/project/5e4291f05f2816002ce8f9a0

发布了18 篇原创文章 · 获赞 1 · 访问量 1422

猜你喜欢

转载自blog.csdn.net/wjsjjss/article/details/104307893