趋近智
循环神经网络(RNN),包括LSTMs和GRUs等更复杂的变体,都遵循逐元素处理序列的原理进行设计。在每个时间步 ,RNN 接收输入 和来自上一个时间步的隐藏状态 ,以计算当前隐藏状态 。这个过程可以抽象地表示为:
其中 代表循环函数(例如,涉及矩阵乘法和tanh或sigmoid等激活函数,或者LSTMs/GRUs中更复杂的门控逻辑),并由权重 参数化。在每个时间步也可以生成一个可选输出 ,通常由 得到。
这种表述显示了循环模型的一个基本特性:一种固有的顺序依赖。时间步 隐藏状态的计算必须等待时间步 的计算完成后才能进行。这种依赖形成了一个贯穿整个序列长度的链条。
一个展开的RNN,说明了信息流的顺序性。隐藏状态 直接依赖于前一个状态 和当前输入 。
尽管单个时间步内部的计算(例如函数 内的矩阵乘法)通常可以利用GPU等并行硬件,但跨时间步的计算无法并行化。你不能同时计算 和 ,因为 需要 作为输入。
这种顺序约束对性能有重要影响:
这与应用于序列的前馈网络或卷积神经网络(CNN)(例如1D卷积)等架构形成鲜明对比。在这些模型中,输入序列不同部分的计算通常可以独立并行地执行,从而带来更高的效率,特别是在专用硬件上。
尽管LSTMs和GRUs引入了更先进的门控机制,以更好地控制信息流并解决梯度问题(接下来会讨论),但它们本质上仍然遵循相同的顺序处理方法。时间 的门(输入、遗忘、输出)和单元状态的计算仍然依赖于时间 的隐藏状态和单元状态。
因此,无法在序列长度维度上并行化计算,是循环网络主要设计中固有的一个基本瓶颈。这个局限是促使我们发展出其他架构(如Transformer)的主要驱动力,这些架构能够更并发地处理序列元素。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造