RNN
RNN(循环神经网络)是一种人工神经网络,它按顺序逐个读取句子、语音等有序数据,并把前面看到的内容作为“记忆”传递下去,用于后续判断。
通俗解释 这类似于一个词一个词地读书,同时在脑中不断更新故事梗概。不过,RNN 的记忆比人短得多,很久之前读到的内容很容易变模糊。
工作原理
RNN 每次接收一个输入(例如一个词)。在每一步,它把当前输入与此前的记忆结合,生成新的记忆,这被称为 Hidden State(隐藏状态)。由于这份记忆会不断传递到下一步,因此得名“循环”。最后,它根据最后一步的记忆预测下一个词,或对句子的情感进行分类,从而给出结果。
为什么重要
一般的神经网络输入长度固定,也不单独考虑顺序。RNN 能按顺序处理长短不一的句子或声音,曾经是翻译、语音识别和文本生成的基础工具。为缓解记忆很快变模糊的问题,还出现了 LSTM、GRU 等改进型并被广泛使用。作为用神经网络处理序列数据的起点,它至今仍是需要学习的基础概念。
注意事项
RNN 的弱点是句子越长,前面部分的信息越难传递下去。此外,它必须逐个按顺序处理词语,难以用 GPU 一次性并行计算,训练较慢。由于这些局限,如今的 LLM 大多采用 Transformer。不过,近来状态空间模型等结构以高效的方式重新运用了“延续记忆、按顺序处理”的思路,再次受到关注。
示例
早期智能手机键盘的下一词推荐、语音助手的语音识别、在线翻译工具等都广泛使用过 RNN 系列模型(尤其是 LSTM)。如今其中很多已改用 Transformer,但在对传感器数据、股价等有时间顺序的数据做轻量分析的场景中,它仍在使用。