背景
我们有一个样本集合,它的概率分布为,我们希望学习一个分布来逼近。 其中,。
通过最大似然得到的log-likelihood损失函数:
接下来需要对公式进行求导,这里导数计算依赖。但是,在很多情况下并不容易求得。比如,在推荐系统领域,预测用户下一次点击某个item的概率,需要在全部item上计算,而item数量可能为千万甚至亿级。那么,怎么解决这个问题呢?
Sampled Softmax的优化目标
Sampled
Softmax的核心思想是将上述问题改造为一个类别少很多的多分类问题(注意体会这里与Noise Contrastive
Estimation理论详解的区别)。 除了样本集合,我们再根据一个人为设定的概率采样若干样本集合,的样本量是的倍。即对每个正样本,采样个负样本。其中,负样本集合称为噪声样本。 这样,对于每个正样本和它对应的个负样本,共个样本,记为集合,从中选出一个样本,选中正样本的概率为(以下忽略): 其中,是全部样本集合,是从C-x中选出全部剩余样本,并且L-C中选出个样本的概率乘积。K(C)与当前x无关,是常数项。其实,就是用小样本集合下的p(x|C)去近似拟合全局的p(x)$。
将公式代入,进一步可得: 其中, 这里把、将它变为一个可学习参数,总的学习参数为。可以看到,的形式与NCE一样。变为可学习参数后,不能保证概率之和为1,既概率没有归一化,所以公式第三行变成近似,归一化后的概率变为:
最后,我们的优化目标为最大化选中正样本的概率,损失函数既:
损失函数进一步可以写成以下形式: 其中,是正样本集合的样本数量,是正样本对应的正样本加负采样集合。
Sampled
Softmax优化目标下的概率模型
上文我们只定义了,那么是什么样呢?
可得: 与公式相比,难以计算的没有了,代替以可学习偏差项和。
Sampled
Softmax效果的理论分析
Sampled
Softmax通过优化目标和概率模型的调整,达到了计算可行性。但是,能够保证学习出的概率模型没有跑偏吗,既能近似吗?
概率模型收敛性分析
其中,与有关,所以最小化与最小化有偏差,既:
梯度值分析
Sampled Softmax with
Random Fourier Features给出了梯度偏差的上下界,既的梯度是有偏的。
参考资料