LSTM网络的简单理解

article/2025/9/22 11:43:35

目录

    • RNN递归神经网络
    • LSTM神经网络
    • 结构变形
      • 1.peephole connections结构
      • 2.在忘记门与输入门之间引入一个耦合
      • 3.门循环单元(GRU)

今天对LSTM网络进行学习。

在理解LSTM网络之前,我们首先要对Recurrent Neural Networks(RNNs)递归神经网络进行了解。

RNN递归神经网络

以我们人类来说,我们不会将所有的东西都全部丢弃,然后用空白的大脑进行思考。我们的思想拥有持久性。而在传统神经网络中,模型不会关注上一时刻的处理会有什么信息可以用于下一时刻,每一次都只会关注当前时刻的处理。假设我们希望对电影中的每个时间点的时间类型进行分类,传统的神经网络很难使用电影中先前的事件推断后续的事件。

而RNN能够解决这一问题。RNN 是包含循环的网络,允许信息的持久化。

简单来说,RNN网络带有一个指向自身的环,用来表示它可以传递当前时刻处理的信息给下一时刻使用,结构如下:

在这里插入图片描述
上图中Xt为输入,ht为输出,A为隐藏层。可以看到,上图隐藏层有一条指向自身的路径,在这一过程中,隐藏层将输入传递到一个记忆单元中,通过记忆单元保存上一时刻的信息再传递给下一隐藏层,将上图展开可以更直观理解这个过程:

在这里插入图片描述

这样的一条链状神经网络代表了一个递归神经网络,可以认为它是对相同神经网络的多重复制,每一时刻的神经网络会传递信息给下一时刻。以一个语言模型为例,我们有一个句子:“What is the problem?”我们要根据句子中已出现的词预测当前词是什么,递归神经网络的工作原理如下:

在这里插入图片描述

在第一层输入词“What”时,我们预测出当前词is,此时输入词同时保存到记忆单元中传输到下一个预测中,并与第二个输入词“is”共同预测出第二个预测词the,同样再把输入保存到记忆单元中继续下一步预测。这样就实现了神经网络的信息传递,也就是RNN网络的原理。

理论上来说,RNN是可以记忆任意长度序列的信息的,即RNN的记忆单元中可以保存此前很长时刻网络的状态,但是在实际的使用中我们发现,RNN的记忆能力总是很有限,它通常只能记住最近几个时刻的网络状态,也就是说它并不能很好地处理长时依赖问题。还是以语言模型为例,如果遇到一个较长的句子,那么预测结果就没那么理想了。而LSTM网络可以很好地解决这个问题。

LSTM神经网络

**长短时记忆网络(Long Short Term Memory Network, LSTM)**是一种特殊的RNNs,可以很好地解决长时依赖问题。那么它与常规神经网络有什么不同?
首先我们来看RNNs具体一点的结构:

在这里插入图片描述

所有的递归神经网络都是由重复神经网络模块构成的一条链,可以看到它的处理层非常简单,通常是一个单tanh层,通过当前输入及上一时刻的输出来得到当前输出。与神经网络相比,经过简单地改造,它已经可以利用上一时刻学习到的信息进行当前时刻的学习了。

LSTM的结构与上面相似,不同的是它的重复模块会比较复杂一点,它有四层结构:

在这里插入图片描述

LSTM共由四个部分组成,分别是三个门(forget gate、input gate、output gate)与一个记忆单元(cell)。方框内上方的那条水平线,被称为cell state(单元状态),它就像一个传送带,可以控制信息传递给下一时刻。

LSTM通过门控单元可以对记忆单元添加和删除信息。通过门可以有选择地决定信息是否通过,下面分别对三个门的功能进行解析。

遗忘门(图左部分):

在这里插入图片描述

遗忘门的功能是决定应丢弃或保留哪些信息。来自前一个隐藏状态的信息ht-1和当前输入的信息xt同时传递到 sigmoid 函数中去,输出值介于 0 和 1 之间,越接近 0 意味着越应该丢弃,越接近 1 意味着越应该保留。

输入门(中间部分):

在这里插入图片描述

输入门用于更新单元状态。首先将前一层隐藏状态的信息和当前输入的信息传递到 sigmoid 函数中去得到输出it。将值调整到 0~1 之间来决定要更新哪些信息。0 表示不重要,1 表示重要。

其次还要将前一层隐藏状态的信息和当前输入的信息传递到 tanh 函数中去,创造一个新的侯选值向量Ct。

