背景

Noise Contrastive Estimation理论详解Sampled Softmax理论详解中,针对大规模多分类概率模型的学习问题进行了NCE和Sampled Softmax的理论介绍。考虑到实际场景中,有一类问题是条件概率预估。假设给定了一个上下文,预估的条件概率,既。为了与前面两篇文章中的公式尽量兼容,下面将简写为

其中,,是归一化因子。

在文章TensorFlow Candidate Sampling中,很多地方直接使用了,缺乏理论支持,笔者认为不太正确,所以在本文记录下个人理解。

NCE

NCE的学习目标是: 其中,是可学习参数。

最终学到的概率模型是:

NCE将原始Softmax多分类问题转化为多个二分类问题,既。二分类的odds计算如下: 那么, 所以,NCE的拟合的是

二分类问题的损失函数为交叉熵损失,既: 其中,是正样本集合大小,是每个正样本的负采样数目。

NEG

NEG将NCE学习目标进行简化,忽略了,NEG的学习目标为: 其中,是可学习参数。

最终学到的概率模型与NCE稍有不同,既:

NEG的学习目标拟合,既:

损失函数同NCE一致,既:

Sampled Softmax

Sampled Softmax的学习目标同NCE一致,既: 其中,是可学习参数。

最终学到的概率模型为: 其中,是一个与当前无关的常数项。

多分类问题的损失函数为:

总结

方法 损失函数
NCE
NEG 同NCE
SSM 同NCE

参考资料