我的 seq2seq RNN 想法应该可行吗?

Should my seq2seq RNN idea work?

我想预测股价。

通常情况下,人们会将输入作为一系列股票价格提供。 然后他们会将输出作为相同的序列提供,但向左移动。

测试时,他们会将预测的输出输入到下一个输入时间步,如下所示:

我还有一个想法,就是固定序列长度,比如50个时间步长。 输入和输出是完全相同的序列。

训练时,我将输入的最后 3 个元素替换为零,让模型知道我没有这些时间步长的输入。

测试时,我会为模型提供 50 个元素的序列。最后 3 个为零。我关心的预测是输出的最后 3 个元素。

这个想法行得通吗?

这个想法的主要缺陷是它不会为模型的学习添加任何内容,并且会降低其容量,因为您强制模型在前 47 步 (50-3) 中学习恒等映射。请注意,提供 0 作为输入相当于不为 RNN 提供输入,因为输入为零,在乘以权重矩阵后仍然为零,因此唯一的信息来源是偏差和先前时间步长的输出 - 两者都已经存在原来的配方。现在是第二个插件,我们有前 47 步的输出——学习恒等映射没有任何好处,但网络必须为此 "pay the price"——它需要使用权重按顺序编码此映射不被处罚。

所以简而言之 - 是的,你的想法会奏效,但与原始方法相比,通过这种方式几乎不可能获得更好的结果(因为你没有提供任何新信息,没有真正修改学习动态,然而,您通过请求每步学习恒等映射来限制容量;特别是这是一件非常容易学习的事情,因此梯度下降将首先发现这种关系,甚至在尝试 "model the future").[=10= 之前]