【冷启动】快手《POSO: Personalized Cold Start Modules for Large-scale Recommender Systems》

既然需要不同用户群模型,那就以当前模型为基础,通过加权得到某个用户群的模型,再进行加权得到某个用户的模型,两次加权可以通过一个gate网络合并。显然,冷启用户的特征分布和全量用户的特征分布差别很大,但是冷启动用户样本一般占全量样本5%以下,因此模型主要受正常用户的影响。,强迫模型关注到这个特征,POSO的核心思想也类似,即对每个用户学习对应的模型,不受其他用户样本的影响,做到完全基于用户自己的个性化。,在基础的单个模型中引入个性化模块,使模型对每个用户在模型结构层面进行个性化响应,实现模型结构的个性化。..
摘要由CSDN通过智能技术生成

《POSO: Personalized Cold Start Modules for Large-scale Recommender Systems》

快手针对冷启动的工作,已经落地。文章的思路非常好。

分析问题

任何ML模型的常用方法都是监督学习,不管是复杂还是简单的模型,本质是用模型去拟合数据的分布。但是如果有一类用户的数据在训练集中出现的很少,就很难学习出他们的分布,就是冷启动问题。先分析问题

行为数据稀疏

冷启动问题的特点是:1、新用户行为稀疏,训练数据少。2、新用户耐心差,对推荐结果敏感,模型试错机会少,因此数据更加稀疏。

已有的解决方案可以分为两类:1、元学习(先让模型到这些分布的附近);2、利用其他特征生成id embedding,从而缓解冷启用户历史数据稀少的问题。

样本分布差异大、不均衡

虽然缓解了数据稀疏的问题,但是依然存在样本分布极度不均衡的问题。显然,冷启用户的特征分布和全量用户的特征分布差别很大,但是冷启动用户样本一般占全量样本5%以下,因此模型主要受正常用户的影响。

在这里插入图片描述

图a是新用户和普通用户的行为差异,每一项普通用户的值都被调整到0,新用户耐心差,观看时间少,点赞率偏高(新鲜)。

直观的做法是加入一个指引特征(new_user),用该给模型指引这个样本是否是冷启动样本,从而让模型自动学习到样本之间的偏差,但是有没有效果呢?

在这里插入图片描述

对于同一个样本,分别mask新用户特征,然后将mask前后模型每个task最后一层的hidden states取出来 做差,可视化。可以看出new user特征几乎没有什么指引性,不会影响模型参数的分布。指引性强的是country这种特征。

这是因为new user样本稀疏导致的样本分布极度不均衡(长尾特征),因此模型不会去关注到这个特征。

POSO设计思路

之前已经提过,直观朴素的解决方法是用单独的模型学习这类分布,强迫模型关注到这个特征,POSO的核心思想也类似,即对每个用户学习对应的模型,不受其他用户样本的影响,做到完全基于用户自己的个性化。基于此思路,进行简化和近似等价,在基础的单个模型中引入个性化模块,使模型对每个用户在模型结构层面进行个性化响应,实现模型结构的个性化。

POSO的设计思路:

基础设计思路

POSO设计的出发点是对每个用户学习其模型:
y u = f u ( x u ) y^{u}=f^{u}\left(x^{u}\right) yu=fu(xu)
其中u表示用户,x为输入,y为输出, fu 则表示了这个用户对应的模型。这是一个完美的个性化推荐模型,但由于推荐场景用户量庞大,因此在落地层面不可行。

用户分群表征

沿着模型最初设计思路,对用户分群,每个用户群学习其对应模型,则可解决上述问题。单个用户可以看成是不同用户群的组合,比如一个用户可以看成是活跃用户和非活跃用户的组合(soft的人群划分策略):
y u = ∑ i = 1 N w i f ( i ) ( x ) w i = [ g ( x p c ) ] i \begin{gathered} y^{u}=\sum_{i=1}^{N} w_{i} f^{(i)}(x) \\ w_{i}=\left[g\left(x^{p c}\right)\right]_{i} \end{gathered} yu=i=1Nwif(i)(x)wi

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值