news 2026/5/9 13:32:59

RNN与LSTM

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RNN与LSTM

RNN 是什么

你可以把 RNN 理解成:

一种专门处理“序列”的神经网络,它会把前面时刻的信息带到后面时刻。

这里的“序列”可以是:

  • 一个句子的词序列
  • 一段语音序列
  • 一个时间序列
  • 一串股票价格
  • 一段视频帧序列

在语言里,序列就是:

我 → 今天 → 很 → 开心

RNN 不是每次只看一个词然后就忘了前面,而是会带着一个“记忆状态”往后走。


你可以把它想成“边读边做笔记”

比如读这句话:

“我昨天在图书馆借了一本关于人工智能的书,今天准备开始看它。”

你读到最后的“它”时,要知道“它”指的是“那本关于人工智能的书”。

RNN 的思路就是:

  • 读第一个词时,形成一点记忆
  • 读第二个词时,结合“之前的记忆 + 当前词”更新记忆
  • 读第三个词时,再更新
  • 一直这样传下去

教程里说的hidden state(隐藏状态),你就可以先粗暴理解为:

RNN 在每一步都带着走的那份内部记忆。


三、RNN 的核心运行方式

它每一步做的事,其实很像:

新的记忆 = 旧的记忆 + 当前输入,经过一次神经网络处理

所以第 t 步时,RNN 会看两样东西:

  1. 当前这个词
  2. 前一步留下来的记忆

然后算出新的记忆,传给下一步。


举个很简单的例子

句子:

我 喜欢 吃 苹果

RNN 会这样处理:

第一步:读“我”

  • 当前输入:
  • 之前没啥记忆
  • 生成一个初始记忆

第二步:读“喜欢”

  • 当前输入:喜欢
  • 再结合前一步关于“我”的记忆
  • 生成新的记忆

第三步:读“吃”

  • 当前输入:
  • 再结合“我喜欢”的记忆
  • 更新记忆

第四步:读“苹果”

  • 当前输入:苹果
  • 再结合前面整体记忆
  • 更新记忆

所以它不是“每一步都重新开始”,而是有连续性

这就是 RNN 里“循环”的意思:
后一步会用到前一步的状态。


四、那 LSTM 又是什么

LSTM 全称是Long Short-Term Memory,中文叫长短时记忆网络
它本质上还是 RNN,但它比普通 RNN 更会“记”和“忘”。

你可以先把它理解成:

RNN 的增强版记忆系统。

教程里说得也很清楚:普通 RNN 存在长期依赖问题,于是设计了 LSTM,它通过cell state(细胞状态)门控机制来更好地控制信息保留和遗忘。


五、为什么普通 RNN 不够,还要搞个 LSTM

因为普通 RNN 虽然“理论上”能记住前面的信息,
但实际训练时常常会出现:

前面太远的信息传不到后面了。

也就是教程里说的长期依赖问题(Long-term Dependency Problem)


一个经典例子

句子:

“我在法国长大,所以我能说一口流利的 ___”

最后这个空格很可能是:

  • 法语

为什么?

因为前面很早出现了“法国”。

问题在于:

  • 如果模型只看最近几个词,可能看不到“法国”
  • 普通 RNN 虽然一路传记忆,但传得很远时,早期信息容易“衰减”

结果就是:

模型明明理论上有记忆,实际却记不住太久以前的重要信息。


六、LSTM 怎么解决这个问题

LSTM 的核心思想是:

不要让所有信息都一股脑儿混在一起传递,而是专门设计一套机制,决定哪些该记、哪些该忘、哪些该输出。

所以它比普通 RNN 多了一个更强的“记忆通道”,以及几道“门”。

教程里提到三种门:

  • 遗忘门(Forget Gate):决定哪些旧信息要丢掉
  • 输入门(Input Gate):决定哪些新信息要写进去
  • 输出门(Output Gate):决定当前要拿出哪些信息给外面看

七、把 LSTM 想成人脑的小本子 + 三个开关

你可以把 LSTM 想成一个人一边看句子,一边维护一个小本子。

这个小本子上记着最重要的信息。
每来一个新词,它都会先问三个问题:

