因此,众所周知,LSTM的输入始终是3D数组:batch_size, time_steps, seq_len
。因此,如果我将LSTM的输入设为batch_size, 1, time_steps * seq_len
,会有所不同吗?
例如,我有5个功能,并且使用了之前的4个时间步长。因此,如果不给出LSTM的input_shape=(4, 5)
,而是给出input_shape=(1, 20)
怎么办?会有所不同
答案 0 :(得分:0)
是,将输入从batch_size, timesteps, input_dim
更改为batch_size, 1, timesteps * input_dim
确实有所不同。
平移输入数组将失去要素之间的时间关系。 在您给出的情况下,信息的时间流为:
a1 -> a2 -> a3 -> a4
b1 -> b2 -> b3 -> b4
c1 -> c2 -> c3 -> c4
d1 -> d2 -> d3 -> d4
e1 -> e2 -> e3 -> e4
因此,展平时间维度对应于同时输入所有时间步1-4
。这意味着网络不再以循环方式运行,并阻止了生成输出序列。