循环神经网络-LSTM网络

news/2024/12/21 22:27:34/

文章目录

  • 前言
  • 一、LSTM网络简介
  • 二、LSTM的门结构
    • 1.遗忘门
    • 2.输入门
    • 3.输出门
  • 三、总结

前言

循环神经网络(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网络能够在多种应用场景中有效地捕捉和利用序列数据中的长距离依赖关系,从而实现了更高的性能和更广泛的应用。


http://www.ppmy.cn/news/1536874.html

相关文章

数值分析作业(第二章):代码+手写计算

《数值计算方法》丁丽娟-数值实验作业-第二章(MATLAB) 作业P58: 1 ,2,3,6,8(1), 12, 13 数值实验P61: 2, 3 数值实验(第二章) 代码仓库:https://github.com/sylvanding/b…

信息安全工程师(42)VPN类型和实现技术

前言 VPN(Virtual Private Network,虚拟专用网络)是一种在公共网络上建立专用网络连接的技术。 一、VPN类型 VPN可以根据不同的分类标准划分为多种类型,主要包括以下几种: 按协议分类: PPTP(Poi…

uni-app 开发的应用快速构建成鸿蒙原生应用

uni-app 是一个使用 Vue.js 开发所有前端应用的框架,它支持编译到 iOS、Android、小程序等多个平台。对于 HarmonyOS(鸿蒙系统),uni-app 提供了特定的支持,允许开发者构建鸿蒙原生应用。 一、uni-app 对 HarmonyOS 的支…

国庆作业

day1 1.开发环境 Linux系统GCCFDBmakefilesqlite3 2.功能描述 项目功能: 服务器:处理客户端的请求,并将数据存入数据库中,客户端请求的数据从数据库进行获取,服务器转发给客户端。 用户客户端:实现账号的注册、登…

php与python建站的区别有哪些

php与Python建站的区别: 1、语言层面Python的特性比php好,更加规范。 2、Python的性能比php高。 3、有只需要启动服务的时候执行一次的代码,在php里每个请求都会被执行一次,Python不需要。虽然php可以通过缓存缩短这方面的差距…

【命令操作】linux上watch命令详解 _ 统信 _ 麒麟 _ 方德

原文链接:【命令操作】linux上basename和dirname使用详解 | 统信 | 麒麟 | 方德 Hello,大家好啊!今天给大家带来一篇关于Linux上watch命令的详解文章。watch命令是Linux系统中非常有用的一个工具,它可以定期执行指定的命令并在终端…

一文了解:LLM Dropout

咱们来聊聊,啥样的预测模型才算是好模型?简单来说,就是那种在处理它从没见过的数据时,也能表现得特别棒的模型。老派的泛化理论告诉我们,要想让模型在训练集和测试集上都表现差不多,就得让模型简单点。这个…

whistle配合app抓包

whistle配合app抓包 1.前置准备2.手机配置3.手机安装证书1.前置准备 下载启动whistle,本例使用默认的127.0.0.1:8899 需要保证Capture TUNNEL CONNECTS处在开启状态: 输入命令:w2 start,获取当前局域网的ip地址,并记录: 2.手机配置 打开无线局域网连接dxm_phone,配置…