循环神经网络(RNN)与长短期记忆模型(LSTM)

循环神经网络

1.循环神经网络(Recurrent neural networks,下称"RNN")是一种序列建模的神经网络。传统的简单神经网络输入数据不考虑输入数据的前后关系,输入和输出是相互独立的,而RNN独特之处在于它们能够解决时序数据和时间序列问题,常见的包括带有顺序的文本数据、股价随时间波动的时间序列数据等。

在这里插入图片描述

2.RNN简化理解

以文本顺序数据为例,今天天气真好,通过隐藏层的记忆单元来构建前后的关系,当我输入今天的时候,会预测输出下一个文字天气和真好的概率输出值,不过首先要先对文字进行编码,将文字转化成特定的向量传入网络,输出通过softmax处,用向量表示下一个各文字出现的概率。

3.RNN循环神经网络定义及BPTT(时序反向传播)计算

3.1如图,RNN结构每个参数的定义
  • xt:表示每个时刻的输入
  • ot:表示每个时刻的输出
  • st:表示每个时刻隐藏层的输出
  • U:表示输入神经元的权重
  • V:表示输出层的权重
  • W:表示循环神经元的权重
  • U、V、W权重是共享的
    通过展开RNN结构发现,通过 st隐藏层将前后输入数据关联,贯穿整个网络,一定程度上解决传统神经网络中前后数据不关联问题
    在这里插入图片描述
3.2定义通用公式(g表示激活函数)

在这里插入图片描述

3.3通过BPTT反向更新参数
3.3.1 t=3时刻,对V、W、U的求偏导,L3表示在t3时刻的损失
  • 1.对参数V求导
    在这里插入图片描述
  • 2.对W求导(根据通用公式发现W和S2、S1有关,需要对W进行复合求导)

在这里插入图片描述

  • 3针对U求导,同理U和S2、S1有关有关,需要对U进行复合求导
    在这里插入图片描述
3.3.2 基于前面t=3时刻进一步推导,对t时刻V、W、U参数进行求偏导
  • 1.对参数V求导
    在这里插入图片描述
  • 2.对W求导,这里注意的是,由于隐藏层是相互关联的,同时都与W有关,那么隐藏层st会与上个隐藏层之间存在连乘项
    在这里插入图片描述
  • 3.同理对U求导与对W求导类似,会产生连乘
    在这里插入图片描述
3.3.3 基于前面t时刻进一步推导总的损失函数对V、W、U的影响

在这里插入图片描述
这里发现有大量的连乘项,如果连乘项过多很容易梯度消失或梯度爆炸,对此,进行进一步的分析。

3.3.4单独取出上图中红色方框某一项连乘项,对上一项进行求导,由于激活函数是固定的,最终影响RNN梯度消失或者梯度爆炸是W

在这里插入图片描述

3.4 由于RNN结构容易产生梯度消失或者梯度爆炸状况,同时随着连乘项过多,距离越远两个数据关系越弱,针对该问题,LSTM网络结构产生

长短期记忆网络模型(LSTM)

1.长短期记忆模型(Long short-term memory,下称"LSTM"),这里的Ct代表细胞状态,用于保存长期记忆,可以理解为LSTM中"long-term memory",ht代表隐藏状态。表示当前时间同步的短期记忆状态,可以被认为是"short-term memory"。比较RNN网络结构,增加门控机制,来建立比较长的网络结构。,LSTM通过门结构的控制来删除或添加细胞状态信息,门可以看成对信息有选择的筛选方式。

在这里插入图片描述

2.LSTM网络结构
2.1Ct细胞状态:LSTM细胞状态表示成图表上水平线,细胞状态类似传送带,在链条上只有线性的相互作用,信息很容易沿着它不变地流动。

在这里插入图片描述

2.2遗忘门:LSTM 的第一步是决定从细胞中扔掉哪些信息。这需要使用一种称为“遗忘门”的 sigmoid 层来完成,该层检查 ht-1 和 xt,并为每个细胞状态 Ct-1 中的数字输出 0 到 1 之间的数字。一个 1 表示“完全保留此信息”,而 0 表示“完全删除此信息”。试想,我们输入某个词语,但是我们认为是不重要,我们会删除它或者在模型内部来降低它的权重。

在这里插入图片描述

2.3输入门:这里需要决定将那些有效信息存储进来,一个是通过sigmod层决定将那些有效信息保存进来,另外通过tanh层创建一个新的潜在向量Ct将信息压缩-1-1之间,两个部分同时结合起来,创建一个更新状态的操作。

在这里插入图片描述

