论坛回顾 | 业界大咖云集,强化学习与运筹优化前沿技术论坛报告总结与答疑

2021 年 5 月 13 日 中国科学院自动化研究所




CASIA


解锁更多智能之美

【导读】 本篇推文将为大家总结 2021 年 3 月 27 日线上举办的“强化学习与运筹优化前沿技术论坛”。本次论坛中,中国科学院自动化研究所邀请到了多位著名相关研究人员与从业者,嘉宾们对智能决策技术的应用以及未来发展方向进行了报告。

论坛简介

名 称

强化学习与运筹优化前沿技术论坛

时 间

2021 年 3 月 27 日

主 办 单 位

中国科学院自动化研究所 

论 坛 主 席

徐波,中科院自动化所所长、研究员

论 坛 主 持

汪军,英国伦敦大学学院教授、华为诺亚方舟决策推理实验室顾问科学家

张海峰,中科院自动化所副研究员

报 告 嘉 宾

印卧涛,阿里巴巴(美国)达摩院决策智能实验室负责人

郝建业,华为诺亚方舟决策推理实验室主任

秦志伟,滴滴 AI Labs 首席研究员

叶德珩,腾讯绝悟 AI 技术负责人

王湘君,启元世界首席算法官

郭祥昊,字节跳动游戏 AI 团队负责人


报  告 

 总  结 

整数规划在决策智能中的新应用



报告人:印卧涛
记录人:林润基
阿里达摩院、UCLA 教授印卧涛带来了主题报告《整数规划在决策智能中的新应用》,详细分享了决策问题的优化模型以及团队在国产商业求解器理论和工程方面取得的进展。
1. 优化类算法在决策领域的应用
首先, 印卧涛从决策问题的优化模型、相关产业应用以及优化与机器学习的关联这三个角度,兼顾理论和实践地为观众解析了优化方法在决策领域的背景。从传统的优化视角来看,决策问题的本质是根据已有的资源,在一定的约束下做出最佳的决策,以达到通过最低损耗实现最大效用;由此可见优化模型主要包括决策目标、决策变量以及约束条件三部分内容。基于优化模型的运筹优化在传统的领域已有很广泛的应用,包括:仓储资源分配中优化供应链的物流调度、仓储选址、路线设计;排产排程中在固定的生产设备、人员下安排生产活动降低生产时间、平衡负荷;卫星最优控制中通过轨道设计、三级火箭的分离点选择、姿态调整来降低燃料消耗。在优化算法的众多应用中, 印卧涛依据可量化程度与可控制程度对相关应用做了分类,并指出量化程度高的可控程度高的任务往往可以通过优化算法有效决策。在机器学习火热的背景下,印教授认为机器学习与运筹优化不是替代关系而是互补关系:机器学习能有效地从大量历史数据中归纳出规律与趋势,作为决策的依据,而优化算法则结合目标和约束进行最优的决策规划。

图 1  优化类算法的应用分布
优化算法理论在实际大规模问题中进行有效求解是落地的关键一环, 印卧涛从商用求解器的产品需求、当前国际商用求解器的格局为大家讲解了达摩院团队自研 MindOpt  求解器的初衷与进展。优化算法落地有两大类路线:一是自己编写算法,这条路线的缺点是投入大、不稳定、维护成本高、落地慢,但是优点在于透明、可控、可修改,适合大厂解决求解器做不好的问题;二是购买商业求解器,这条路线的缺点是相对黑盒、难以针对特定问题定制,但优点显著:落地快,稳定可靠效率高,使用者可以专注于建模问题。然后, 印卧涛分析了当前商业求解器的格局,目前主流的商业求解器包括 Xpress、CPlex、Gurobi 都是由国外厂商研发,其核心技术包括数学原理、结构利用、多算法合作等内容都掌握在少数几个公司手中,虽然商业求解器比经典算法效率提升了 5-20000 倍,但是商业求解器的许可证价格高昂,同时无法满足特定超大规模任务场景的定制需求,促使达摩院自研 MindOpt 求解器。MindOpt 希望提供纯自主研发的优化求解套件,打造同一优化求解平台,填补国内空白,奠定数字经济新基建的坚实基础,项目自 2019 年秋开启以来,已经实现了线性规划单纯形法和内点法组件,提供了丰富的结构,目前已经开放免费全功能使用。在算法架构上, 印卧涛分析了三大类主流求解器的优缺点,总体而言三种方法自上而下精度逐渐降低但是并行度逐渐提高,适用于规模越来越大的任务;且自下而上存在越来越多的结构可以挖掘。

