Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations

Time: September 2019

Author: Xinyang Yi, Ji Yang, Lichan Hong, Derek Zhiyuan Cheng, Lukasz Heldt, Aditee Kumthekar, Zhe Zhao, Li Wei, Ed Chi

 

Abstract

工业界目前训练双塔结构一般是通过随机mini-batch的方式来优化损失函数(in-batch negatives)。这种训练方式存在一个显著问题就是in-batch loss会因为随机采样偏差而导致模型效果不好,尤其是当样本分布出现明显倾斜的时候。这篇论文提出一种全新的算法,可以从流式数据中预估item的概率,新算法有能力在不知道候选集全部的词典情况下做出无偏差的估计并且可以自适应候选集分布的变化。

 

Introduction

双塔模型

基于{user, context, item},1)使用{user, context}学习user representation,使用{item}学习item representation 2)使用dot product得到给user的个性化推荐。在representation学习中,面临两个问题:1)商品库非常大 2)因为用户对于大部分商品的反馈结果是非常稀疏的,所以对于长尾内容的预测不是很准确。

Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations_第1张图片

双塔模型训练时,对于每一个正样本,需要采样一些负样本,所以当物品量非常大的时候,很难训练充分。

论文中使用

1)Streaming Frequency Estimation:使用gradient descent预测item的概率,并提供预测值的variance和bias

2)Modeling Framework:在cross-entropy loss中加入预估的item概率,以此来减少采样偏差

 

Model Architecture

通用的方法是使用mini-batch来优化损失函数,batch softmax:,其中x是{user, context},y是{item}。

这种方法相当于把batch中除了这个item外的所有item作为负样本,这样做的问题是热门物品被选择到的概率很大,被当成负样本的概率也很大,会造成对热门商品的惩罚过高。

因此对x,y的评分进行修改,得到,其中,p(j)是样本j对应的y_j被一个mini-batch采样到的概率。softmax的计算公式变为,batch的损失函数变为

 

训练过程:

Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations_第2张图片

Streaming Frequency Estimation

使用hash function h把商品id映射到一个integer上,并使用两个长度为H的数组A和B,A[h(y)]记录上一次y被采样到的训练时刻,B[h(y)]记录物品y采样的预估频率(这里频率是指预估每过多少步可以被采样到一次)。

Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations_第3张图片

在Hash过程中,当H

Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations_第4张图片

Nearest Neighbor Search

当模型训练完成时,物品的embedding是可以保存成词表的,线上应用的时候只需要查找对应的embedding即可。因此线上只需要计算{user, context}一侧的embedding。

Normalization and Temperature

工业经验:

  1. 对两侧输出的embedding进行L2标准化,u(x,\theta) \leftarrow u(x, \theta)/||u(x, \theta)||_2, v(y,\theta) \leftarrow v(y, \theta)/||v(y, \theta)||_2
  2. 对于内积计算的结果,除以一个固定的超参,超参的设定可以通过实验结果的召回率或者精确率进行微调。s(x, y) = <u(x, \theta), v(y, \theta)>/\tau

Youtube模型结构

Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations_第5张图片

seed feature:用户正在观看的video的特征,表示用户的短期兴趣。

video feature:使用embedding layer把categorical feature映射到dense vector。对于多值sparse feature,对所有值做加权求和代表多值特征的向量。对于OOV 特征,随机分配到一组固定的hash buckets,并学习embedding。

user feature:使用用户过去一段时间观看过的视频id embedding的平均作为用户特征

label:用户点击过但是没有看完的视频,label=0;用户观看完的视频,label=1

 

Reference

https://zhuanlan.zhihu.com/p/88255834

https://cloud.tencent.com/developer/article/1556169

你可能感兴趣的:(Recommendation,System)