最后将 sigmoid 的输出值与 tanh 的输出值相乘,sigmoid 的输出值将决定 tanh 的输出值中哪些信息是重要且需要保留下来的。

单元状态(图上侧):

在这里插入图片描述

下一步,就是计算单元状态。首先前一层的单元状态Ct-1与前面计算的遗忘向量逐点相乘。如果它乘以接近 0 的值,意味着在新的单元状态中,这些信息是需要丢弃掉的。然后再将该值与输入门的输出值逐点相加,将神经网络发现的新信息更新到单元状态中去。至此,就得到了更新后的单元状态。

输出门(图右部分):

在这里插入图片描述

输出门用来确定下一个隐藏状态的值,隐藏状态包含了先前输入的信息。首先,我们将前一个隐藏状态ht-1和当前输入xt传递到 sigmoid 函数中得到ot,然后将新得到的单元状态传递给 tanh 函数。

最后将 tanh 的输出与 sigmoid 的输出相乘,以确定隐藏状态应携带的信息。再将隐藏状态作为当前的输出,把新的单元状态Ct和新的隐藏状态ht传递到下一个时间步长中去。

门结构中包含着 sigmoid 和tanh函数。Sigmoid 激活函数与 tanh 函数类似,不同之处在于 sigmoid 是把值压缩到 0~1 之间而不是 -1~1 之间。这样的设置有助于更新或忘记信息,因为任何数乘以 0 都得 0,这部分信息就会剔除掉。同样的,任何数乘以 1 都得到它本身,这部分信息就会完美地保存下来。这样网络就能了解哪些数据是需要遗忘,哪些数据是需要保存。tanh函数是对先前学到信息的压缩处理,起到稳定数值的作用,两者的结合学习就是递归神经网络的学习思想。

结构变形

LSTM网络还有其它变形。思想相近,简单进行一下介绍。

1.peephole connections结构

它允许各个门结构能够看到细胞信息,由Gers & Schmidhuber (2000)提出。

在这里插入图片描述

2.在忘记门与输入门之间引入一个耦合

不同于之前的LSTM结构,遗忘门和输入门是独立的,这个变式是在遗忘门删除历史信息的位置加入新的信息,在加入新信息的位置删除旧信息。

在这里插入图片描述

3.门循环单元(GRU)

它将遗忘门和输入门合并成一个新的门,称为更新门。GRU还有一个门称为重置门。

在这里插入图片描述

其中重置门为上图中前面那个门,决定了如何将新的输入信息与前面的记忆相结合。更新门为上图中后面那个门,定义了前面记忆保存到当前时间步的量。由于该模型比标准LSTM模型更简单,因此被广泛应用。


http://chatgpt.dhexx.cn/article/Q2UangaD.shtml

相关文章

循环神经网络与LSTM

1. 循环神经网络 ①基本结构 在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题却无能无力。例如,你要预测句子的下一个单词是什么&am…

实例 :教你使用简单神经网络和LSTM进行时间序列预测(附代码)

翻译:张玲 校对:丁楠雅 本文约1500字,建议阅读5分钟。 作者基于波动性标准普尔500数据集和Keras深度学习网络框架,利用python代码演示RNN和LSTM RNN的构建过程,便于你快速搭建时间序列的预测模型。 图片来源&#xff…

【LSTM】深入浅出讲解长短时记忆神经网络(结构、原理)

本文收录于《深入浅出讲解自然语言处理》专栏,此专栏聚焦于自然语言处理领域的各大经典算法,将持续更新,欢迎大家订阅!​​个人主页:有梦想的程序星空​​个人介绍:小编是人工智能领域硕士,全栈…

深入理解LSTM神经网络

本文内容及图片主要参考:Understanding LSTM Networks LSTM核心思想 LSTM最早由 Hochreiter & Schmidhuber 在1997年提出,设计初衷是希望能够解决神经网络中的长期依赖问题,让记住长期信息成为神经网络的默认行为,而不是需要…

LSTM神经网络实战

上一遍博客简单的介绍了LSTM神经网络的工作原理, 有兴趣的打开了解一下: https://blog.csdn.net/weixin_52486467/article/details/126301845 显目介绍: 一、问题背景 电力系统负荷(电力需求量,即有功功率&#xf…

LSTM -长短期记忆网络(RNN循环神经网络)