图 2  三类优化求解器优缺点对比
2. 优化方法在非传统领域的应用
随后 印卧涛围绕传统的优化方法在非传统的领域的应用进行深入讨论。第一个案例是个性化制造工厂,在衣物生产中物料排版环节必不可少,物料排版指从整块布料中合理安排服装组件以最大化布料利用率,个性化的衣物定制相比大规模生产导致物料排版次数极具提高,由此有效的优化智能排版算法是敏捷高效生产的重要支撑。第二个案例是阿里云的云计算资源调度,为了提升效率,调度算法需要将动态变化的用户需求以最合理的方式分配到集群中的一台或多台虚拟机上,保证 CPU、内存、网络、IO 资源利用效率最大化的同时,任务间的干扰最小化,还需应对时效性、规模增长、调度缓解复杂等问题,相关应用在 ECS 上的应用累计节约资源总额过亿。第三个案例是新零售中的智能营销,如何在有效的预算与简单的玩法规则的约束下分配红包和补贴,达到最大化获客量和成交率。
求解器还在可解释人工智能中有非常有价值的应用。可解释 AI 除了给出判断的结果,还会给出数据变化以及异常故障的具体原因,为有效排查原因和避免再次发生提供了可能性。 印卧涛以大规模可解释分类问题为例,分析了基于可解释的逻辑 rule 做分类带来的好处,但也指出了当前可解释分类问题在分类效果与可解释性间的权衡以及有效处理大规模数据的挑战。然后 印卧涛将当前的可解释算法分为四大类从五个维度进行了分析,指出当前还没有算法在精度、可解析性、可拓展性三方面都表现良好,由此进一步的研究是十分必要的。
其中的一条路线是结合混合整数优化的 rule set learning,rule set learning 指学习一个 rule 集合中任意一条满足即可得到准确的结果标签,而无需满足所有的 rule。这一学习问题可以转为一个混合整数规划模型,由此只要有高效的求解器就能有效解决这一问题,印教授团体提出两种方案来加速求解的流程:一个是基于强化学习来动态地在求解过程中改进决策参数来更好地适应当前的数据集,到达加速求解的目的;另一个是基于 Jacobi-ADMM 方法无需增加变量或约束就能生成多个可并行求解的子问题,实现了高度并行化的 LP 算法,到达加速求解的目的。最终不仅在多个数据集上取得领先表现,还在营销规则漏洞防范等实际应用场景取得了良好表现。
最后 印卧涛介绍了团队和合作研究者的预发布在 arxiv 的 survey 论文《learning to optimize: a primer and a benchmark》,论文系统地介绍了近十年把人工智能用在优化上来提升优化的效果与速度的相关工作。


深度强化学习的挑战及落地



报告人:郝建业
记录人:闫雪
华为诺亚方舟决策推理实验室主任郝建业带来了题为《深度强化学习的挑战及落地》的报告,该报告首先介绍强化学习的背景与基础,然后从如何学的好,学的快,学的稳三个方面介绍深度强化学习所面临的挑战及相应的解决方案,同时介绍深度强化学习在自动驾驶控制,5G 网络优化,供应链物流优化等场景的应用。
1. 强化学习背景
2015 年 Alpha Go 出现,在棋类游戏上面达到了与人类持平甚至更优的水平。近两年,除了棋盘类游戏,譬如 DeepMind 的 AlphaStar,OpenAI Five 等工作也将强化学习算法应用于更加复杂的多人对抗游戏场景中,并达到了与顶级人类玩家持平的性能。对于强化学习来说,游戏可以提供一个可以研究探索的场景,从而模拟和刻画现实世界中的问题,比如交互博弈,不完全信息博弈,复杂的规划等。

图 3  DeepMind AlphaStar 以及 OpenAI Five
对于现实世界中非游戏场景的落地和应用方面,强化学习可以用于如下场景:APP、音乐、以及视频的推荐;物流等的供应链优化问题;自动驾驶;5G 网络优化和芯片设计等。随后, 建业介绍了强化学习算法的背景,传统的 Q-learning 的方式可以通过枚举状态空间和动作来求解,由于许多场景中的状态非常多,传统的基于表格的 Q-learning 是不可解的,因此研究者提出了 DQN 算法,该算法引入了深度网络来拟合值函数,解决了基于表格的维度问题。实验表明 DQN 能解范围更广,模型性能也有了很大的提升。

图 4 深度强化学习在非游戏场景的应用
2. 强化学习遇到的挑战
强化学习的第一个挑战是怎样学的好,由于 reward 对学习的方向和结果起决定性作用,所以可以主要从 reward function 的角度出发,通过设计 reward 函数实现学的好的目标。基于此思想, 建业介绍了两大类方法。
a. reward shaping:如果原本环境中的 reward 是稀疏的,可以借鉴 Learning to Utilize Shaping reward: A New Approach of Reward Shaping, NeurIPS 2020 这个工作提出的 reward shaping:加入人工设计的 reward,使 reward 更加密集,简化学习。但有一个问题是人工添加的 reward 有好有坏,所以该论文作者提出了 shaping policy,可以自动修正差的 reward shaping,赋予其较低的权重,对于好的 reward 对应较高的权重。
b. 第二个角度是信道分配,可以参考 Q-value path decomposition for deep multiagent reinforcement learning. ICML 2020:将全局的 Q value 分解为所有独立智能体的 Q value 之和,使得每一个智能体可以并行的学习并更新网络。

