LSTM预测和使用最终隐藏状态



我正在处理一个seq2seq、无状态(return_state=False(的预测问题。

假设我有10个维度为(10,50,2(的独立时间序列,其中10是样本数量,50是时间步长,2是特征数量。如果我将这个时间序列划分为大小为(10,35,2(的训练和测试(10,15,2(,其中我使用测试作为我的预测的验证集(以发现训练后的网络预测有多好(,由于在这种情况下lstm是无状态的,因此在训练期间,状态在批次之间刷新(重置((假设批次大小=1->一次训练一个样本(。

我的主要问题是,在预测大小为(10,15,2(的测试集期间,我是否应该使用我训练的网络的final_hidden_states,并将其设置为测试集的initial_hidden_states?我提出这个问题的原因是,从技术上讲,测试集(10,15,2(是(10,35,2(的延续,但我没有在测试集上训练。

更清楚地说,第一个问题是:在这种情况下,我真的需要final_hidden_states进行预测吗?第二个问题是:如果我需要final_hidden_states,我如何为所有10个样本提取它们,因为在每个批次之间的训练过程中,状态都是内部刷新的?

感谢您的帮助。示例代码非常受欢迎(输入和输出可以是任意的或随机选择的(。

我目前正在python中使用keras。

谢谢。

我认为这应该回答您的问题Post,并澄清Seq2Seq自动编码器的工作原理。

最新更新