循环神经网络(RNN)

1.循环神经网络用于解决连续且长短不一的序列样本

2.RNN是一种时间序列模型,模型三个线性关系矩阵共享,体现“循环”思想

3.LSTM是RNN的一个特例,用于解决RNN梯度爆炸和梯度消失的问题

4.LSTM隐状态比RNN多了一层——细胞状态

5.LSTM由遗忘门、输入门、细胞更新输出门构成

6.求解RNN模型依然采取前向传播与反向传播算法

多层感知机(MLP)深度神经网络(DNN)的基础模型,通常DNN就是指多层感知机,在此基础上加入卷积层和池化层,就得到了卷积神经网络(CNN)。但这两类模型对于训练样本输入是连续且长短不一的序列比较难解决,比如一串语音或者一串文字,对于这类问题,循环神经网络(RNN)则比较擅长解决。我们这一篇就介绍该模型。

模型介绍

循环神经网络,英文是Recurrent Neural Networks ,简称RNN。通常用于自然语言处理的语音识别和机器翻译领域。下图是RNN的一种典型结构图:

它假设变量都是时间序列化的,其中:

  • x表示训练样本输入

  • h表示隐藏状态,t时刻的h状态由t时刻的x和t-1时刻的h决定

  • o表示模型输出,t时刻的输出o只与当前隐藏状态h决定

  • L表示损失函数

  • y表示训练样本的真实输出

  • W,U,V是模型三个线性关系参数的矩阵,它在整个RNN中共享,体现了“循环”思想

RNN模型传播算法

对于任意序列时刻t,隐藏状态h的公式:

激活函数一般为tanh。

此时模型输出o为:

t时刻最终预测输出为:

如果是识别分类模型,则该激活函数一般为softmax.

RNN的反向传播算法是基于时间序列,通常也称为BPTT(back-propagation through time).

每个时刻都有损失,所以最终的损失为:

为了简化计算,这里采取交叉熵损失,隐藏层激活函数为tanh函数,最终输出是softmax函数。因此求损失函数L对V,c的梯度为:

下面求解损失函数L对W,U,b的导数,类似DNN,定义一个迭代式子:

又因为:

所以:

最后得到梯度:

RNN改进——LSTM

RNN也会面临梯度消失的问题,天才数学家提出了它的改进模型——LSTM(Long Short-Term Memory),它可以避免RNN的梯度消失.

经典的RNN图结构如下(每层略去模型输出o,损失函数L,真实输出y):

每个时刻t增多一个隐藏状态,我们称为细胞状态(Cell State),图中最上面的长横线部分;

引进遗忘门(forget gate),以一定的概率控制是否遗忘上一层的隐藏细胞状态:

它通过t-1时刻隐藏状态h和t时刻序列数据x,通过激活函数σ得到遗忘门的输出f,一般为sigmod函数,控制在[0,1]之间,用以表示概率:

输入门(input gate)负责当前时刻t序列的输入:

它由两部分组成,第一部分使用了sigmoid激活函数,输出为i;第二部分使用了tanh激活函数,输出为a, 两者的结果后面会相乘再去更新细胞状态:

然后到细胞更新过程:

前面的遗忘门和输入门的结果都会作用于细胞状态:

最后到输出门

t时刻隐藏状态h由两部分组成,第一部分是输出模型o,由t-1时刻因此状态h和t时刻序列数据x,以及激活函数σ得到;第二部分由t时刻隐藏状态C与tanh激活函数得到:

LSTM模型传播算法

  • LSTM的前向传播

前向传播算法很简单,只需要求出每个时刻t的各种输出即可。


然后按照序列t不断向前更新即可。

  • LSTM的反向传播

类似于标准的RNN,我们要找到迭代公式,这里的的隐状态有h和C,所以要定义两个δ:

最后可以计算得到T时刻:

t时刻:

其中,

最后得到参数梯度:

其他参数梯度也可以同样得到。

这一篇只对RNN做个简要的介绍与推导,对RNN有个整体的认识,更多深入的细节与原理以后会再介绍。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

整得咔咔响

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值