图 5 多信道网络
此外,Neighborhood cognition consistent multi-agent reinforcement learning. AAAI 2020 这个工作也是利用了信道分解的思想,即将每一个 agent 分解为共同认知和个体认知两部分。
第二个大的挑战是怎样学的快,解决样本利用率的问题,人类学习所需要的样本量比计算机强化学习需要的少的多,人类通过较少样本即可达到较好的学习效果是因为人类能够利用历史信息,并不是从零开始学习;据此 建业引出了两种方式:策略迁移(Policy Transfer);值函数迁移(Value Function Transfer),二者分别对应将 policy 和 value function 迁移到新的任务中。
a. Policy Transfer:假设在 n 个 task 下,模型已经学到了比较好的 n 个 source policy,对于 n+1 个 task 能不能复用现有的n个policy,此时若要令第 n+1 个 task 借鉴使用现有的 n 个 policy,可以通过 option 自适应地决定迁移哪一个 source policy,通过 termination 决定迁移 policy 的置信度,从而决定迁移的程度。
From Few to more: large-scale Dynamic multiagent curriculum learning,AAAI 2020 这个工作提出这样一个场景:在星际争霸中要训练一个 15vs15 的课程,如果从 0 开始训练非常困难,该工作利用课程迁移架构,将 15vs15 的课程分解为从 5vs5 到 10vs10 再到 15vs15 的步骤,显著降低了训练难度。

图 6 一种 Policy Transfer 的方式
b. value function 迁移:policy extended value function 的方法考虑显示的引入 policy,作为 value function 的输入,利用神经网络的泛化性,更好的估计未知策略的 value 估值,降低所需样本数量。

图 7 一种 Value Function Transfer 的方式
c. 对于怎样学得稳, 建业介绍了演化加强化的架构,目标是生成多样化的策略,该架构可用到软件测试领域,能够实现更加高效的 bug 探索,游戏环境的多样化生成,还能够在自动驾驶领域生成更加多样化的类人的仿真模拟器,得到尽可能安全的测试。

3. 强化学习的应用场景

在应用方面,强化学习的第一个应用场景是用于 5G 网络优化问题——多频段参数优化,在基站部署时网络运营商往往会遇到许多问题,比如中国移动提供的 5G 网络信号有 10 多个频段,组网场景有 50 多种;且网络中有超过400个待优化的参数配置,传统的方法依靠人工优化,网络的增益和效率无法保障。 建业介绍了一个工作,该工作在神经网络中融合了专家经验,专家经验降低了探索空间,利用了天然的拓扑信息,使得critic学到更好的表征,能够捕捉相邻基站之间的交互信息。该方法大约会为网络提高 10-15% 的效率。
另一应用场景是物流领域,现假设在场景园区中有上货下货的需求,现有固定数量的车辆,需要设计车辆的分配调度问题,这时可以通过强化学习的方法进一步提升决策和优化的效率。 建业在 2020 年提出一种分层的方法对物流进行调度,上层利用强化学习,下层是传统的启发式算子,强化学习在该场景中主要用于学会每次订单分配是否需要进行等待并进行合理规划。

图 8 上层强化学习算法原理
本次报告从学的好(从 reward function 的角度),学的快(从 policy/value transfer 的角度),学的稳三个角度展开了介绍,同时对一些工作和落地应用进行展开了介绍。在展望未来方面, 建业提出了强化学习未来要关注的几个点,第一个是对 policy,reward 学到一个好的表征,第二个是降低对仿真器的依赖,第三个是解决大规模的协同优化问题。

3 网约车交易市场优化中的深度强化学习方法



报告人:秦志伟
记录人:崔新宇
滴滴 AI Labs 首席研究员秦志伟在强化学习与运筹优化前沿技术论坛中做出了《网约车交易市场优化中的深度强化学习方法》的报告。 秦志伟主要围绕着通过深度强化学习实现网约车的最优派单算法,以及实现网约车个体车主与大车队的最优调度方法做出介绍,并在最后对下一代算法的研究方向做出了汇报。
1. 网约车交易市场的背景
随着世界各国城市化与互联网技术的发展,网约车正成为一种越来越重要的共享出行方式,网约车与出租车的调度系统的运行效率始终是一个大的挑战,其中要考虑的因素包括乘客打车的等待时长、车辆的空车时长比例等等;作为一个双边市场,网约车交易需要乘客与司机间进行交互,乘客在意一些影响乘坐体验的因素,司机主要在意一些影响收入的因素。

