- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
强化学习在阿里的技术演讲与业务创新
展开查看详情
1 .
2 .
3 .主编 达卿 仁重 作者 (排名不分先后) 搜 索 事 业 部 哲予 削觚 萱然 益风 席奈 龙楚 云志 ⼠雍 晨松 劲枩 冷江 阿⾥妈妈事业部 探微 庙算 亮博 红桦 计算平台事业部 临在 岑鸣 智能服务事业部 海青 致谢 技术战略部 (以上均为阿里花名)
4 . 序 当前的机器学习算法⼤致可以分为有监督的学习、⽆监督的学习和强化学 习(Reinforcement Learning)等。强化学习和其他学习⽅法不同之处在于强化学 习是智能系统从环境到⾏为映射的学习,以使奖励信号函数值最⼤。如果智能 体的某个⾏为策略导致环境正的奖赏,那么智能体以后产⽣这个⾏为策略的趋 势便会加强。强化学习是最接近于⾃然界动物学习的本质的⼀种学习范式。然 ⽽强化学习从提出到现在,也差不多有半个世纪左右,它的应⽤场景仍很有限, 规模⼤⼀点的问题就会出现维数爆炸,难于计算,所以往往看到的例⼦都是相 对简化的场景。 最近因为与深度学习结合,解决海量数据的泛化问题,取得了让⼈印象深刻 的成果。包括 DeepMind 的⾃动学习玩 ATARI 游戏,以及 AlphaGo 在围棋⼤赛中 战胜世界冠军等,其背后的强⼤武器就是深度强化学习技术。相对于 DeepMind 和学术界看重强化学习的前沿研究,阿⾥巴巴则将重点放在推动强化学习技术 输出及商业应⽤。在阿⾥移动电商平台中,⼈机交互的便捷,碎⽚化使⽤的普 遍性,页⾯切换的串⾏化,⽤户轨迹的可跟踪性等都要求我们的系统能够对变 幻莫测的⽤户⾏为以及瞬息万变的外部环境进⾏完整地建模。平台作为信息的 载体,需要在与消费者的互动过程中,根据对消费者(环境)的理解,及时调整 提供信息(商品、客服机器⼈的回答、路径选择等)的策略,从⽽最⼤化过程累 积收益(消费者在平台上的使⽤体验) 。基于监督学习⽅式的信息提供⼿段,缺 少有效的探索能⼒,系统倾向于给消费者推送曾经发⽣过⾏为的信息单元(商 品、店铺或问题答案) 。⽽强化学习作为⼀种有效的基于⽤户与系统交互过程建 模和最⼤化过程累积收益的学习⽅法,在⼀些阿⾥具体的业务场景中进⾏了很 好的实践并得到⼤规模应⽤。 在搜索场景中,阿⾥巴巴对⽤户的浏览购买⾏为进⾏ MDP 建模,在搜索 实时学习和实时决策计算体系之上,实现了基于强化学习的排序策略决策模型,
5 . 序 .V. 从⽽使得淘宝搜索的智能化进化⾄新的⾼度。双 11 桶测试效果表明,算法指标 取得了近 20% 的⼤幅提升。 在推荐场景中,阿⾥巴巴使⽤了深度强化学习与⾃适应在线学习,通过持 续机器学习和模型优化建⽴决策引擎,对海量⽤户⾏为以及百亿级商品特征进 ⾏实时分析,帮助每⼀个⽤户迅速发现宝贝,提⾼⼈和商品的配对效率,算法 效果指标提升了 10% 20%。 在智能客服中,如阿⾥⼩蜜这类的客服机器⼈,作为投放引擎的 agent,需 要有决策能⼒。这个决策不是基于单⼀节点的直接收益来确定,⽽是⼀个较为 长期的⼈机交互的过程,把消费者与平台的互动看成是⼀个马尔可夫决策过程, 运⽤强化学习框架,建⽴⼀个消费者与系统互动的回路系统,⽽系统的决策是 建⽴在最⼤化过程收益上,来达到⼀个系统与⽤户的动态平衡。 在⼴告系统中,如果⼴告主能够根据每⼀条流量的价值进⾏单独出价,⼴ 告主便可以在各⾃的⾼价值流量上提⾼出价,⽽在普通流量上降低出价,如此 容易获得较好的 ROI,与此同时平台也能够提升⼴告与访客间的匹配效率。阿⾥ 巴巴实现了基于强化学习的智能调价技术,对于来到⼴告位的每⼀个访客,根 据他们的当前状态去决定如何操作调价,给他们展现特定的⼴告,引导他们的 状态向我们希望的⽅向上做⼀步转移,在双 11 实测表明,CTR,RPM 和 GMV 均得到了⼤幅提升。 当然,强化学习在阿⾥巴巴内部的实践远不⽌此,鉴于篇幅限制,这本电 ⼦书只介绍了其中的⼀部分。未来深度强化学习的发展必定是理论探索和应⽤ 实践的双链路持续深⼊。希望这本电⼦书能抛砖引⽟,给⼯业界和学术界带来 ⼀些输⼊,共同推进深度强化学习的更⼤发展。 阿⾥巴巴 研究员 青峰 2018 年 01 ⽉于杭州
6 . 目 录 第一章 基于强化学习的实时搜索排序策略调控 1 1.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 问题建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.1 强化学习简介 . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.2 状态定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.3 奖赏函数设定 . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3 算法设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3.1 策略函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3.2 策略梯度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.3 值函数的学习 . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.4 奖赏塑形 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.5 实验效果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.6 DDPG 与梯度融合 . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.7 总结与展望 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 第二章 延迟奖赏在搜索排序场景中的作用分析 18 2.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2 搜索排序问题回顾 . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3 数据统计分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4 搜索排序问题形式化 . . . . . . . . . . . . . . . . . . . . . . . . . 24
7 .. II . ⽬ 录 2.5 理论分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.5.1 马尔可夫性质 . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.5.2 折扣率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.6 实验分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 第三章 基于多智能体强化学习的多场景联合优化 34 3.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.2 问题建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2.1 相关背景简介 . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2.2 建模⽅法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.3 应⽤ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.3.1 搜索与电商平台 . . . . . . . . . . . . . . . . . . . . . . . . 43 3.3.2 多排序场景协同优化 . . . . . . . . . . . . . . . . . . . . . 45 3.4 实验 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.4.1 实验设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.4.2 对⽐基准 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.4.3 实验结果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.4.4 在线⽰例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.5 总结与展望 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 第四章 强化学习在淘宝锦囊推荐系统中的应用 55 4.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.1.1 淘宝锦囊 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.1.2 锦囊的类型调控 . . . . . . . . . . . . . . . . . . . . . . . . 55 4.1.3 ⼯作摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.2 系统框架及问题建模 . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.2.1 系统框架 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.2.2 问题建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.3 算法及模型设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8 . ⽬ 录 . III . 4.3.1 主体框架 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.3.2 分层采样池 . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.3.3 基准约减 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.3.4 算法流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.4 实验与总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 第五章 基于强化学习的引擎性能优化 65 5.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.2 问题建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.2.1 状态定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.2.2 动作空间设计 . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.2.3 状态转移函数 . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.2.4 奖赏函数的设计 . . . . . . . . . . . . . . . . . . . . . . . . 70 5.3 算法设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.3.1 Loss Function . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.3.2 Actor-crtitic ⽅法 . . . . . . . . . . . . . . . . . . . . . . . . 72 5.4 理论分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.5 实验效果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.6 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 第六章 基于强化学习分层流量调控 75 6.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.2 问题建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 6.2.1 Dynamic Action Boundary by CEM . . . . . . . . . . . . . . 78 6.3 实验效果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 6.4 总结与展望 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 第七章 风险商品流量调控 81 7.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 7.1.1 为什么进⾏风险商品流量调控 . . . . . . . . . . . . . . . . 81
9 .. IV . ⽬ 录 7.1.2 为什么使⽤强化学习调控 . . . . . . . . . . . . . . . . . . 82 7.2 基于强化学习的问题建模 . . . . . . . . . . . . . . . . . . . . . . . 82 7.2.1 状态空间的定义 . . . . . . . . . . . . . . . . . . . . . . . . 82 7.2.2 动作空间的定义 . . . . . . . . . . . . . . . . . . . . . . . . 84 7.2.3 奖赏函数的定义 . . . . . . . . . . . . . . . . . . . . . . . . 84 7.2.4 模型选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 7.2.5 奖赏函数 scale . . . . . . . . . . . . . . . . . . . . . . . . . 86 7.3 流量调控系统架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 7.4 线上效果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 第八章 虚拟淘宝 89 8.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8.1.1 强化学习⾯临的问题 . . . . . . . . . . . . . . . . . . . . . 89 8.1.2 虚拟淘宝 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8.2 学习⽤户⾏为:监督学习 . . . . . . . . . . . . . . . . . . . . . . . 89 8.3 学习⽤户意图:逆强化学习 . . . . . . . . . . . . . . . . . . . . . 90 8.3.1 逆强化学习概述 . . . . . . . . . . . . . . . . . . . . . . . . 91 8.3.2 学习⽤户意图 . . . . . . . . . . . . . . . . . . . . . . . . . 91 8.3.3 ⽣成对抗式模仿学习 . . . . . . . . . . . . . . . . . . . . . 92 8.4 构建⽤户⾏为模拟器 . . . . . . . . . . . . . . . . . . . . . . . . . 92 8.4.1 问题建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 8.4.2 算法设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 8.4.3 实验结果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 第九章 组合优化视角下基于强化学习的精准定向广告 OCPC 业务优化 96 9.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 9.2 问题建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 9.2.1 奖赏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 9.2.2 动作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
10 . ⽬ 录 .V. 9.2.3 状态定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 9.3 建模粒度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 9.4 模型选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 9.5 探索学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 9.6 业务实战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 9.6.1 系统设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 9.6.2 奖赏设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 9.6.3 实验效果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 9.7 总结与展望 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 第十章 策略优化方法在搜索广告排序和竞价机制中的应用 111 10.1 业务背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 10.2 ⼴告排序和竞价的数学模型和优化⽅法 . . . . . . . . . . . . . . . 112 10.3 ⾯向⼴告商、⽤户和平台收益的排序公式设计 . . . . . . . . . . . 114 10.4 系统简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 10.4.1 离线仿真模块 . . . . . . . . . . . . . . . . . . . . . . . . . 115 10.4.2 离线强化学习进⾏排序策略模型初始化 . . . . . . . . . . 117 10.5 在线排序策略模型优化 . . . . . . . . . . . . . . . . . . . . . . . . 118 10.6 实验分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 10.7 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 第十一章 TaskBot -阿里小蜜的任务型问答技术 124 11.1 背景和问题建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 11.2 模型设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 11.2.1 Intent Network . . . . . . . . . . . . . . . . . . . . . . . . . 125 11.2.2 Belief Tracker . . . . . . . . . . . . . . . . . . . . . . . . . 126 11.2.3 Policy Network . . . . . . . . . . . . . . . . . . . . . . . . . 127 11.2.4 模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 11.3 业务实战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
11 .. VI . ⽬ 录 11.4 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 第十二章 DRL 导购-阿里小蜜的多轮标签推荐技术 131 12.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 12.2 算法框架 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 12.3 深度强化学习模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 12.3.1 强化学习模块 . . . . . . . . . . . . . . . . . . . . . . . . . 136 12.3.2 最终模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 12.4 业务实战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 12.5 总结和展望 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
12 . 第一章 基于强化学习的实时搜索排 序策略调控 1.1 背景 淘宝的搜索引擎涉及对上亿商品的毫秒级处理响应,⽽淘宝的⽤户不仅数 量巨⼤,其⾏为特点以及对商品的偏好也具有丰富性和多样性。因此,要让搜 索引擎对不同特点的⽤户做出针对性的排序,并以此带动搜索引导的成交提升, 是⼀个极具挑战性的问题。传统的 Learning to Rank(LTR)⽅法主要是在商品 维度进⾏学习,根据商品的点击、成交数据构造学习样本,回归出排序权重。尽 管 Contextual LTR ⽅法可以根据⽤户的上下⽂信息对不同的⽤户给出不同的排 序结果,但它没有考虑到⽤户搜索商品是⼀个连续的过程。这⼀连续过程的不 同阶段之间不是孤⽴的,⽽是有着紧密的联系。换句话说,⽤户最终选择购买 或不够买商品,不是由某⼀次排序所决定,⽽是⼀连串搜索排序的结果。 实际上,如果把搜索引擎看作智能体(Agent) 、把⽤户看作环境(Environ- ,则商品的搜索问题可以被视为典型的顺序决策问题(Sequential Decision- ment) making Problem): (1) ⽤户每次请求 PV 时,Agent 做出相应的排序决策,将商品展⽰给⽤户; (2) ⽤户根据 Agent 的排序结果,给出点击、翻页等反馈信号; (3) Agent 接收反馈信号,在新的 PV 请求时做出新的排序决策;
13 ..2. 第⼀章 基于强化学习的实时搜索排序策略调控 (4) 这样的过程将⼀直持续下去,直到⽤户购买商品或者退出搜索。 以前向视⾓(Forward View)来看,⽤户在每个 PV 中的上下⽂状态与之前所 有 PV 中的上下⽂状态和 Agent 的⾏为有着必然因果关系,同⼀个 PV 中 Agent 采取的不同排序策略将使得搜索过程朝不同的⽅向演进;反过来,以后向视⾓ (Backward View)来看,在遇到相同的上下⽂状态时,Agent 就可以根据历史演 进的结果对排序策略进⾏调整,将⽤户引导到更有利于成交的 PV 中去。Agent 每⼀次策略的选择可以看成⼀次试错(Trial-and-Error) ,在这种反复不断地试错 过程中,Agent 将逐步学习到最优的排序策略。⽽这种在与环境交互的过程中进 ⾏试错的学习,正是强化学习(Reinforcement Learning,RL)的根本思想。 强化学习最早可以追溯到巴甫洛夫的条件反射实验,它从动物⾏为研究和 优化控制两个领域独⽴发展,最终经 Bellman 之⼿将其抽象为马尔可夫决策过 程(Markov Decision Process,MDP)问题⽽完成形式化。对于环境反馈的有利 奖赏,Agent 将强化引发这种奖赏的动作,并在以后与环境交互的过程中更偏向 于执⾏该动作。我们尝试将强化学习⽅法引⼊商品的搜索排序中,以优化⽤户 在整个搜索过程中的收益为⽬标,根据⽤户实时⾏为反馈进⾏学习,实现商品 排序的实时调控。图1.1⽐较直观地展⽰了的⽤强化学习来优化搜索排序的过程。 如图所⽰,在三次 PV 请求之间,Agent 做出了两次排序决策(a1 和 a2 ),从⽽ 引导了两次 PV 展⽰。从效果上来看,a1 对应 PV 中并没有发⽣商品点击,⽽ a2 对应 PV 上发⽣了 3 次商品点击。如果将商品点击看成是对排序策略的反馈信 号,那么 Agent 第⼆次执⾏的排序策略 a2 将得到正向的强化激励,⽽其第⼀次 排序策略 a1 得到的激励为零。本⽂接下来将对我们具体的⽅案进⾏详细介绍。 图 1.1: 搜索的序列决策模型
14 . 1.2 问题建模 .3. 1.2 问题建模 1.2.1 强化学习简介 马尔可夫决策过程(Markov Decision Process,MDP)是强化学习的最基本 理论模型 [33]。⼀般地,MDP 可以由⼀个四元组 <S, A, R, T> 表⽰: (1) S 为状态空间(State Space) ,包含了 Agent 可能感知到的所有环境状态; (2) A 为动作空间(Action Space) ,包含了 Agent 在每个状态上可以采取的 所有动作; (3) R : S × A × S → R 为奖赏函数(Reward Function),R(s, a, s′ ) 表⽰在 状态 s 上执⾏动作 a,并转移到状态 s′ 时,Agent 从环境获得的奖赏值; (4) T : S × A × S → [0, 1] 为环境的状态转移函数 (State Transition Function), T (s, a, s′ ) 表⽰在状态 s 上执⾏动作 a,并转移到状态 s′ 的概率。 图 1.2: 强化学习 agent 和环境交互 在 MDP 中,Agent 和环境之间的交互过程可如图1.2所⽰:Agent 感知当前 环境状态 st ,从动作空间 A 中选择动作 at 执⾏;环境接收 Agent 所选择的动作 之后,给以 Agent 相应的奖赏信号反馈 rt+1 ,并转移到新的环境状态 st+1 ,等待 Agent 做出新的决策。在与环境的交互过程中,Agent 的⽬标是找到⼀个最优策
15 ..4. 第⼀章 基于强化学习的实时搜索排序策略调控 略 π ∗ ,使得它在任意状态 s 和任意时间步骤 t 下,都能够获得最⼤的长期累积 奖赏,即 ∑∞ ∗ π = argmaxπ Eπ { γ k rt+k |st = s}, ∀s ∈ S, ∀t ≥ 0. (1.1) k=0 在这⾥,π : S × A → [0, 1] 表⽰ Agent 的某个策略(即状态到动作的概率分布) , Eπ 表⽰策略 π 下的期望值,γ ∈ [0, 1) 为折扣率(Discount Rate) ,k 为未来时间 步骤,rt+k 表⽰ Agent 在时间步骤 (t + k) 上获得的即时奖赏。 强化学习主要通过寻找最优状态值函数(Optimal State Value Function) ∑ ∞ ∗ V (s) = max Eπ { γ k rt+k |st = s}, ∀s ∈ S, ∀t ≥ 0 (1.2) π k=0 或最优状态动作值函数(Optimal State-Action Value Function) ∑ ∞ ∗ Q (s, a) = max Eπ { γ k rt+k |st = s, at = a}, ∀s ∈ S, ∀a ∈ A, ∀t ≥ 0 (1.3) π k=0 来学习最优策略 π ∗ 。经典的强化学习算法(如:SARSA, Q-learning 等)将值函数 ⽤状态空间到动作空间的⼀张表来进⾏表达,并通过⼴义策略迭代(Generalized Policy Iteration)⽅法对最优值函数进⾏逼近,从⽽得到最优策略 π ∗ 。然⽽,在 ⼤规模状态/动作空间问题(包括连续状态/动作空间问题)中,值表形式的值函 数所需要的存储空间远远超过了现代计算机的硬件条件,使得这些经典的算法 不再适⽤。这也即强化学习中的著名的“维度灾难”问题。 值函数估计(Value Function Approximation)是解决维度灾难问题的主要⼿ 段之⼀,其主要思想是将状态值函数或动作值函数进⾏参数化,将值函数空间 转化为转化为参数空间,达到泛化 (Generalization) 的⽬的。以状态值函数为例, 在参数向量 θ 下,任意状态 s 的值 V (s) 可以表达为 Vθ (s) = fθ (ϕ(s)). (1.4)
16 . 1.2 问题建模 .5. 其中,ϕ(s) 为状态 s 的特征向量,f 为定义在状态特征空间上的某个函数,其具 体形式取决于算法本⾝。因此,对值函数 V (s) 的学习也就转化为了对参数向量 θ 的学习。基于对函数 f 采⽤的不同形式,强化学习领域也发展出了不同的⼦ 分⽀,这其中包括:线性函数估计⽅法,回归树⽅法,神经⽹络⽅法,基于核的 强化学习⽅法等。值得⼀提的是,深度强化学习(Deep Reinforcement Learning, DRL)本质上属于采⽤神经⽹络作为值函数估计器的⼀类⽅法,其主要优势在 于它能够利⽤深度神经⽹络对状态特征进⾏⾃动抽取,避免了⼈⼯定义状态特 征带来的不准确性,使得 Agent 能够在更原始的状态上进⾏学习。 1.2.2 状态定义 在我们的⽅案中,⽤户被视为响应 Agent 动作的环境,Agent 需要感知环境 状态进⾏决策。因此,如何定义环境状态使其能够准确反映出⽤户对商品的偏 好是⾸要问题。假设⽤户在搜索的过程中倾向于点击他感兴趣的商品,并且较 少点击他不感兴趣的商品。基于这个假设,我们将⽤户的历史点击⾏为作为抽 取状态特征的数据来源。具体地,在每⼀个 PV 请求发⽣时,我们把⽤户在最近 ⼀段时间内点击的商品的特征(包括:价格、转化率、销量等)作为当前 Agent 感知到的状态,令 s 代表状态,则有 s = (price1 , cvr1 , sale1 , ..., pricen , cvrn , salen ). (1.5) 其中,n 表⽰历史点击商品的个数,为可变参数,pricei 、cvri 、salei 分别代表 商品 i(0 ≤ i ≤ n)的价格、转化率和销量。另外,为了区别不同群体的⽤户, 我们还将⽤户的长期特征加⼊到了状态的定义中,最终的状态定义为 s = (price1 , cvr1 , sale1 , ..., pricen , cvrn , salen , power, item, shop). (1.6) 其中,power、item 和 shop 分别代表⽤户的购买⼒、偏好宝贝以及偏好店铺特 征。在具体算法实现时,由于状态特征不同维度的尺度不⼀样,我们会将所有 维度的特征值归⼀化到 [0, 1] 区间内,再进⾏后续处理。
17 ..6. 第⼀章 基于强化学习的实时搜索排序策略调控 1.2.3 奖赏函数设定 当状态空间 S 和动作空间 A 确定好之后(动作空间即 Agent 能够选择排序 策略的空间) ,状态转移函数 T 也随即确定,但奖赏函数 R 仍然是个未知数。奖 赏函数 R 定义的是状态与动作之间的数值关系,⽽我们要解决的问题并⾮是⼀ 个天然存在的 MDP,这样的数值关系并不存在。因此,另⼀个重要的步骤是把 我们要达到的⽬标(如:提⾼点击率、提⾼ GMV 等)转化为具体的奖赏函数 R, 在学习过程中引导 Agent 完成我们的⽬标。 幸运的是,这样的转化在我们的场景中并不复杂。如前所述,Agent 给出商 品排序,⽤户根据排序的结果进⾏的浏览、商品点击或购买等⾏为都可以看成 对 Agent 的排序策略的直接反馈。我们采取的奖赏函数定义规则如下: (1) 在⼀个 PV 中如果仅发⽣商品点击,则相应的奖赏值为⽤户点击的商品的数 量; (2) 在⼀个 PV 中如果发⽣商品购买,则相应奖赏值为被购买商品的价格; (3) 其他情况下,奖赏值为 0。 从直观上来理解,第⼀条规则表达的是提⾼ CTR 这⼀⽬标,⽽第⼆条规则表达 的则是提⾼ GMV。在第四章中,我们将利⽤奖赏塑形(Reward Shaping)⽅法 对奖赏函数的表达进⾏丰富,提⾼不同排序策略在反馈信号上的区分度。 1.3 算法设计 1.3.1 策略函数 在搜索场景中,排序策略实际上是⼀组权重向量,我们⽤ µ = (µ1 , µ2 , ..., µm ) 来表⽰。每个商品最终的排序次序是由其特征分数和排序权重向量 µ 的内积所 决定的。⼀个排序权重向量是 Agent 的⼀个动作,那么排序权重向量的欧式空 间就是 Agent 的动作空间。根据对状态的定义可知,我们的状态空间也是连续
18 . 1.3 算法设计 .7. 的数值空间。因此,我们⾯临的问题是在两个连续的数值空间中学习出最优的 映射关系。 策略逼近(Policy Approximation)⽅法是解决连续状态/动作空间问题的有 效⽅法之⼀。其主要思想和值函数估计⽅法类似,即⽤参数化的函数对策略进 ⾏表达,通过优化参数来完成策略的学习。通常,这种参数化的策略函数被称为 Actor。我们采⽤确定性策略梯度算法(Deterministic Policy Gradient,DPG)算 法来进⾏排序的实时调控优化。在该算法中,Actor 的输出是⼀个确定性的策略 (即某个动作),⽽⾮⼀个随机策略(即动作的概率分布)。对于连续动作空间问 题,确定性策略函数反⽽让策略改进(Policy Improvement)变得更加⽅便了,因 为贪⼼求最优动作可以直接由函数输出。 我们采⽤的 Actor 以状态的特征为输⼊,以最终⽣效的排序权重分为输出。 假设我们⼀共调控 m(m ≥ 0)个维度的排序权重,对于任意状态 s ∈ S,Actor 对应的输出为 µθ (s) = (µ1θ (s), µ2θ (s), ..., µm θ (s)). (1.7) 其中,θ = (θ1 , θ2 , …, θm ) 为 actor 的参数向量,对于任意 i(1≤i≤m),µiθ (s) 为第 i 维的排序权重分,具体地有 Ci exp(θi⊤ ϕ(s)) µiθ = ∑m ⊤ . (1.8) j=1 exp(θj ϕ(s)) 在这⾥,ϕ(s) 为状态 s 的特征向量,θ1 , θ2 , ..., θm 均为长度与 ϕ(s) 相等的向量, Ci 为第 i 维排序权重分的常数,⽤来对其量级进⾏控制(不同维度的排序权重 分会有不同的量级)。 1.3.2 策略梯度 回顾⼀下,强化学习的⽬标是最⼤化任意状态 s 上的长期累积奖赏(参考 对 V ∗ 和 Q∗ 的定义)。实际上,我们可以⽤⼀个更⼀般的形式来表达这⼀⽬标,
19 ..8. 第⼀章 基于强化学习的实时搜索排序策略调控 即 ∫ ∫ ∑ ∞ J(µθ ) = γ t−1 p0 (s′ )T (s′ , µθ (s′ ), s)R(s, µθ (s)) ds′ ds S S t=1 ∫ (1.9) = ρµ (s)R(s, µθ ) ds S = Es∼ρµ [R(s, µθ (s))]. ∫ ∑ 其中,ρµ (s) = S ∞t=1 γ t−1 p0 (s′ )T (s′ , µθ (s′ ), s) ds′ 表⽰状态 s 在⼀直持续的学 习过程中被访问的概率,p0 为初始时刻的状态分布,T 为环境的状态转移函数。 不难推测,J(µθ ) 实际上表达的是在确定性策略 µθ 的作⽤下,Agent 在所有状态 上所能够获得的长期累积奖赏期望之和。通俗地讲,也就是 Agent 在学习过程 中得到的所有奖赏值。 显然,为了最⼤化 J(µθ ),我们需要求得 J(µθ ) 关于参数 θ 的梯度,让 θ 往 梯度⽅向进⾏更新。根据策略梯度定理(Policy Gradient Theorem),J(µθ ) 关于 θ 的梯度为 ∫ ∇θ J(µθ ) = ρµ (s)∇θ µθ (s)∇a Qµ (s, a)|a = µθ (s) ds S (1.10) =E s∼ρµ µ [∇θ µθ (s)∇a Q (s, a)|a = µθ (s)]. 其中,Qµ (s, a) 为策略 µθ 下状态动作对(State-Action Pair)(s, a) 对应的长期累 积奖赏。因此,参数 θ 的更新公式可以写为 θt+1 ← θt + αθ ∇θ µθ (s)∇a Qµ (s, a)|a = µθ (s). (1.11) 在这个公式中,αθ 为学习率,∇θ µθ (s) 为⼀个 Jacobian Matrix,能够很容易地算 出来,但⿇烦的是 Qµ (s, a) 及其梯度 ∇a Qµ (s, a) 的计算。因为 s 和 a 都是连续 的数值,我们⽆法精确获取 Qµ (s, a) 的值,只能通过值函数估计⽅法进⾏近似 计算。我们采⽤线性函数估计⽅法(Linear Function Approximation,LFA),将 Q 函数⽤参数向量 w 进⾏表达: Qµ (s, a) ≈ Qw (s, a) = ϕ(s, a)⊤ w. (1.12)
20 . 1.3 算法设计 .9. 在这⾥,ϕ(s, a) 为状态动作对 (s, a) 的特征向量。采⽤线性值函数估计的好处不 仅在于它的计算量⼩,更重要的是在它能让我们找到合适的 ϕ(s, a) 的表达,使 得 ∇a Qw (s, a) 可以作为 ∇a Qµ (s, a) 的⽆偏估计。⼀个合适的选择是令 ϕ(s, a) = a⊤ ∇θ µθ (s),则可以得到 ∇a Qµ (s, a) ≈ ∇a Qw (s, a) = ∇a (a⊤ ∇θ µθ (s))⊤ w = ∇θ µθ (s)⊤ w. (1.13) 因此,策略函数的参数向量 θ 的更新公式可以写为 θt+1 ← θt + αθ ∇θ µθ (s)(∇θ µθ (s)⊤ w). (1.14) 1.3.3 值函数的学习 在更新策略函数 µθ 的参数向量 θ 的同时,值函数 Qw 的参数向量 w 也需要 进⾏更新。最简单地,w 的更新可以参照 Q-learning 算法 [4, 5] 的线性函数估计 版本进⾏,对于样本 (st , at , rt , st+1 ),有: δt+1 = rt + γQw (st+1 , µθ (st+1 )) − Qw (st , at ) = rt + wt⊤ (γϕ(st+1 , µθ (st+1 ) − ϕ(st , at )) (1.15) wt+1 = wt + αw δt+1 ϕ(st , at ) = wt + αw δt+1 (a⊤ t ∇θ µθ (st )). 其中,st 、at 、rt 和 st+1 为 Agent 在 t 时刻感知的状态、所做的动作、从环境获得的 奖赏反馈和在 (t+1) 时刻感知的状态,δt+1 被称作差分误差(Temporal-Difference ,αw 为 w 的学习率。 Error) 需注意的是,Q-learning 的线性函数估计版本并不能保证⼀定收敛。并且, 在⼤规模动作空间问题中,线性形式的 Q 函数较难在整个值函数空间范围中精 确地估计每⼀个状态动作对的值。⼀个优化的办法是引⼊优势函数(Advantage Function),将 Q 函数⽤状态值函数 V (s) 和优势函数 A(s, a) 的和进⾏表达。我 们⽤ V (s) 从全局⾓度估计状态 s 的值,⽤ A(s, a) 从局部⾓度估计动作 a 在状 态 s 中的相对于其他动作的优势。具体地,我们有 Q(s, a) = Aw (s, a) + V v (s) = (a − µθ (s))⊤ ∇θ µθ (s)⊤ w + ϕ(s)⊤ v. (1.16)
21 .. 10 . 第⼀章 基于强化学习的实时搜索排序策略调控 在这⾥,w 和 v 分别为 A 和 V 的参数向量。最后,我们将所有参数 θ、w 和 v 的更新⽅式总结如下: δt+1 = rt + γQ(st+1 , µθ (st+1 )) − Q(st , at ) = rt + γϕ(st+1 )⊤ vt − ((at − µθ (st ))⊤ ∇θ µθ (st )⊤ wt + ϕ(st )⊤ vt ) θt+1 = θt + αθ ∇θ µθ (st )(∇θ µθ (st )⊤ wt ) (1.17) wt+1 = wt + αw δt+1 ϕ(st , at ) = wt + αw δt+1 (a⊤ t ∇θ µθ (st )) vt+1 = vt + αv δt+1 ϕ(st ) 1.4 奖赏塑形 第⼆章定义的奖赏函数是⼀个⾮常简单化的版本,我们在初步的实验中构 造了⼀个连续状态空间/离散动作空间问题对其进⾏了验证。具体地,我们采⽤ 了上⽂定义的状态表⽰⽅法,同时⼈⼯选取 15 组固定的排序策略,通过线性值 函数估计控制算法 GreedyGQ 来学习相应的状态动作值函数 Q(s, a)。从实验结 果中,我们发现学习算法虽然最终能够稳定地区分开不同的动作,但它们之间 的差别并不⼤。⼀⽅⾯,这并不会对算法收敛到最优产⽣影响;但另⼀个⽅⾯, 学习算法收敛的快慢却会⼤受影响,⽽这是在实际中我们必须要考虑的问题。 在淘宝主搜这种⼤规模应⽤的场景中,我们较难在短时间内观察到不同的 排序策略在点击和成交这样的宏观指标上的差别。因此,我们有必要在奖赏函 数中引⼊更多的信息,增⼤不同动作的区分度。以商品点击为例,考虑不同的 ⽤户 A 和 B 在类似的状态中发⽣的商品点击⾏为。若 A 点击商品的价格较⾼, B 点击商品的价格较低,那么就算 A 和 B 点击的商品数量相同,我们也可以认 为的对 A 和 B 采⽤的排序策略带来的影响是不同的。同样的,对于商品的成交, 价格相同⽽销量不同的商品成交也具有差别。因此,在原有的基础上,我们将商 品的⼀些属性特征加⼊到奖赏函数的定义中,通过奖赏塑形(Reward Shaping) 的⽅法丰富其包含的信息量。 奖赏塑形的思想是在原有的奖赏函数中引⼊⼀些先验的知识,加速强化学 习算法的收敛。简单地,我们可以将“在状态 s 上选择动作 a,并转移到状态 s′ ”
22 . 1.4 奖赏塑形 . 11 . 的奖赏值定义为 R(s, a, s′ ) = R0 (s, a, s′ ) + Φ(s). (1.18) 其中,R0 (s, a, s′ ) 为原始定义的奖赏函数,Φ(s) 为包含先验知识的函数,也被称 为势函数(Potential Function)。我们可以把势函数 Φ(s) 理解学习过程中的⼦⽬ 标(Local Objective)。例如,在⽤强化学习求解迷宫问题中,可以定义 Φ(s) 为 状态 s 所在位置与出⼜的曼哈顿距离(或其他距离) ,使得 Agent 更快地找到潜 在的与出⼜更近的状态。根据上⾯的讨论,我们把每个状态对应 PV 的商品信息 纳⼊ Reward 的定义中,将势函数 Φ(s) 定义为 ∑ K Φ(s) = ML(i|µθ (s)). (1.19) i=1 其中,K 为状态 s 对应 PV 中商品的个数,i 表⽰的第 i 个商品,µθ (s) 为 Agent 在状态 s 执⾏的动作,ML(i|µθ (s)) 表⽰排序策略为 µθ (s) 时对商品的点击(或 成交)的极⼤似然(Maximum Likelihood)估计。因此,Φ(s) 表⽰在状态 s 上执 ⾏动作 µθ (s) 时,PV 中所有商品能够被点击(或购买)的极⼤似然概率之和。 下⾯我们给出的 ML(i|µθ (s)) 具体形式。令商品 i 的特征向量(即价格、销 ⊤ 量、⼈⽓分、实时分等特征)为 xi = (x1i , x2i , ..., xm i ),则 xi µθ (s) 即为商品 i 在 状态 s 下的最终排序分数。又令 yi ∈ {0, 1} 为商品 i 实际被点击(或成交)的 label,并假设意商品 i 的实际点击(或成交)的概率 pi 与其排序分数 x⊤ i µθ (s) 满 pi ⾜ ln 1−p i = x⊤ i µθ (s),则商品 i 的似然概率为 1 1 ML = pi yi (1 − pi )1−yi = ( ⊤ )yi ( )1−yi . (1.20) 1 + exp(−xi µθ (s)) 1 + exp(x⊤ µ i θ (s)) 为简化计算,我们对 BL 取对数,得到对数似然概率 MLlog (i|µθ (s)) = yi x⊤ ⊤ i µθ (s) − ln(1 + exp(xi µθ (s))). (1.21) 将 PV 中所有商品的对数似然概率综合起来,则有 ∑ K Φ(s) = y i x⊤ ⊤ i µθ (s) − ln(1 + exp(xi µθ (s))). (1.22) i=1
23 .. 12 . 第⼀章 基于强化学习的实时搜索排序策略调控 我们最终实现的奖赏塑形⽅法将点击和成交均纳⼊考虑中,对于只有点击 的 PV 样本,其对应的奖赏势函数为 ∑ K Φclk (s) = yic x⊤ ⊤ i µθ (s) − ln(1 + exp(xi µθ (s))). (1.23) i=1 其中,yic 是商品 i 被点击与否的 label。⽽对于有成交发⽣的 PV 样本,我们将商 品价格因素加⼊到奖赏势函数中,得到 ∑ K Φpay (s) = yip x⊤ ⊤ i µθ (s) − ln(1 + exp(xi µθ (s))) + ln Pricei . (1.24) i=1 其中,yip 和 Pricei 分别是商品 i 被购买与否的 label 和它的价格。从直观上来理 解,Φclk (s) 和 Φpay (s) 将分别引导 Agent 对点击率和 GMV 的对数似然进⾏优化。 实际上,我们所采⽤的奖赏塑形⽅法来⾃于 LTR ⽅法的启发。LTR ⽅法 的有效性在于它能够利⽤商品维度的信息来进⾏学习,其最终学习到的排序权 重和商品特征有直接相关性。我们通过把商品的特征灌注到奖赏函数中,能让 Agent 的动作在具体商品上产⽣的影响得到刻画,因此也就能更好地在数值信 号上将不同的动作区分开来。另外,与以往的奖赏塑形⽅法不同的是,我们采 ⽤的势函数是随着策略的学习变化的,它让 Reward 和 Action 之间产⽣了相互 作⽤:Action 的计算将朝着最⼤化 Reward 的⽅向进⾏,⽽ Action 的⽣效投放也 反过来影响了 Reward 的产⽣。因此,学习算法实际上是在⾮独⽴同分布的数据 上进⾏训练的,我们将在最后⼀章对该问题进⾏探讨。 1.5 实验效果 在双 11 期间,我们对强化学习⽅案进⾏了测试,下图展⽰了我们的算法在 学习的过程中的误差变化情况,衡量学习误差的指标为 Norm of the Expected TD ,是差分误差(TD Error)与状态动作特征向量乘积的期望值,图 Update(NEU) 中的 RNEU 表⽰ NEU 的平⽅根。从理论上来讲,RNEU 越⼩表⽰算法学习到的 策略越接近最优。
24 . 1.5 实验效果 . 13 . 图 1.3: Norm of the Expected TD Update 可以看到,从启动开始,每个桶上的 RNEU 开始逐渐下降。之后,下降趋 势变得⽐较缓和,说明学习算法在逐步往最优策略进⾏逼近。但过了零点之后, 每个桶对应的 RNEU 指标都出现了陡然上升的情况,这是因为 0 点前后⽤户的 ⾏为发⽣了急剧变化,导致线上数据分布在 0 点以后与 0 点之前产⽣较⼤差别。 相应地,学习算法获取到新的 reward 信号之后,也会做出适应性地调整。 接下来,我们再对双 11 当天排序权重分的变化情况进⾏考查。我们⼀共 选取了若⼲个精排权重分来进⾏实时调控,下⾯两幅图分别展⽰了 iPhone 和 Android 中,每个维度的排序权重分在⼀天内的变化。 图 1.4: 每个维度的排序权重分在⼀天内的变化(iPhone) 从 0 点到早上 10:00 这⼀时间段内,⽆论是在 Android 端还是 iPhone 端,都 没有出现某个维度的排序权重分占绝对主导地位。在 11 号凌晨和上午,全⽹
25 .. 14 . 第⼀章 基于强化学习的实时搜索排序策略调控 图 1.5: 每个维度的排序权重分在⼀天内的变化(Android) ⼤部分的成交其实不在搜索端,在这段时间内,⽤户产⽣的数据相对没有这么 丰富,可能还不⾜以将重要的排序权重分凸显出来。⽽到了 10:00 以后,我们 可以发现某⼀个维度的排序权重分逐渐开始占据主导,并且其主导过程⼀直持 续到了当天结束。在 iPhone 端占据主导的是某⼤促相关的分(绿⾊曲线),⽽ Android 端的则是某转化率的分(红⾊曲线)。这其实也从侧⾯说明了 iPhone 端 和 Android 端的⽤户⾏为存在较⼤差别。 在最终的投放效果上,强化学习桶相对于基准桶整体提升了很⼤幅度,同 时强化学习桶在 CTR ⽅⾯的提升⾼于其他绝⼤部分⾮强化学习桶,证明我们所 采⽤的奖赏塑形⽅法确实有效地将优化 CTR 的⽬标融⼊了奖赏函数中。 1.6 DDPG 与梯度融合 在双 11 之后,我们对之前的⽅案进⾏了技术升级,⼀个直接的优化是 DPG 升级为 DDPG,即将 actor 模型和 critic 模型升级为 actor ⽹络 µ(s|θµ ) 和 critic ⽹ 络 Q(s, a|θQ )。此外,我们还增加了⼀个 ltr loss 层 L(a, X, Y ),⽤于衡量 actor ⽹ 络输出的 a,在 pointwise ltr 上的 cross entropy loss,这⾥ X = [x1 , x2 , ..., xn ] 是 n 个宝贝的归⼀化的特征分向量,Y = [y1 , y2 , ..., yn ] 是对应的点击、成交的 label。 具体地: 1∑ n L(a, X, Y ) = yi log(σ(aT xi )) + (1 − yi ) log(1 − σ(aT xi )) (1.25) n i
26 . 1.6DDPG 与梯度融合 . 15 . 这⾥ σ(aT xi ) = 1/(1 + exp(−aT xi ))。因此最终的 actor 的⽹络的梯度为 1 ∑ N ∇ J =− θµ ∇a Q(s, a|θQ )|s=si ,a=µ(si ) ∇θµ µ(s|θµ )|si + N i λ∇a L(a, X, Y )|a=µ(si ) ∇θµ µ(s|θµ )|si (1.26) ⼤致的整体框架如图1.6所⽰。 图 1.6: 监督学习和强化学习的多任务学习⽹络 这个整体实现,较之前的 DPG ⽅案,⼀⽅⾯可以受益于深度神经⽹络强⼤ 的表征能⼒,另⼀⽅⾯也可以从监督学习⽹络获得很好的梯度,获得较好的初 始化,并保证整个训练过程中的稳定性。
27 .. 16 . 第⼀章 基于强化学习的实时搜索排序策略调控 1.7 总结与展望 总的来说,我们将强化学习应⽤到淘宝的搜索场景中只是⼀次初步尝试,有 很多⽅⾯都需要进⼀步探索,现将我们在未来需要改进的地⽅以及可能的探索 ⽅向归纳如下: (1)状态的表⽰:我们将⽤户最近点击的商品特征和⽤户长期⾏为特征作 为状态,其实是基于这样的⼀个假设,即⽤户点击过的商品能够较为精确地反 映⽤户的内⼼活动和对商品的偏好。但实际上,⽤户对商品的点击通常具有盲 ⽬性,⽆论什么商品可能都想要看⼀看。也就是说,我们凭借经验所设定的状 态并⾮那么准确。深度强化学习对状态特征的⾃动抽取能⼒是它在 Atari Game 和围棋上取得成功的重要原因之⼀。因此,在短期内可以考虑利⽤深度强化学 习对现有⽅案进⾏扩展。同时,借助深度神经⽹络对状态特征的⾃动抽取,我 们也可以发现⽤户的哪些⾏为对于搜索引擎的决策是⽐较重要的。 (2)奖赏函数的设定:和状态的定义⼀样,我们在第⼆章设定的奖赏函数也 来⾃于⼈⼯经验。奖赏塑形(Reward Shaping)虽然是优化奖赏函数的⽅法,但 其本质上也是启发式函数,其更多的作⽤在于对学习算法的加速。逆强化学习 (Inverse Reinforcement Learning,IRL)是避免⼈⼯设定的奖赏函数的有效途径 之⼀,也是强化学习研究领域的重要分⽀。IRL 的主要思想是根据已知的专家 策略或⾏为轨迹,通过监督学习的⽅法逆推出问题模型的奖赏函数。Agent 在这 样的奖赏函数上进⾏学习,就能还原出专家策略。对于我们的问题,IRL 的现 有⽅法不能完全适⽤,因为我们的搜索任务并不存在⼀个可供模仿的专家策略。 我们需要更深⼊思考如何在奖赏函数与我们的⽬标(提升 CTR,提升成交笔数) 之间建⽴紧密的关系。 (3)多智能体强化学习(MARL):我们将搜索引擎看作 Agent,把⽤户看 成响应 Agent 动作的环境,属于典型的单智能体强化学习(Single-Agent RL)模 式。在单智能体强化学习的理论模型(即 MDP)中,环境动态(Environmental Dynamics,也即奖赏函数和状态转移函数)是不会发⽣变化的;⽽在我们的问 题中,⽤户的响应⾏为却是⾮静态的,同时也带有随机性。因此,单智能体强化 学习的模式未必是我们的最佳⽅案。要知道,⽤户其实也是在⼀定程度理性控
28 . 1.7 总结与展望 . 17 . 制下的,能够进⾏⾃主决策甚⾄具有学习能⼒的 Agent。从这样的视⾓来看,或 许更好的⽅式是将⽤户建模为另外⼀个 Agent,对这个 Agent 的⾏为进⾏显式地 刻画,并通过多智能体强化学习 [21] ⽅法来达到搜索引擎 Agent 和⽤户 Agent 之间的协同(Coordination)。 (4)第四章的末尾提到了奖赏函数与 Agent 的动作的相互作⽤带来的⾮独 ⽴同分布数据问题,我们在这⾥再进⾏⼀些讨论。在 MDP 模型中,奖赏函数 R(s, a, s′ )(有时又写成 R(s, a))是固定的,不会随着 Agent 策略的变化⽽变化。 然⽽,在我们提出的奖赏塑形⽅法中,势函数 Φclk (s) 和 Φpay (s) 中包含了策略 参数 θ,使得 Agent 从环境获得的奖赏信号在不同的 θ 下有所不同。这也意味着 我们的 Agent 实际上是处于⼀个具有动态奖赏函数的环境中,这种动态变化不 是来⾃于外部环境,⽽是源于 Agent 的策略改变。这有点类似于⼈的⾏为与世 界的相互作⽤。因此我们可以将 J(µθ ) 重写为 ∫ ∫ ∑ ∞ ¯ θ) = J(µ γ t−1 p0 (s′ )T (s′ , µθ (s′ ), s)Rθ (s, µθ (s)) ds′ ds S S t=1 ∫ (1.27) = ρµ (s)Rθ (s, µθ ) ds. S ¯ θ ) 之间只有⼀个符 其中,Rθ 为 Agent 的策略参数 θ 的函数。虽然 J(µθ ) 与 J(µ 号之差,但这微⼩的变化也许会导致现有的强化学习算法⽆法适⽤,我们在未 来的⼯作中将从理论上来深⼊研究这个问题的解决⽅法。
29 .第二章 延迟奖赏在搜索排序场景中 的作用分析 2.1 背景 我们⽤强化学习(Reinforcement Learning,RL)在搜索场景中进⾏了许多的 尝试,例如:对商品排序策略进⾏动态调节、控制个性化展⽰⽐例、控制价格 T 变换等。虽然从顺序决策的⾓度来讲,强化学习在这些场景中的应⽤是合理的, 但我们并没有回答⼀些根本性的问题,⽐如:在搜索场景中采⽤强化学习和采 ⽤多臂⽼虎机有什么本质区别?从整体上优化累积收益和分别独⽴优化每个决 策步骤的即时收益有什么差别?每当有同⾏问到这些问题时,我们总是⽆法给 出让⼈信服的回答。因为我们还没思考清楚⼀个重要的问题,即:在搜索场景的 顺序决策过程中,任意决策点的决策与后续所能得到的结果之间的关联性有多 大?从强化学习的⾓度讲,也就是后续结果要以多⼤的⽐例进⾏回传,以视为 对先前决策的延迟激励。也就是说我们要搞清楚延迟反馈在搜索场景中的作⽤。 本⽂将以继续以搜索场景下调节商品排序策略为例,对这个问题展开探讨。本 ⽂余下部分的将组织如下:第⼆节对搜索排序问题的建模进⾏回顾,第三节将 介绍最近的线上数据分析结果,第四节将对搜索排序问题进⾏形式化定义,第 五节和第六节分别进⾏理论分析和实验分析并得出结论。