文章目录

  • 强化学习的基本概念
  • 强化学习推荐系统框架
    • 强化学习推荐模型的特点
  • 深度强化学习推荐模型中的DQN
  • DRN的学习过程
  • DRN竞争梯度下降算法

强化学习的基本概念

  • 强化学习的基本概念就是一个智能体通过与环境进行交互,不断学习强化自己的智力,来指导自己的下一步行动,以取得最大化的预期利益。

  • 强化学习框架的六大要素

    • 智能体(Agent):强化学习的主体也就是作出决定的“大脑”;
    • 环境(Environment):智能体所在的环境,智能体交互的对象;
    • 行动(Action):由智能体做出的行动;
    • 奖励(Reward):智能体作出行动后,该行动带来的奖励;
    • 状态(State):智能体自身当前所处的状态;
    • 目标(Objective):指智能体希望达成的目标。
  • 总结成一句话就是:一个智能体身处在不断变化的环境之中,为了达成某个目标,它需要不断作出行动,行动会带来好或者不好的奖励,智能体收集起这些奖励反馈进行自我学习,改变自己所处的状态,再进行下一步的行动,然后智能体会持续这个“行动 - 奖励 - 更新状态”的循环,不断优化自身,直到达成设定的目标。

强化学习推荐系统框架

  • 强化学习推荐模型DRN(Deep Reinforcement Learning Network,深度强化学习网络)是微软在2018年提出的,它被应用在了新闻推荐的场景上,DRN的框架图如下:
  • DRN模型的第一步是初始化推荐系统,主要初始化的是推荐模型,我们可以利用离线训练好的模型作为初始化模型,其他的还包括我们之前讲过的特征存储、推荐服务器等等。
  • 接下来推荐系统作为智能体会根据当前已收集的用户行为数据,也就是当前的状态,对新闻进行排序这样的行动,并在新闻网站或者App这些环境中推送给用户。
  • 用户收到新闻推荐列表之后,可能会产生点击或者忽略推荐结果的反馈。这些反馈都会作为正向或者负向奖励再反馈给推荐系统。
  • 最后,推荐系统收到奖励之后,会根据它改变、更新当前的状态,并进行模型训练来更新模型。接着,就是推荐系统不断重复“排序 - 推送 - 反馈”的步骤,直到达成提高新闻的整体点击率或者用户留存等目的为止。

强化学习推荐模型的特点

  • 强化学习推荐系统相比于普通推荐系统有什么特点?
  • 答:强化学习推荐系统始终在强调“持续学习”和“实时训练”。强化学习不断利用新学到的知识更新自己,做出最及时的调整,这也正是将强化学习应用于推荐系统的收益所在。

深度强化学习推荐模型中的DQN

  • 智能体是强化学习框架的核心,作为推荐系统这一智能体来说,推荐模型就是推荐系统的“大脑”。在DRN框架中,扮演“大脑”角色的是Deep Q-Network (深度Q网络,DQN)。其中,Q是Quality的简称,指通过对行动进行质量评估,得到行动的效用得分,来进行行动决策。
  • DQN的网络结构如下图所示,它就是一个典型的双塔结构。其中,用户塔的输入特征是用户特征和场景特征;物品塔的输入向量是所有的用户、环境、用户 - 新闻交叉特征和新闻特征。
  • 在强化学习的框架下,用户塔特征向量因为代表了用户当前所处的状态,所以也可被视为状态向量。物品塔特征向量则代表了系统下一步要选择的新闻,这个选择新闻的过程就是智能体的“行动”,所以物品塔特征向量也被称为行动向量
  • 双塔模型通过对状态向量和行动向量分别进行MLP处理,再用互操作层生成了最终的行动质量得分Q(s,a),智能体正是通过这一得分的高低,来选择到底做出哪些行动,也就是推荐哪些新闻给用户的。

DRN的学习过程

  • DRN的学习过程是整个强化学习推荐系统框架的重点,正是因为可以在线更新,才使得强化学习模型相比其他“静态”深度学习模型有了更多实时性上的优势。DRN学习过程如下图所示:
  • 离线部分:DRN根据历史数据训练好DQN模型,作为智能体的初始化模型。
  • 在线部分:根据模型更新的间隔分成n个时间段,(这里是t1 - t5)。首先在t1 - t2阶段,DRN利用初始化模型进行一段时间的推送服务,积累反馈数据。接着是在t2时间点,DRN利用 t1 - t2 阶段积累的用户点击数据,进行模型微更新(Minor update)。最后在t4时间点,DRN利用 t1 - t4 阶段的用户点击数据及用户活跃度数据,进行模型的主更新(Major update)。时间线不断延长,我们就不断重复 t1 - t4这3个阶段的操作。这里有两个重要操作:
    • 第一个是在t4的时间点出现的模型主更新操作,我们可以理解为利用历史数据的重新训练,用训练好的模型来替代现有模型。
    • 第二个是t2、t3时间点提到的模型微更新操作,这里就是DRN使用的一种新的在线训练方法,竞争梯度下降算法(Dueling Bandit Gradient Descent algorithm)。

