用于预测复杂状态的 Seq2Seq

Seq2Seq for prediction of complex states

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

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

之间的数字

Seq2Seq 的示例(和论文)基于每个状态(单词)都取自其字典。所以每个状态都有大约 80.000 种可能性。但是,当从一组向量中获取每个状态并且该集合只是属性的每个可能组合时,您将如何表示每个状态。

是否有任何方法可以使用 TensorFlow 处理更复杂的状态?另外,当输入长度和输出长度之间的关系不清楚时,确定存储桶边界的好方法是什么?

我可以建议将您的问题重新措辞并分成两部分吗?第一个是独立于 tensorflow 的通用机器 learning/LSTM 问题:How to use an LSTM to predict when the sequence elements are general vectors,第二个是如何在 tensorflow 中表示它。对于前者 - 那里没有什么真正神奇的事情要做。

但一个非常快速的回答:你真的只是跳过了 seq2seq 的嵌入查找部分。您可以将密集张量输入到它的适当修改版本中——您的状态只是状态的密集向量表示。这与嵌入查找的结果相同。

vector representation tutorial 讨论了预处理,例如将单词转换为嵌入以用于学习管道的后续部分。

如果您查看 line 139 of seq2seq.py,您会看到 embedding_rnn_decoder 接受一维批次的事物来决定(维度是批次中的元素),但随后使用嵌入查找将其变成 batch_size * cell.input_size 张量。您想直接将 batch_size * cell.input_size 张量输入 RNN,跳过嵌入步骤。