0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

长短时记忆网络(LSTM)介绍

电子设计 来源:电子设计 作者:电子设计 2022-02-14 14:40 次阅读

长短时记忆网络

循环神经网络很难训练的原因导致它的实际应用中很处理长距离的依赖。本文将介绍改进后的循环神经网络:长短时记忆网络(Long Short Term Memory Network, LSTM),

原始RNN的隐藏层只有一个状态,即h,它对于短期的输入非常敏感。那么如果我们再增加一个状态,即c,让它来保存长期的状态,这就是长短时记忆网络。

pIYBAGAISreAdMcwAAApJFPBAYY877.png

新增加的状态c,称为单元状态。我们把上图按照时间维度展开:

o4YBAGAISvWAckC2AABA0INGCCg320.png

可以看到在 t 时刻,LSTM的输入有三个:当前时刻网络的输出值 xt 、上一时刻LSTM的输出值 ht−1、以及上一时刻的单元状态 ct−1;LSTM的输出有两个:当前时刻LSTM输出值 ht 、和当前时刻的单元状态 xt 。注意 x、h、c 都是向量。

LSTM的关键,就是怎样控制长期状态c。在这里,LSTM的思路是使用三个控制开关。第一个开关,负责控制继续保存长期状态c;第二个开关,负责控制把即时状态输入到长期状态c;第三个开关,负责控制是否把长期状态c作为当前的LSTM的输出。三个开关的作用如下图所示:

o4YBAGAISzSAaVGLAABdnag0k6w525.png

接下来我们要描述一下,输出h和单元状态c的具体计算方法。

长短时记忆网络的前向计算

我们引入“门(gate)”的概念。门实际上就是一层全连接层,它的输入是一个向量,输出是一个0到1之间的实数向量。假设W是门的权重向量,b是偏置项,那么门可以表示为:

pIYBAGAIS3GAM73JAAAE1R52yfQ997.png

门的输出是0到1之间的实数向量,用门向量的输出向量按元素乘以我们需要控制的那个向量,当门输出为0时,任何向量与之相乘都会得到0向量,这就相当于啥都不能通过;输出为1时,任何向量与之相乘都不会有任何改变,这就相当于啥都可以通过。因为σ(也就是sigmoid函数)的值域是(0,1),所以门的状态都是半开半闭的。

LSTM用两个门来控制单元状态 c 的内容,一个是遗忘门,它决定了上一时刻的单元状态 t−1 有多少保留到当前时刻 ct ;另外一个是输出门,他决定了当前时刻网络的输入 xt 有多少保存到单元状态 ct 。LSTM用输出门来控制单元状态 ct 有多少输出到LSTM的当前输出值 ht 。LSTM用输出门来控制单元状态 ct 有多少输出到LSTM的当前输出值ht。

遗忘门的表达式是:

o4YBAGAIS6-AYA5JAAAIumgvVIE262.png

上式中,Wf 是遗忘门的权重矩阵,ht−1 , xt 表示把两个向量连接成一个更长的向量,bf 是遗忘门的偏置项,σ是sigmoid函数。如果输入的维度是dx,隐藏层的维度是 dh,单元状态的维度是 dc( d_c = d_h ),则遗忘门的权重矩阵 Wf维度是 dcx(dh + dx ) 。事实上,权重矩阵 Wf 都是两个矩阵拼接而成的:一个是Wfh,它对应着输入项 ht−1 ,其维度为 dcxdh;一个是Wfx,它对应着输入项 xt ,其维度为dcxdx。Wf 可以写为:

o4YBAGAIS-6AeeUqAAAL40brfDE660.png

下图显示了遗忘门的计算:

pIYBAGAITCyABllyAAAx2gXi2VE706.png

接下来看看输入门:

o4YBAGAITIiAHl-MAAAHBHhgbW4336.png

上式中,Wi 是输入门的权重矩阵,$b_i$是输入门的偏置项。下图表示了输入门的计算:

o4YBAGAITMaAdJusAAAyyP2YpDE827.png

接下来,我们计算用于描述当前输入的单元状态o4YBAGAITQOAJV-JAAABTWl_Do0900.png,它是根据上一次的输出和本次输入来计算的:

pIYBAGAITUCAbLH_AAAHg-93rGk067.png

下图是o4YBAGAITQOAJV-JAAABTWl_Do0900.png的计算:

pIYBAGAITbyAS2F0AAA3Ixp84xY912.png

现在,我们计算当前时刻的单元状态 ct。它是由上一次的单元状态 ct−1 按元素乘以遗忘门 ft ,再用当前输入的单元状态o4YBAGAITQOAJV-JAAABTWl_Do0900.png按元素乘以输入门 it ,再将两个积加和产生的:

pIYBAGAITjmACK0WAAAFHe049mE332.png

符号O表示按元素乘。下图是 ct 的计算:

o4YBAGAITneAe4ZGAABC5iL1jv8396.png

这样,我们就把LSTM关于当前的记忆o4YBAGAITQOAJV-JAAABTWl_Do0900.png和长期的记忆 ct−1 组合在一起,形成了新的单元状态 ct 。由于遗忘门的控制,它可以保存很久很久之前的信息,由于输入门的控制,它又可以避免当前无关紧要的内容进入记忆。下面,我们要看看输出门,它控制了长期记忆对当前输出的影响:

o4YBAGAITvKAWwfGAAAG4I3NkQk500.png

下面表示输出门的计算:

o4YBAGAITzCAeFFvAABFRWC5uO8185.png

LSTM最终的输出,是由输出门和单元状态共同确定的:

