面向推荐的大规模强化学习是什么样的?这里是谷歌RL推荐算法新研究

Google最近发表了一篇Q-learning的变种,并展现了它能够在像YouTube一样现有的高度优化的推荐系统中提供显著提升的能力。他们也简略描述了一个推荐系统模拟器。除了应用在游戏之外,这个推荐系统可以用于研究强化学习算法在真实世界中的应用。

原文链接:https://arxiv.org/abs/1905.12767

在此论文中,作者提出了一个适用于全石板推荐(Full Slate Recommendation)的Q-learning变种,称之为SlateQ。通过一个简单的项级别Q-value的估计,作者能够避免在较难的行动空间中的组合爆炸问题。在Figure1中,他们展示了一个清晰的框架。这个框架能够迁移任何现有的短视的推荐系统,使得他们能够具备长期的价值估计能力,并用于进一步提升用户的满意度。

Figure 1: Schematic View of a Reinforcement Learning Recommender Training System

以下是对此论文核心内容的介绍:

推荐系统背景

实际推荐系统主要关注短期的预测,仅估计用户对推荐的即时响应,而不考虑对后续用户行为的长期影响。 这可能会使得算法存在局限性,建模一个推荐对于未来的影响能够给我们提供权衡用户短期和长期参与度的机会(比如,通过探索用户的兴趣,或者改善满意度等等)。

许多的推荐系统将推荐问题建模为一个逐点的优化问题。典型的此类系统依赖于Collaborative Filtering(CF)技术。CF技术对于一个推荐的集合,充分利用了直接和间接的用户反馈来估计用户对于未知项的倾向。更进一步地,推荐系统也同时包含了能够捕捉更多用户行为的细微之处的模型,比如用户如何对于特定的推荐的回应,比如预测点击率,参与程度,打分等等。早期的将推荐系统建模为序列强化学习问题的建模只能够用来处理非常小的情形(比如100个项目,几千个用户等等)。设计可行的应用于推荐系统强化学习方法的主要挑战是在序列Slate推荐中的组合爆炸问题。

SlateQ算法

典型的像YouTube和Spotify一样的推荐系统给用户展示了一系列的项(称之为Slate),这将会导致一个组合的行动空间,从而使得建立一个好的Slate推荐系统变得棘手,尤其是当大型推荐系统(比如YouTube)有百万级的项的时候。许多的实际的推荐系统忽略了这个问题,取而代之的是,他们优化每一个slate中独立的项。这篇论文首先形式化了一个用于Slate推荐的马尔可夫决策过程,并且定义了最优的Q函数Q*

此处A是Slate,V*是最优的价值函数。就像从函数里看到的一样,行动空间A是组合的,并且找到具有最有Q价值的slate对于真实世界的推荐系统来说是不现实的。这篇论文作出了两个假设:其一是用户从slate消耗至多一个(SC),其二是奖励和状态转移仅由用户的消耗项决定。这两个假设都仅仅是最小程度的假设,并且对于推荐系统来说是很自然的。基于这些假设,Slate的Q函数分解成了每一个在slate中组成项的Q函数

在此处是一个项目i的Q函数。通过这样的定义,我们使得利用强化学习的slate推荐成为现实,也是本篇论文的第一个贡献。对于的TD学习可以使用标准的Q-update rule进行优化:

具备了一个实际的基于值的面向Slate的强化学习推荐算法,这篇论文介绍了如何应用在现有的实际世界的强化学习系统上。这些强化学习系统都面向了短期的信号(比如点击)进行优化。这篇论文的第二贡献在于提供了一个实际的方法论,能够充分使用一个目前已经存在的短视的,项目级别的推荐系统。为了部署这样一个解决方案,我们需要如下部件:状态空间设计(比如用户特征),用户回应响应(比如较为常见的pCTR模型)还有用户路径的记录。他们同时也展现了一个目前正在工作的YouTube解决方案,在统计上,获得了巨大的用户参与度提升。值得一提的是,这个提升是面向了一个以及高度成熟的方案的。

