Seq2Seq用于预测复杂状态



我的问题:我有一系列复杂的状态,我想预测未来的状态。

输入:我有一系列的状态。每个序列可以是可变长度的。每个状态都是一个时刻,由几个属性描述:[att1,att2,…]。其中,每个属性是介于区间[[0..5],[1..3651],…]之间的数字

Seq2Seq的例子(和论文)是基于每个状态(单词)都取自他们的字典。因此,每个州都有大约80000种可能性。但是,当每个状态取自一组向量,并且该集合只是属性的每个可能组合时,你将如何表示它。

有什么方法可以用TensorFlow处理更复杂的状态吗?此外,当输入长度和输出长度之间的关系不清楚时,什么是决定bucket边界的好方法?

我可以建议把你的问题改成两部分吗?第一个问题实际上是一个独立于张量流的通用机器学习/LSTM问题:如何使用LSTM来预测序列元素何时是通用向量,第二个问题是如何在张量流中表示这一点。对于前者来说,没有什么真正神奇的事情可做。

但一个非常快速的答案是:您实际上只是跳过了seq2seq的嵌入查找部分。你可以把稠密张量输入到它的一个适当修改的版本中——你的状态只是状态的一个稠密向量表示。这和嵌入查找的结果是一样的。

矢量表示教程讨论了预处理,例如,将单词转换为嵌入,以便在学习管道的后续部分使用。

如果你看一下seq2seq.py的第139行,你会发现embedding_rnn_decoder接受了一批1D的东西来决定(维度是批中的元素),但随后使用嵌入查找将其转换为batch_size*cell.input_size张量。您想直接将batch_size*cell.input_size张量输入到RNN中,跳过嵌入步骤。

最新更新