循环神经网络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 能够选择性地记忆和遗忘信息,更有效地处理长序列中的关键信息。

相关推荐
回眸&啤酒鸭4 天前
【回眸】Minicart 电商购物车核心功能落地指南
人工智能
一隅论数智4 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
AI的探索之旅4 天前
97 个 OpenCV 实例(三十):双目立体,从标定到点云
人工智能·opencv·计算机视觉
AlbertZein4 天前
Step-5-Preview 上手实测:3D 游戏、金融分析、网页设计一次跑完
人工智能·aigc
LaughingZhu4 天前
Product Hunt 每日热榜 | 2026-09-19
人工智能·深度学习·神经网络·搜索引擎·百度
美狐美颜SDK开放平台4 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
wukangjupingbb4 天前
智能网联汽车安全能力框架
人工智能
龙亘川4 天前
明月照湾区,智启新赛道:从顶流文旅IP盛会看智慧文旅升级路径
人工智能·智慧城市·开源软件·数据可视化
飞猫的边缘AI4 天前
边缘AI应用:家用AI摄像头怎么做数据训练?
人工智能·边缘计算·ai算法·边缘ai