趋近智
为了全面理解循环神经网络如何处理序列信息,将数据随时间在网络中的流动形象化是很有益的。虽然我们经常将RNN单元绘制为一个指向自身的循环连接,但为了分析和理解训练过程,我们可以将这个循环沿输入序列的时间步“展开”。
设想你有一个输入序列 x=(x1,x2,...,xT)。当这个序列输入到RNN中时,网络在每个时间步 t 逐个元素 (xt) 处理它。主要之处在于隐藏状态 ht,它在每个时间步得到更新,并将先前时间步的信息向前传递。
让我们将这个展开过程形象化:
一个随时间展开的RNN。相同的RNN单元,具有相同的权重(W、U、V分别对应Wxh、Whh和Why),在每个时间步应用。隐藏状态(h)充当记忆体,将一个时间步连接到下一个时间步。
在这个展开视图中:
这种展开清楚地展示了在任何给定时间步的隐藏状态 ht 如何通过隐藏状态链(h0,h1,...,ht−1)成为当前输入 xt 和所有先前输入(x1,...,xt−1)的函数。这种隐藏状态的链式连接就是RNN保持对迄今已处理序列的上下文或“记忆”的方式。
由展开视图说明的一个重要之处是参数共享。请注意,相同的权重矩阵(Wxh,Whh,Why)和偏置(bh,by)在每个时间步的RNN单元内部使用。网络学习一组参数,并在整个序列中重复应用。这使得模型高效,并能够处理不同长度的序列。
理解这种信息流动和展开的思路是理解RNN如何训练的基础。跨时间步的依赖性意味着在较晚时间步计算的误差需要通过这个展开结构反向传播,以更新共享权重。这个过程被称为时间反向传播(BPTT),我们将在接下来考察它。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造