这篇论文提出了许多主要的SlateQ算法的变形,在一个模拟的推荐系统环境中进行比较。尽管这个推荐环境很简单而且具有风格,它也捕捉了许多的典型的推荐系统的基本要素:

  • 文档级别:每一个文档(比如视频)属于一个或者多个话题并且有一些固有的质量。
  • 用户兴趣模型:每一个用户对于不同的话题有不同的兴趣程度。一个用户对于一个给定的文档的满意程度取决于文档本身的固有质量以及用户对于文档的兴趣程度。
  • 用户选择模型:一个独立于用户兴趣模型的重要的模块。用户根据选择模型(比如指数串联模型)消耗了一个或者多个文档。

模拟环境被广泛使用且会帮助强化学习算法在推荐系统的发展。这是这篇论文的第三个贡献。在Figure2中的比对清晰地给我们展示了面向长期满意度进行优化的强化学习系统能够显著超越传统的面向短时用户满意度的推荐系统算法。

Figure 2: Comparison of different variants of SlateQ algorithm. Note that MYOP-* are algorithms optimizing for short-term user satisfaction.

在YouTube上测试过的SlateQ的变种在全文的Algorithm1中有详细介绍(SARSA-GS)。我们在这里简要介绍此算法。这个算法将一个短视的,面向短期观看时间进行优化的推荐系统改进成一个非短期的推荐系统

Training Set: (s, A, r, s’, A’, C) tuples where (s, A) is current user state and user slate, r is the watch time generated by A, (s’, A’) is the next user state and user slate in the logs, C is the set of items in that is clicked.

Note that (s, A, r, s’, A’) is essential for SARSA TD-updates and C is essential for modeling the choice model.

Network Initialization: θlabel = 0 network; θmain = θpctr = random network.

For i=1 … T training epochs:

   Every K iterations: Copy θmain to θlabel for TD-learning stability.

   For each (s, A, r, s’, A’, C):

     Use C to update choice model θpctr.

     For each clicked item ai in A:

Compute pCTR(s’, ai’, A’) = pCTR(s’, ai’, θpctr)/Σa’ϵA’pCTR(s’, ai’, θpctr)

      Compute LTV label lLTV = r + Σa’ϵA’ pCTR(s’, a’, A’) (s’, a’, θlabel)

Update θmain using lLTV.

End For

End For

总的来说,C被用来连续地更新逐点的θpctr,也被反过来建模Slate选择概率 pCTR(s’, ai’, A’)。有了Slate选择概率,我们可以构造LTV label来更新SARSA模型。

总结

商用的广告和内容推荐系统使用最终的竞价阶段来提升目标精确度是很常见的。典型的内容竞价需要对于每一个推荐的广告和内容绑定一个分数,并用此分数进行拍卖或者最终打分。因此,基于值的、可以估计长期价值的强化学习算法尤为重要。作为对比,策略梯度算法预测在可能的动作上的概率分布,它没有提供这样的分数,除非我们使用一个独立的actor-value critic(这样做会进一步提高底层系统的复杂度)。因此,看到更多的SlateQ结构被应用是一件自然的事情。

理论推荐算法谷歌强化学习
2
相关数据
Q函数技术

在统计学中,Q函数是标准正态分布的右尾函数,又叫(标准正态分布的)互补累计分布函数。Q ( x )是正常(高斯)随机变量获得大于x标准差的值的概率。等效地,Q ( x )是标准正态随机变量取大于x的值的概率。

概率分布技术

概率分布(probability distribution)或简称分布,是概率论的一个概念。广义地,它指称随机变量的概率性质--当我们说概率空间中的两个随机变量具有同样的分布(或同分布)时,我们是无法用概率来区别它们的。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

Q学习技术

Q学习是一种用于机器学习的强化学习技术。 Q-Learning的目标是学习一种策略,告诉智能体在什么情况下要采取什么行动。 它不需要对环境建模,可以处理随机转换和奖励的问题,而无需进行调整。

马尔可夫决策过程技术

马尔可夫决策过程为决策者在随机环境下做出决策提供了数学架构模型,为动态规划与强化学习的最优化问题提供了有效的数学工具,广泛用于机器人学、自动化控制、经济学、以及工业界等领域。当我们提及马尔可夫决策过程时,我们一般特指其在离散时间中的随机控制过程:即对于每个时间节点,当该过程处于某状态(s)时,决策者可采取在该状态下被允许的任意决策(a),此后下一步系统状态将随机产生,同时回馈给决策者相应的期望值,该状态转移具有马尔可夫性质。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~