“Reinforcement Learning based Recommender Systems: A Survey“强化学习用于推荐系统 综述

这是2021预发表的一篇强化用在推荐系统的综述,文中介绍了RLRSs的分类以及多种算法,非常全面。

本篇文章只是一个简单的总结翻译,要想详细了解相关知识还是去看看原文吧~

目录

1 introduction

contribution

2 Preliminaries

2.1 Recommender Systems

2.2 Reinforcement Learning and Deep Reinforcement Learning

2.3 Reinforcement Learning for Recommendation

3 Algorithms

3.1 RL-based Methods

3.1.1 TD Methods

3.1.2 DP Methods

3.1.3 MC Methods

3.1.4 Fitted Q Methods

3.1.5 summary

3.2  DRL-based methods

3.2.1  Q-learning (DQN) Methods

3.2.2  Actor-Critique Methods

3.2.3  REINFORCE Methods

3.2.4 Compound Methods

4 Discussion and Open Research Directions


1 introduction

  • 用于解决推荐问题的方法:collaborative filtering(协同过滤), content-based filtering(基于内容), and hybrid methods(混合)
  • 上述方法存在的问题:cold start(冷启动), serendipity(惊喜度), scalability(可扩展性), low quality recommendation(低质量), and great computational expense(计算耗时)
  • 引入DL(深度学习):能够发现user和item之间复杂的非线性关系
  • DL存在的问题:non-interpretable(可解释性差), data hungry(需要大量数据), and computationally expensive(计算耗时);当rating数据很少时,问题变得复杂。
  • 其他问题:RS方法是静态的,不能处理用户与系统交互的顺序性 -> 引入强化学习

 

  • RL:semi-supervised,agent通过与环境的交互来学习要做什么。RL与DL的结合,解决具有巨大状态和行动空间(enormous state and action spaces)的问题,包括自动驾驶汽车、机器人、工业自动化、金融、医疗保健和RSs。(下图表明,越来越多的领域用到了RLRSs)

“Reinforcement Learning based Recommender Systems: A Survey“强化学习用于推荐系统 综述_第1张图片

contribution

  1. Presenting a classification for RLRSs. We first generally divide the algorithms in the field into RL- and DRL-based methods. Then, each category is subdivided into specific RL algorithms used in the papers.
  2. Surveying all algorithms in the field. We first provide a concise but complete description about each algorithm to give the reader the main idea and contribution of the work. Then, we present two large tables to give the detailed information about every method, including information about MDP formulation, RL algorithm used, dataset, experiments and performance metrics.
  3. Suggesting some open research directions for the future. In order to consolidate our survey paper, we finally present some observations about ongoing research in the RLRS field and propose some open research directions to advance the field.

2 Preliminaries

2.1 Recommender Systems

这一部分主要介绍了CF和CBF,以及推荐算法常见问题:cold start, serendipity, scalability, low quality and static recommendation, and great computational expense

2.2 Reinforcement Learning and Deep Reinforcement Learning

  • 强化学习的三个特征:
  1. the problem is closed-loop(闭环),学习系统产生的行为(action)会影响到后续的输出
  2. the learner does not have a tutor to teach it what to do, but it should figure out what to do through trial-and-error(试错)
  3. actions influence not only the short term results, but also the long-term ones.(长期回报)
  • 强化学习的四个元素
  1. Policy:给出采取某一action的概率;可分为on-policy和off-policy(In the former, RL methods aim at evaluating or improving the policy they are using to make decisions. In the latter, they improve or evaluate a policy that is different from the one used to generate the data.)
  2. Reward signal:用来反映action的好坏程度
  3. Value function:衡量长期回报
  4. Model:model is an inference about the behaviour of the environment in different states.(环境在不同state下行为的推断)

