Login    Register account      
    
  


News Message

基于深度强化学习的新闻推荐模型



基于深度强化学习的新闻推荐模型



一、Introduction

在新闻推荐业务中,虽然很多机器学习模型有较好的建模能力,但是仍有如下问题:

  • 新闻推荐中的动态变化难以处理

动态变化表现在两种层次:一个是新闻的时效性,可能会很快过时;另一个是用户的浏览兴趣,随着时间会动态变化。虽然通过在线学习的方式可以捕获新闻特征和用户兴趣的动态变化,但是这些方法只注重短期回报,并未考虑长期回报。

  • 仅使用是否点击作为用户反馈

现有方法只考虑是否点击或者打分来作为用户的反馈。作者提出引入用户返回APP的时间,因为该指标也反映了用户对推荐的满意度。

  • 现有方法推荐结果重复较多

现有方法倾向于给用户推荐相似item,而这将降低用户对相似topic的兴趣,也不利于探索用户新的兴趣。

二、所提模型

为了解决上述问题,作者提出了基于DQN的框架来进行实时新闻推荐。具体来说,将用户和news的特征表示输入给Deep Q-Network来预测可能的reward,也就是用户点击news的概率。该框架通过DQN的在线更新来处理新闻推荐中的动态变化,并注重长期回报。框架除了用户click的反馈之外,引入了user activeness(用户在一次推荐后返回到APP的频率)作为回报。另外为避免传统的exploration策略比如 [公式] 或UCB可能带来的不准确推荐,作者引入Dueling Bandit Gradient Descent策略来改善推荐的多样性。

  • 模型框架
模型框架

如下图,整体框架包括离线和在线两部分。所需信息主要是从news和user中抽取4类特征,Deep Q-network则根据这4类特征来预测reward(用户click和activeness的结合)。离线部分主要是使用离线的用户点击日志来训练,给点击和未点击的news不同的奖励,然后训练一个Q网络。这部分和论文作者聊过,其实就是一个监督学习的过程。在线部分涉及推荐agent和用户的交互过程,按下面的流程对网络进行更新:

  1. Push:每当用户发送一个请求,推荐智能体G会根据用户和候选news集合的特征表示,综合exploitation和exploration生成top-k的news列表L。
  2. FeedBack:用户针对接受的列表L将会有点击行为。
  3. Minor Update:在每个时间戳后,根据user、news列表L和反馈B,智能体G将会比较exploitation network Q和exploration network [公式] 的推荐效果来更新模型。如果 [公式] 给出的效果更好,则将Q往 [公式] 的方向更新,否则Q保持不变。每次推荐发生之后都会进行Minor update。
  4. Major Update:在一个特定时期 [公式] 后,智能体G将使用用户反馈B和用户activeness来更新网络Q。这里使用经验回放来实现,智能体G保存近期历史click和用户activeness记录,当触发Major Update时,智能体随机选择一个batch来更新模型。Major Update通常间隔比如一个小时来进行,在这段时间会收集很多次的展现和反馈的记录。
  • 特征构造

针对预测用户是否会点击某个news,文中构造了4大类特征,包括News Feature、User Feature、User News Feature和Context Feature。篇幅有限,这里不再细讲。

  • 深度强化推荐

考虑到新闻推荐中的动态变化和长期回报,文章使用DQN来建模用户是否点击某一news的概率,而这一概率也是智能体能得到的奖励即reward。文章对total reward进行如下形式化:

[公式]

其中状态state表示成context feature和user feature,而动作action表示成news feature和user-news交互特征, [公式] 和 [公式] 分别表示当前情况下奖励(也就是用户是否点击新闻)和未来回报。给定当前状态s、动作a和时间戳t,使用DDQN来对total reward进行预测:

[公式]

其中 [公式] 表示采取动作a的立即回报, [公式] 和 [公式] 表示DQN中的两个不同参数集合。首先给定候选动作集,在参数 [公式] 的设置下根据长期回报最大选择出动作 [公式] 。然后估计 [公式] 采取动作 [公式] 所得到的长期回报。每几轮迭代之后 [公式] 和 [公式] 将互换。DDQN可解决Q值过高估计的问题。通过这个过程,模型可兼顾total reward进行决策。

Q-network

Q network如上图所示。底层将四类特征输入到网络中,user feature和context feature作为state feature,而user-news feature和news feature作为action feature。一方面,在一个特定状态采用某个动作的reward和所有特征均有关。另一方面,reward受user本身特征的影响要大于只用用户状态和context特征。基于此,文中类似Dueling Network将Q函数分解成V(s)和A(s,a),其中V(s)只受state特征影响,而A(s,a)则会受到state特征和action特征影响。

  • User activeness

文中采用留存模型来对用户activeness来建模。时间t后用户返回App的概率定义为 [公式] ,其中一个生命周期 [公式] (文中 [公式] 设为一天)。每次检测到一个用户返回App,我们将使得 [公式] 。如下图,开始时 [公式] ,然后activeness衰减,在 [公式] 时刻用户返回App,使得activeness增加 [公式] ,后续以此类推。整个过程保证活跃度保持在0-1之间,如果超过1的话直接截断成1。这里 [公式] 、 [公式] 等值的设定都是数据中的真实用户行为模式确定的。

User Activeness Estimation
  • Exploration

常见的探索方法包括 [公式] 和UCB等,其中前者会随机推荐一些新item,后者会选择一些未探索充分的item,这些都会导致推荐效果有一定下降。因此作者使用了Dueling Bandit Gradient Descent算法(最早来自online LTR领域)来进行exploration。智能体G使用当前网络Q产出推荐列表L,并使用explore网络 [公式] 产生另一个推荐列表 [公式] 。 [公式] 的参数可以通过Q的参数基础上增加微小扰动得到。然后使用L和 [公式] 进行interleave来产生一个融合的列表 [公式] 。如果探索网络[公式] 产生的item得到更好的反馈,则智能体G将网络Q向[公式]的方向更新,表示为[公式] ,否则Q的参数保持不变。

基于Dueling Bandit Gradient Descent的探索

三、总结

这篇文章结合了一些已有的DQN及改进实现了强化学习在新闻推荐上的应用,其中的框架设计和exploration机制值得相关的业务场景进行借鉴。



Share Http URL:  http://www.wittx.cn/get_news_message.do?new_id=539














请输入评论





























Best Last Month

墨西哥将采购3500万剂新冠疫苗!

墨西哥将采购3500万剂新冠疫苗!

Information industry

by wittx


2020/12/14 金融行情

2020/12/14 金融行情

Information industry

by wittx


2020/10/23 全球疫情

2020/10/23 全球疫情

Information industry

by wittx


硬件设备-传感器

硬件设备-传感器

Computer software and hardware

by wittx


最新神经网络架构搜索 NAS 综述

最新神经网络架构搜索 NAS 综述

Information industry

by wittx


深度学习在Ctr预估中的应用

深度学习在Ctr预估中的应用

Information industry

by wittx


定价模型(APT)

定价模型(APT)

Information industry

by wittx


随机优化算法的证明以及在架构搜索上的应用



全球比特币ATM安装总数达9187台

全球比特币ATM安装总数达9187台

Information industry

by wittx


热电材料高效能量转换

热电材料高效能量转换

Information industry

by wittx