图 9 网约车属于一个双边市场
为了引入算法的内容, 秦志伟首先举了一些派单和调度的例子:如果仅考虑订单产生的期望,容易将过多的网约车调度到 hot area,但是若将算法应用于调度,则可以让各区域都具有足够的车辆,整体规划的预期可以达到最优。
关于派单算法,首先它是一个动态的多步问题,需求会在一天中不断进入系统中,车辆的供给也是有随机性的,在该算法中主要进行优化内容的是全部司机的收入,应答率以及司机接乘客要消耗的距离。考虑到一天的时间过长,现在的做法是把时间线按照固定的窗口大小离散化,把订单和车辆批量处理,在时间窗口的结束点上去求解几类问题,这样做会比纯在线算法提供更多的信息便于训练和决策;然后可以采用譬如匈牙利算法去求解在线匹配与规划问题,并将其作为一个策略的生成器,这个生成器输入是一个 w(匹配边上的权重),输出为匹配的策略 π。
随后, 秦志伟团队将车辆接单转移建立为一个半马尔可夫的过程,车辆状态为离散时空网格中的一个格子,动作可以代表服务一个订单,奖励为司机的收入,在这里假设车辆的状态转移是确定性的。具体操作时,用一个对应时空系统的表格来表示价值函数,他会通过动态规划的方式用时间差分(TD)不断迭代到收敛,价值更新和每一次状态转移是一一对应的,得到的这个价值函数就会被用来定义前面所述的匹配边上的权重 w。

图 10 接单可以看作一个半马尔可夫过程
2. 深度强化学习算法在派单问题上的应用
秦志伟认为,相较于传统的派单问题的表格式方法,深度强化学习具有一些譬如可以对非线性问题起到更好的适配性,更适合一些动态的供需场景,神经网络更便于做知识的迁移等等优点。
在价值网络逼近一些方面, 秦志伟认为他们有一些值得关注的工作,比如在状态表征时应用 CVNet,它是利用一个多层的六边形的网格系统,实现了自适应的学习地理位置量化,通过不同大小的格子来体现时空特征,不同区域可以通过不同尺寸的 embedding 的加和来表征。在一个泛化的策略迭代方案中, 秦志伟采用了一个两步走的方法,首先通过 DRL 来学习当前策略的价值,然后通过一个二分匹配来做派单的规划,规划时在策略规划之上进行一步的改进,采用了司机乘客对的长期的 TD error 与总体价值;在策略进行一段时间,收集了足够数据后,就可以进行离线学习,继续更新价值网络。随后他们对深度强化学习(DRL)方法进行了一个在线 AB 测试,发现 DRL 的方法在多个实验城市,整体的应答率、司机收益预期,和乘客体验等方面均有所提升。

图 11 泛化的策略迭代
3. 深度强化学习算法在调度问题上的应用
前面 秦志伟主要针对订单分配的问题做出了讲解,那么在没有即时订单时,司机应当到哪里去,就涉及了车辆调度的问题,即建议空闲的司机从当前地方去缺少车辆,未来收入预期更高的地方。对于车辆调度问题, 秦志伟提出的方法是用状态价值网络来表示供给与需求以及它们在时间与空间上的共存关系,这些也都是直接影响到司机收入的因素,对于这一点,他们采用强化学习算法来考量策略的长期价值。
对于调度问题的建模,还是把空间离散为六边形系统,行为是在格子停留以及转移等,状态与派单问题一致,奖励则为调度的耗费等内容。在调度时,司机可以选择调度或者留在原地,也可以在调度的过程中接单。利用建立的环境和模型可以计算相应的状态价值,其中部分内容可以通过前面的 CVNet 的变种方法进行训练,同时价值函数 V 与状态价值函数 Q 共享一套状态表征系统,先更新 V net,后对 Q net 进行更新。

图 12 基于价值的策略搜索
因为司机可以在路上接单,所以最终的优化目标是希望找到一条高价值的路径,令司机的预期收入最高,可以视作选择一条 n 步向前看的路径,优化整体的长期价值。将该算法与一些 baseline 进行对比时(单车辆调度情况),通过多重评判指标证明了该算法可以达到最优。
对于一些大规模车辆的调度,过于重视对于单辆车的调度算法可能会导致过度反映的现象,同时更多的车辆数也会导致计算效率如何满足响应要求面临一定挑战,所以较大规模车辆的调度需要对算法做出优化。这时团队就使用了 Deep SARSA 的方法,通过离线的方式对 Q 函数进行学习。同时在 SARSA 网络的设计中,他们也加入了场景的设计特征,包括当前格子与相邻格子间的供需特征(利用注意力模块来学习邻近格子间的关联,产生一个工供需表征的内容向量),还有采用了 CVNet 中的稀疏编码和 embedding 来处理空间特征,训练中采取正则化提高稳定性。最后在 Deep SARSA 后面加入一个 softmax 来得到 Q 函数的玻尔兹曼分布,进而可以抽样动作。 秦志伟对该方法进行了实验,实验结果表明在群体层面上,该方法相比传统的群体调度方法有着明显的效率提升。

图 13 Deep SARSA 算法示意图
4. 网约车与强化学习算法的发展前景
最后,秦志伟对现状的不足与未来的发展方向做出了报告: 对于目前的网约车相关 RL算法而言,首先离线训练后的算法难以经常部署,因为每次采集数据和训练都需要消耗大量的时间; 其次虽然目前的离线算法也可以抓住时空价值,即一天当中的主要特征变化,但是没有办法对于实时供需变化去调整长期价值。 所以秦志伟认为 RL 在该应用中的下一个突破点是价值函数的 on-policy 化,且可以令派单策略和调度策略采用同一个价值函数。 秦志伟团队正在进行研究和优化的下一代算法为 V1D3,他们期望通过该算法实现上述的展望。

