我们讨论了几个可能的答案,并强调了我们最近的研究《When Recurrent Models Don't Need To Be Recurrent》,这项研究从基本稳定性的角度给出了解释。
两个序列模型的故事
循环神经网络
循环模型的众多变体都具有类似的形式。该模型凭借状态 h_t 梳理过去的输入序列。在每个时间步 t,根据以下等式更新状态:
循环模型可用图形表示如下。
循环模型可以使用反向传播拟合数据。然而,从时间步 T 到时间步 0 反向传播的梯度通常需要大量难以满足的内存,因此,事实上每个循环模型的代码实现都会进行截断处理,并且只反向传播 k 个时间步的梯度。
按照这个配置,循环模型的预测仍然依赖于整个历史输入 x_0,…,x_T。然而,目前尚不清楚这种训练过程对模型学习长期模式的能力有何影响,特别是那些需要 k 步以上的模式。
自回归、前馈模型
自回归(autoregressive)模型仅使用最近的 k 个输入,即 x_t-k + 1,...,x_t 来预测 y_t,而不是依赖整个历史状态进行预测。这对应于强条件独立性假设。特别是,前馈模型假定目标仅取决于 k 个最近的输入。谷歌的 WaveNet 很好地说明了这个通用原则。
与 RNN 相比,前馈模型的有限上下文意味着它无法捕获超过 k 个时间步的模式。但是,使用空洞卷积等技术,可以使 k 非常大。