Youtube的value-based强化学习推荐系统

猜你喜欢

1、如何搭建一套个性化推荐系统?

2、某视频APP推荐详解(万字长文)

3、微博推荐算法实践与机器学习平台演进

4、腾讯PCG推荐系统应用实践

5、强化学习算法在京东广告序列推荐场景的应用

6飞猪信息流内容推荐探索

7、华为项目管理培训教材

8、美团大脑系列之商品知识图谱的构建和应用

本文介绍Youtube在2019年放出的两篇强化学习推荐系统中基于value-based的一篇,论文标题:SLATEQ: A Tractable Decomposition for Reinforcement Learning with Recommendation Sets (IJCAI 2019)

3c38310f57444891511df9b3b9e59baf.png

原文地址:

https://arxiv.org/pdf/1905.12767.pdf

https://www.ijcai.org/Proceedings/2019/0360.pdf

强化学习推荐系统快速入门

强化学习算法可以大体分为value-based和policy-based,value-based方法在训练阶段的学习目标是学到一个函数,知道当前状态和动作之后,这个函数可以输出状态下这个动作所能带来的期望的长期价值,记为Q值,或者状态动作值函数;在决策阶段,在一个新的状态下,我们可以根据训练好的函数,尝试可选动作集合中的每一个动作,最终采取Q值最大的动作,这样就可以带来最大的长期收益。本文主要讨论value-based的强化学习推荐系统。

在每次采取动作之后,会受到来自环境的一个反馈的奖励,然后状态会从变化到,value-based的强化学习的优化目标一般为:

直观来说,上式的目的是希望学到一个尽可能准确的Q函数。训练阶段,训练集可以看做是一个个的元祖,而上式的是根据当前的Q函数,输入状态以及所有待选动作,最后选出来的Q值最大的动作。

上面的介绍中涉及到的强化学习中的主要元素及其在推荐系统中的对应部分:

  • 动作(action):推荐内容,如抖音中的一条视频,或淘宝中的一个商品页(包含多个物品)

  • 奖励(reward):用户的即时反馈,如用户是否点击,或者浏览时间

  • 状态(state):强化学习推荐系统的agent的状态是对环境以及自身所处情况的刻画,可以简单理解为用户历史行为日志

论文要点

强化学习的推荐系统主要优势在于可以考虑长期收益,如用户的长期参与度。但是在一些需要推荐多个物品的场景下,例如youtube的网站首页,会一次放出几十个视频,此时模型需要考虑不同视频的组合,而一个物品的排列组合就是一个动作,这时待选动作的数目就会十分巨大。而Youtube的这篇论文主要考虑如何对原始的value-based方法的Q函数进行分解,来更好的处理这种一个动作就是一个物品组合的推荐场景。在实验阶段,youtube考虑使用离线的模拟实验(训练用户模拟器)和youtube的在线实验,发现用户参与度相对于传统的短期推荐系统有明显增益。

问题分析

在动作空间中,包含k个物品的推荐列表就有种可能,这个运算符在youtube这种k值一般在几十(刚才去数了一下,首页50+)的网站就很离谱,更不要提前面的了。

动作空间这么大,就会带来一些问题:

  • 很难进行充分的探索;另外,如果想要在大量的推荐列表之间进行泛化,就需要有这些推荐列表的稠密表示,但是很多列表并不会在现实中出现,我们并不知道这些没出现过的列表会得到怎样的奖励,也就是说,我们没有关于这些列表的转移元组。

  • 如何找到Q最大的物品组合,这是一个组合优化问题。如果不另加结构性的假设或近似,这个问题会难以求解,无法满足线上服务时延要求。

解决方案

为此,文中提出了两个关键假设,基于这两个假设,就可以把Q值分解为两部分:item-wise的Q值部分,和关于所有item的整体Q值部分,从而降低求解最优推荐列表的时间复杂度。两个假设分别是:

  • Single choice(SC): 即假设用户每次只选择一个物品,或者不选择。

  • Reward/transition dependence on selection (RTDS): 奖励和状态的转移只依赖于用户选择的物品。

直观上两个假设看起来都比较符合直觉,没有对现实场景做太大的简化。

基于RTDS假设,奖励的分布和状态的转移分布就可表示为:

