RNN(Recurrent Neural Network,循环神经网络)最好的方式,是把它和我之前聊过的N-grams以及Transformer放在一起,看成语言模型进化史上的关键中间环节。如果说N-grams是个“记忆力只有7秒的金鱼”(只看局部),Transformer是个“开了天眼的侦探”(全局视野),那RNN就是第一个真正拥有了“短期记忆”的普通人

以下是为你准备的深度解析。

一、最直观的理解

想象你在读一本小说,但有一个奇怪的规则:你每读完一页,就必须合上书,然后靠记忆去理解下一页的内容。

  • N-grams:他读完第5页后,只勉强记住了第5页最后一句话的几个字,然后就去读第6页。所以他总是看不懂连贯的情节。

  • RNN:他有一个“内部笔记本”。他读每一页时,都会把这一页的核心思想总结成一段话写在笔记本上。然后,当他读下一页时,他会翻开笔记本,结合刚才的总结和当前页的新内容,去理解故事。

这个 “内部笔记本” ,就是RNN最核心的隐藏状态(Hidden State)

二、RNN的工作原理

RNN的工作流程可以用一个非常形象的比喻来解释:它像一个传递接力棒的运动员,但这个接力棒本身在不断地吸收新的能量。

假设我们要处理句子:“我在法国长大,所以我会说法语。”

RNN会一个词一个词地阅读,并不断更新它的“接力棒”(隐藏状态)。

  1. 起点:接力棒是空的(状态为0)。

  2. 看到“我”:模型把“我”的信息写进接力棒。此时接力棒含有:[我]。

  3. 看到“在”:模型看到“在”,同时接过接力棒(里面含有[我])。它结合两者,更新接力棒为:[我、在]。

  4. 看到“法国”:接过接力棒([我、在]),结合“法国”,更新为:[我、在、法国]。

  5. 以此类推...

  6. 看到“法语”:此时接力棒里已经包含了[我、在、法国、长大、所以、我、会、说]。模型看到“法语”这个词,同时结合了接力棒里存储的上文信息(特别是“法国”),它更容易理解此处的“法语”是指“法国语言”,而不是“法律语言”。

这就是RNN的本质:一个具有循环连接的神经网络,它通过隐藏状态将过去的信息传递给未来的处理步骤。

三、RNN的核心公式

虽然RNN有很多数学公式,但它的逻辑极其简单:

当前的新记忆 = 激活函数( 当前的输入 + 上一步的记忆 )

每一步的输出,都基于这个融合了历史和当下的“新记忆”。

四、RNN的巅峰与局限

RNN在当年是巨大的突破,因为它让神经网络第一次有了处理序列数据的能力。但它有一个致命的弱点,这个弱点直接导致了Transformer的诞生。

特点 说明
最大的优点 可以处理任意长度的序列。它不像N-grams那样窗口固定,也不像Transformer早期版本那样受限于最大长度,理论上它可以无限长地接下去。
最大的痛点 长距离遗忘(梯度消失/爆炸)。回到前面的比喻,接力棒在传递过程中,如果路线太长,最初的信息会逐渐衰减。比如句子是“我在法国长大,去了美国上学,后来又去英国工作,最后回到亚洲,所以我法语说得好。”当传到“法语”时,接力棒里关于“法国”的能量早就被“美国”“英国”“亚洲”稀释得差不多了。RNN很难建立这种长距离依赖

五、进化版:LSTM(长短期记忆网络)

为了解决RNN“记不住长距离信息”的问题,科学家发明了LSTM。可以把它理解成一个“升级版的运动员”,他不仅有一个接力棒,还有一个“选择性读写的大脑”

  • 遗忘门:决定要不要把笔记本里太旧的信息(比如“美国”)忘掉一点。

  • 输入门:决定新信息(比如“法语”)值不值得重点记。

  • 输出门:决定现在该用什么信息来输出答案。

LSTM在很长一段时间里都是序列建模的王者,直到Transformer的出现。

最后小结

现在我们把你学过的几个概念串起来,做一个终极对比:

模型 阅读方式 视野 记忆能力 计算方式
N-grams 跳读 只看附近几个词 查统计表
RNN/LSTM 逐行顺序阅读 理论上无限长,但越远越模糊 有,但会衰减 逐步传递接力棒
Transformer 一目十行 一眼看到全文所有词 无损、直接 全局检索

也正因为如此,Transformer的自注意力机制,相当于给模型装了一个“全局搜索引擎”。它不再需要像RNN那样通过漫长的接力传递才能联系到“法国”和“法语”,而是直接一步到位,建立两者之间的联系。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