循环神经网络-LSTM网络

文章目录

前言

循环神经网络(Recurrent Neural Networks,RNN)是一种特殊的神经网络,具有能够处理序列数据的能力,然而,RNN在处理长序列时面临长期依赖问题,即当需要考虑较远过去的输入信息时,可能会由于反向传播过程中梯度的逐层累乘,导致梯度消失或爆炸,从而使得网络无法有效地学习到长时间跨度的依赖关系。

为了解决RNN的长期依赖问题,长短期记忆网络(Long Short-Term Memory,LSTM)应运而生。LSTM是RNN的一种变种,具有更强的能力来处理长距离依赖关系。其核心特点是使用了门控单元(gate units)来控制信息的流动,从而避免了梯度消失问题。

一、LSTM网络简介

LSTM的介绍:是一种RNN特殊的类型,可以学习长期依赖信息。大部分与RNN模型相同,但它们用了不同的函数来计算隐状态。

LSTM (长短时记忆网络)或 GRU(门控循环单元)只保留相关信息来进行预测,并忘记不相关的数据。简单说,因记忆能力有限,记住重要的,忘记无关紧要的。它们是解决短时记忆问题的解决方案,具有称为"门"的内部机制,可以调节信息流。

二、LSTM的门结构

LSTM的门控单元包括遗忘门(forget gate)、输入门(input gate)和输出门(output gate)。这些门控单元会根据输入数据和内部状态来决定哪些信息需要保留,哪些信息需要丢弃。

1.遗忘门

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

步骤:来自前一个隐藏状态的信息和当前输入的信息同时传递到 sigmoid 函数中去,然后与上述中的C值(即细胞状态,上一轮所保留的关键信息)相乘,输出值介于 0 和 1 之间,越接近 0 意味着越应该丢弃,越接近 1 意味着越应该保留。最后,我们将所得结果导入上图红色矩形框的位置。

2.输入门

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

步骤:1、首先将前一层隐藏状态的信息和当前输入的信息传递到 sigmoid 函数中去。将值调整到 0~1 之间来决定要更新哪些信息。0 表示不重要,1 表示重要。

2、将前一层隐藏状态的信息和当前输入的信息传递到 tanh 函数中去,创造一个新的侯选值向量。最后将 sigmoid 的输出值与 tanh 的输出值相乘,sigmoid 的输出值将决定 tanh 的输出值中哪些信息是重要且需要保留下来的。

3、再次将所得结果导入图中红色矩形框,但是我们这里需要将该结果与前面遗忘门所得结果进行相加,即向遗忘门中的细胞状态添加新的关键信息得到最终的细胞状态。

3.输出门

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

步骤:1、将前一个隐藏状态和当前输入传递到 sigmoid 函数中,然后将新得到的细胞状态传递给 tanh 函数,进行归一化。

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

三、总结

LSTM通过以下原理克服了传统RNN在处理长期依赖时的局限性:

  • 细胞状态:提供一个不受梯度影响的直接信息传递路径,使长期记忆得以保持。
  • 门控机制:赋予模型选择性地保留、更新和输出信息的能力,解决了长期依赖中信息的精确管理和访问问题。
  • sigmoid与tanh:sigmoid激活函数用于生成门控信号,确保信息流的控制在逻辑意义上是连续且可微的;tanh函数则用于规范化候选信息和隐藏状态的值域。

总的来说,LSTM网络是一种强大的循环神经网络变种,它通过引入门控单元和细胞状态等结构创新,解决了传统RNN在处理长期依赖时的局限性。这使得LSTM网络能够在多种应用场景中有效地捕捉和利用序列数据中的长距离依赖关系,从而实现了更高的性能和更广泛的应用。

相关推荐
XinZong1 小时前
【AI开源项目】OneAPI -核心概念、特性、优缺点以及如何在本地和服务器上进行部署!
人工智能·开源
机器之心1 小时前
Runway CEO:AI公司的时代已经结束了
人工智能·后端
T0uken2 小时前
【机器学习】过拟合与欠拟合
人工智能·机器学习
即兴小索奇2 小时前
GPT-4V 是什么?
人工智能
机器学习之心3 小时前
GCN+BiLSTM多特征输入时间序列预测(Pytorch)
人工智能·pytorch·python·gcn+bilstm
码农-阿甘3 小时前
小牛视频翻译 ( 视频翻译 字幕翻译 字幕转语音 人声分离)
人工智能
黑龙江亿林等级保护测评3 小时前
等保行业如何选择核实的安全防御技术
网络·人工智能·python·安全·web安全·智能路由器·ddos
ai产品老杨3 小时前
深度学习模型量化原理
开发语言·人工智能·python·深度学习·安全·音视频
马甲是掉不了一点的<.<3 小时前
计算机视觉常用数据集Cityscapes的介绍、下载、转为YOLO格式进行训练
人工智能·yolo·目标检测·计算机视觉·计算机视觉数据集
weixin_eng020483 小时前
清仓和斩仓有什么不一样?
人工智能·金融·区块链