首页 > 编程知识 正文

乔纳蒂模型,多因素模型中的因素可以是

时间:2023-05-05 18:54:10 阅读:9562 作者:3584

推荐机型中双塔机型早就普及了。 由一个塔学用户来表达。 一个塔学item来表达。 很多双塔模型都使用各种各样的原位负采样策略。 十方也一样。 在大多数情况下,使用相对较大的batchsize是有效的,但由于内存限制,训练效率相对较低。 本文《Cross-Batch Negative Sampling for Training Two-Tower Recommenders》发现编码器的输出在warming up训练过程后比较稳定,据此提出了一种高效的负采样方法crossbatchnegativesampling (cbns ),该方法最近被编码

CBNS省略了问题的定义。 双塔已经写了很多。 计算用户和item的相似度也使用简单的积分积。 loss最典型的是使用sampled softmax:

为了提高训练的效率,希望如下图(a )所示,进行batch内的负采样。

借鉴sampled softmax机制,论文将上述公式修改为:

其中,q(I )是采样偏差。 接下来,对cross-batch negative sampling进行说明。 该方法可以解决原位负采样中存在batch size在gpu中显现的大小,从而影响模型的效果。 在训练过程中,我们往往认为过去训练的mini-batches是徒劳无功的,但论文认为这些信息可以在当前的负采样中重复利用。 这是因为编码器逐渐稳定。 论文通过下式评价了item encoder特征的偏移量:

如上图(b )所示,在早期学习率较大的情况下,encoder代码为相同的item的变化较大,如下图所示,随着训练过程的进行,学习率逐渐降低,特征有逐渐稳定的倾向

此时,可以将稳定的嵌入式应用作为负样本。 但是,历史的嵌入式使梯度产生了偏差,论文证明这种偏差的影响很小。

考虑到培训前期嵌入式波动较大,在warm up中使用简单的原位负载采样,然后使用FIFO memory bank存储m个历史item嵌入式

q(I )表示第I个item的采样概率。 CBNS的softmax如下式所示为:

每次迭代结束时,都将当前最小填充和采样概率添加到内存银行中。 下次训练不仅使用batch中的负样本,还从memory bank中提取负样本。

实验比较了不同抽样策略下的表现:

以及不同模型上的验证集召回和NDCG曲线:

另外,将m的大小/负的样本数对效果的影响与:进行了比较

参考文献

双塔模型中的负采样

更多精彩,炼丹笔记

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。