《深度学习推荐系统实战》 学习笔记 3月Day 28

580 阅读4分钟

22|强化学习:让推荐系统像智能机器人一样自主学习

[美团](强化学习在美团“猜你喜欢”的实践 - 美团技术团队 (meituan.com))

强化学习的基本概念

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

image.png

强化学习推荐系统框架


image.png强化学习的六大要素,并以DRN模型在推荐系统场景下的应用为例逐一解释了每个要素的位置和作用。这六大要素分别是初始化、状态、行动、奖励、改变和重复,它们在推荐系统场景下指的分别是推荐模型的初始化、用户行为数据作为状态、推荐结果排序并推送给用户作为行动、用户对推荐结果的反馈作为正向或负向奖励、根据奖励改变状态并更新模型、不断重复“排序 - 推送 - 反馈”的步骤直到达成目标。

image.png

深度强化学习推荐模型 DRN

image.png推荐系统在强化学习框架下的智能体、DQN作为推荐模型的“大脑”以及DQN的双塔结构。其中,用户塔特征向量代表状态向量,物品塔特征向量代表行动向量,通过互操作层生成行动质量得分Q(s,a)来选择推荐哪些新闻给用户。同时,介绍了DRN学习过程是强化学习的精髓。

DRN 的学习过程

image.pngDRN模型的离线部分和在线部分的学习过程。在离线部分,DRN利用历史数据训练DQN模型作为初始化模型。在在线部分,DRN根据模型更新的间隔分成n个时间段,例如t1到t5,利用初始化模型进行一段时间的推送服务并积累反馈数据,在t2时利用t1到t2的用户点击数据进行模型微更新,最后在t4时利用t1到t4的用户点击和用户活跃度数据进行模型的主更新。其中,模型微更新利用新的在线训练方法Dueling Bandit Gradient Descent algorithm(竞争梯度下降算法)。

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

image.pngDRN的在线学习过程,主要包括三步:对当前网络和探索网络进行随机扰动,生成推荐列表并融合,实时收集用户反馈并用探索网络代替当前网络。DRN利用“探索”思想调整模型,让模型时刻与最新数据保持同步,实现实时反馈,实现了模型推断、模型更新和推荐系统工程的一体化,提高了模型学习的效率。DRN模型的落地过程涉及模型训练、线上服务、数据收集、实时模型更新等多个工程环节,需要工程和研究部门协作才能实现。一个环节出错就可能影响整个模型效果。因此,在整个落地过程中,需要一个协调者的角色来确保整个流程的顺畅。

小结

强化学习是近来在学术界和业界都很火的话题,它起源于机器人领域。这节课,我们要重点掌握强化学习的通用过程,以及它在深度学习中的应用细节。简单来说,强化学习的通用过程就是训练一个智能体,让它通过与环境进行交互,不断学习强化自己的智力,并指导自己的下一步行动,以取得最大化的预期利益。这也让强化学习在模型实时更新,用户行为快速反馈等方向上拥有巨大的优势。但强化学习的落地并不容易,整个落地过程的工程量非常大。现阶段,我们只需要以微软的 DRN 模型作为参考,重点掌握强化学习在推荐系统领域的应用细节就可以了。一个是 DRN 构建了双塔模型作为深度推荐模型,来得出“行动得分”。第二个是 DRN 的更新方式,它利用“微更新”实时地学习用户的奖励反馈,更新推荐模型,再利用阶段性的“主更新”学习全量样本,更新模型。第三个是微更新时的方法,竞争梯度下降算法,它通过比较原网络和探索网络的实时效果,来更新模型的参数。为了方便你复习,我们把这节课的重点知识总结在了下面的表格中,你可以看看。

image.png