强化学习是近年来机器学习领域非常热门的研究话题,它的研究起源于机器人领域,针对智能体在不断变化的环境 中决策和学习的过程进行建模。在智能体的学习过程中,会完成收集外部反馈,改变自身状态,再根据自身状态对下一步的行动进行决策,在行动之后持续收集反馈的循环,简称“行动-反馈-状态更新”的循环。如果把推荐系统当作一个智能体,把整个推荐系统学习更新的过程当作智能体“行动-反馈-状态更新”的循环,就能理解将强化学习的诸多理念应用于推荐系统领域并不是一件困难的事情。
2018年,由宾夕法尼亚州立大学和微软亚洲研究院的学者提出的推荐领域的强化学习模型DRN,就是一次将强化学习应用于新闻推荐系统的尝试。

深度强化学习推荐系统框架


框架图非常清晰地展示了深度强化学习推荐系统框架的各个组成部分,以及整个强化学习的迭代过程。下面将一些强化学习中的专业名词进行解释:
智能体: 推荐系统本身,它包括基于深度学习的推荐模型、探索(explore )策略,以及相关的数据存储(memory )。
环境: 由新闻网站或App、用户组成的整个推荐系统外部环境。在环境中, 用户接收推荐的结果并做出相应反馈。
行动: 对一个新闻推荐系统来说,“行动”指的就是推荐系统进行新闻排序 后推送给用户的动作。
反馈: 用户收到推荐结果后,进行正向的或负向的反馈。例如,点击行为被认为是一个典型的正反馈,曝光未点击则是负反馈的信号。此外,用户的活跃程度,用户打开应用的间隔时间也被认为是有价值的反馈信号。
状态: 状态指的是对环境及自身当前所处具体情况的刻画。在新闻推荐场景中,状态可以被看作已收到所有行动和反馈,以及用户和新闻的所有相关信息的特征向量表示。站在传统机器学习的角度,“状态”可以被看作已收到的、可用于训练的所有数据的集合。
在这样的强化学习框架下,模型的学习过程可以不断地迭代,迭代过程主要有如下几步:
(1)初始化推荐系统(智能体)。
(2 )推荐系统基于当前已收集的数据(状态)进行新闻排序(行动),并推送到网站或App (环境)中。
(3) 用户收到推荐列表,点击或者忽略(反馈)某推荐结果。
(4) 推荐系统收到反馈,更新当前状态或通过模型训练更新模型。
(5) 重复第2步。
强化学习相比传统深度模型的优势就在于强化学习模型能够进行“在线学习”,不断利用新学到的知识更新自己,及时做出调整和反馈。这也正是将强化学习应用于推荐系统的收益所在。

DQN

智能体部分是强化学习框架的核心,对推荐系统这一智能体来说,推荐模型是推荐系统的“大脑”。在DRN框架中,扮演“大脑”角色的是Deep Q-Network (深度Q网络,简称DQN),其中Q是Quality的简称,指通过对行动进行质量评估,得到行动的效用得分,以此进行行动决策。
DQN的网络结构如下图所示,在特征工程中套用强化学习状态向量和行动向量的概念,把用户特征(user features )和环境特征(context features )归为状态向量,因为它们与具体的行动无关;把用户—新闻交叉特征和新闻特征归为行动特征,因为其与推荐新闻这行动相关。

用户特征和环境特征经过左侧多层神经网络的拟合生成价值(value)得分K(s),利用状态向量和行动向量生成优势(advantage)得分A(s,a),最后把两部分得分综合起来,得到最终的质量得分Q(s,a)。

DRN的学习过程

DRN的学习过程是整个强化学习推荐系统框架的重点,正是由于可以在线更新,才使得强化学习模型相比其他“静态”深度学习模型有了更多实时性上的优势。下图以时间轴的形式形象地描绘了 DRN的学习过程。

按照从左至右的时间顺序,依次描绘DRN学习过程中的重要步骤。
(1 )在离线部分,根据历史数据训练好DQN模型,作为智能体的初始化模型。
(2) 在t1—t2阶段,利用初始化模型进行一段时间的推送(push )服务,积累反馈(feedback)数据。
(3) 在t2—t3时间点,利用阶段积累的用户点击数据,进行模型微更新(minorupdate )。
(4) 在t3—t4时间点,利用t1—t4阶段的用户点击数据及用户活跃度数据进行模型的主更新(major update )。
(5) 重复第2〜4步。
在第4步中出现的模型主更新操作可以理^为利用历史数据的重新训练,用训练好的模型替代现有模型。那么在第3步中提到的模型微调怎么操作呢?这就牵扯到DRN使用的一种新的在线训练方法——竞争梯度下降算法 ( Dueling Bandit Gradient Descent Algorithm )。

DRN的在线学习方法——竞争梯度下降算法


(1 )对于已经训练好的当前网络Q,对其模型参数W添加一个较小的随机扰动△W,得到新的模型参数W1,这里称IF对应的网络为探索网络Q1。
△W的产生公式如下:

(2 )对于当前网络Q和探索网络Q1,分别生成推荐列表L和L1,分别生成两个推荐列表并组合成一个推荐列表后推送给用户。
(3)实时收集用户反馈。如果探索网络生成内容的效果好于当前网络, 则用探索网络代替当前网络,进入下一轮迭代;反之则保留当前网络。

