LSTM公式及理解

本文详细介绍了LSTM(长短期记忆网络)的结构与工作原理,包括其基本组件如输入门、遗忘门、输出门以及Peephole机制。通过公式解析,阐述了LSTM如何处理长期依赖问题,以及短时记忆和长时记忆在LSTM中的作用。文章还提及了RNN的历史和目的,以及LSTM相对于传统神经网络的改进之处。
摘要由CSDN通过智能技术生成

LSTM的基本结构及推导

这部分内容基本都是来自Step-by-step to LSTM: 解析LSTM神经网络设计原理,只是摘录了部分内容并添加了一些贫僧的想法。

LSTM公式与结构

LSTM(Long Short Term Memory,长短期记忆,注意这里的“长短期”,后面会提到是什么意思)的作者是个有点奇怪的人1,他的名字是Jürgen Schmidhuber(发音也挺奇怪)。LSTM的作者很有意思,如果读者感兴趣的话可以自己去看看相关资料(一定要去看作者本人的个人网站)。

接下来我们直接看LSTM,放一张网络上极为常见的图:

在这里插入图片描述

图片来自Understanding LSTM Networks,(丑的要死的)红色字体是贫僧加的。

注意图中hidden state(短期记忆)和cell state(长期记忆)的传递,以及输出其实就是 h t h_t ht

然后就是LSTM的计算公式:
输入门:
i t = σ ( W i ⋅ [ h t − 1 , x t ] + b i ) i_t = \sigma (W_i \cdot [h_{t-1}, x_t] + b_i) it=σ(Wi[ht1,xt]+bi)
遗忘门:
f t = σ ( W f ⋅ [ h t − 1 , x t ] + b f ) f_t = \sigma (W_f \cdot [h_{t-1}, x_t] + b_f) ft=σ(Wf[ht1,xt]+bf)
C t ~ = tanh ⁡ ( W C ⋅ [ h t − 1 , x t ] + b C ) \tilde{C_t} = \tanh{(W_C \cdot [h_{t-1}, x_t] + b_C)} Ct~=tanh(WC[ht1,xt]+bC)
输出门:
o t = σ ( W o [ h t − 1 , x t ] + b o ) o_t = \sigma (W_o [h_{t-1}, x_t] + b_o) ot=σ(Wo[ht1,xt]+bo)
两种记忆:
长记忆: C t = f t ∗ C t − 1 + i t ∗ C t ~ C_t = f_t * C_{t-1} + i_t * \tilde{C_t} Ct=ftCt1+itCt~
短记忆: h t = o t ∗ tanh ⁡ ( C t ) h_t = o_t * \tanh(C_t) ht=ottanh(Ct

  • 43
    点赞
  • 241
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
LSMT是长短期记忆神经网络(Long Short-Term Memory,LSTM)的简称。它是一种特殊的循环神经网络(Recurrent Neural Network,RNN),用于处理具有长期依赖关系的序列数据。 Matlab是一种广泛应用于科学计算和工程领域的高级编程语言和环境。它提供了用于算法开发、数据可视化、数值计算和模型仿真等方面的丰富工具。 将LSMT和Matlab结合使用,可以更方便地进行序列数据的建模和预测。在Matlab中,我们可以使用深度学习工具箱来构建和训练LSTM模型。通过导入和处理序列数据,我们可以利用LSTM模型来分析序列数据中的模式和趋势,并进行未来值的预测。 在构建LSTM模型时,Matlab提供了一系列用于处理时间序列数据的函数和工具,如sequenceInputLayer、lstmLayer和fullyConnectedLayer等。我们可以通过配置这些层的参数,来调整LSTM模型的结构和特性,以适应不同的序列数据特征。 使用LSTM模型进行预测时,我们首先需要将数据按照时间顺序进行划分,并将其输入到LSTM网络中。然后,通过训练网络,我们可以获得模型对未来数值的预测结果。最后,我们可以使用Matlab提供的数据可视化工具,将预测结果以图表的形式展示出来,以便更好地理解序列数据的发展趋势。 综上所述,LSMT和Matlab的结合使用可以方便地进行序列数据的建模和预测。通过Matlab提供的深度学习工具箱,我们可以构建、训练和优化LSTM模型,进而分析序列数据并进行未来值的预测。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值