图 14 下一代算法 V1D3
5. 问答:
  • Q1:请问这个累积订单需求的这个时间窗如何确定?

    答:时间窗需要综合用户体验,匹配最优性,等多种因素。

  • Q2多智能体强化学习面对状态空间爆炸时怎么处理?

    答:对于状态空间大的问题,一方面可以用价值函数逼近的方法通过回归来学习价值;另一方面可以运用例如 mean-field MARL 这样的近似方法,使得智能体之间的关系变成和一个抽象邻居的关系。

  • Q3派单问题的 reward 是什么?

    答:在基本建模中是司机收入。

  • Q4之前看这篇paper的时候想把问题从 one-to-one matching 拓展到ride-sharing matching,如果我只是简单地修改条件为:只要车上还有空余位置就再次把车放进时空网格里匹配,请问您觉得这样能训练出合适的 ride-sharing 策略吗? 这篇文章会开源代码吗?

    答:对于多乘客 ridesharing 的 RL 建模,不只是简单的匹配条件修改,还需要仔细刻画车上已负载的订单行程状态。可以参考 RL 文献中关于 carpool 的论文。


启元世界强化学习智能体的研究和应用



报告人:王湘君
记录人:杨宁

来自启元公司的王湘君进行了其公司有关强化学习方向的研究和产品的介绍。本次王湘君的主要展示内容分为三大部分,分别是星际争霸游戏 AI,机器人 AI 以及游戏智能体在 AI 虚拟玩家方向的应用和工作。

