Deep Reinforcement Learning for List-wise Recommendations

若如初见. 提交于 2020-01-19 19:03:15

论文题目:多个item一起进行推荐的深度强化学习方法

摘要:

推荐系统通过给用户推荐个性化商品,在缓解信息超载或服务这些问题方面起着至关重要的作用。绝大多数传统推荐系统将推荐算法视为静态过程,并且根据固定策略提出建议。在本文中,我们提出一种新颖的推荐系统,该系统具有在与用户互动期间不断改进其策略的能力。我们将用户和推荐系统之间的顺序交互建模为马尔可夫决策过程(MDP),并且用强化学习(RL),在通过推荐一些尝试的item并从用户的反馈中获得对这些item的补充策略。特别是,我们介绍一个在线的用户代理交互环境模拟器,可以在离线预先训练和评估模型参数,然后再上线。此外,我们验证了用户交互期间的用户和智能体之间的关系,并开发出一种新颖的方法将其纳入LIRD框架以获取一段推荐列表的建议。实验结果是基于一个真实的数据,并且显示了我们提出来的框架的有效性。

关键词:

推荐列表的推荐系统,深度强化学习,Actor-Crtic在线环境模拟器。

1:介绍

京东的推荐系统是智能的电子商务应用程序。他们通过建议用户帮助他们完成信息搜索任务,并推荐给他们最适合其需求和偏好的Item(产品,服务或信息)。 推荐系统越来越多近年来很流行,并且已被广泛用于电影,音乐,书籍,兴趣点和社交等领域事件[5,21,22,32–36]。 大多数现有的推荐系统都将推荐过程看做一种如果有固定模型,那么固定特征永远得到一样的推荐结果这种过程,并使用贪婪策略。 但是,用户状态是有一种有偏好的动态性质,这些方法可能会失败。 此外,大多数现有的推荐系统旨在最大限度地提高即时(短期)回报收入,即让用户立刻下载或者购买推荐的商品,但忽略这些推荐项目将导致更多或更多的长期利润。

在本文中,我们认为推荐程序是一种用户和推荐系统之间的顺序交互; 利用强化学习(RL)自动学习最佳推荐策略。 基于强化学习的推荐系统有两个优点。 首先,他们能够在互动过程中不断更新策略,直到系统收敛到生成最佳策略,这个时候最适合用户的动态偏好。 第二,通过最大化预期的长期性来制定最佳策略用户的累积奖励。 因此,系统可以识别即使奖励少但贡献大的物品。

已经在利用强化学习来进行优化推荐系统,例如POMDP [23]和Q-learning [26]。但是,随着系统中推荐item数量的增加,这些方法可能会变得僵化。不断增加的item,如果使用上面办法的话,很难被推荐系统采用。 因此,我们利用Deep以(自适应)人工神经网络作为非线性近似器的强化学习[10]来估计action-value函。 这种无模型的强化学习方法不估计过渡概率,也不存储Qvalue表。 这使其可以灵活地支持在推荐系统中大量物品。

1.1 List-wise Recommendations

通常推荐系统会给用户一次列出多个项目。列表式建议更多由于它们允许系统提供多样化的功能,因此在实践中很理想以及对用户的补充选择也是个优势。对于列表式建议,我们有一个列表的动作空间,其中每个动作都是一个集合多个相互依赖的子动作(项目)。现有的强化学习推荐器方法也可以推荐项目列表。例如,DQN [14]可以分别计算所有召回项目的Q值,并推荐具有最高回收率的项目清单Q值。但是,这些是根据一个相同的状态,忽略了推荐的items直接的关系。结果,推荐的项目是相似的。在实践中,与互补项捆绑在一起可能会收到更高的收益奖励比推荐所有类似物品要好。例如,在实时新闻提要推荐中,用户可能希望阅读各种感兴趣的主题,以及来自该主题的操作(即推荐)推荐代理将由一组新闻文章组成并非所有主题都相似[30]。因此,在本文中,我们提出了一个原则性方法来获取推荐对象之间的关系项并生成补充项列表以增强性能。

1.2架构选择

