分布在可变大小的输入上

时间:2016-08-21 08:28:56

标签: neural-network tensorflow conv-neural-network

鉴于基本位图 s 和一组可能的超级位图 s1 ,..., sN ,如何训练TensorFlow计算这些过剩的概率分布的图表?

每个位图 sK 可以由同一网络作为单个输入处理,以提供表示其可能性的实际值,然后可以通过softmax层映射以给出概率分布。

然而,手动执行此操作并不允许使用反向传播和实现优化器,并且它甚至不能保证它会接受可变长度的输入和输出。

这甚至可能吗?输入和输出张量似乎必须在批量维度上具有固定大小的appart。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你有一个基本位图 s 并且你想要模拟序列 s1 s2 的分布,..., sN

这可以使用序列标记RNN模型来实现,您可以在其中模拟序列的概率分布 s1 s2 ,..., SN 即可。但要对 s 进行调整,可以将 s 的特征向量连接到序列中的每个输入。因此,在时间步 t 时,RNN的输入向量将是 s_t s 的特征向量的连接,并且在softmax之后,预期的输出应该是 s_t + 1 (即损失应该是这样的。例如,可以使用交叉熵损失。)

可以很好地使用可变长度序列。 Tensorflow始终与占位符的多个维度,即在运行图形期间可变大小。因此,随着可变批量大小,您可以很好地拥有可变长度序列。