Tensorflow提供tf.nn.sampled_softmax_loss
和tf.nn.nce_loss
作为否定采样技术。 (更多信息here。)
在tensorflow github上的word2vec示例使用tf.nn.sampled_softmax_loss
,而其官方文档页面使用tf.nn.nce_loss
。
在词嵌入文献中,它们始终使用NCE损失,并且从未采样softmax。有什么原因吗?采样的softmax似乎是防止对所有类应用softmax的更明显的解决方案,因此我认为NCE丢失肯定有一定的理由。