通常,存在两种Deep Q-learning架构,如下所示在图1(a)(b)中。传统的深度Q学习采用图1(a)所示的第一种架构,该架构仅输入状态空间和输出所有动作的Q值。此架构适用于高状态空间和小动作空间的场景,例如往棋类游戏 [14]。然而,一个缺点是它不能处理大型动作空间的场景,例如推荐系统。第二种Q学习架构,如图1(b)所示,把states、actions同时作为神经网络的输入,并输出与此动作相对应的Q值。这种架构不需要将每个Q值存储在内存中,从而可以处理较大的动作空间甚至连续动作空间。一个具有挑战性的问题利用第二种架构是时间复杂性,即架构会分别计算所有潜在动作的Q值。为了解决这个问题,本文提出了我们的以Actor-Critic框架[25]为基础的推荐架构,如图1(c)所示。Actor输入当前状态,并旨在输出特定状态下的评分函数的参数。然后RA对所有item进行评分并选择得分最高的item。接下来,Critic使用和Q-value的近似架构,判断所选动作是否与当前状态相匹配。请注意,Critic与图1(b)中的DQN有着相同的架构。最后,根据Critic的判断,Actor以推荐的方式更新了其策略的参数,可在之后的迭代中输出适当的操作。这种架构适合大型动作空间,同时还可以减少冗余计算

1.3在线环境模拟器

不同于在玩在线游戏中使用的深度Q-learning方法,比如Atari,可以采取任意行动并及时获得反馈/奖励,线上时推荐系统之前很难获得线上奖励。在实践中,有必要离线预训练参数,并在应用之前评估模型是否可以上线,因此如何离线训练我们的框架和评估我们的框架的性能是一项具有挑战性的任务。应对面对这一挑战,我们提出了一个在线环境模拟器,输入当前状态和所选动作并输出模拟在线奖励,使框架能够根据模拟奖励离线训练参数。更具体地说,我们根据用户的历史记录构建模拟器。直觉是无论推荐系统采用哪种算法,相同的状态(或用户的历史记录)和相同的操作(向用户推荐相同的商品),用户将对项目的反馈相同。

在上线前,为了评估推荐系统的性能,一种实用方法是根据用户的历史点击/订购记录对其进行测试。 但是,我们只有基础用户历史记录中现有项目的真实反馈(奖励),与庞大的item库相比是非常稀疏的当前推荐系统的空间。 因此,我们无法获得不在用户历史记录中的项目的反馈(奖励)。这可能会导致离线和在线之间的结果不一致测量。 我们建议的在线环境模拟器可以还通过产生模拟的在线奖励来缓解这一挑战给定任何状态动作对,以便推荐系统可以从整个项目空间对项目进行评分。 基于离线培训和评估,可以将训练有素的参数用作初始参数在线启动框架时的参数,可以是通过基于策略的开发和探索进行更新和改进。

1.4 我们的贡献

我们将主要贡献总结如下:
•我们建立了一个在线的 user-agent 交互环境模拟器,适用于离线参数的预训练和在线应用推荐系统之前进行评估;
•我们基于以下内容提出了一个智能的推荐框架 -- 深度强化学习LIRD,可以应用于具有较大动态项目空间的场景中,并且可以大大减少冗余计算; 
•我们在以下方面证明了拟议框架的有效性真实的电子商务数据集并验证列表式建议以获取准确的建议。

本文的其余部分安排如下。 在第2节中,我们首先通过强化学习来正式定义推荐系统的问题。 然后,我们提供训练“一个有顺序的 user-agent 交互关系 ”的推荐模型的建模方法,并且介绍了采用 Actor-Critic 框架的细节去在线上动态学习可能的推荐策略。 第三部分基于现实中的电子商务网站进行了实验,并给出了实验结果。 第4节简要回顾相关工作。 最后,第5节总结了本文并讨论我们的未来工作

2拟议框架

在本节中,我们首先正式定义了通过强化学习来进行推荐的系统的符号和问题。 然后我们建立在线 user-agent 交互环境模拟器。 接下来,我们提出基于 Actor-Critic 的强化学习框架。 最后,我们讨论如何通过用户的行为日志训练框架,以及如何利用框架进行按列表推荐。

2.1 Problem Statement

我们研究了推荐任务,其中推荐智能体(RA)通过在一系列时间上顺序选择推荐项来与环境E(或用户)进行交互的相互作用,从而最大化其累积奖励。 我们将此问题建模为马尔可夫决策过程(MDP),包括一系列状态,动作和奖励。 更正式地说,MDP由一个元组组成五个元素(S,A,P,R,γ)中的如下:

用户状态 st 被定义为用户的使用历史,比如用户过去在时间 t 前浏览过的 N 个 item。而且这个序列要按照时间顺序来进行组成。

动作 at 被模型基于用户状态 st 计算出来的一个推荐列表。K是推荐系统在每个时间推荐的数量

奖励R:推荐智能体给出了at之后,用户会给出他的反馈,他可以进行曝光、点击、下单这些操作,智能体立即根据这些反馈计算出来奖励

状态转移概率P: 状态转移概率 p(s t+1 | st, at),定义了当智能体给用户推荐 at 列表后,用户的状态从 st 转移到了 st+1.如果

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!