Tensorflow Seq2Seq用于预测复杂状态
我的问题: 我有一系列复杂的状态,我想预测未来的状态 输入: 我有一系列的状态。每个序列的长度可以是可变的。每个状态都是一个时刻,由几个属性描述:[att1,att2,…]。其中,每个属性都是介于区间[[0..5]、[1..3651]、…]之间的数字 Seq2Seq的示例(和论文)基于每个状态(单词)都取自其字典。因此,每个州都有大约8万种可能性。但是,当从一组向量中提取每个状态,并且该集合只是属性的每个可能组合时,您将如何表示每个状态Tensorflow Seq2Seq用于预测复杂状态,tensorflow,lstm,Tensorflow,Lstm,我的问题: 我有一系列复杂的状态,我想预测未来的状态 输入: 我有一系列的状态。每个序列的长度可以是可变的。每个状态都是一个时刻,由几个属性描述:[att1,att2,…]。其中,每个属性都是介于区间[[0..5]、[1..3651]、…]之间的数字 Seq2Seq的示例(和论文)基于每个状态(单词)都取自其字典。因此,每个州都有大约8万种可能性。但是,当从一组向量中提取每个状态,并且该集合只是属性的每个可能组合时,您将如何表示每个状态 有什么方法可以用张量流处理更复杂的状态吗?此外,当输入长度
有什么方法可以用张量流处理更复杂的状态吗?此外,当输入长度和输出长度之间的关系不清楚时,确定存储桶边界的好方法是什么?我可以建议您将问题重新表述并分为两部分吗?第一个是独立于tensorflow的一般机器学习/LSTM问题:如何使用LSTM预测序列元素何时为一般向量,第二个是如何在tensorflow中表示这一点。对于前者来说,没有什么真正神奇的事情可以做 但是一个非常快速的回答是:您实际上跳过了seq2seq的嵌入查找部分。可以将稠密张量输入到经过适当修改的版本中——您的状态只是状态的稠密向量表示。这与嵌入查找的结果是一样的 本文讨论了将单词转换为嵌入的预处理,以供学习管道的后续部分使用
如果你看一看,你会发现嵌入解码器接收1D批次的东西来决定(维度是批次中的元素),但随后使用嵌入查找将其转换为批次大小*单元格。输入大小张量。您想直接输入一个批处理大小*单元格。将大小张量输入RNN,跳过嵌入步骤。我确实错过了关于嵌入的部分。因此,使用这种方法,假设向量表示的每个状态与使用嵌入时找到的向量相同?嗯,这并不“相同”--但嵌入的目标是占用一个非常稀疏的空间(单词--如果你仔细想想,确定哪个单词是一个80000个输入向量,包含所有0和1)进入一个密度更高的空间,例如一个由8个浮点数组成的密度向量,或者任何可以由RNN更容易操作的空间。通过正确的嵌入,它还具有将语义相似的单词转换为数值相似的向量的好处。您已经有了一个密集的特征向量,因此您可以直接将其输入RNN。