【王树森推荐系统】召回09:双塔模型+自监督学习

概述

  • 自监督学习可以改进双塔模型,提升业务指标
  • 自监督学习的目的是为了把物品塔学的更好
    在这里插入图片描述

双塔模型的问题

  • 推荐系统头部效应眼中:
    • 少部分物品占据大部分点击
    • 大部分物品点击次数不高
  • 高点击物品的表征学的好,长尾物品的表征学的不好。这是因为长尾物品的点击和曝光太少,训练的样本不够
  • 自监督学习:对物品做 data augmentation,更好地学习长尾物品的向量表征

复习:双塔模型的训练

Batch内负样本

  • 双塔模型做Listwise训练,用batch内负样本。
    在这里插入图片描述

Listwise训练

  • 由于物品池子非常大,所以可以认为对于所有 i≠ji ≠ ji=j 都是负样本
    在这里插入图片描述

损失函数

在这里插入图片描述

纠偏

在这里插入图片描述

训练双塔模型

在这里插入图片描述

自监督学习

  • 对两种物品分别做两种不同的特征变换,分别得到 i′i'ii′′i''i′′j′j'j,j′′j''j′′
    在这里插入图片描述
  • 把变换过的特征输入物品塔。模型只有一个物品塔,意义为下图的四个物品塔共享参数
    在这里插入图片描述
  • 由于下面的随机特征变换,导致 bi′b_i'bibi′′b_i''bi′′ 其实不相等
  • 如果物品塔足够好,那么两个向量应该有很高的相似度。训练的时候会鼓励两者的余弦相似度足够大
    在这里插入图片描述
  • 而不同的向量应该尽量远,尽量分散开,而不是集中在一小块区域。例如 bi′b_i'bibj′b_j'bj 应该有尽量低的余弦相似度,同理 bj′′b_j''bj′′ 也应该尽量与 bi′b_i'bi 有尽量低的余弦相似度
    在这里插入图片描述

  • 物品 iii 的两个向量表征 bi′b_i'bibj′b_j'bj 有较高的相似度
  • 物品 iiijjj 的向量表征 bi′b_i'bibj′′b_j''bj′′ 有较低的相似度
  • 鼓励 cos(bi′,bi′′)cos(b_i',b_i'')cos(bi,bi′′) 尽量大,cos(bi′,bj′′)cos(b_i',b_j'')cos(bi,bj′′) 尽量小,即相同物品的不同表征尽量相似,不同物品尽量不相似

特征变换:Random Mask

  • 随机选一些离散特征(比如类目),把它们遮住
  • 例:
    • 某物品的类目特征是 u={数码,摄影}u=\{数码,摄影\}u={数码,摄影},一个物品可以有多个类目
    • 如果不做 Random Mask,正常的特征处理方法是对数码和摄影分别做 embedding,得到两个向量,再取加和或者平均,最终输出一个向量,表征物品的类目
    • 如果对类目特征做mask,mask 后的类目特征是 u′={default}u'=\{default\}u={default}。意思是默认的缺失值,然后对 default 做embedding,得到一个向量表征类目。也就是做 mask 之后物品的类目特征就直接被丢掉了

特征变换:Dropout (进对多值离散特征生效)

  • 一个物品可以有多个类目,那么类目是一个多值离散特征
  • Dropout:随机丢弃特征中 50% 的值
  • 例:
    • 某物品的类目特征是 u={美妆,摄影}u=\{美妆,摄影 \}u={美妆,摄影}
    • Dropout 后的类目特征是 u′={美妆}u'=\{ 美妆 \}u={美妆}

特征变换:互补特征

  • 假设物品一共有 4 中特征:ID,类目,关键词,城市
  • 随机分成两组:{ID,关键词}\{ID, 关键词\}{ID,关键词}{类目,城市}\{类目, 城市\}{类目,城市}
  • 对于每一组,我们把另外两个特征 mask 掉
    • {ID,default,关键词,default}→物品表征\{ID, default, 关键词, default\} → 物品表征{ID,default,关键词,default}物品表征
    • {default,类目,default,城市}→物品表征\{default, 类目, default, 城市\} → 物品表征{default,类目,default,城市}物品表征
      在这里插入图片描述

特征变换:Mask一组关联的特征

  • 遮住一个特征并不会损失太多的信息,模型可以从其他强关联的特征中取到被遮住的特征,最好是把一个特征的关联特征一次全部遮住
  • 受众性别:U={男,女,中性}U=\{男,女,中性 \}U={,,中性}
  • 类目: V={美妆,数码,足球,摄影,科技,⋅⋅⋅}V=\{美妆,数码,足球,摄影,科技,··· \}V={美妆,数码,足球,摄影,科技,⋅⋅⋅}
  • u=女u=女u=v=美妆v=美妆v=美妆 同时出现的概率 p(u,v)p(u,v)p(u,v)
  • u=女u=女u=v=数码v=数码v=数码 同时出现的概率 p(u,v)p(u,v)p(u,v)
    在这里插入图片描述
  • 离线计算特征两两之间的关联,利用互信息衡量:两个特征关联越强,互信息就越大,主要是 p(u,v)p(u,v)p(u,v) 会越大
    在这里插入图片描述
  • 设一共有 kkk 种特征,离线计算特征两两之间 MI,得到 k×kk×kk×k 的矩阵
  • 随机选一个作为种子,找到种子最相关的 k/2 种特征
  • mask 种子及其相关的 k/2 种特征,保留其余的 k/2 种特征
  • 好处:比 random mask,dropout,互补特征等方法效果更好
  • 坏处:方法复杂,实现的难度大,不容易维护,每添加一个新特征都需要重新算一遍 MI

训练模型

  • 从全体物品中均匀抽样,得到 m 个物品,作为一个 batch,冷门物品和热门物品被抽样到的概率是相同的。注意和双塔是有区别的,训练双塔的数据是根据点击行为抽样的,热门物品被抽到的概率大
  • 做两类特征变换,物品塔输出两组向量
    • b1′,b2′,⋅⋅⋅,bm′b_1',b_2',···,b_m'b1,b2,⋅⋅⋅,bm
    • b1′′,b2′′,b3′′,⋅⋅⋅,bm′b_1'',b_2'',b_3'',···,b_m'b1′′,b2′′,b3′′,⋅⋅⋅bm
  • iii 个物品的损失函数
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

总结

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值