1. 星际争霸游戏 AI
首先, 王湘君展示了启元世界开发的星际争霸游戏 AI,SCC(Star Craft Commander)。SCC 是采用的单智能体的架构。因为在星际争霸这种存在大量异质单位的游戏中,这种单智能体的架构相比于多智能体的形式,有更好的扩展性。同时单智能体形式与人类玩家玩星际的形式更加接近。启元世界的星际争霸AI主要针对于星际争霸的 Full Game 模式,即一个玩家可以进行采矿、发展、攻击、防御等各种策略。由于这种游戏模式的策略及其极其复杂且时间跨度巨大,很难使 AI 从 0 开始学习,所以 SCC 采取的是首先采取人类玩家的样本进行模仿学习(Imitation Learning),这样可以有效的解决由状态动作空间过大和回报过于稀疏所带来的探索困难的问题。接着 王湘君以 AlphaStar 算法的结构图为例宏观的介绍了星际争霸相关算法的结构。算法在网络结构上大概可以分为三个模块:
a. encoder:主要对分类特征进行 encoding(包括 scalar features, entities, minimap)
b. aggregator : 使用 DeepLSTM 对提取的特征进行处理
c. decoder:通过自动回归(auto regressive)的决策对应的 action head,即谁在什么时候做什么事情
SCC 算法也分为三大部分,即模仿学习、强化学习和智能体的进化学习。SCC 在第一代上与 AlphaStar 非常类似,但是仍然存在着不少的区别。AlphaStar 聚焦在神族,而 SCC 的着眼点是人族。相比使用了近百万条的人类数据进行模仿学习的 AlphaStar,初代 SCC 只使用了大约 10 万条人类数据。网络结构上,SCC 具有比 AlphaStar 更加高效的网络结构,其参数量仅为 AlphaStar 的三分之一,这使得模型的训练更加简易、高效,可以减少内存的开销和节约算力。在强化学习的阶段,SCC 同样使用了 league training 的方式,但是 SCC 中使用了多个 main agent,并提出 agent branching 方法,实现了更高效的学习和更好的鲁棒性。另外在样本效率上,SCC 在训练过程中仅使用了 1000 个并行环境进行采样,相比之下,AlphaStar 使用了大约 16000 个并行环境采样。
首先王湘君深入介绍了 SCC 的模仿学习部分。模仿学习不仅为强化学习提供了很好的初始化起点,而且由于模仿学习是基于监督学习的一个机制,其迭代效率比强化学习高且易于评估,为快速迭代评估网络结构提供了很好的平台。同时在启元世界的对网络结构的不断优化下,最终版本的 SCC 在仅有 4000 条的人类数据上花费一两天时间就能达到人类白金的水平,超过 70%、80% 人类玩家的水平。
接着是强化学习阶段。SCC 借鉴了 AlphaStar 中的 league training 的方式。不同于自己打自己的自我博弈方式,league training 中包含三种不同类型的智能体(main agent,main exploiter[寻找main agent漏洞],league exploiter[寻找整个 league 上的漏洞])。SCC 还是用了多个 main agent 进行学习,由于单个 main agent 学习可能收敛过快,导致存在一些策略上的漏洞。使用多个 main agent 并行训练可以训练出多个强度很高且风格迥异的智能体,提高了 AI 能力的上限以及鲁棒性。Agent Branching 方法可以提高智能体的学习效率和持续学习的能力。SCC 借鉴了 AlphaStar 中的 Z 控制变量来进一步维持多样性和探索。训练算法上面 SCC 使用的是 PPO,并对 PPO 进行大规模异步采样和训练方面的改进。值得注意的是在强化学习阶段虽然 SCC 只专注于对一个种族进行训练,但是其策略可以一定程度泛化到对战其他种族的情况中。SCC 在训练一个月后可以打败大师级别选手。一个多月后,SCC 可以打败最高级别的宗师水平的选手,并在随后的职业选手挑战赛上现场以两个 2:0 击败中国星际冠军 Time, TooDming,其中 SCC 原创的爆维京的打法获得广泛好评并在天梯上掀起模仿热潮。
介绍完算法后 王湘君通过游戏的回放向大家展示了一些 SCC 算法在星际争霸游戏里的一些高水平表现以及具有创新性的策略。
启元世界在 SCC 研发过程中也开发了自己的高效强化学习训练平台 DRILL,可以同时满一些规模上和性能上的需求。其在与 Ray 在 Atari 游戏上的性能对比展示出 DRILL 相比 Ray 获得了 7 倍的提升。
2. 机器人 AI
随后,王湘君对启元世界机器人 AI 的研发工作进行了简单的介绍。其研究方向被称为 Sim2Real,即能够将在虚拟环境中训练出的智能体迁移到现实世界中。团队的主要工作有强化学习控制的四组机器人和多车协同的轮式机器人。 王湘君着重介绍了团队在 2020 年 CVPR Sim2Real 竞赛上的工作。启元世界在比赛的三大类任务中取得了优异的表现。 王湘君说强化学习在机器人问题上面临的挑战是多方面的,如:3D 视觉输入;动态干扰环境下灵活避障;提升泛化能力,在没有遇到过的场景下也可以完成工作等。基于强化学习的机器人 AI 在训练方法上采用的是基于视觉输入的端到端决策的强化学习的训练方式。网络的输入为彩色图、深度图以及一些其他的诸如位置、朝向等的状态信息。网络的输出为多头的,输出分别为 value、policy(角速度、线速度)和自监督的学习目标。在 王湘君给出的示例中,我们可以看到智能体可以出色地完成很多任务。
3. 游戏智能体在 AI 虚拟玩家方向的应用
最后, 王湘君介绍了游戏智能体在 AI 虚拟玩家方向的应用和工作。在游戏里传统 AI面临很多困难,如行为固定,容易被玩家发现固定套路,严重影响游戏玩家的体验。学习型 AI 可以进行更合理的动作,试用于更多场景,以及做出更加符合人类玩家意识的操作。新时代 AI 游戏会有自己的思考,每个时代用户会有不同的游戏体验,在单机时代游戏依赖制作者开发的内容,角色行为机械、人机交互体验不够真实;网络时代中有更多的玩家之间相互对战的游戏产生,玩家总幸福指数为零(零和博弈),部分玩家挫败感强;智能时代游戏角色智能真实,剧情动态,体验千人千面。
4. 问答:
  • Q1:针对一个很复杂的大型任务,从零开始训练到 work 起来涉及到网络结构、reward 设计、算法选择与参数调整等一系列的问题,请问老师有没有什么强化学习工程上的经验可以分享帮助快速定位强化学习算法表现不佳的瓶颈位置?

    答:先 breakdown problems,比如在模仿学习上验证网络结构,在小数据集或者相对简单的场景上验证 reward 设计,算法选择和超参数等,做实验对比的时候小步迭代快速验证。

  • Q2:对于没有联赛进行训练的问题,有什么比较好的训练方法吗?

    答:Self-play 也有不同的机制, fictitious self-play (FSP), priority fictitious self-play (PFSP), Policy Space Response Oracles (PSRO) 等等。

  • Q3:当在 full game 中随着更多单位的出现,感觉动作空间也在一直变化,是如何设计 agent 的动作空间呢?

    答:动作空间是支持所有单位的 full action space,invalid 的 action space 可以做 masking,也可以从数据里面自动学出概率,具体设计可以参考 paper 细节。

  • Q4:最终 reward 是设计为 1 还是 10 还是多少?

答:胜为 1,负为 -1。

  • Q5:请问老师 statistics Z 是如何发挥作用的,作为辅助奖励函数吗?

    答:一方面作为输入变量控制打法风格,另一方面作为奖励进一步强化引导风格。

  • Q6联赛的机制对于 moba AI 有无价值?

    答:对有多种策略的游戏的多样性和鲁棒性都会有帮助。

  • Q7我想提一个问题,SCC 通过哪些方法证策略的多样性(避免局部最优)?

    具体在解决策略探索和避免 overfit 方面有什么好的方法?

    答:主要是通过模仿学习,联赛机制,Z statistics, KL constraint 等。

  • Q8:RL 控制的机器人的优势和问题是什么?

    答:作为通用技术方法,可以在不同动态复杂问题场景上能够自学习自主决策,传统方法需要较多人工定制;另外 RL 做底层控制能够在低成本,精度不高的硬件上能够自适应,取得更好的控制效果。


基于强化学习的游戏参数设计



