强化学习在美团“猜你喜欢”的实践

在这样的多轮交互中,我们把推荐系统看作智能体(Agent),用户看作环境(Environment),推荐系统与用户的多轮交互过程可以建模为MDP:

我们的优化目标是使Agent在多轮交互中获得的收益最大化:

具体而言,我们把交互过程中的MDP建模如下:

超参数$\phi$的物理意义是调整全量数据集中点击和下单模型的TradeOff,通过综合考虑点击和下单两个任务的AUC确定,没有个性化的因素。我们以此为切入点,使用Agent的动作调整融合超参数,令:$score=click\ast\left(pay+\phi\right)$

a是由Agent的策略生成Action,这样做有两个好处:其一,我们知道一个较优解是a=1,这种情况下强化学习策略和基线的排序策略保持一致,由于强化学习是个不断试错的过程,我们可以很方便地初始化Agent的策略为a=1,从而避免在实验初期伤害线上效果。其二,允许我们根据物理意义对Action做Clip,从而减轻强化学习更新过程不稳定造成的实际影响。

在实验过程中我们发现,强化学习的策略可能上线初期效果很好,在点击和下单指标上都取得了一定的提升,但在后续会逐渐下降,如图7前半段所示。在逐层转化效率的分析中,我们发现强化学习分桶的设备曝光率和UV维度点击率有所降低,而用户停留时长和浏览深度稳定提升,这说明Agent学习到了让用户与推荐系统更多交互,从而获取更多曝光和转化机会的策略,但这种策略对于部分强烈下单意图用户的体验是有伤害的,因为这部分用户意图转化的代价变高了,因而对展位的期望变低。针对这种情况,我们在奖励塑形中加入两个惩罚项:

修正后的奖励为:

在模型方面,我们在不断改进MDP建模的过程中先后尝试了Q-Learning、DQN[3]和DDPG[4]模型,也面临着强化学习中普遍存在更新不够稳定、训练过程容易不收敛、学习效率较低(这里指样本利用效率低,因此需要海量样本)的问题。具体到推荐场景中,由于List-Wise维度的样本比Point-Wise少得多,以及需要真实的动作和反馈作为训练样本,因此我们只能用实验组的小流量做实时训练。这样一来训练数据量相对就比较少,每天仅有几十万,迭代效率较低。为此我们对网络结构做了一些改进,包括引入具体的Advantage函数、State权值共享、On-Policy策略的优化,结合线上A/BTest框架做了十数倍的数据增强,以及对预训练的支持。接下来我们以DDPG为基石,介绍模型改进的工作。

如图8所示,基本的DDPG是Actor-Critic架构。线上使用Actor网络,预测当前State下最好的动作a,并通过Ornstein-Uhlenbeck过程对预测的Action加一个随机噪声得到a’,从而达到在最优策略附近探索的目的。将a’作用于线上,并从用户(Environment)获得相应的收益。训练过程中,Critic学习估计当前状态s下采取动作a获得的收益,使用MSE作为LossFunction:

对参数求导:

Actor使用Critic反向传播的策略梯度,使用梯度上升的方法最大化Q估计,从而不断优化策略:

在确定性策略梯度的公式中,$\theta$是策略的参数,Agent将使用策略$\mu\theta\left(s\right)$在状态s生成动作a,$\rho^{}\mu$表示该策略下的状态转移概率。在整个学习过程中,我们不需要真的估计策略的价值,只需要根据Critic返回的策略梯度最大化Q估计。Critic不断优化自己对Q(s,a)的估计,Actor通过Critic的判断的梯度,求解更好的策略函数。如此往复,直到Actor收敛到最优策略的同时,Critic收敛到最准确的Q(s,a)估计。

接下来基于这些我们介绍的DDPG模型改进的工作。

如图9所示,在实际实验中观察V(s)和A(s,a)均值的比值大约为97:3,可以验证我们的这一判断。在实际训练过程中,我们先根据状态和收益训练V(s),再使用Q(s,a)-V(s)的残差训练A(s,a),很大程度上提升了训练稳定性,并且我们可以通过残差较为直观地观测到到当前策略是否优于基线。图8中A(s,a)稳定大于0,可以认为强化学习在自己的目标上取得了稳定的正向收益。

受A3C[6]网络的启发,我们观察到DDPG的网络中Actor和Critic网络中都有State的表达,而在我们的场景中大部分参数都集中在State的部分,在十万量级,其他参数只有数千,因此我们尝试把State部分的权重做共享,这样可以减少约一半的训练参数。

在A2C[7]的论文里作者论述了他们的见解:同步A2C实现比异步实现的A3C表现要好。目前尚未看到任何证据证明异步引入的噪声能够提供任何性能收益,因此为了提升训练效率,我们采取了这个做法,使用同一套参数估计Q_{t+1}和更新Q_t,从而使模型参数再次减半。

考虑多组强化学习实验同时在线的情况,结合A/BTest环境特点,我们把以上网络框架扩展到多Agent的情况。

如图11所示,线上多组实验共享State表达和V(s)的估计,每个策略训练自己的A(s,a)网络且能快速收敛,这样的结构一方面使训练过程更加稳定,另一方面为强化学习策略全量提供了可能性。

