我试图解决的问题是4个并行输入批次序列的分类问题。为此,我需要并行4个RNN / LSTM,它们在完全连接的层中合并。问题是在每个并行批次中,序列具有可变长度。
我不能使用填充到最大序列长度,因为它使用太多RAM。实际上,有些序列真的很长。 我不能使用填充减少长度,因为模型无法预测输出。我需要完整的序列,我不能事先知道序列的有趣部分在哪里。
我不能使用bucketing,因为如果我在一个批处理中拆分序列,我必须以相同的方式对其他3个批处理中具有相同索引的每个序列执行此操作。由于并行序列的长度不同,模型将尝试将大量空序列与一个或另一个类相关联。
理论上,RNN / LSTM应该能够学习不同长度的序列而无需序列操作。不幸的是,我不知道能够让我这样做的实现。是否存在此类RNN / LSTM库(任何语言)?
答案 0 :(得分:1)
Theano可以处理可变长度序列,但Tensorflow不能。您可以使用此Theano进行测试,并告诉我们您的结果。