RNN+LSTM

RNN

对于带时间序列的任务场景(如语音识别、情感分析、机器翻译等,这些场景的特点是前后的关联性强,“前因后果”),如果用标准的神经网络来建模,会有一系列的弊端,如:

  • 输入和输出数据在不同例子中可能有不同的长度
  • 单纯的神经网络结构,并不共享从数据的不同位置学到的特征。如一个含有特征a的数据是从输入神经元x1输入的,那么神经网络经过训练之后,就可以从这个位置学到特征a,但如果该数据换了位置,神经网络可能就学不到了。
  • 参数量巨大
  • 没有办法体现出时序上的“前因后果”

因此,RNN网络应运而生。

RNN的网络结构

在这里插入图片描述

在这里插入图片描述

损失函数

损失函数包含两部分:
(1)单个时间步的损失函数
(2)整个序列的损失函数(其实就是把各个时间步的损失进行求和)

RNN的特点
  • 串联结构,体现出“前因后果”,后面结果的生成,要参考前面的信息
  • 所有特征共享同一套参数
RNN的缺点
  • 序列太长时,容易导致梯度消失,参数更新只能捕捉到局部依赖关系,没法再捕捉到序列之间的长期关联或者依赖关系
    例如:The cat,which ate already , … , was full. 句中的was还是were,要看前面是cat,还是cats,但是一旦中间的这个which句子很长 , cat的信息根本传不到was这里来,对was的更新没有任何帮助,这是RNN一个很大的不足之处。
    注意:这里的梯度消失现象并不是说后面时刻参数更新的时候梯度为0,而是说后面时刻梯度更新的时候,前面更远时刻的序列对参数更新是起不到作用的,梯度被近距离梯度主导,所以才说RNN无法捕捉长期依赖。
    在这里插入图片描述
    计算公式:在这里插入图片描述
    从公式理解梯度消失和梯度爆炸现象:
    在这里插入图片描述

LSTM

与RNN对比:

RNN是想把所有信息都记住,不管是有用的信息还是没用的信息。
LSTM是设计一个记忆细胞,具备选择性记忆的功能,可以选择记忆重要信息,过滤掉噪声信息,减轻记忆负担。

LSTM网络单元结构:

记忆元:在LSTM的每个时间步里面,都有一个记忆cell,它给了LSTM选择记忆的功能,使得LSTM有能力自由地选择每个时间步里面记忆地内容。图中Ct-1和Ct即为记忆元。

为了控制记忆元,我们需要许多门。
忘记门:控制输入X和上一层隐藏层输出h被遗忘的程度大小
输入门:控制输入X和当前计算的状态更新到记忆单元的程度大小。决定是不是忽略掉输入数据。
输出门:决定是不是使用隐状态

在这里插入图片描述
计算公式:在这里插入图片描述
候选记忆单元计算公式:在这里插入图片描述
记忆单元计算公式;
在这里插入图片描述
隐状态计算公式:
在这里插入图片描述

参考:
长短期记忆网络(LSTM)【动手学深度学习v2】
【重温经典】大白话讲解LSTM长短期记忆网络 如何缓解梯度消失,手把手公式
【重温系列】RNN循环神经网络及其梯度消失 手把手公式推导+大白话讲解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值