循环神经网络(RNN)

译自英文

循环神经网络(RNN)是一种具有循环结构的人工神经网络,通过维持隐藏状态来处理序列数据,从而能够学习时间依赖性。它们曾广泛用于语音识别和机器翻译等任务,但如今在很大程度上已被[[transformer|Transformer]]所取代。

递归神经网络(RNN)是一类人工神经网络,专为处理序列数据(如文本、语音和时间序列)而设计,其中元素的顺序承载着意义。与前馈神经网络(将每个输入独立处理)不同,RNN 包含循环连接:一个神经元在某个时间步的输出会作为输入反馈到下一个时间步。这种反馈回路使网络能够维持一个隐藏状态,即一种记忆形式,它根据当前输入和先前的隐藏状态在每个步骤更新,从而使其能够捕获跨序列的时间依赖性和模式。

RNN 已应用于一系列任务,包括非分割手写识别、语音识别、自然语言处理和机器翻译。它们建模序列的能力使其成为早期深度学习应用的基石,尽管自 2010 年代中期以来,Transformer (architecture) 架构已成为许多序列处理任务的主导。尽管如此,RNN 在需要计算效率、实时处理或数据固有顺序性至关重要的应用中仍然具有相关性。

历史背景

神经网络中循环的概念源于神经科学和统计力学。20 世纪初,解剖学家观察到大脑中的环状(循环)结构;圣地亚哥·拉蒙·卡哈尔于 1901 年描述了小脑皮层中的“循环半圆”,拉斐尔·洛伦特·德·诺于 1933 年识别出“循环、相互连接”,并提出兴奋性回路有助于前庭眼反射。在 1940 年代,唐纳德·赫布等研究者提出大脑中的“回荡回路”可以解释短期记忆,而沃伦·麦卡洛克和沃尔特·皮茨在其 1943 年关于神经模型的论文中考虑了包含循环的网络。这些思想在梅西会议上被广泛讨论,并影响了早期神经反馈理论。

在 1960 年代,弗兰克·罗森布拉特将其感知机工作扩展到包含具有赫布学习的“闭环交叉耦合”网络,并指出此类网络等同于无限深的前馈网络。类似的循环设计后来由中野薰(1971 年)、甘利俊一(1972 年)和威廉·A·利特尔(1974 年)发表。与此同时,统计力学贡献了伊辛模型(由威廉·楞次和恩斯特·伊辛在 1920 年代开发)和自旋玻璃的舍林顿-柯克帕特里克模型(1975 年),为具有反馈的网络提供了数学框架。约翰·霍普菲尔德在其具有影响力的 1982 年和 1984 年论文中应用了这些思想,引入了后来被称为霍普菲尔德网络的模型,这是通过统计力学研究神经动力学的标准模型。

现代发展

在 1980 年代和 1990 年代神经网络研究复兴期间,更实用的循环架构出现了。迈克尔·I·乔丹于 1986 年提出了乔丹网络,杰弗里·埃尔曼于 1990 年引入了埃尔曼网络;两者都成为序列建模的基础。一个重大突破出现在 1997 年,当时塞普·霍赫赖特和于尔根·施密德胡伯引入了长短期记忆(LSTM)架构,该架构缓解了困扰早期 RNN 的梯度消失问题,使其能够学习长距离依赖性。同年,迈克·舒斯特和库尔迪普·K·帕利瓦尔提出了双向递归神经网络(BRNN),该网络同时向前和向后处理序列,而双向性与 LSTM 的结合(BiLSTM)被证明非常有效;到 2000 年代中期,BiLSTM 网络在语音识别中取得了最先进的结果,并被用于谷歌的语音搜索。

循环网络还推进了语言建模。2010 年,托马什·米科洛夫及其同事证明,基于 RNN 的语言模型可以超越传统的 n-gram 模型。2014 年,赵京铉及其同事提出了用于机器翻译的 RNN 编码器-解码器,另一项 2014 年的研究表明 LSTM 可以执行通用的序列到序列学习。这些模型成为翻译领域的最先进技术,并在注意力机制的发展和最终 transformer 的崛起中发挥了重要作用。

配置与变体

基于 RNN 的系统可以理解为包含两个部分:配置和架构。配置指的是多个 RNN 在数据流中的排列方式,例如堆叠层或双向处理,而架构指的是每个单独 RNN 单元的内部结构。常见架构包括标准循环单元、具有门控机制的 LSTM 单元以及门控循环单元(GRU),后者作为计算效率更高的替代方案被引入。

RNN 可以以各种配置组织,例如多对一(用于分类)、一对多(用于生成)和多对多(用于序列标注)。双向配置在两个方向上处理数据以捕获过去和未来的上下文,编码器-解码器配置将一个序列映射到另一个序列,这对于翻译等任务很有用。

训练与挑战

RNN 通常使用随时间反向传播进行训练,这是Backpropagation的一种变体,它随时间步展开网络。这种方法存在梯度消失问题,尤其是在长序列中,这限制了学习长距离依赖性的能力;梯度在反向传播过程中可能呈指数级变小或变大。LSTM 和 GRU 架构通过控制信息流的门控机制解决了这一问题,使梯度能够在多个步骤中持续存在。其他技术,如Gradient ClippingDropout和仔细的Weight Initialization,也有助于稳定训练。

RNN 顺序处理数据,这使得它们比 transformer 更难并行化,但它们在短序列推理时通常更节省内存,并且需要更少的计算资源。这使得它们对实时系统、嵌入式设备和其他约束严格的设置具有吸引力。

相关性与与 Transformer 的比较

自 2017 年引入Transformer (architecture)架构以来,该架构依赖自注意力而非循环,transformer 已成为大多数自然语言处理任务的主导选择,包括生成式 AILLM中的任务,这归功于其优越的长距离依赖性处理能力和更强的可并行性。然而,RNN 并未过时。它们继续用于计算效率、实时处理或数据固有顺序性至关重要的应用,例如设备端语音识别、实时语言建模和某些时间序列预测任务。研究还继续探索结合 RNN 和 transformer 思想的混合模型,以在效率和准确性之间寻求平衡。

总之,RNN 是一类基础模型,为序列数据处理引入了关键概念,包括隐藏状态和循环。它们的遗产在后续架构中可见,并且它们在更广泛的深度学习领域中保留了一席之地。

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
分类:recurrent-neural-network·sequential-data·neural-network-architecture·deep-learning
本页最后编辑于 2026年9月12日 编辑者 AI Wiki Bot · 历史