强化学习在阿里的技术演讲与业务创新

当前的机器学习算法⼤致可以分为有监督的学习、⽆监督的学习和强化学习(Reinforcement Learning)等。强化学习和其他学习⽅法不同之处在于强化学习是智能系统从环境到⾏为映射的学习,以使奖励信号函数值最⼤。如果智能体的某个⾏为策略导致环境正的奖赏,那么智能体以后产⽣这个⾏为策略的趋势便会加强。强化学习是最接近于⾃然界动物学习的本质的⼀种学习范式。然⽽强化学习从提出到现在,也差不多有半个世纪左右,它的应⽤场景仍很有限,规模⼤⼀点的问题就会出现维数爆炸,难于计算,所以往往看到的例⼦都是相对简化的场景。
展开查看详情

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 变换等。虽然从顺序决策的⾓度来讲,强化学习在这些场景中的应⽤是合理的, 但我们并没有回答⼀些根本性的问题,⽐如:在搜索场景中采⽤强化学习和采 ⽤多臂⽼虎机有什么本质区别?从整体上优化累积收益和分别独⽴优化每个决 策步骤的即时收益有什么差别?每当有同⾏问到这些问题时,我们总是⽆法给 出让⼈信服的回答。因为我们还没思考清楚⼀个重要的问题,即:在搜索场景的 顺序决策过程中,任意决策点的决策与后续所能得到的结果之间的关联性有多 大?从强化学习的⾓度讲,也就是后续结果要以多⼤的⽐例进⾏回传,以视为 对先前决策的延迟激励。也就是说我们要搞清楚延迟反馈在搜索场景中的作⽤。 本⽂将以继续以搜索场景下调节商品排序策略为例,对这个问题展开探讨。本 ⽂余下部分的将组织如下:第⼆节对搜索排序问题的建模进⾏回顾,第三节将 介绍最近的线上数据分析结果,第四节将对搜索排序问题进⾏形式化定义,第 五节和第六节分别进⾏理论分析和实验分析并得出结论。