1. 遗忘门

“旧笔记里哪些内容已经不重要了,要不要擦掉?”

2. 输入门

“当前这个新词里,有哪些信息值得记到小本子里?”

3. 输出门

“现在我要把小本子里的哪些内容拿出来,供当前预测使用?”

这样,LSTM 就比普通 RNN 更擅长处理“该保留什么”和“该丢弃什么”。


八、你可以这样对比 RNN 和 LSTM

普通 RNN

像一个人脑子里只有一团模糊记忆:

  • 每一步都把“旧记忆 + 新输入”揉一下
  • 记忆传久了容易糊
  • 远距离信息容易丢

LSTM

像这个人不但有记忆,还有一本管理得很好的笔记本:

  • 旧信息不是乱传,而是有选择地保留
  • 不重要的能删掉
  • 重要的能长期留着
  • 当前需要什么再拿出来

九、所以它们到底算什么关系

你可以直接记成这句话:

RNN 是基础版序列模型,LSTM 是为了解决 RNN 长期记忆差的问题而提出的改进版序列模型。

也就是说:

  • 它们都能处理序列
  • LSTM 更强一些
  • LSTM 不是独立于 RNN 的另一个体系,而是 RNN 的一种改进结构
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/12 12:10:14

LeetCode hot100-105从前序与中序遍历序列构造二叉树

class Solution { public:TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) {if(preorder.empty()||inorder.empty()) return nullptr;vector<int> lpre,lin,rpre,rin;TreeNode* ansnew TreeNode(preorder[0]);;int flg0;// 分割…

作者头像 李华
网站建设 2026/4/11 23:07:11

Phi-3-mini-128k-instruct安全与合规性测试:对抗性提示与风险规避展示

Phi-3-mini-128k-instruct安全与合规性测试&#xff1a;对抗性提示与风险规避展示 最近&#xff0c;各种开源和闭源的大模型层出不穷&#xff0c;大家在惊叹其强大能力的同时&#xff0c;心里也难免会犯嘀咕&#xff1a;这东西用起来安全吗&#xff1f;会不会一不小心就说出些…

作者头像 李华
网站建设 2026/4/11 21:11:51

LangChain教程-、Langchain基础来

简介 AI Agent 不仅仅是一个能聊天的机器人&#xff08;如普通的 ChatGPT&#xff09;&#xff0c;而是一个能够感知环境、进行推理、自主决策并调用工具来完成特定任务的智能系统&#xff0c;更够完成更为复杂的AI场景需求。 AI Agent 功能 根据查阅的资料&#xff0c;agent的…

作者头像 李华
网站建设 2026/4/12 21:47:01

OpenClaw错误处理机制:Phi-3-vision识别失败自动重试方案

OpenClaw错误处理机制&#xff1a;Phi-3-vision识别失败自动重试方案 1. 为什么需要错误处理机制 上周我在用OpenClaw对接Phi-3-vision模型时&#xff0c;遇到了一个典型问题&#xff1a;当模型识别图片中的文字内容时&#xff0c;偶尔会出现识别失败或结果不准确的情况。这直…

作者头像 李华
网站建设 2026/4/12 21:57:03

某大型园区服务集团薪酬体系与总额管控优化项目成功案例纪实

——对标市场、分类施策&#xff0c;构建支撑国际化转型的薪酬激励新机制【客户行业】园区服务&#xff1b;物业管理&#xff1b;文旅服务&#xff1b;国有企业【问题类型】薪酬体系改革&#xff1b;薪酬总额管控【客户背景】某大型园区服务集团隶属于某大型央企&#xff0c;位…

作者头像 李华
网站建设 2026/4/15 13:29:19

一文学习 工作流开发 BPMN、 Flowable钾

一、什么是requests&#xff1f; requests 是一个用于发送HTTP请求的 Python 库。 它可以帮助你&#xff1a; 轻松发送GET、POST、PUT、DELETE等请求 处理Cookie、会话等复杂性 自动解压缩内容 处理国际化域名和URL 二、应用场景 requests 广泛应用于以下实际场景&#xff1a; …

作者头像 李华