DRN竞争梯度下降算法

  • 竞争梯度下降算法流程图如下:
  • DRN在线学习过程主要包括三步:
    • 第一步:对于已经训练好的当前网络Q,对其模型参数W添加一个较小的随机扰动,得到一个新的模型参数,这里我们称对应的网络为探索网络Q~。
    • 第二步:对于当前网络Q和探索网络Q~ ,分别生成推荐列表L和 L~,再将两个推荐列表用间隔穿插(Interleaving)的方式融合,组合成一个推荐列表后推送给用户。
    • 第三步:实时收集用户反馈。如果探索网络Q~生成内容的效果好于当前网络Q,我们就用探索网络代替当前网络,进入下一轮迭代。反之,我们就保留当前网络。

第一步中产生随机扰动的公式如下:
Δ\DeltaΔW = α\alphaα · rand(-1,1) · W
其中α是一个探索因子,决定探索力度的大小;rand(-1,1) 产生的是一个[-1,1]之间的随机数。

推荐系统强化学习DRN相关推荐

  1. DRN——强化学习与推荐系统结合

    强化学习是近年来机器学习领域非常热门的研究话题,它的研究起源于机器人领域,针对智能体在不断变化的环境 中决策和学习的过程进行建模.在智能体的学习过程中,会完成收集外部反馈,改变自身状态,再根据自身状态 ...

  2. 【王喆-推荐系统】模型篇-(task9)强化学习推荐模型DRN

    学习总结 (1)深度推荐模型的前沿趋势,强化学习(Reinforcement Learning,又叫增强学习)与深度推荐模型的结合.强化学习的大体过程:通过训练一个智能体(它与环境交互,不断学习并强化 ...

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

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

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

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

  5. 从这篇YouTube论文,剖析强化学习在工业级场景推荐系统中的应用

    作者 | 吴海波 转载自知乎用户吴海波 [导读]本文作者根据两篇工业界背景的论文解答了 RL 在推荐场景需要解决的问题与困难,以及入门需要学习得相关知识点. 2 个月前,业界开始流传 youtube ...

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

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

  7. 推荐系统遇上深度学习(十五)--强化学习在京东推荐中的探索

    强化学习在各个公司的推荐系统中已经有过探索,包括阿里.京东等.之前在美团做过的一个引导语推荐项目,背后也是基于强化学习算法.本文,我们先来看一下强化学习是如何在京东推荐中进行探索的. 本文来自于pap ...

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

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

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

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

最新文章

  1. linux数据库创建score表,MySQL数据库学习笔记
  2. python断言assert实例_Python断言assert的用法代码解析
  3. ACM-ICPC 2019 山东省省赛总结
  4. centos 7 php7 yum源
  5. From AlphaGo Zero to 2048论文分享
  6. android 聊天功能实现,Android聊天背景功能实现
  7. Python学习-基础篇14 Web框架本质及第一个Django实例
  8. Grabcut(一)
  9. oracle内连接和外连接
  10. TLSF: Memory allocator real time embedded systems
  11. Everything To Byte And To Tensor -- Welcome to age of AI
  12. API接口电商平台商品详情,网络爬虫数据(步骤示例,参数返回值说明)
  13. windows出于安全原因某些设置由系统管理员管理解决方法
  14. 让你嘿嘿嘿!最新windows7升级win10方法!
  15. matlab 牛顿冷却定律,传热学MATLAB度分布大作业完整版.doc
  16. mysql 表基本操作(创建表、添加主键、外键、非空约束、唯一性约束、默认约束、自动增加)
  17. 制作vagrant镜像
  18. 用php照片艺术化,Lab:照片艺术化调色处理介绍
  19. hdu5148 树形dp,分组背包
  20. BZOJ 2448: 挖油

热门文章

  1. OnePlus6 刷机+root + 安装busybox教程
  2. 【算法面试必刷Java版九】删除链表的倒数第n个节点
  3. 笔记本打印时出现打印机出现异常配置问题_两种方法处理win10打印机遇到异常配置问题报错“0x8007007e”?...
  4. C#使用Modbus协议读写汇川PLC的M区寄存器(基本接口封装)
  5. 根据考勤数据联想关于平时考勤记录异常的数据sql分析
  6. ICLR2020放榜 687篇入选34篇得满分!且看OpenReview数据图文详解
  7. 小题小做 顺序结构 晴问
  8. 油溶性CdTe/CdSe/ZnS量子点/CdSe量子点化学修饰在钛酸钠纳米管/CdTe量子点修饰的ZnO纳米棒/GaN发光二极管
  9. 报刊资料整理:5G安全如何实现从监管到技术的系统性保障?
  10. Word如何对应名单打印奖状