其中,a是探索因子,决定探索力度的大小。rand(-1,1)是一个[-1,1]之间的随机数。
DRN的在线学习过程利用了 “探索”的思想,其调整模型的粒度可以精细到每次获得反馈之后,这一点很像随机梯度下降的思路,虽然一次样本的结果可能产生随机扰动,但只要总的下降趋势是正确的,就能通过海量的尝试最终达到最优点。DRN正是通过这种方式,让模型时刻与最“新鲜”的数据保持同步, 将最新的反馈信息实时地融入模型中。

DRN——强化学习与推荐系统结合相关推荐

  1. ICML 2019 | 强化学习用于推荐系统,蚂蚁金服提出生成对抗用户模型(附论文下载链接)...

    选自arXiv 作者:Xinshi Chen.Shuang Li.Hui Li.Shaohua Jiang.Yuan Qi.Le Song 机器之心编译 参与:李诗萌.shooting 将强化学习用于 ...

  2. 强化学习用于推荐系统 相关资料

    Richaed S.Sutton撰写的一本厚厚的书:<强化学习>    我整理的笔记 如何处理大规模离散动作空间 增强学习在推荐系统有什么最新进展? RL在推荐中的综述,用很短的篇幅把强化 ...

  3. 强化学习在推荐系统中的环境模拟器构建

    文章目录 1.背景 2.<Toward Simulating Environments in Reinforcement Learning Based Recommendations> 2 ...

  4. Tensroflow练习,包括强化学习、推荐系统、nlp等

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 代码和数据集  获取: 关注微信公众号 datayx  然后回复  tf  即可获取. AI项 ...

  5. 推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019...

    整理 | 夕颜 出品 | AI科技大本营(ID:rgznai100) 个性化推荐算法滥觞于互联网的急速发展,随着国内外互联网公司,如 Netflix 在电影领域,亚马逊.淘宝.京东等在电商领域,今日头 ...

  6. 《强化学习周刊》第6期:强化学习应用之推荐系统

    No.06 智源社区 强化学习组 强 化 学  习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,它在推荐系统领域中的应用的研究进展与成果也引发了众多关注.为帮助研究与工程人 ...

  7. Youtube的value-based强化学习推荐系统

    猜你喜欢 1.如何搭建一套个性化推荐系统? 2.某视频APP推荐详解(万字长文) 3.微博推荐算法实践与机器学习平台演进 4.腾讯PCG推荐系统应用实践 5.强化学习算法在京东广告序列推荐场景的应用 ...

  8. 乔治亚理工提出基于GAN的强化学习算法用于推荐系统

    Generative Adversarial User Model for Reinforcement Learning Based Recommendation System Xinshi Chen ...

  9. 推荐系统 (三): 浪潮之巅 -- 深度学习在推荐系统中的应用

    目录 深度学习推荐模型的演化关系图 AutoRec -- 单隐层神经网络推荐模型 AutoRec 模型的基本原理 AutoRec 模型的结构 基于 AutoRec 模型的推荐过程 U-AutoRec ...

最新文章

  1. CTFshow 爆破 web24
  2. Java黑皮书课后题第6章:**6.31(金融应用:信用卡号的合法性验证)和**6.32 编写程序,提示用户输入一个long型整数的信用卡号码,显示这个数字是合法的还是非法的
  3. Solr集群安装Version5.5.2(cloud模式)
  4. 三个参数之和、积的取值范围问题
  5. DXperience重编译汉化的方法
  6. python解析JSON数据
  7. java多行注释_Java注释:单行、多行和文档注释
  8. 微博登录及删除粉丝/转发/评论的脚本[更新中]
  9. 由Table_locks_waited想到的mysql 表锁问题
  10. Sprite Kit 移动精灵
  11. 服务器被黑客用来挖矿?怎么办?
  12. 关于arduino的各种网站
  13. 隐函数存在定理3的证明Jacobi_20160503
  14. 点击链接自动跳出微信在手机自带的浏览器中下载APK文件
  15. echarts tooltip层级
  16. 什么是Race Condition?
  17. 0xc000007b应用程序无法正常启动win10解决方法
  18. NVIDIA之TLT迁移学习训练自己的数据集
  19. Android11 SystemUI 下拉通知栏取消左右滑动菜单
  20. 圆弧中点坐标值求解(二维平面三维空间)(3.1增加三维部分)-①

热门文章

  1. CRT连接时 securecrt all available GSSAPI mechanisms failed
  2. 微信查询天气php程序,微信公众号开发-输入城市查询天气
  3. Android手机电池耐用吗,安卓手机电池如何保养,手机锂电池充满好还是不充满好?...
  4. 独孤思维:高调赚钱,低调做事
  5. Nikola盘前跌近2%,公司内部审查发现创始人部分言论不准确
  6. 华为新品手机发布会全程回顾:AI加持下的十大创新
  7. JAVA查询结果按照对象返回结果
  8. 连接云服务器Docker中的Mysql 详细图文操作(全)
  9. 死性不改【17Fi】网维大师(简写:WWDS)Win7x64无盘万能包下载 2017.06.29
  10. 微博短链接的生成算法(Java版本)