强化学习通常是在一次次试错(Trial-and-Error)中学习,实时地改进策略并获得反馈能大幅提升学习效率,尤其在连续策略中。这一点在游戏场景下很容易理解,相应地,我们也在推荐系统中构建了实时深度学习系统,让策略更新更加高效。为了支持实时更新的DRL模型和高效实验,我们针对OnlineLearning的需求,基于TensorFlow及TFServing做了一些改进和优化,设计并实现了一套特征配置化的实时更新的DRL框架,在实验迭代过程中沉淀了DQN、DDQN、DDPG、A3C、A2C、PPO[8]等模型。系统架构如图13所示:

训练部分工作流如下:

线上预测部分,推荐系统的Agent从Tair获取预处理参数,并将处理后的特征喂给TFServing做前向传播,得到Action并对展现给用户的排序结果做相应的干预。

针对TensorFLow对OnlineLearning支持比较弱,Serving对千万级Embedding处理效率不高的问题,我们做了一些改进:

同时强化学习作为机器学习的一个分支,很多机器学习的经验仍然适用于此。比如数据和特征决定效果的上限,模型和算法只是不断逼近它。对于强化学习而言特征空间主要包含在状态的建模中,我们强烈建议在状态建模上多做一些尝试,并信任模型有能力从中做出判断。再如,使用更多的训练数据降低经验风险,更少的参数降低结构风险的思路对强化学习仍然适用,因此我们认为DDPG的改进工作能够推广到不同业务的线上A/BTest场景中。此外,我们在训练过程中也遇到了强化学习对随机性敏感的问题[10],为此我们线上使用了多组随机种子同时训练,选择表现最好的一组参数用于实际参数更新。