补充知识:on-policy和off-policy的区别

  • 简单类比:古时候,优秀的皇帝都秉持着“水能载舟 亦能覆舟”的思想,希望能多了解民间百姓的生活。皇帝可以选择通过微服出巡,亲自下凡了解百姓生活(On-policy),虽然眼见为实,但毕竟皇帝本人分身乏术,掌握情况不全;因此也可以派多个官员去了解情况,而皇帝本人则躺在酒池肉林里收听百官情报即可(Off-policy)
  • 文字解释:什么是行为策略(Behavior Policy)和目标策略(Target Policy):行为策略是用来与环境互动产生数据的策略,即在训练过程中做决策;而目标策略在行为策略产生的数据中不断学习、优化,即学习训练完毕后拿去应用的策略。上面的例子中百官(锦衣卫)就是行为策略,去收集情况或情报,给皇帝(目标策略)做参考来学习,当皇帝收集到的情报越多,能做的决策就越优。

为什么会有两个策略呢?

1. 因为从人类的直观上来看,为了解决强化学习问题中的exploitation(利用) 和 exploration (探索),我们可以利用一个策略(行为策略)来保持探索性,提供多样化的数据,而不断的优化另一个策略(目标策略)。

2. On-policy 的目标策略和行为策略是同一个策略,其好处就是简单粗暴,直接利用数据就可以优化其策略,但这样的处理会导致策略其实是在学习一个局部最优,因为On-policy的策略没办法很好的同时保持即探索又利用;

3. Off-policy将目标策略和行为策略分开,可以在保持探索的同时,更能求到全局最优值。但其难点在于:如何在一个策略下产生的数据来优化另外一个策略?

  • 强化学习算法
  1. tabular 表格法:状态空间和动作空间很小,值函数用表格表示;动态规划(DP)、蒙特卡罗(MC)、时序差分法(TD);Qlearning(off-policy)、 SARSA(on-policy)
  2. approximate 近似法:状态空间和动作空间很大,从以前的经验归纳未来的状态;policy gradient 、REINFORCE、 actor-critic
  3. 加入深度学习(DL):DQN、DDPG、DDQN

2.3 Reinforcement Learning for Recommendation

  • 将推荐问题抽象为顺序决策问题(sequential decision),建模为MDP。
  • RL:通过与环境的交互最大化奖励; RS:向用户推荐商品,最大化用户满意度。 =>RS相当于agent,用户、物品等相当于environment;(动作空间和状态空间都很大)

3 Algorithms

3.1 RL-based Methods

