RNN学习笔记

Fiorenza ·
更新时间:2024-09-20
· 768 次阅读

RNN是一类用于处理序列数据的神经网络。普通神经网络的输出层各个数据之间是不相关的。但是有的任务需要考虑到这种序列关系,例如语言模型。
假如我们的目的是基于当前的输入序列,预测序列的下一个字符。循环神经网络引入一个隐藏变量HHH,用HtH_{t}Ht​表示HHH在时间步ttt的值。HtH_{t}Ht​的计算基于XtX_{t}Xt​和Ht−1H_{t-1}Ht−1​,可以认为HtH_{t}Ht​记录了到当前字符为止的序列信息,利用HtH_{t}Ht​对序列的下一个字符进行预测。
在这里插入图片描述

RNN的构造 循环神经网络的构造

假设Xt∈Rn×d\boldsymbol{X}_t \in \mathbb{R}^{n \times d}Xt​∈Rn×d是时间步ttt的小批量输入,Ht∈Rn×h\boldsymbol{H}_t \in \mathbb{R}^{n \times h}Ht​∈Rn×h是该时间步的隐藏变量,则:

Ht=ϕ(XtWxh+Ht−1Whh+bh). \boldsymbol{H}_t = \phi(\boldsymbol{X}_t \boldsymbol{W}_{xh} + \boldsymbol{H}_{t-1} \boldsymbol{W}_{hh} + \boldsymbol{b}_h). Ht​=ϕ(Xt​Wxh​+Ht−1​Whh​+bh​).

其中,Wxh∈Rd×h\boldsymbol{W}_{xh} \in \mathbb{R}^{d \times h}Wxh​∈Rd×h,Whh∈Rh×h\boldsymbol{W}_{hh} \in \mathbb{R}^{h \times h}Whh​∈Rh×h,bh∈R1×h\boldsymbol{b}_{h} \in \mathbb{R}^{1 \times h}bh​∈R1×h,ϕ\phiϕ函数是非线性激活函数。由于引入了Ht−1Whh\boldsymbol{H}_{t-1} \boldsymbol{W}_{hh}Ht−1​Whh​,HtH_{t}Ht​能够捕捉截至当前时间步的序列的历史信息,就像是神经网络当前时间步的状态或记忆一样,由于HtH_{t}Ht​的计算基于Ht−1H_{t-1}Ht−1​,上式的计算是循环的,使用在时间步ttt,输出层的输出为:

Ot=HtWhq+bq. \boldsymbol{O}_t = \boldsymbol{H}_t \boldsymbol{W}_{hq} + \boldsymbol{b}_q. Ot​=Ht​Whq​+bq​.

其中Whq∈Rh×q\boldsymbol{W}_{hq} \in \mathbb{R}^{h \times q}Whq​∈Rh×q,bq∈R1×q\boldsymbol{b}_q \in \mathbb{R}^{1 \times q}bq​∈R1×q。

双向RNN在这里插入图片描述

同时训练正向RNN和反向RNN,将两个的隐藏单元连接起来再输入输出层。这样yt+1y^{t+1}yt+1的输出就是基于整个输入序列的。

LSTM

长短期记忆网络(LSTM,Long Short-Term Memory)是RNN的变形,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。
在这里插入图片描述
LSTM的神经元中间是一个记忆细胞,外接三个“门”一一输入门、遗忘门和输出门。输入门对上一个节点的输入进行选择性忘记(是否让其进入记忆细胞),遗忘门(其实叫记忆门更准确)对当前记忆细胞的内容进行选择性“记忆”,输出门决定记忆细胞的内容的是否可以输出到其他神经元。至于这些“门”具体应该操作是可以通过训练得到的。一个LSTM神经元一共有4个输入(一个当前输入值,3个控制门的信号)和一个输出。
在这里插入图片描述
上图中输入的值为zzz,输出的值为aaa,三个门的输入ziz_{i}zi​、zfz_{f}zf​和zoz_{o}zo​经过激活函数sigmoid被转换成0到1之间的值,这个值决定了门打开的程度。我们知道sigmoid函数的值在大部分情况下都是十分接近0和1的,这个值也就代表了门的关闭和打开。
记忆细胞中原来的值是ccc,新的值由如下公式计算:
c′=g(z)f(zi)+cf(zf)c^{'}=g(z)f(z_{i})+cf(z_{f})c′=g(z)f(zi​)+cf(zf​)
最终的输出a=h(c′)f(zo)a=h(c^{'})f(z_{o})a=h(c′)f(zo​)

GRU

GRU是LSTM的升级版,它只有两个门一一重置门和更新门。

深度循环神经网络

上一个隐藏层的输出作为下一个隐藏层的输入。层数并不是越多越好。
未完待续……


作者:qsmx666



rnn

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章