THE END
1.原创探索AI中的强化学习与深度强化学习原理及应用导读:随着人工智能技术的不断发展,强化学习和深度强化学习作为其重要分支,在许多领域都取得了显著的成果。本文将深入探讨强化学习和深度强化学习的原理及应用,帮助读者更好地理解这两种技 随着人工智能技术的不断发展,强化学习和深度强化学习作为其重要分支,在许多领域都取得了显著的成果。本文将深入探讨强化学习和深度强https://www.0753zz.com/html/biancheng/zx/2024-11-27/319487.html
2.Ai顶会创新点!GNN+强化学习,高性能,低成本!今天给大家推荐一个涨点发顶会的好方向:GNN+强化学习。这俩热点的结合可以轻松实现“1+1>2”的效果。GNN能够深入挖掘图中的模式和关系,而RL(强化学习)擅长在动态环境中进行序列决策,尤其是在需要长期规划和适…https://zhuanlan.zhihu.com/p/10461522860
3.强化学习算法详解:从理论到实践的完整指南强化学习算法详解:从理论到实践的完整指南 强化学习概述 强化学习是一种机器学习方法,旨在让智能体从与环境的交互中学习最佳行为策略,以最大化累积奖励。强化学习的核心思想是通过与https://www.jianshu.com/p/432bd53f17f8
4.ReinforcementLearning)和在线强化学习(OnlineReinforcementLearnin离线强化学习就像是通过看别人开车的录像学习一样,你使用预先准备好的数据(录像)来学习如何做出最佳决策。而在线强化学习则更像是亲自上路学车,你在真实环境中与环境互动,通过实际经验来改进你的决策和行为。 专业版本 离线强化学习(OfflineReinforcement Learning)和在线强化学习(Online Reinforcement Learning)是两种强化学https://blog.csdn.net/qq_40718185/article/details/139231769
5.离线强化学习为什么在线强化学习算法没有受到外推误差的影响呢?因为对于在线强化学习,即使训练是离线策略的,智能体依然有机会通过与环境交互及时采样到新的数据,从而修正这些误差。但是在离线强化学习中,智能体无法和环境交互。因此,一般来说,离线强化学习算法要想办法尽可能地限制外推误差的大小,从而得到较好的策略。https://hrl.boyuai.com/chapter/3/%E7%A6%BB%E7%BA%BF%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0/
6.科学网—[转载]强化学习在资源优化领域的应用强化学习在资源优化领域的应用王金予, 魏欣然, 石文磊, 张佳微软亚洲研究院,北京 100080 摘要:资源优化问题广泛存在于社会、经 ,科学网https://blog.sciencenet.cn/blog-3472670-1312677.html
7.强化学习离线模型离线模型和在线模型强化学习离线模型 离线模型和在线模型,在推荐算法领域,时常会出现模型离线评测效果好,比如AUC、准召等指标大涨,但上线后业务指标效果不佳,甚至下降的情况,比如线上CTR或CVR下跌。本文尝试列举一些常见的原因,为大家排查问题提供一点思路。1.离线、在线特征不一致离线https://blog.51cto.com/u_14499/11815202
8.基于安全强化学习的主动配电网有功无功协调优化调度基于安全强化学习的主动配电网有功-无功协调优化调度编者按光伏(photovoltaic,PV)在主动配电网(activedistributionnetwork,ADN)中比重的提升可能引发严重的电压越限问题。此外,由于配电线路阻抗大,有功、https://news.bjx.com.cn/html/20240402/1369428.shtml
9.AIR学术李升波:将强化学习用于自动驾驶:技术挑战与发展趋势或使用模型,或使用预先采集的数据,先离线训练一个最优策略,然后部署到自动驾驶汽车,实现在线控制应用。第二,同时训练和应用策略,即SOTI方法:这是利用强化学习的探索试错机制,通过在线探索环境产生数据,实现自动驾驶策略的在线自我更新。这类方法要求强化学习算法必须进行在线部署,从而进行在线地探索和在线地训练。https://air.tsinghua.edu.cn/info/1008/1323.htm
10.生成式AI与LangCHain(二)(3)离线方法通过直接利用人类反馈来绕过在线强化学习的复杂性。我们可以区分基于排名和基于语言的方法: 基于排名的:人类对语言模型输出进行排名,用于定义微调的优化目标,完全避免了强化学习。这包括 Preference Ranking Optimization (PRO; Song 等人,2023)和 Direct Preference Optimization (DPO; Rafailov 等人,2023)等方法。https://developer.aliyun.com/article/1511477
11.深度强化学习使用MATLAB 和 Simulink 将深度强化学习应用于控制和决策应用。https://ww2.mathworks.cn/solutions/deep-learning/deep-reinforcement-learning.html
12.ICLR上新强化学习扩散模型多模态语言模型,你想了解的前沿本周,全球最负盛名的人工智能盛会之一 ICLR 大会将在奥地利维也纳举办。所以,今天的“科研上新”将为大家带来多篇微软亚洲研究院在 ICLR 2024 上的精选论文解读,涉及领域涵盖深度强化学习、多模态语言模型、时间序列扩散模型、无监督学习等多个前沿主题。 https://www.msra.cn/zh-cn/news/features/new-arrival-in-research-11
13.基于深度强化学习的水面无人艇路径跟踪方法6.针对上述现有技术的不足,本发明所要解决的技术问题是:如何提供一种基于深度强化学习的水面无人艇路径跟踪方法,无需进行环境和无人艇运动建模并且具备自适应能力,从而能够进一步提高无人艇路径跟踪控制的稳定性和准确性。 7.为了解决上述技术问题,本发明采用了如下的技术方案: https://www.xjishu.com/zhuanli/54/202210772926.html/
14.大语言模型的拐杖——RLHF基于人类反馈的强化学习强化学习从人类反馈(RLHF)是一种先进的AI系统训练方法,它将强化学习与人类反馈相结合。它是一种通过将人类训练师的智慧和经验纳入模型训练过程中,创建更健壮的学习过程的方法。该技术涉及使用人类反馈创建奖励信号,然后通过强化学习来改善模型的行为。http://wehelpwin.com/article/4042
15.替代离线RL?Transformer进军决策领域,“序列建模”成关键Transformer 开始进军决策领域了,它能否替代离线强化学习呢?近日,UC 伯克利、FAIR 和谷歌大脑的研究者提出了一种通过序列建模进行强化学习的 Transformer 架构,并在 Atari、OpenAI Gym 等强化学习实验平台上媲美甚至超越 SOTA 离线 RL 基线方法。 自2016 年 AlphaGo 击败李世石开始,强化学习(Reinforcement Learning)在优化https://www.thepaper.cn/newsDetail_forward_13934432
16.动手学强化学习本书系统地介绍了强化学习的原理和实现,是一本理论扎实、落地性强的图书。本书包含3个部分:第一部分为强化学习基础,讲解强化学习的基础概念和表格型强化学习方法;第二部分为强化学习进阶,讨论深度强化学习的思维方式、深度价值函数和深度策略学习方法;第三部分为强化https://www.ptpress.cn/bookDetails?id=UB7d4a1fc362a4a
17.强化学习的10个现实应用通过强化学习,金融贸易不再像从前那样由分析师做出每一个决策,真正实现机器的自动决策。例如,IBM构建有一个强大的、面向金融交易的强化学习平台,该平台根据每一笔金融交易的损失或利润来调整奖励函数。 Reinforcement Learning in NLP (Natural Language Processing) https://www.flyai.com/article/750
18.「数字天空科技招聘」数字天空科技怎么样?数字天空科技 · 强化学习算法研究员 影响力129 访客993四川成都 个人简介 游戏行业研发,任职数字天空科技强化学习算法研究员职位,常驻四川;近期有993位访问者,在脉脉形成影响力129;在2020-6至今,任数字天空科技公司强化学习算法研究员职位;在2019-5至2020-6,任字节跳动公司iOS开发工程师职位;在2018-8至2018-10,.https://maimai.cn/brand/home/1ahq1EPmY
19.人工智能技术研究人工智能技术创新强化学习Reinforcement Learning 自动神经网络结构生成 自动离线强化学习 自动算法选择与动态调参 自动表示学习 样本高效强化学习 环境学习Environment Learning 知识驱动离散环境学习 知识驱动连续环境学习 数据驱动基于ML的环境学习 数据驱动基于因果的环境学习 AI基础架构 https://www.4paradigm.com/about/research.html