(综述里并没有详细讲解每种算法,只是讲了相关论文、工作进展,所以这篇文章也只是翻译了一下相关工作;想要了解具体算法的可以移步我的另一篇文章~ https://blog.csdn.net/strawberry47/article/details/116606212?spm=1001.2014.3001.5501

3.1.1 TD Methods

时间差分法(TD-learning):model-free;一种不使用完整状态序列求解强化学习问题的方法;包含了常用的SarsaQ-learning等,以及各种拓展变形:expected Sarsan-step Sarsadouble Q-learning等等。

  • Q-learning:
  1. WebWatcher是第一个使用RL来提高推荐质量的RS算法。他们简单地将网页推荐问题建模为一个RL问题,并采用Q-learning来提高他们的基本web RS的准确性,使用相似度函数(基于TF-IDF)来推荐与用户兴趣相似的页面。
  2. 十年后,Taghipour和Kardan将这一理念扩展到向用户推荐个性化网页。更准确地说,为了解决状态维数问题,他们借用了N-gram模型,并使用滑动窗口表示状态,如图3所示。他们通过将概念信息整合到基于使用的web RS中来加强他们的工作。
  3. 开发旅行社,向游客推荐个性化的旅行。该方法由两个主要模块组成:个性化学习者,负责向用户学习静态和动态信息;个性化排名,负责通过Q-learning生成推荐。
  4. RLWRec的主要贡献是提出了一种状态压缩模型来解决状态空间的维数问题。具体来说,这个想法是基于相似用户的表现对歌曲进行聚类,然后在学习阶段用歌曲聚类代替歌曲。采用流行的K-means算法对歌曲进行聚类。
  5. RPMRS利用WaveNet和Word2Vec等有效方法从歌曲的音频和歌词中提取特征。CBF模块使用这些功能来筛选最初的建议集,然后通过Q-learning进行精炼。
  • SARSA:
  1. web RS有两个主要单元:全球和本地。全球部门负责了解系统的全球趋势,例如最受欢迎的产品,而本地部门则单独跟踪每个客户。该系统采用加权方法结合局部模型和全局模型,决定下一页要推荐的商品。这项工作的一个明显问题是可伸缩性,因为不清楚他们想要如何在全球范围内跟踪所有用户。
  2. SARSA (λ)是原始SARSA算法的近似解版本,用于开发个性化的基于本体的web RS。工作的主要目标是使用RL技术和认识论逻辑程序向用户推荐网站上的最佳概念。实际上,该工作的贡献在于将认知信息转换为实数数组,这适合于近似RL方法的工作。参考文献[63]使用RL在线学习。RS的目标是为学生提供适合其特定要求和特点的学习路径,使用N-gram模型来处理状态维数问题。
  • Q-learning + SARSA:
  1. 基于情感的播放列表生成在[59]中被定义为一个RL问题。为了管理状态空间,使用N-gram(滑动窗口)模型对状态进行建模,即每个状态包含用户最后m首歌曲的情感类信息。参考文献[64]将推荐问题定义为使用双聚类的网格世界游戏。首先,使用Bimax和Bibit算法从用户-物品矩阵形成双簇。然后将每个双簇映射到网格世界中的一个状态。gridworld中的任何状态都可以是开始状态,根据Jaccard距离,这是与用户最相似的状态。

3.1.2 DP Methods

动态规划的关键点有两个:

1. 问题的 最优解可以由若干小问题的最优解构成 ,即通过寻找子问题的最优解来得到问题的最优解。
2. 可以找到 子问题状态之间的递推关系 ,通过较小的子问题状态递推出较大的子问题的状态
强化学习对应的问题:
1. 预测问题 ,即给定强化学习的 6 个要素:状态集 S, 动作集 A, 模型状态转化概率矩阵 P, 即时奖励 R ,衰减因子 γ,  给定策略 π , 求解该策略的 状态价值函数 v(π)
2. 控制问题 ,也就是求解最优的 价值函数和策略 。给定强化学习的 5 个要素:状态集 S, 动作集 A, 模型状态转化概率矩阵 P, 即时奖励 R ,衰减因子 γ, 求解最优的状态价值函数 v∗ 和最优策略 π∗
 
问题 1 :求解给定策略的状态价值函数的问题( policy evaluation
基本思路是从任意一个状态价值函数开始,依据给定的策略,结合贝尔曼期望方程、状态转移概率和奖励同步迭代更新状态价值函数,直至其收敛,得到该 策略下最终的状态价值函数。
问题 2 :求解最优的价值函数和策略
思路: 根据我们之前基于任意一个给定策略评估得到的状态价值来及时调整我们的动作 策略 (Policy Iteration)

总结:主要就是利用贝尔曼方程来迭代更新状态价值,用贪婪法之类的方法迭代更新最优策略

  • 论文内容

  1. [68]通过一个在机场指导用户的例子讨论了使用MDP解决推荐问题的可能优势。类似地,[51]是将推荐问题建模为MDP的早期有价值的尝试之一。由于基于MDP的推荐者的模型参数是未知的,且开销大,他们建议使用一个能够为MDP提供初始参数的预测模型,该预测模型是一个马尔可夫链。  (MDP和DP关系:马尔可夫决策(MDP)过程为强化学习(RL)提供了理论基础,而动态编程(DP)为马尔可夫决策过程提供了一种实现的方法。)

 

3.1.3 MC Methods

动态规划法需要在每一次回溯更新某一个状态的价值时,回溯到该状态的所有可能的后续状态。计算量大。
无法事先得到模型状态转化概率矩阵 P model free
预测问题 ,即给定强化学习的 5 个要素:状态集 S, 动作集 A, 即时奖励 R ,衰减因子 γ,  给定策略 π , 求解该策略的状态价值函数 v(π)
控制问题 ,也就是求解最优的价值函数和策略。给定强化学习的 5 个要素:状态集 S, 动作集 A, 即时奖励 R ,衰减因子 γ, 探索率 ϵ, 求解最优的动作价值函数 q∗ 和最优策略 π*
 
蒙特卡罗法通过采样若干经历完整的状态序列 (episode) 来估计状态的真实价值。
特点: 和动态规划比,不需要依赖于模型状态转化概率;从经历过的完整序列学习,完整的经历越多,学习效果越好。
每轮迭代先做策略评估,计算出价值 v(s) ,然后基于一定的方法(比如贪婪法)更新当前策略 π 。最后得到最优价值函数 v∗ 和最优策略 π∗
 
 
  1. DJ-MC[65]是一个基于rl的音乐播放列表推荐。为了解决维度问题,每首歌曲都被建模为歌曲描述符的一个向量,其中包括关于歌曲的节奏特征、整体响度以及它们随时间的变化的信息。此外,为了加速学习过程,reward被考虑为听者对个别歌曲的偏好和歌曲的过渡模式。DJ-MC架构由两个主要组件组成:学习听众参数(他对歌曲和过渡的偏好)和计划一系列歌曲。学习单元分为两个部分:初始化和动态学习。在初始化步骤中,询问agent有关他的歌曲和过渡首选项。初始化后,学习过程开始于为听众播放歌曲,并征求他的反馈。计划步骤负责选择最好的歌曲来推荐。
  2. 与DJ-MC类似的工作是PHRR[66],他们使用加权矩阵分解(WMF)[112]和卷积神经网络(CNNs)的混合方法来提取歌曲特征。Div-FMCTS[67]的目标是提出一种优化不同topN推荐问题的方法。该方法由两个循环阶段组成。它首先采用MCTS算法启发式地搜索条目空间,找到最优的top-N推荐。然后,他们用神经网络来推广这些发现。为了解决搜索所有条目时的可扩展性问题,采用了结构剪枝和问题分解两种方法。
     

3.1.4 Fitted Q Methods

  • 使用一种使用近似方法进行策略优化
  • 相关工作:推荐肺癌患者的治疗方案;广告推荐算法。

3.1.5 summary

  1. DP方法通常是不切实际的,因为它们的计算费用以及对环境完美的了解。虽然这些算法在状态的数量中是多项式,但甚至执行甚至一个迭代的政策或价值迭代方法通常是不可行的。
  2. 与DP相比,MC方法不需要环境的完美知识(或模型)。相反,他们只需要采样体验,即与环境的一些互动。但是,MC方法有一些局限性;他们没有引导。此外,它们仅在完整的剧集之后更新值函数,因此它们的融合速度很慢。
  3. MCTS是一种成功的增强的MC算法,是决策时间计划算法,其受益于在线,增量,基于样本的价值估计和策略改进[31]。
  4. TD方法在RS社区中非常流行,主要原因是他们的简单性;也就是说,它们在线,无模型,需要最小的计算量,并且可以通过单个方程式表示[31]。
  5. 表格方法可以找到精确的解决方案,即最佳价值函数和策略,但它们因为状态和行动空间增长,在学习中效率低下。使用DP和TD方法的RLRSS通过保持状态空间小来解决此问题。

“Reinforcement Learning based Recommender Systems: A Survey“强化学习用于推荐系统 综述_第2张图片

“Reinforcement Learning based Recommender Systems: A Survey“强化学习用于推荐系统 综述_第3张图片

3.2  DRL-based methods

这部分用到了深度学习知识

3.2.1  Q-learning (DQN) Methods

  1. Slate-MDP [75]是利用DQN用于SLATE推荐的第一项工作。为了使组合动作空间引起的组合动作空间(元组),他们使用顺序贪婪方法引入学习Full Slates值的代理。
  2. [76]使用DQN优化肝素剂量推荐。他们首先将问题建模为POMDP并使用隐藏的隐马尔可夫模型来估算状态。然后,将DQN用于优化策略。在另一个临床应用中,DQN的变体用于优化败血症治疗的剂量推荐。他们使用连续的状态空间和离散的动作空间。
  3. 由于负面反馈(如跳过项目)的数量比正面反馈多得多,赵等人[78]提出了一个名为DEERS的框架,将两种反馈都纳入系统。
  4. [82]中的主要思想是使用生成对抗网络(GANs)构建用户模型,然后使用级联DQN算法推荐最佳项目。

  (文章还列举了很多其他相关工作,我已经看不懂了☹,就不写过来了)                                                                                            

3.2.2  Actor-Critique Methods

  1. SRL-RNN [89]的主要思想是将逆向学习与监督学习相结合,根据电子健康记录推荐治疗方法。
  2. 在LIRD [87]中,作者首先提出了一个随机环境模拟器,然后使用一个actorcritic框架来生成推荐。
  3. [93]中的想法是提出一种基于RL的会话式RS,它除了使用用户提供的自然语言之外,还使用视觉数据。
  4. DRR框架[88]中的参与者从状态表示模块接收状态,并使用两个ReLU层和一个Tanh层生成动作。

3.2.3  REINFORCE Methods

  1. CEI的作者[97]开发了一种基于层次关系的会话式遥感[130]。在框架中,有一个称为元控制器的模块,它接收对话状态并预测该状态的目标。
  2. [98]中提出了一种会话式RLRS。该系统由三个主要部分组成:一个信念跟踪器、一个遥感器和一个政策网络。
  3. [99]提出了一种基于图的可解释推荐框架。这个想法是不仅推荐一组项目,而且推荐知识图中的路径,以显示该方法做出这些推荐的原因。
  4. TPGR [100]的主要思想是以平衡树的形式表示项目空间,并学习一种策略,使用策略网络为每个非l eaf节点选择最佳的子节点。(这篇文章我读过)

3.2.4 Compound Methods

  1. 刘等人[79]使用RL来推荐智能课堂中的学习活动。建立了一个网络-物理-社会系统,通过收集学生的多模态数据(如考试成绩、心跳和面部表情)来监控学生的学习状态,然后推荐适合他们的学习活动。
  2. [103]中的主要贡献是提出了SlateQ,一种基于Slateq的RS。
  3. Fotopoulou等人[105]为学生的社会情感学习设计了一个类似RL的活动推荐框架。
  4. 在[104]中,提出了一种面向任务的对话管理系统,并将其应用于不同的推荐任务。
  5. EDRR [106]的作者讨论了在所有RL方法中有三个共同的组成部分:嵌入、状态表示和策略。他们认为用另外两个模块直接训练嵌入模块是不可能的,因为反向学习方法具有高方差的梯度。

“Reinforcement Learning based Recommender Systems: A Survey“强化学习用于推荐系统 综述_第4张图片

“Reinforcement Learning based Recommender Systems: A Survey“强化学习用于推荐系统 综述_第5张图片

“Reinforcement Learning based Recommender Systems: A Survey“强化学习用于推荐系统 综述_第6张图片

“Reinforcement Learning based Recommender Systems: A Survey“强化学习用于推荐系统 综述_第7张图片

 

4 Discussion and Open Research Directions

主要是在总结和展望(需要更好的评估策略)

你可能感兴趣的:(强化学习,论文阅读,强化学习,推荐系统,马尔可夫链蒙特卡洛方法,人工智能)