多层 RNN 中的误差如何反向传播

数据挖掘 机器学习 神经网络 深度学习 反向传播 堆叠的lstm
2021-09-28 07:02:57

假设我有一个 2 层 LSTM 单元,我正在使用这个网络对沿时间轴长度为 10 的输入序列执行回归。

据我了解,当这个网络“展开”时,它将由 20 个 LSTM 单元组成,每层 10 个。因此,第一层对应的 10 个单元接收 t = 1 到 10 的网络输入,而第二层对应的 10 个单元接收 t = 1 到 10 的第一层的输出。换句话说,单元的输出在对应于 t = 1 的第 1 层中,转到 (1) 对应于 t = 2 的第 1 层中的“下一个”单元,以及 (2) 对应于 t = 1 的第 2 层中的单元。

那么当误差被反向传播时,第 1 层的每个单元中不会有两个导数进入吗?如果是这样,如何执行权重更新?是否使用了两个导数的总和或平均值,还是发生了其他事情?

1个回答

正如您在此处看到的,尽管它们是堆叠的,但导数将通过链式规则传播。实际上,将有两条主要路径。第一个将是随时间的反向传播,下一个将是每个展开单元的输出的反向传播,这些单元可以直接连接到输出,也可以连接到堆叠的展开单元。另外,看看这里