句子、语音、股价都是一串有先后次序的数据,普通网络看不出顺序。循环神经网络引入了记忆,让上一步的结果影响下一步;LSTM 则用门控结构解决了记忆容易流失的问题。本文讲清它们的原理与局限。
核心要点
- RNN 把上一步的隐藏状态传给下一步,从而处理长度不定的序列。
- 长序列中梯度容易衰减,导致模型记不住靠前的关键信息。
- LSTM 用遗忘门、输入门和输出门,有选择地保存和丢弃记忆。
带记忆的网络
普通网络处理每个输入时都是独立的,看不出先后。可是语言、语音、股价这些数据的核心信息恰恰藏在顺序里:同样几个字,换个次序意思可能天差地别。循环神经网络的做法是引入一个隐藏状态,它像一份随阅读不断更新的笔记,把前面的内容带到后面。
具体地说,每一步网络读进当前输入和上一步留下的状态,算出新状态并按需输出结果。状态在序列中一路传递,越靠后的位置能看到越长的历史。同一套参数在整条序列上反复使用,因此它能处理长度不定的输入,这是它相对固定尺寸网络的一大优势。
为什么会忘事
理想很美好,现实是它记不长。训练时误差信号要沿着时间一步步往回传,每传一步就乘一次系数,传了几十步之后信号往往小到可以忽略。结果是模型对最近几个词很敏感,对开头的信息几乎学不到,长句子的前后呼应、长文档的伏笔就都丢了。
这个问题并非循环结构独有,深层前馈网络也有类似的梯度消失现象,只不过在时间维度上表现得更突出,因为序列可以很长。早期工程上的应对包括限制序列长度、对梯度做截断、使用更好的初始化,这些都是缓解而非根治——真正的转折来自门控结构的设计。
门控:有选择地记住
长短期记忆网络引入了一条贯穿始终的记忆通道,并用三个门来控制它。遗忘门决定旧记忆保留多少,输入门决定新信息写入多少,输出门决定当前状态里有多少要暴露出去。每个门都是一组可学习的权重,网络自己学会什么时候该记住、什么时候该清空。
打个比方,普通循环网络像一块每次都要整体擦掉重写的小黑板,而长短期记忆网络像一份可逐条增删的清单,重要条目能原封不动保留很久。这让它在翻译、语音识别等需要长距离依赖的任务上大幅提升,此后又出现了结构更简单的门控循环单元等改良版本。
常见问题
有了 Transformer,还需要学 RNN 吗?
需要。虽然主流大模型已改用注意力结构,但循环思想仍用于时序预测、实时流式处理等场景,因为它按步推进、不必看完整条序列。而且理解循环网络的记忆与遗忘问题,正是理解后来注意力机制为何出现的必要背景。
本文为 AI 科普内容,仅用于知识普及,不构成任何技术选型、投资或职业决策建议。