9.DRN: A Deep Reinforcement Learning Framework for News Recommendation论文详解

摘要

这篇文章是微软18年发的基于强化学习来做推荐系统的文章。

一、引言

新闻领域的个性化推荐十分重要,传统的方法如基于内容的方法、协同过滤、深度学习方法在建模user-item交互关系时,经常面临以下三个问题:
1)难以处理新闻推荐的动态变化。这种动态变化体现在两个方面,首先新闻具有很强的时效性,其次是用户对于新闻阅读的兴趣是不断变化的,如下图所示:
在这里插入图片描述
因此,在建模过程中,不仅要考虑用户对当前推荐的反馈,还要考虑长期的影响。就好比买股票,不能只考虑眼前的收益,而是要考虑未来的预期收益。
2)当前的推荐算法通常只考虑用户的点击/未点击 或者 用户的评分作为反馈,然而,用户隔多久会再次使用服务也能在一定程度上反映用户对推荐结果的满意度。
3)目前的推荐系统倾向于推荐用户重复或相似内容的东西,这也许会降低用户在同一个主题上的兴趣度。因此需要进行exploration。传统方法 e -greedy strategy(ϵ-greedy策略,但它会推给用户完全不相关的内容) 或者 Upper Con dence Bound (UCB) (UCB,但是它的响应时间很长,需要重复点击一个item很多次才能给出一个准确的reward)都会在短期对推荐系统的效果造成一定的影响,需要更有效的exploration策略。

因此,本文提出了基于强化学习的推荐系统框架来解决上述提到的三个问题:
1)首先,使用DQN网络来有效建模新闻推荐的动态变化属性,DQN可以将短期回报和长期回报进行有效的模拟(DQN能同时考虑current reward和future reward,MAB-based方法不能清晰地给出future reward,MDP-based方法不适用于大规模数据)。
2)将用户活跃度(activeness score)作为一种新的反馈信息,用户活跃度在后面会详细介绍。
3)使用Dueling Bandit Gradient Descent方法来进行有效的探索。

二、算法框架

整体结构框架如下图,其中,用户点击情况就是实时reward,用户活跃度就是future reward,state表示的用户特征以及用户行为特征,action是新闻候选池的特征,这样就构成了强化学习的基本框架。
在这里插入图片描述
对于上图,描述了强化学习的四个必要因素:
状态:用户的特征
动作:物品(新闻)特征
环境:用户和物品池
回报:点击率和用户的活跃度
**强化过程:**将用户的连续状态特征表示和连续的物品动作特征表示作为多层深度Q-网络,预测潜在回报。

本文的贡献主要有:
1)提出了一种强化学习的框架用于在线新闻的个性化推荐
2)使用用户活跃度作为一种新的反馈,来提高推荐的准确性
3)使用了一种更加高效的探索算法:Dueling Bandit Gra- dient Descent
4)模型可以进行在线学习和更新,在离线和在线实验上的表现都超过了传统的算法。

三、模型详解

3.1 模型框架

模型整体框架如下图所示:
在这里插入图片描述
有几个关键的环节:
PUSH:在每一个时刻,用户发送请求时,agent根据当前的state产生k篇新闻推荐给用户,这个推荐结果是exploitation和exploration的结合

FEEDBACK:通过用户对推荐新闻的点击行为得到反馈结果。

MINOR UPDATE:在每个时间点过后,根据用户的信息(state)和推荐的新闻(action)及得到的反馈(reward),agent会评估exploitation network Q 和 exploration network Q ̃ 的表现,如果exploitation network Q效果更好,则模型保持不动,如果 exploration network Q ̃ 的表现更好,exploitation network Q的参数将会向exploration network Q ̃变化。

MAJOR UPDATE:在经过一段时间T后,代理将利用用户的反馈和存储在内存中的用户的活跃度和反馈更新Q网络。因此我们将利用
经验重放技术更新网络。每次更新,代理将抽样批量记录更新模型。(在一段时间过后,根据DQN的经验池中存放的历史经验,对exploitation network Q 模型参数进行更新。)

3.2 特征设计

(1)新闻特征:417维的one hot,包括headline, provider, ranking, entity name, category, topic category, and click counts in last 1 hour, 6 hours, 24 hours, 1 week, and 1 year respectively。这里每个click count是1维,其余的特征总共412维,不知道分别是多少维的
(2)用户特征:413*5维: 1 hour, 6 hours, 24 hours, 1 week, and 1 year里用户点击过的新闻的headline, provider, ranking, entity name, category, and topic category + click count
(3)用户-新闻特征:25维,在该用户的所有浏览记录中category, topic category and provider的出现频率
(4)环境特征:32维,当一次点击发生时的环境,包括time, weekday, and the freshness of the news (the gap between
request time and news publish time).

