站点标志Map the AI
  • 每日短课
  • AI 新闻
  • 学习轨道
  • 主题
  • 我的路径
  • 路线图

循环神经网络

第一种为逐词读序列而生的神经网络:它把隐藏状态一步步带下去。RNN 怎么运作、它打开了什么,以及限制它的那个缺陷。

本页目录
  • 核心思想:带记忆的循环
  • 隐藏状态为什么重要
  • 穿越时间的训练
  • 梯度消失问题
  • 两个结构性局限
  • 要点回顾
经典 NLP3 / 17

先读这些

  • 什么是神经网络?

有帮助,但非必需

  • word2vec:词向量的起点

对各级别的必要程度

各目标级别的推荐分
新手25 分中的 2 分
进阶45 分中的 4 分
专家35 分中的 3 分

主线上的下一篇

LSTM 与 GRU:留得住的记忆

主题

AI 如何工作

普通的神经网络接收固定大小的输入,产出固定大小的输出。这对语言来说是个麻烦:句子没有固定长度,而且第 20 个词可能依赖第 2 个词。你需要一种按顺序读序列、并且记得读过什么的架构。这就是循环神经网络,在很长一段时间里,机器处理文本靠的就是它。

核心思想:带记忆的循环

RNN 一次读一个 token。每一步它把两样东西组合起来:

  1. 当前输入——它此刻正在读的那个词的向量(通常是 word2vec 风格的 embedding)。
  2. 它的隐藏状态——一个向量,概括了它到目前为止读到的一切。

它产出一个新的隐藏状态,并把它带进下一步。这就是「循环」:一步的输出反过来成为下一步的输入。

读 "the cat sat" 的过程:

  • 第 1 步:读 the,与空状态组合 → 状态 h₁
  • 第 2 步:读 cat,与 h₁ 组合 → 状态 h₂(现在知道「the cat」了)
  • 第 3 步:读 sat,与 h₂ 组合 → 状态 h₃(知道「the cat sat」了)

每一步用的都是同一组权重。一个 3 词的句子并不会让网络变成 3 层深;它是同一个小网络被反复使用,隐藏状态从中贯穿。正是这种权重共享,让一个 RNN 能处理任意长度的句子。

隐藏状态为什么重要

隐藏状态就是 RNN 对过去的全部记忆,被压缩进一个固定大小的向量。正是它让 RNN 能做到词袋模型永远做不到的事。

试着预测 "I grew up in France, so I speak fluent ___" 的最后一个词。词袋模型看到的是一堆没有顺序的词,没法把 France 和这个空联系起来。RNN 从左往右读,把 France 存进隐藏状态,一路带下去,读到空格处时用上它。顺序和上下文,终于可用了。

这带起了一波应用:语言建模、情感分类、命名实体识别,以及——把两个 RNN 串起来之后的——最早让神经网络机器翻译跑通的序列到序列模型。

穿越时间的训练

RNN 靠反向传播学习,但多了一点曲折。要算出 10 步之前的一个词对当前误差有多大影响,你得把梯度沿着这 10 步的循环一路回追。这就是沿时间的反向传播:把这个循环展开成一条很深的链,让误差信号一路传回去。

麻烦就从这条链开始。

梯度消失问题

这就是最终限制了 RNN 的那个缺陷。当你把梯度往回传很多步时,每一步都要把一堆数乘在一起。于是有两种糟糕的结果:

  • 如果这些数一直小于 1,乘积会缩向 0,梯度消失了。网络学不会相距很远的词之间的联系,因为连接它们的信号还没传回来就已经衰减殆尽。
  • 如果一直大于 1,乘积会爆掉,梯度爆炸,训练变得不稳定。

梯度消失是更阴险的那个问题。实践中,一个基础 RNN 大概只能记住 5 到 10 步的上下文。你让它把长段落开头的主语和结尾的动词联系起来,这条线早就淡掉了。隐藏状态是一段会漏的记忆。

两个结构性局限

除了梯度消失,RNN 还有第二个更安静的问题,它后来变得极其关键。

**长距离依赖会衰减。**就是上面那个核心弱点——很多步之前的信息很难保住。LSTM 和 GRU 就是为了打这个补丁而发明的,用门控记忆把信息留得更久。

**处理过程天生是串行的。**要算出第 100 步的隐藏状态,你必须先按顺序算完第 1 到第 99 步。序列内部没有任何并行化的空间。在现代这种为大规模并行计算而造的 GPU 上,这一点是致命的。你没法把一个句子摊到几千个核心上,因为每一步都在等它前一步。

第二个局限是门控记忆永远修不好的那一个,也是这个领域最终转向自注意力的最深层原因——自注意力一次处理所有位置。transformer 为什么胜出完整梳理了这次转向。

要点回顾

  • RNN 一次读一个 token,不断更新一个隐藏状态,用它概括到目前为止看到的一切。
  • 每一步复用同一组权重,所以一个网络能处理任意长度的序列。
  • 隐藏状态给了 RNN 对顺序和上下文的真实记忆,让翻译、标注和语言建模成为可能。
  • 梯度消失让长距离联系衰减——RNN 很难把相距很远的词联系起来。
  • 串行处理意味着无法在序列内部并行,这一点被 GPU 惩罚得很惨。这个局限活过了所有补丁。

下一篇: LSTM 与 GRU——为把信息留存更多步而设计的门控记忆单元。

本页目录

  • 核心思想:带记忆的循环
  • 隐藏状态为什么重要
  • 穿越时间的训练
  • 梯度消失问题
  • 两个结构性局限
  • 要点回顾
站点标志Map the AI

AI 不断向前,学习有路可循。

地图
  • 学习轨道
  • 主题
  • 我的路径
  • 路线图
公司
  • 关于我们
  • 联系我们
法律
  • Cookie 政策
  • 隐私政策
  • 服务条款
© 2026 Map the AI。由 NeatSeed LLC 运营。保留所有权利。