背景

我们有一个样本集合,它的概率分布为,我们希望学习一个分布来逼近 其中,

通过最大似然得到的log-likelihood损失函数:

接下来需要对公式进行求导,这里导数计算依赖。但是,在很多情况下并不容易求得。比如,在推荐系统领域,预测用户下一次点击某个item的概率,需要在全部item上计算,而item数量可能为千万甚至亿级。那么,怎么解决这个问题呢?

Sampled Softmax的优化目标

Sampled Softmax的核心思想是将上述问题改造为一个类别少很多的多分类问题(注意体会这里与Noise Contrastive Estimation理论详解的区别)。 除了样本集合,我们再根据一个人为设定的概率采样若干样本集合的样本量是倍。即对每个正样本,采样个负样本。其中,负样本集合称为噪声样本。 这样,对于每个正样本和它对应的个负样本,共个样本,记为集合,从中选出一个样本,选中正样本的概率为(以下忽略): 其中,是全部样本集合,C-xL-CK(C)xp(x|C)p(x)$。

将公式代入,进一步可得: 其中, 这里把将它变为一个可学习参数,总的学习参数为。可以看到,的形式与NCE一样。变为可学习参数后,不能保证概率之和为1,既概率没有归一化,所以公式第三行变成近似,归一化后的概率变为:

最后,我们的优化目标为最大化选中正样本的概率,损失函数既:

损失函数进一步可以写成以下形式: 其中,是正样本集合的样本数量,是正样本对应的正样本加负采样集合。

Sampled Softmax优化目标下的概率模型

上文我们只定义了,那么是什么样呢?

可得: 与公式相比,难以计算的没有了,代替以可学习偏差项

Sampled Softmax效果的理论分析

Sampled Softmax通过优化目标和概率模型的调整,达到了计算可行性。但是,能够保证学习出的概率模型没有跑偏吗,既能近似吗?

概率模型收敛性分析

其中,有关,所以最小化与最小化有偏差,既:

梯度值分析

Sampled Softmax with Random Fourier Features给出了梯度偏差的上下界,既的梯度是有偏的。

参考资料