报告人:郭祥昊
记录人:李名驰


郭祥昊在报告中向大家介绍了强化学习在游戏中的应用。在现阶段,游戏 AI 是强化学习技术落地成熟的应用场景。目前游戏 AI 集中于虚拟玩家设计,越来越多游戏中有 RL 训练的对战玩家,其拟人程度、智能程度、风格多样性都达到了很高水准:譬如著名的 AlphaStar, OpenAI Five 等等。随后 郭祥昊介绍道,强化学习除了游戏 AI 之外还能解决游戏产业中的其他痛点问题。
1. 采用强化学习解决游戏数值设计
游戏数值设计是游戏设计中的一个痛点问题,其决定了玩家的体验。根据 郭祥昊多年的游戏开发经验,玩家对美术特效的体验大概能决定前十分钟的适应程度。但是,玩家深入去玩一个游戏主要依靠在游戏中体验到的情绪,在游戏中有各种各样情绪的波动包括焦虑,愤怒,冲动的行为,实际是由游戏核心的数值设计所导致的。因此游戏数值设计属于游戏开发中的核心设计工作。
在游戏的策划过程中,策划有着不同的分工,包括主策划,剧情策划,系统策划和数值策划。目前,游戏数值设计是根据玩家的体验去制定大量数值方面的规则,这往往需要大量数学上的工作。设计者需要通过 excel 去制作图表,然后将表里的数值导入游戏反复体验。这一过程是十分困难的,因为游戏设计的参数数量多,参数之间不一定独立,存在相互关系,导致整体呈现出动态复杂性。这些数值参数调整细节多且繁琐,迭代慢,若陷入细节容易偏离数值设定的核心目标。除此之外,数值策划缺乏科学的方法论,大部分靠设计师个体水平和经验,产出方差大。
于是 郭祥昊团队决定把游戏数值设计问题看成决策问题,用强化学习作为工具来处理这一决策问题。为了验证这一流程的可行性, 郭祥昊团队设计了《种田娶老婆》这款休闲游戏。游戏规则如下:
a. 玩家要很多次种田,把种田收获到的农作物根据市场价格巧妙的卖出去积累金钱。
b. 金钱积累到一定程度之后去求婚,最终娶上老婆,过上幸福的生活。
c. 玩家丢下种子,种子经过四步成长变成农作物,农作物有一定的随机性,有可能种成西瓜,有可能种成芝麻。
d. 种植过程中会随机出现怪物,怪物会阻碍种子的成长,如果长期不处理怪物会把农作物吃掉。
e. 怪物有三种:小鸟、野猪、小偷。对农作物的危害依次增大。
f. 种田过程中,有概率不出现怪物,也有概率出现三种怪物之一。
g. 玩家可以花钱强化武器,武器(祖传晾衣杆)可以赶走怪物。
h. 怪物被赶走的时候,有 1/2 概率随机掉落 N 个农作物。
郭祥昊团队将怪物的出现当成决策,从而提出来了一个问题:如何设计怪物的出现?

从理论上来讲,怪物出现概率这是一个多项分布:   
玩家种植 N 次,   次不出现任何怪物,   次出现小鸟,   次出现野猪,   次出现小偷的概率为:
    (泊松分布)
但是,每个事件都是相互关联的,不符合泊松分布重复独立实验的前提条件。
因此 郭祥昊团队对怪物出现对玩家的体验做了顶层的设计,包括:游戏本质、障碍、心流和惊喜感这四个方面。游戏本质的意思是玩家玩游戏的主要目的是种田,如果怪物出现的次数过多就变成了打怪游戏,违背了游戏的初衷。在游戏的过程中给玩家设计一定的障碍,可以让玩家觉得这个游戏的目标是值得追求的。心流是一个心理学概念,意思就是玩家的技能和遇到的挑战要匹配。大学生去做小学的数学题的话技能和挑战匹配不上,大学生会陷入的沉闷无聊的体验中去,就不是一个很好的体验。与之相反,让小学生去做高数题,会陷入焦虑,烦躁的体验里去。最好的体验是在心流区域,技能和挑战匹配的特别好,所以玩游戏沉浸于其中,都忘了时间。最后是惊喜感,古人写文章就有这一说法:文似看山不喜平。意思就是说,写文章好比观赏山峰那样,喜欢奇势迭出,最忌平坦。《游戏设计的艺术》中也写道:Our brains are hard-wired to enjoy surprises.
基于游戏体验的顶层, 郭祥昊设计出了下面的 reward 框架:
a. 本质体验:
如果怪物出现太多,游戏变成了打怪游戏,违反第一原则。
因此,如果 怪物全局出现的概率大于等于 0.8, reward=-10
b. 障碍:
如果整个种田都没有怪物出现,违反第二原则。
因此,如果全程没有怪物出现,reward = -10
c. 心流:
玩家很弱小(没钱),如果出现大怪物,得到 reward=-8;
玩家很强大的时候(有钱),如果出现大怪物,得到 reward=1;
玩家很强大的时候(有钱),如果出现小怪物,得到 reward=0。
d. 惊喜感:
对于连续的种植过程,随机变量 X 是出怪选择,符号集= {空,小鸟,野猪,小偷},如果 Entropy    , 则意味着:游戏是易于猜透并且冗长乏味的;设定其 reward=-10。
玩家某次获得了怪物掉落的农作物(意外惊喜),得到 reward=3。
当然这只是举例说明方法原理,实际设计中 郭祥昊还做了更多细化。
对于强化学习的模型设计,与传统游戏 AI 中把玩家看成 Agent 不同, 郭祥昊团队把游戏系统和玩家(通过程序模拟的)看成一个统一整体,他们合起来是强化学习中的环境。一个独立于环境之外的 Agent,通过观察环境相关的状态(States),调整游戏参数(Action),从环境中获得体验相关的 Reward,形成一个完整的强化学习迭代过程。 郭祥昊团队用经典算法 Q-learning 来计算决策,探索方法为    :
   
