LSTM 网络的输入序列排序

数据挖掘 张量流 时间序列 lstm
2022-02-26 03:08:44

在用时间序列数据训练 LSTM 网络时,我猜这些数据的输入顺序很重要,我的问题是这个顺序应该如何......

让我们取一个时间序列向量,它将作为 LSTM 的输入:

X=[x0,x(1),x(2),,x(N)]

负索引表示过去的值。

应该输入哪个向量(理论案例,与任何 API 无关)?:

  • X=[x0,x(1),x(2),,x(N)]

或者

  • Xr=[x(N),,x(2),x(1),x0]

更准确地说,这两个排序中的哪一个应该在 TensorFlow LSTM-Cells 中使用?

1个回答

为了做出这个决定,您必须考虑您希望将表示传递给下一层(或网络输出)以表示什么。

如果你想要在(之后)的代表t=0要通过,您应该在X=[xn..x0]命令。LSTM 单元将形成序列的表示,然后,在t=0.

在相反的情况下,表示将指示(之前)的状态t=n

这并不是说这对于 LSTM 设计来说总是一个简单的问题——在 NLP(文本建模)等某些领域中,经常使用双向 LSTM基本上,这意味着两种表示都被实现和使用。