趋近智
循环模型(如RNN、LSTM和GRU)逐步处理序列。这种按序处理的特性,尽管对时间序列或语言建模来说很直观,但却对计算并行化带来了基本限制,尤其是在训练阶段。
任何RNN中的主要操作是计算时间步 的隐藏状态 ,其依据是该时间步的输入 和前一个时间步的隐藏状态 。这种关系通常表示为:
其中 代表RNN单元执行的变换(可以是简单的RNN更新、LSTM单元或GRU单元)。这个公式清楚地显示了固有的序列依赖性:计算 需要 的结果,而 又需要 ,依此类推,直到最初的状态 。
隐藏状态 的计算按序依赖于前一个状态 。这种依赖关系阻止了在单个序列中跨时间步的并行计算。
这种时间上的依赖性造成了瓶颈。现代硬件加速器,例如GPU和TPU,擅长并行执行大规模矩阵运算。然而,在RNN处理的单个序列中,时间步 的计算必须等到时间步 的计算完成后才能开始。单个时间步内部的操作(例如LSTM门内的矩阵乘法)可以并行化,但跨时间步的计算仍然是按序进行的。
这种限制明显制约了训练期间可获得的加速效果。尽管可以在小批量数据(数据并行)中对不同序列进行RNN训练的并行化,但每个单独序列的处理仍受其长度限制,这是因为前向传播是按序进行的。
此外,网络中的反向传播 (backpropagation)(称为时间反向传播,BPTT)也受到同样的按序处理限制。为了计算损失函数 (loss function)对时间步 所用参数 (parameter)的梯度,BPTT需要逐步地将梯度反向传播通过序列。时间步 的梯度计算依赖于时间步 的梯度计算。这反映了前向传播的依赖关系,阻止了梯度计算在时间上的并行化。
实际结果是,在非常长的序列上训练RNN变得计算成本高且缓慢。增加序列长度会导致该序列的计算时间大致呈线性增长,并且无法充分发挥并行硬件的性能意味着GPU在部分计算过程中可能未被充分利用。
这种限制是促使Transformer等架构出现的原因之一,其目的是捕获序列依赖性而不依赖于按序的循环,从而在训练期间实现更大的并行化。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•