a3dd56bcd9d505b137f985e666bfe85b.png

进一步就可以定义出item-wise的Q函数:

3254c9c57f8388d67805056d5f0fecdc.png

如果用item-wise的Q函数来表示,就得到了:

8de3149a54deed1ee8fffaf9a13019b6.png

推导过程用到了SC与RTDS假设,主要是从11式到12式的推导需要用这两个假设:

fb9438905483e85294605fd54bfc874b.png

看了这个推导,给人的感觉就是作者在思考问题并写这些11式的公式时发现时间复杂度太大,然后顺其自然的想到了这两条假设。

最终的结果只依赖于,其中的只是一个物品而已,而非一个组合,用传统的TD error就可以训练出;最终结果还包括,也就是预测状态下,给定列表用户选择各个物品的概率,这就是一个pctr预测问题了,有很多成熟的解决方案。

在训练时,为了得到最优的策略,我们也要训练最优策略对应的Q函数,而这只需要在训练过程中,依据Q最大的就是最好的的准则,来贪心的选择即可。

最终的长期收益优化目标:

a7ef9930e3c114e5605bbf5be9974fbd.png

最终这样一个优化目标可以被看做一个分数线性规划问题,并且可以在多项式时间内解决:

448887ccddf08c924090af6b69a1c139.png

这里代表用户对一个物品的未正则化的点击概率。

虽然这里物品的集合数目巨大,但是现实中这里的物品集合应该是粗排并且被一些产品策略过滤之后的结果,因此数目会比总物品数少很多。关于优化问题的简化过程,细节请参考原文。

在线上服务时,为了避免每次请求都有接一个多项式时间复杂度的线性规划问题,文章还提出了两种近似的方法:

  • Top-K: 计算每个物品的期望奖励,选择倒序排序最大的k个作为最终的推荐列表。在选择物品列表的第L个物品并需要计算物品奖励时,不会考虑前L-1个物品。

  • Greedy: 考虑物品列表的第L个时,考虑其边际收益,边际收益会考虑前L-1个物品计算得到:

    353c9eb749c9afe7d1826d83d744b1db.png

实验效果

实验包括两部分,离线部分与在线部分:离线部分构建了一个用户模拟器来模拟用户行为,在线部分是在youtube网站上线来取得效果的。用户模拟器是根据用户的历史行为数据通过简单训练的方式训练方式得到的,此前也介绍过一篇类似的文章,这里不再过多介绍。

离线实验

这里对比了随机模型,近视模型(MYOP,把奖励的折扣因子设置为0,这样模型就不会考虑长期奖励),SARSA以及Q-Learning在训练阶段就使用不同的决策方式,和使用不同的线上服务方式(第一个字母,T: top-K; G: greedy; O: Optimal; 第二个字母,T: traing; S: serving)的对比实验:

6cd683334335c2428f3eb5988e80d317.png

可以看到,greedy的线上服务方式相比于优化的方式,性能损失不大;而top-k的方式损失很大。

在线实验

对比的指标是用户参与度,baseline是youtube当前的监督模型,可以看到性能提升还是十分显著的,也证明了强化学习在推荐系统上落地是可以带来收益的:

4d23c9ee4ca65b3ca13fdc79db370c89.png
 
 
 
 

「 更多干货,更多收获 」

2da671d6761fabaa9a42673012ebd784.gif

 
 

推荐系统工程师技能树

【免费下载】2021年9月份热门报告盘点

美团大脑系列之:商品知识图谱的构建及应用

【干货】2021社群运营策划方案.pptx

大数据驱动的因果建模在滴滴的应用实践

联邦学习在腾讯微视广告投放中的实践如何搭建一个好的指标体系?如何打造标准化的数据治理评估体系?

【干货】小米用户画像实践.pdf(附下载链接)

推荐系统解构.pdf(附下载链接)

短视频爆粉表现指南手册.pdf(附下载链接)

 
 
推荐系统架构与算法流程详解如何搭建一套个性化推荐系统?某视频APP推荐策略详细拆解(万字长文)

2020年轻人性和爱调查报告.pdf(附下载链接)

关注我们

智能推荐

个性化推荐技术与产品社区

长按并识别关注

25c1d9652b9aace8cdb79c273a8f9c8b.png

您的「在看」,我的动力👇
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值