循环神经网络RNN---LSTM

一、 RNN介绍

循环神经网络(Recurrent Neural Network,简称 RNN)是一种专门用于处理序列数据的神经网络,在自然语言处理、语音识别、时间序列预测等领域有广泛应用。

传统神经网络

无法训练出具有顺序的数据。模型搭建时没有考虑数据上下之间的关系。

提出一种新的神经网络

RNN(Recurrent Neural Network)在处理序列输入时具有记忆性,可以保留之前输入的信息并继续作为后续输入的一部分进行计算。

RNN的特点:引入了隐状态h(hidden state)的概念,隐状态h可以对序列形的数据提取特征,接着再转换为输出。

(1)、在计算时,每一步使用的参数U、W、b都是一样的,也就是说每个步骤的参数都是共享的,这是RNN的重要特点;

(2)、下文的LSTM和GRU中的权值则不共享。

RNN结构中输入是x1, x2, .....xn,输出为y1, y2, ...yn,也就是说,输入和输出序列必须要是等长的。

RNN的局限性:

当出现"我的职业是程序员,...,我最擅长的是电脑"。当需要预测最后的词"电脑"。当前的信息建议下一个词可能是一种技能,但是如果我们需要弄清楚是什么技能,需要先前提到的离当前位置很远的"职业是程序员"的上下文。这说明相关信息和当前预测位置之间的间隔就变得相当的大。

在理论上,RNN绝对可以处理这样的长期依赖问题。人们可以仔细挑选参数来解决这类问题中的最初级形式,但在实践中,RNN则没法太好的学习到这些知识。

原因是:梯度会随着时间的推移不断下降减少,而当梯度值变得非常小时,就不会继续学习。

二、LSTM

长短期记忆网络(Long Short - Term Memory,LSTM)是一种特殊的循环神经网络(RNN),它在处理序列数据时,能有效解决传统 RNN 存在的梯度消失和梯度爆炸问题,从而更好地捕捉序列中的长期依赖关系。

原理:

传统 RNN 在处理长序列时,由于在反向传播过程中梯度会不断相乘,容易导致梯度消失(梯度趋近于 0)或梯度爆炸(梯度变得非常大),使得模型难以学习到序列中的长期依赖信息。LSTM 通过引入门控机制,能够选择性地记忆和遗忘信息,从而有效解决这一问题。

结构

LSTM 单元主要由三个门(输入门、遗忘门、输出门)和一个细胞状态组成:

遗忘门(Forget Gate):

功能:决定应丢弃哪些关键词信息。

步骤:来自前一个隐藏状态的信息和当前输入的信息同时传递到 sigmoid 函数中去,输出值介于 0 和 1 之间,越接近 0 意味着越应该丢弃,越接近 1 意味着越应该保留。

输入门(Input Gate):

功能:用于更新细胞状态。

步骤:1、首先将前一层隐藏状态的信息和当前输入的信息传递到 sigmoid 函数中去。将值调整到 0~1 之间来决定要更新哪些信息。0 表示不重要,1 表示重要。2、将前一层隐藏状态的信息和当前输入的信息传递到 tanh 函数中去,创造一个新的侯选值向量。最后将 sigmoid 的输出值与 tanh 的输出值相乘,sigmoid 的输出值将决定 tanh 的输出值中哪些信息是重要且需要保留下来的。

**细胞状态(Cell State):**它是 LSTM 的核心,用于保存序列中的长期信息。在每个时间步,细胞状态会根据遗忘门和输入门的输出进行更新。

输出门(Output Gate):

功能:用来确定下一个隐藏状态的值。

步骤:1、将前一个隐藏状态和当前输入传递到 sigmoid 函数中,然后将新得到的细胞状态传递给 tanh 函数。2、将 tanh 的输出与 sigmoid 的输出相乘,以确定隐藏状态应携带的信息。再将隐藏状态作为当前细胞的输出,把新的细胞状态和新的隐藏状态传递到下一个时间步长中去。

sigmoid函数图像:

tanh函数图像:

三、总结

RNN:在每个时间步,接收当前输入和上一时刻的隐藏状态,通过激活函数计算当前隐藏状态和输出,信息传递较为直接,但容易出现梯度消失或爆炸问题,导致长序列信息难以有效传递和利用。

LSTM:在每个时间步,输入门决定当前输入信息有多少要存入细胞状态,遗忘门控制细胞状态中需要遗忘的信息,输出门根据细胞状态和当前隐藏状态决定输出内容。这种机制使得 LSTM 能够选择性地记忆和遗忘信息,更有效地处理长序列中的关键信息。

相关推荐
测试人社区-小明3 分钟前
智能测试误报问题的深度解析与应对策略
人工智能·opencv·线性代数·微服务·矩阵·架构·数据挖掘
阿达_优阅达10 分钟前
Tableau 2025.3 发布!可视化扩展升级、Server 版 Agent、平台数据 API,让 AI 深度融入业务工作流
人工智能·ai·数据分析·数据可视化·仪表板·tableau·版本更新
春日见27 分钟前
基于深度学习的机械臂抓取
人工智能
希艾席帝恩32 分钟前
数字孪生如何重塑现代制造体系?
大数据·人工智能·数字孪生·数据可视化·数字化转型
浔川python社34 分钟前
关于浔川 AI 翻译项目推进建议的公告
人工智能
武汉海翎光电35 分钟前
从数据采集到智能决策:船舶传感器的技术跃迁之路
大数据·人工智能
Coding茶水间1 小时前
基于深度学习的肾结石检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·机器学习·计算机视觉
Blossom.1181 小时前
基于多模态大模型的工业质检系统:从AOI到“零样本“缺陷识别的产线实践
运维·人工智能·python·机器学习·自动化·测试用例·知识图谱