文章目录 基本概念及其公式输入门、输出门、遗忘门候选记忆元记忆元隐状态 从零开始实现 LSTM初始化模型参数定义模型训练和预测 简洁实现小结 基本概念及其公式 LSTM,即(long short-term Memory)长短期记忆网络,也是RNN循环神经网络的一种改进方法&…

机器学习之LSTM的Python实现

什么是LSTM? LSTM(长短期记忆人工神经网络),是一种可以学习长期依赖特殊的RNN(循环神经网络)。 传统循环网络RNN虽然可以通过记忆体,实现短期记忆,进行连续数据的预测。但是当连续…

神经网络:LSTM基础学习

1、LSTM简介 在时间序列数据学习中,传统的循环神经网络(RNN)存在较多的学习瓶颈和技术缺陷,而长短时记忆(LSTM)神经网络克服了循环神经网络的缺陷,使其在长时间序列数据学习训练中能克服梯度爆炸…

Lstm(循环神经网络)

算法模型Lstm(循环神经网络): 简介 LSTM和RNN相似,它们都是在前向传播的过程中处理流经细胞的数据,不同之处在于 LSTM 中细胞的结构和运算有所变化。 LSTM结构: 遗忘门: 遗忘门的功能是决定应丢弃或保留哪些信息。…

基于MATLAB的LSTM神经网络时序预测

参考博客及文献:4 Strategies for Multi-Step Time Series Forecasting Multivariate Time Series Forecasting with LSTMs in Keras (machinelearningmastery.com) LSTM进阶:使用LSTM进行多维多步的时间序列预测_lstm多维多部预测_一只小EZ的博客-CSD…

LSTM神经网络图解

LSTM神经网络图详解 (1)遗忘门,用于计算信息的遗忘(保留)程度,通过sigmoid处理后为0到1的值,1表示全部保留,0表示全部忘记。 f t σ ( W f ⋅ [ h t − 1 , x t ] b f ) f_{t}\si…

【神经网络】LSTM

1.什么是LSTM 长短期记忆(Long short-term memory, LSTM)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,相比普通的RNN,LSTM能够在更长的序列中有更好的表现。 LSTM区别于RNN地方…

[深入浅出] LSTM神经网络

由来 人类并不是每时每刻都从一片空白的大脑开始他们的思考。在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义。我们不会将所有的东西都全部丢弃,然后用空白的大脑进行思考。我们的思想拥有持久性。 传统的神经…

简单理解LSTM神经网络

递归神经网络 在传统神经网络中,模型不会关注上一时刻的处理会有什么信息可以用于下一时刻,每一次都只会关注当前时刻的处理。举个例子来说,我们想对一部影片中每一刻出现的事件进行分类,如果我们知道电影前面的事件信息&#xf…

LSTM神经网络

LSTM被广泛用于许多序列任务(包括天然气负荷预测,股票市场预测,语言建模,机器翻译),并且比其他序列模型(例如RNN)表现更好,尤其是在有大量数据的情况下。 LSTM经过精心设…

(神经网络深度学习)--循环神经网络LSTM

一、什么是LSTM: 如果你经过上面的文章看懂了RNN的内部原理,那么LSTM对你来说就很简单了,首先大概介绍一下LSTM,是四个单词的缩写,Long short-term memory,翻译过来就是长短期记忆,是RNN的一种…

机器学习——人工神经网络模型LSTM

LSTM的学习 学习目标: 1理解什么是人工神经网络。2深入理解LSTM(长短期记忆网络)3Code 浅析人工神经网络: 在谈人工神经网络模型之前我们先来了解一下生理上的神经网络。 下面是一张对比图: Neural Science Compute…

LSTM神经网络详解

LSTM 长短时记忆网络(Long Short Term Memory Network, LSTM),是一种改进之后的循环神经网络,可以解决RNN无法处理长距离的依赖的问题,目前比较流行。 长短时记忆网络的思路: 原始 RNN 的隐藏层只有一个状态,即h&am…

LSTM神经网络介绍

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 引言一、介绍1.1什么是LSTM?1.2基础知识1.2.1门控机制1.2.2 相关激活函数1.2.3网络参数介绍 二、LSTM网络架构2.1架构图 三、LSTM的门3.1遗忘门3.2输入门3.3输出门…

大白话理解LSTM神经网络(附实例讲解)

前言 本文章为个人学习笔记整理,所学习的内容来自b站up主老弓的学习日记,附有实例讲解。 归类 长短期记忆神经网络(LSTM)是一种特殊的循环神经网络(RNN)。原始的RNN在训练中,随着训练时间的加长以及网络层数的增多&a…