郭祥昊团队通过强化学习找到了对于每个时刻,状态下出怪的决策。最后的成果在四个方面都有体现。这次开发过程,团队对传统的开发流程做了多种改善。他们从优化玩家体验的目标出发,倒推数值设定。怪物出现策略   覆盖玩家在游戏中的每个时刻 t,且对于玩家个性化设计,粒度远比传统数值设定细。这样的话,游戏数值策划师只用聚焦设计玩家体验目标,而非具体实施手段,再也不用操心数学了。并且,这一方法具有通用性和可扩展性:即做多个参数决策,使用神经网络近似来做泛化。
2. 游戏数值设计的新流程
郭祥昊又更进一步的提出了,游戏数值设计的新 pipeline。首先,游戏设计师制定需要玩家达到的体验,这些体验是顶层体验,比如:开始要容易最后一关要很难。之后由强化学习算法工程师将这些体验量化为强化学习reward ,例如前三关就死亡,reward-=10,90% 玩家都过了最后一关,reward-=20。再交给机器去训练,得到合适的游戏参数。最后由游戏设计师审视实际的效果。这一自顶而下的流程,将目标分解把不同的目标分给不同角色(游戏设计者、RL 算法工程师)。这样不同职位的设计者只需要专注于自己本职工作,同时还能借助机器的力量,把人手工操作有难度的事情,放到算法和算力侧来解决。
该方法对于改进游戏数值设计是一个有益的探索,拓展了强化学习在游戏 AI 的应用范围。未来,强化学习会在游戏领域的应用会更加深入和广泛,变革游戏设计与研发的方式。




欢迎后台留言、推荐您感兴趣的话题、内容或资讯!

如需转载或投稿,请后台私信。

登录查看更多
0

相关内容

秦志伟博士在滴滴AI实验室领导强化学习研究,致力于拼车市场优化的核心问题。他在哥伦比亚大学获得运筹学博士学位,在温哥华不列颠哥伦比亚大学获得计算机科学和统计学学士学位。对优化和机器学习交叉领域的研究课题非常感兴趣,最近的研究领域是强化学习及其在运营优化、数字营销、交通信号控制和教育中的应用。曾在ICML、KDD、IEEE ICDM、WWW、JMLR和MPC等顶级会议和机器学习与优化期刊上发表文章。
【斯坦福Jiaxuan You】图学习在金融网络中的应用,24页ppt
专知会员服务
43+阅读 · 2021年9月19日
专知会员服务
64+阅读 · 2021年8月28日
专知会员服务
76+阅读 · 2021年7月31日
专知会员服务
127+阅读 · 2021年3月9日
小米在预训练模型的探索与优化
专知会员服务
18+阅读 · 2020年12月31日
Google最新《机器学习对偶性》报告,48页ppt
专知会员服务
35+阅读 · 2020年11月29日
征稿进行中 | 重磅报告嘉宾介绍第二波!敬请关注2022 IEEE Conference on Games
直播预告 | 第六届深度强化学习理论与应用研讨会
中国科学院自动化研究所
1+阅读 · 2022年1月12日
会议交流|大模型与图学习等知识图谱相关技术实践探索
2020全球人工智能技术大会——模式识别前沿论坛成功举办
CSIG机器视觉专委会
0+阅读 · 2020年7月27日
国家自然科学基金
3+阅读 · 2018年6月30日
国家自然科学基金
12+阅读 · 2017年12月31日
国家自然科学基金
5+阅读 · 2017年6月30日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2013年12月31日
国家自然科学基金
2+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2009年12月31日
Arxiv
1+阅读 · 2022年4月20日
On Feature Normalization and Data Augmentation
Arxiv
14+阅读 · 2020年2月25日
Arxiv
21+阅读 · 2018年8月30日
Arxiv
21+阅读 · 2018年5月23日
VIP会员
相关基金
国家自然科学基金
3+阅读 · 2018年6月30日
国家自然科学基金
12+阅读 · 2017年12月31日
国家自然科学基金
5+阅读 · 2017年6月30日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2013年12月31日
国家自然科学基金
2+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2009年12月31日
Top
微信扫码咨询专知VIP会员