pIYBAGAIT3SAbXpiAAAFYp4ak90425.png

下图表示LSTM最终输出的计算:

o4YBAGAIT7KARwrFAABL8irwcA4091.png

式1到式6就是LSTM前向计算的全部公式。至此,我们就把LSTM前向计算讲完了。

长短时记忆网络的训练

LSTM训练算法框架

LSTM的训练算法仍然是反向传播算法,对于这个算法,我们已经非常熟悉了。主要有下面三个步骤:

1、前向计算每个神经元的输出值,对于LSTM来说,即 ft、it、ct、ot、ht 五个向量的值。计算方法已经在上一节中描述过了。

2、反向计算每个神经元的误差项δ值。与循环神经网络一样,LSTM误差项的反向传播也是包括两个方向:一个是沿时间的反向传播,即从当前t时刻开始,计算每个时刻的误差项;一个是将误差项向上一层传播。

3、根据相应的误差项,计算每个权重的梯度。

作者:凌逆战
来源:博客园
原文链接:https://www.cnblogs.com/LXP-Never/p/10398531.html

审核编辑:何安

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4771

    浏览量

    100720
  • 循环神经网络

    关注

    0

    文章

    38

    浏览量

    2967
  • LSTM
    +关注

    关注

    0

    文章

    59

    浏览量

    3748
收藏 人收藏

    评论

    相关推荐

    深度学习框架中的LSTM神经网络实现

    长短记忆LSTM网络是一种特殊的循环神经网络(RNN),能够学习长期依赖信息。与传统的RNN相比,
    的头像 发表于 11-13 10:16 336次阅读

    LSTM神经网络在图像处理中的应用

    长短记忆LSTM)神经网络是一种特殊的循环神经网络(RNN),它能够学习长期依赖关系。虽然LSTM
    的头像 发表于 11-13 10:12 376次阅读

    如何使用Python构建LSTM神经网络模型

    构建一个LSTM长短记忆)神经网络模型是一个涉及多个步骤的过程。以下是使用Python和Keras库构建LSTM模型的指南。 1. 安装
    的头像 发表于 11-13 10:10 332次阅读

    LSTM神经网络的训练数据准备方法

    LSTM(Long Short-Term Memory,长短记忆)神经网络的训练数据准备方法是一个关键步骤,它直接影响到模型的性能和效果。以下是一些关于
    的头像 发表于 11-13 10:08 498次阅读

    LSTM神经网络的结构与工作机制

    LSTM(Long Short-Term Memory,长短记忆)神经网络是一种特殊的循环神经网络(RNN),设计用于解决长期依赖问题,特
    的头像 发表于 11-13 10:05 329次阅读

    LSTM神经网络在语音识别中的应用实例

    语音识别威廉希尔官方网站 是人工智能领域的一个重要分支,它使计算机能够理解和处理人类语言。随着深度学习威廉希尔官方网站 的发展,特别是长短记忆LSTM)神经网络的引入,语音识别的准确性和效率得到了显著提升。
    的头像 发表于 11-13 10:03 469次阅读

    LSTM神经网络的调参技巧

    长短时记忆网络(Long Short-Term Memory, LSTM)是一种特殊的循环神经网络(RNN),它能够学习长期依赖信息。在实际应用中,
    的头像 发表于 11-13 10:01 528次阅读

    LSTM神经网络的优缺点分析

    长短记忆(Long Short-Term Memory, LSTM)神经网络是一种特殊的循环神经网络(RNN),由Hochreiter和S
    的头像 发表于 11-13 09:57 1047次阅读

    使用LSTM神经网络处理自然语言处理任务

    自然语言处理(NLP)是人工智能领域的一个重要分支,它旨在使计算机能够理解、解释和生成人类语言。随着深度学习威廉希尔官方网站 的发展,特别是循环神经网络(RNN)及其变体——长短记忆LSTM
    的头像 发表于 11-13 09:56 373次阅读

    LSTM神经网络在时间序列预测中的应用

    时间序列预测是数据分析中的一个重要领域,它涉及到基于历史数据预测未来值。随着深度学习威廉希尔官方网站 的发展,长短记忆LSTM)神经网络因其在处理序列数据方面的优势而受到广泛关注。
    的头像 发表于 11-13 09:54 568次阅读

    LSTM神经网络的基本原理 如何实现LSTM神经网络

    LSTM长短记忆)神经网络是一种特殊的循环神经网络(RNN),它能够学习长期依赖信息。在处理序列数据时,如时间序列分析、自然语言处理等,
    的头像 发表于 11-13 09:53 375次阅读

    LSTM模型的基本组成

    长短记忆网络(Long Short-Term Memory, LSTM)是一种特殊的循环神经网络(RNN)架构,它在处理序列数据时能够捕捉
    的头像 发表于 07-10 17:01 1213次阅读

    如何理解RNN与LSTM神经网络

    在深入探讨RNN(Recurrent Neural Network,循环神经网络)与LSTM(Long Short-Term Memory,长短记忆
    的头像 发表于 07-09 11:12 634次阅读

    循环神经网络的基本概念

    循环神经网络的基本概念、循环机制、长短时记忆网络LSTM)、门控循环单元(GRU)等方面进行介绍。 循环神经
    的头像 发表于 07-04 14:31 665次阅读

    用于自然语言处理的神经网络有哪些

    取得了显著进展,成为处理自然语言任务的主要工具。本文将详细介绍几种常用于NLP的神经网络模型,包括递归神经网络(RNN)、长短时记忆网络
    的头像 发表于 07-03 16:17 1129次阅读