推荐系统论文阅读(四十八)-谷歌:修正双塔向量召回模型

论文:

论文题目:《Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations》

地址:https://dl.acm.org/doi/pdf/10.1145/3298689.3346996

最近换了工作+旅游都没来得及写一下博客,近期的工作一直在做向量召回+负采样的活,今天我们来看一下谷歌这篇工业风十足的论文吧,看看有什么借鉴的地方。

一 、背景

工业界的召回一直都是围绕着双塔+负采样两个问题展开的,之前的文章里也说过了,召回是样本的艺术,由于召回需要从整个样本集里面去选取,所以需要让模型开开眼见见世面,所以需要有更多的负样本让模型能够区分出那些是用户不喜欢的,哪些是用户可能喜欢的,注意,只要是可能喜欢的,召回模型就要选出来,这里跟排序是不一样的,排序模型是一定要选出用户真正喜欢的,而召回只需要选出用户可能喜欢的,其他的工作只需要交给后面的粗排跟精排就可以了。

一般的双塔模型长这样:

通常是用两个塔分别去建模user和item,然后在模型的后面计算内积,最后用真实的label计算loss。

回到本文,本文主要的工作是针对负采样的修正,在这里我要先提一下一个召回中负采样的方法:

1.batch随机负采样

2.batch内其他样本作为负样本,也叫batch softmax

3.batch随机+hard sample+部分曝光未点击

首先,我们来分析下以上几个负采样的方法,第1个,完全随机是不太可能的,因为在推荐里面毕竟是有热门商品跟冷门商品的,完全随机的话,有可能就是热门样本被采样太多了,导致在召回的时候把热门商品打压来,对于电商领域来说是不能这么做的,因为热门的item是可以带来很大的gmv的;第2个,问题跟第一个一样,batch内的其他样本同样会有select bias的问题;第3个是工业界里一般的做法,后面两种样本主要是为了让模型真正的能区分困难样本。

谷歌这篇论文针对的是第2点来展开论述的,针对负采样问题连同双塔模型一起优化,让我们一起来看看吧。

二 、模型以及修正负采样

2.1 预定义和batch softmax optimization

{[x_{i}] }_{i}^N表示user/query,{[y_{j}] }_{j}^M表示item,r是label,经过双塔影射到同一空间后:

这时候我们就可以计算内积来表示他们之间的match程度了:

数据:

一个用T个训练样本,如果我们使用softmax多分类损失:

其中:

这时候,可以看到我们之前在w2v中类似的情况了,由于M太大了,导致上面这个式子的计算效率十分低,所以需要对loss函数进行改进,改成了我们在之前所说的batch softmax:

就是在一个batch内,把其他样本的item当作负样本来进行softmax。

但是,这么做还有个问题,我们既然进行了采样,那么意味着高频的item容易被采样成负样本,所以还是要进行修正的:

其中s的计算变成了这样:

其中p_{j} 是item j被采样的概率,最终损失函数变成了:

训练的整体过程如下:

论文里对于r的解释是这样,这里r不是0和1,对于没有点击的样本来说,r是0,对于点击的item,r是播放完成度,也就是说r可能是小于1的。

2.2 采样修正

前面我们也说了,在batch内负采样会导致热门item容易成为负样本,所以需要进行采样修正,具体的做法是,维护两个表A和B,其中A保存item上一次被采样到的step,B保存item的采样频率,你可能听的有点云里雾里了,在详细介绍一下吧。

由于在一个推荐系统中,新item是会经常出现的,所以使用hash函数h把每一个item进行映射,以防止词表大小固定带来的问题,我们的A表会保存h(item i)上一次出现的step,当未来的某个batch采样到item i的时候,就会计算当前step - A表中的h(item i)的step,然后保存到B表中,同时更新A表的step,这时候我们就可以使用1/B(h(item i))来表示item i被采样的概率了。

注意到,我们之前更新B表的方式是easy版本的,因为有可能hash函数的原因导致更新B表的方式被其他item影响了,所以采用了类似于指数加权平均的思想来更新B表:

具体的算法过程如下:

这样还不够,因为由于H<H,所以可能有很多item被映射到同一个值上面,这就会导致A表中的值会趋近于最近上一次更新step的那个item,所以导致当前step-A中的值变小,然后导致B表的值变小,这就让item的采样频率变大了,显然是不合理的,所以需要设计好不同的哈希函数,论文中是采用了多个哈希函数,然后计算B的时候选取最大的值,具体过程如下:

2.3 模型结构和特征


2.3.1特征

1.seed features,我理解这部分是用户正在观看的视频的特征,表征用户当前时刻的兴趣点

2.channel id应该不是频道的意思,可以点开toutube然后点击一个创作者的头像,会发现channel id是创作者的id

3.user features,就是一些用户以前的video点击序列,以及以前点击过的channel id序列,以及一些user profile特征

4.item侧,这些特征就是寻常的item侧特征

2.3.2 l2 正则



为了让softmax更明显,会对内积的结果进行放大,实际上工业界确实都这么做:

四、实验结果

首先看一下hash函数的对比实验:

然后看一下\alpha 选值的对比实验:

离线实验recall上的对比:

总结一下这篇论文,还有很多我没理解的地方,希望可以进一步思考:

1. 为什么要进行l2正则

2.item emb要共享嘛

3.损失函数是否需要对比下hinge loss和nce loss或者说sample softmax loss

4.特征序列的处理方式

5.。。。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341

推荐阅读更多精彩内容