采样的 softmax 函数类似于常规的 softmax,但随机选择给定数量的“负”样本。
这与 NCE Loss 不同,后者根本不使用 softmax,它对上下文/标签使用逻辑二元分类器。在 NLP 中,“负采样”基本上是指基于 NCE 的方法。
更多详细信息:https ://www.tensorflow.org/extras/candidate_sampling.pdf 。
我已经测试了两者,它们都给出了几乎相同的结果。但在词嵌入文献中,他们总是使用 NCE 损失,从不采样 softmax。
有什么理由吗?采样的 softmax 似乎是防止将 softmax 应用于所有类的更明显的解决方案,所以我想 NCE 损失一定有一些充分的理由。