我在TensorFlow中训练了doc2vec模型。所以现在我已经在字典和文档向量中嵌入了单词的向量。
在论文中
"Distributed Representations of Sentences and Documents"
Quoc Le, Tomas Mikolov
作者写道
“推理阶段”以获得新段落的段落向量D. (从未见过)通过在D和渐变中添加更多列 按住W,U,b固定在D上。
我有预训练模型,因此我们将W,U和b作为图形变量。问题是如何在Tensorflow中有效地实现D(新文档)的推断?
答案 0 :(得分:0)
对于大多数神经网络,如果您感兴趣的值,网络的输出(分类问题的类,回归的数字......)。在这些情况下,推理意味着在一些新数据上运行冻结的网络(前向传播)以计算所需的输出。
对于这些情况,可以使用多种策略快速为多个新数据点提供所需的输出:水平缩放,通过量化权重降低计算的复杂性,优化冻结图计算(请参阅https://devblogs.nvidia.com/tensorrt-3-faster-tensorflow-inference/ ),...
doc2Vec(和word2vec)是不同的用例然而不同:神经网络用于计算输出(预测下一个单词),但有意义且有用的数据是训练后神经网络中使用的权重。因此,推理阶段是不同的:您不希望获得神经网络的输出以获得新文档的矢量表示,您需要训练神经网络的一部分,为您提供文档的矢量表示。然后冻结部分神经网络(W,U,b)。
如何在Tensorflow中有效地计算D(文档向量):
了解有关当前问题的更多信息,以及上下文可能有所帮助。