2.4更新Ct:这是对遗忘门和输入门的数据进行汇总,来将细胞状态Ct-1更新至细胞状态Ct,我们乘以遗忘门ft,然后结合输入门的更新信息it*Ct,这样得出全新细胞状态Ct

在这里插入图片描述

2.5输出门:首先运行sigmod层,决定我们要输出那部分信息,然后将更新的细胞状态Ct通过tanh层,两者结合输出需要的部分Ot

在这里插入图片描述

2.6梳理出前面的步骤,得出下面公式

在这里插入图片描述

3.为什么LSTM能解决RNN梯度消失和梯度爆炸问题?

这里LSTM中的Ct相当于RNN隐藏层,主要由于ht代表短期记忆,只是Ct的一个输出,表示当前时间段一个记忆的浓缩,而Ct代表长期记忆,是LSTM主要单元,贯穿整个网络中,这里用Ct进行推导

根据前面RNN推导我们发现,由于RNN隐藏层之间存在连乘项,且连乘项越多,代表前面输入数据和后面输入数据之间距离越大,会形成梯度消失或者梯度爆炸情况,而这里截取LSTM Ct和Ct-1,对Ct-1进行求导,如图,求导发现只存在只有遗忘门一项,且通过sigmod激活函数后,取值在在0-1之间,因此,不存在梯度爆炸情况的发生,如果通过控制将值趋近于1,也避免了梯度消失的情况。
在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 长短期记忆模型LSTM)是一种递归神经网络RNN),在时间序列预测分析中被广泛应用。LSTM对于处理长期依赖性和记忆性具有优势,能够捕捉到时间序列数据中复杂的时序关系。 在使用LSTM进行时间序列预测分析时,首先需要准备好输入数据。时间序列数据通常有时间步和相应的特征值组成。可以使用滑动窗口的方式,将时间步作为输入特征,根据需要预测的时间步确定输出特征。这样就能够构建训练集和测试集。 接下来,需要搭建LSTM模型LSTM模型由多个LSTM单元组成,每个LSTM单元包含输入门、遗忘门和输出门。通过设置合适的参数和层次结构,可以提高模型的预测性能。 在训练模型时,使用训练集对LSTM模型进行训练,通过将输入数据传入LSTM网络,将输出与实际值进行比较,并通过损失函数进行误差计算。使用反向传播算法进行权重更新,不断调整模型参数。 模型训练完成后,可以使用测试集对模型进行评估和预测。将测试集输入到已经训练好的LSTM模型中,获取对应的预测结果。通过比较预测结果和真实值,可以评估模型的准确性和性能。 LSTM模型适用于各种时间序列预测任务,如股票价格预测、天气预测、销售预测等。它的优势在于能够处理长期依赖性,准确地捕捉到时间序列数据中的模式和趋势。在实际应用中,我们可以根据具体场景和数据特点,调整LSTM模型的参数和结构,以获得更好的预测效果。 ### 回答2: 长短期记忆模型LSTM)是一种递归神经网络RNN)的变种,专门用于处理和预测时间序列数据。通过LSTM模型,我们能够捕捉和学习时间序列数据中的长期依赖关系,同时能够避免梯度消失和梯度爆炸等问题。 在时间序列预测分析中,LSTM模型可以被用来推测未来的数据点,并且能够对序列中的趋势进行建模。这一过程通常可以通过以下步骤来实现: 1. 数据准备:首先,将时间序列数据准备成适合LSTM模型输入的格式。一般将数据划分为训练集和测试集,并对数据进行归一化处理,以消除数据间的差异。 2. 构建模型:通过LSTM模型的网络结构,可以定义和训练一个适合时间序列预测的模型LSTM模型中的记忆单元可以捕捉到序列中过去的信息,并将其应用于当前的预测。 3. 模型训练:将准备好的训练数据输入到LSTM模型中,通过反向传播算法来更新模型的权重,以减小预测误差。可以使用适当的损失函数(如均方误差)和优化算法(如随机梯度下降)来优化模型。 4. 预测分析:使用训练好的LSTM模型对测试数据进行预测。通过将模型对过去数据的学习应用于新的数据点,模型可以生成时间序列的未来预测。 LSTM模型在时间序列预测分析中具有较好的性能,特别适用于处理需要考虑长期依赖关系的数据。与传统的方法相比,LSTM能够更好地捕捉到时间序列数据中的非线性、非平稳和周期性等特征,对于金融、气象、股市、销售等领域的时间序列预测非常有用。通过对模型的不断调优和改进,LSTM模型在时间序列预测分析中具有广泛的应用前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值