3.3 深度强化学习做推荐

这里深度强化学习用的是Dueling-Double-DQN。之前我们介绍过DQN的三大改进,包括Double-DQN,Dueling-DQN和优先经验回放,这里用到了两个。将用户特征和上下文特征用于表示当前的state,新闻特征和交互特征用语表示当前的一个action,经过模型可以输出当前状态state采取这个action的预测Q值。

Q现实值包含两个部分:立即获得的奖励和未来获得奖励的折现:
在这里插入图片描述
立即的奖励可能包含两部分,即用户的点击奖励和用户活跃度奖励。由于采取了Double-DQN 的结构,Q现实值的计算变为:

在这里插入图片描述
下图显示了特征输入形式,值函数由静态的用户特征和环境特征构成,行为函数由静态动态的全部特征构成。
在这里插入图片描述
3.4 用户活跃度

用户活跃度(User Activeness) 是本文提出的新的可以用作推荐结果反馈的指标。用户活跃度可以理解为使用app的频率,好的推荐结果可以增加用户使用该app的频率,因此可以作为一个反馈指标。
当产生用户请求时,就被标记为user return的时刻,采用生存模型进行拟合,拟合公式如下:
在这里插入图片描述
在这里插入图片描述
用户活跃度的图示如下(最大值不超过1,初始化值是0.5,阶跃的点就代表发生了用户请求):
在这里插入图片描述
如果用户在一定时间内没有点击行为,活跃度会下降,但一旦有了点击行为,活跃度会上升。

在考虑了点击和活跃度之后,之前提到过的立即奖励变为:

在这里插入图片描述
3.5 探索
本文的探索采取的是Dueling Bandit Gradient Descent 算法,算法的结构如下:
在这里插入图片描述
在DQN网络的基础上又多出来一个exploration network Q ̃ ,这个网络的参数是由当前的Q网络参数基础上加入一定的噪声产生的,具体来说:
在这里插入图片描述
相当于给W一个很小的扰动,就会有一个新生成的Q’。Q’和Q都会给出top k的候选列表L’和L,最后推给用户的L 是随机的在L和L’中选择,比如L 的第一个内容选择在L中产生,那么就会随机的从L中抽取一个item,这个随机不是完全随机,和L中各item的概率有关,概率高的被抽到的概率也大,之后将L推给用户,用户就会产生点击行为和反馈信息B,如果由Q’产生的推荐item效果好于Q,就替换,这就是模型选择的逻辑。

即当一个用户请求到来时,由两个网络同时产生top-K的新闻列表,然后将二者产生的新闻进行一定程度的混合,然后得到用户的反馈。如果exploration network Q ̃的效果好的话,那么当前Q网络的参数向着exploration network Q ̃的参数方向进行更新,具体公式如下:
在这里插入图片描述
否则的话,当前Q网络的参数不变。

总的来说,使用深度强化学习来进行推荐,同时考虑了用户活跃度和对多样性推荐的探索,可以说是一个很完备的推荐框架了!

四、实验比较

4.1 数据集

使用的数据集是新闻app得到的数据:
在这里插入图片描述
数据中存在明显的长尾特点:
在这里插入图片描述

4.2 评估指标

主要用的评估指标有CTR、top-K准确率,nDCG,三者的计算公式如下:
在这里插入图片描述
在nDCG中,r是新闻的排序,n是推荐新闻列表的长度。

4.3 实验设定

在这里插入图片描述

4.4 对比模型

本文选取了五个基准模型:LR,FM,Wide&Deep,LinUCB,HLinUCB。同时根据组件的不同(U代表用户活跃度,EG代表e-greedy,DBGD代表Dueling Bandit Gradient De- scent )强化学习模型又分为以下几种:

DN:没有考虑未来收益的Double-DQN
DDQN:考虑未来收益的Double-DQN
DDQN+U:考虑未来收益,同时考虑用户活跃度的Double-DQN
DDQN+U+EG:采用e-greedy作为探索策略的Double-DQN
DDQN+U+DBGD:采用DBGD作为探索模型的Double-DQN

4.5 离线实验

离线实验的结果如下所示:
在这里插入图片描述
本文提出的模型效果明显好于基准模型。

4.6 在线实验

在线实验的效果分两部分,准确率和Diversity。

准确率

准确率用CTR来表征,如果CTR高,我们认为模型准确率较好,实验结果如下:
在这里插入图片描述

多样性

多样性这里采用的指标是ILS,用来表示推荐列表中item的相似性,如果这个相似性较低,可以认为推荐结果的多样性较好,计算公式如下:
在这里插入图片描述

实验结果如下:
在这里插入图片描述
可以看到DDQN+U+DBGD的多样性明显好于其他模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值