知识库

记录点点滴滴

【reco|负采样】Mixed Negative Sampling for Learning Two-tower Neural Networks in Recommendations

论文链接:https://dl.acm.org/doi/pdf/10.1145/3366424.3386195

阅读时间:2020.5.12

关键词:负采样、Google play、双塔DNN

 

当前推荐系统中的召回模块中,流行的是Matrix factorization矩阵分解方法,但是MF方法存在一个问题,即冷启动。对于冷启动难题,有一系列的研究将目光聚焦在如何从item本身的特征中得到embedding。

《【reco|负采样】Mixed Negative Sampling for Learning Two-tower Neural Networks in Recommendations》

《【reco|负采样】Mixed Negative Sampling for Learning Two-tower Neural Networks in Recommendations》

对于双塔embedding结构的设计,本文提到了一个trick,训练的输入和优化的目标是用户的embedding和item的embedding,且用softmax来表示成多分类学习的任务,训练的目标即优化softmax多分类的结果,embedding是中间产物,为此在计算反向传播梯度更新时,需要计算softmax的梯度,而item的数量是很庞大的,如果逐个计算会导致效率很低,因此采用了重要性采样的方式,精简计算。同时在召回时,采用了最近邻查找的方式,召回topK个

《【reco|负采样】Mixed Negative Sampling for Learning Two-tower Neural Networks in Recommendations》《【reco|负采样】Mixed Negative Sampling for Learning Two-tower Neural Networks in Recommendations》

而在双塔embedding训练的过程中,负采样发挥了至关重要的作用。最近流行的采样方式是基于unigram 一元分布,在双塔实际应用中,对一元分布负采样进行扩展,改进为批采样。但无论是批采样还是一元分布负采样,都存在选择偏差的局限。这是因为训练数据来源于用户的反馈,而用户往往只对推荐的一小部分item存在反馈行为,因此采用批采样或者unigram一元分布负采样,往往会倾向于热门的item,而对于一些长尾的item,在训练数据中出现的频次很低。

在常规模型中,使用的是批负采样,在获取负样本的时候,采用相同的训练batch,因此采样的分布符合unigram分布。一个训练批的数据可以按下图所示。这样做的好处是可以加快训练的速度。

《【reco|负采样】Mixed Negative Sampling for Learning Two-tower Neural Networks in Recommendations》

但是在选择训练样本的时候,数据的偏差和方差对于模型的质量很关键。有两种方式可以减小模型的偏差和方差,其一,增加样本的大小,其二,尽可能的减少假设的分布和实际的分布之间的差距。常规模型的负采样,如上图所示,存在几个显著的缺点【1】选择性偏差:有一些item没有用户的反馈,这导致这些数据不会被采样进去(如上图所示,采样进去的数据需要是有正样本的,即有反馈的)【2】对于样本的分布不够灵活,如上图所示,数据样本的采样规律一致,无法调整。

本文提出的负采样方法Mixed Negative Sampling通过混合unigram与均匀分布的方式改进了上面这个缺陷。在unigram采样的基础上,加入了均匀分布的采样数据。具体的做法是,在保证每个批B个正样本的情况下,引入B’个随机数据,使得损失函数变为如下所示,最终得到的label矩阵为B*(B+B’)。

《【reco|负采样】Mixed Negative Sampling for Learning Two-tower Neural Networks in Recommendations》

《【reco|负采样】Mixed Negative Sampling for Learning Two-tower Neural Networks in Recommendations》

MNS主要的贡献(1)降低了选择的偏差和方差,所有的item都有机会作为负样本,这样对冷启动有一定的帮助。(2)增加了灵活性,B’的大小可以灵活设置,这使得整体的样本分布可以被灵活变更。在实验中发现,在B的大小为1024的时候,B’的大小设为8192效果最合适。

 

点赞

发表评论

邮箱地址不会被公开。 必填项已用*标注