想当年 AlphaGo 因接连战胜一众国际顶尖棋手,一举成名!好家伙,成功点燃世界对人工智能的热情,连门口传达室的老大爷都得端着茶杯感慨两句岁月如金。
而2019年 DeepMind 研发的 AlphaStar 在《星际争霸2》游戏中更是一战封神,再次向人们证明人工智能领域已经飞速前进。但究其背后,这两个火出圈儿的高质量人工智能高手都离不开一项牛逼的技术——那就是深度强化学习。
初级玩家可能会问:深度强化学习跟自动驾驶又有啥关系?接着往下康
深度强化学习是什么?
最近热播综艺《披荆斩棘的哥哥》都看了吧?打个比方,深度强化学习就像是两个独立选手——黄贯中(强化学习体系)和李承铉(深度学习体系)披荆斩棘以后的成结合团体(深度强化学习)。具体来说,深度强化学习的骨架来自强化学习,而灵魂则是由深度学习赋予。所以,要讲明白深度强化学习,首先来看下强化学习。
强化学习是一种典型的序贯决策方式,智能体通过与环境的交互获得反馈,在尝试和试错中不断进步。而深度强化学习综合了深度学习对高维数据的抽象感知能力与强化学习优秀的决策能力,能够处理更高维度的输入与输出数据。
近年来,深度强化学习算法已在许多领域都取得了令人震撼的成就。2016年,基于深度 Q 网络(Deep Q Network,DQN)和蒙特卡洛树搜索算法的围棋程序“AlphaGo”以4:1战胜世界冠军李世乭,轰动了世界,使得深度强化学习成为了人工智能领域研究的新风向。
随后,Lillicrap 等学者提出了直接优化策略的深度确定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法,而非通过比较状态动作值函数的方式进行动作选择,从而避免了连续动作空间离散化的“维数灾难”,将深度强化学习算法可应对的场景拓展至连续动作空间中。为了实现工程中的轻量级应用,Mnih等提出了异步强化学习(Asynchronous Reinforcement Learning,ARL) 框架,可以使用异步的梯度下降法来优化网络参数。
即使 AlphaGo 系列 AI 程序取得了巨大的成功,但围棋仍然是有限空间、限定规则、限定动作空间的棋类游戏,人们仍然怀疑 AI 程序在长期任务、非完全信息、复杂动作空间的任务上的有效性。
2019年1月25日,DeepMind 展示了他们的最新成果—StarCraft II AI 程序 AlphaStar,以10-1比分战胜了星际争霸顶级职业玩家。星际争霸(StarCraft)是由暴雪娱乐公司开发的一款经典即时战略游戏,相对于围棋,具有动态博弈、非完全信息、长期规划、实时决策、动作空间巨大等特点。
AlphaStar采用了种群强化学习(Population-based Reinforcement Learning)、模仿学习(Imitation Learning)等方法,以大比分战胜人类顶级职业玩家。整个 AlphaStar 智能体联盟训练了14天,每个智能体调用了16个TPU。在训练期间,每个智能体经历了相当于正常人类要玩200年的游戏时长。
2019年10月30日,DeepMind 在 Nature 上发表关于 AlphaStar 的最新文章,宣称 AlphaStar 在没有任何限制条件、与人类相同的操作水准下达到了天梯对战的宗师级水平,超过了99.8%的人类玩家。
综上,近些年来深度强化学习算法取得的令人振奋的成果鼓励了工业界和学术界进一步深入研究深度强化学习算法及其应用。近年来学者们将深度强化学习算法应用在机器人控制、楼宇空调系统控制、匝道控制等领域中,在汽车和智能交通等领域,深度强化学习也在车道保持、超车决策、主动制动、能量管理、交通流调度等方面得到了应用。
深度强化学习如何在自动驾驶领域应用?
在人工智能所面临的诸多任务中,自动驾驶是一个极具挑战的场景,与图像处理、自然语言理解等应用场景相比,自动驾驶必须能应对车路(环境)交互频繁、场景复杂多变、实时性要求高、容错率低等挑战。
深度强化学习(Deep reinforcement learning,DRL)兼具了深度学习对高维输入的处理能力与强化学习的决策能力,能够实现由高维的感知信息到连续动作空间输出的直接映射,非常适合处理环境复杂、交互频繁的自动驾驶任务。
目前自动驾驶的典型技术架构主要有两大类:感知-规划-控制序列式(Sequential perception- planning-action pipeline)架构和端到端(End-to-end)架构。
图1是百度 Apollo 使用的一种典型的感知-规划-控制序列式架构(Sequential
perception-planning-action pipeline),主要包括高精地图、定位感知、决策规划、车辆控制等模块。高精地图和定位模块为自动驾驶车辆提供位置信息,感知模块提供静动态障碍物信息,决策规划模块根据定位和障碍物信息合理规划自动驾驶车辆的行为和路径,最后由车辆控制模块执行运动规划模块下发的路径跟踪控制指令。
但是感知-规划-控制序列式架构主流的处理方式是将感知信息处理成人类可以理解的语义信息和道路交通信息,然后基于专家知识和规则进行决策规划,这种方式在简单场景下可以完成自动驾驶任务。但却难以胜任在复杂不确定场景中执行的自动给驾驶任务,原因是现实场景的复杂多样性,使得专家知识和规则不能完全覆盖所有场景和工况。
图1 感知-规划-控制序列式架构
基于深度强化学习的端到端(End-to-end)的控制架构是自动驾驶领域中新兴的研究热点,它能克服传统方式依赖先验环境建模的问题,可以直接实现通过从感知到控制功能的映射。图2是 Nvidia 提出的一种 End-to-end 架构,直接从原始图像输入获取转向控制指令。
该架构分为网络训练和网络部署两个阶段:在网络训练阶段,使用左中右三个相机的图像作为 CNN(Convolutional Neural Network,卷积神经网络)的输入,同时使用人类驾驶员的转向指令作为训练信号。经训练后的 CNN 仅以中心相机的图像作为输入,直接输出转向控制动作。End-to-end 架构以计算机的方式理解图像信息,可在全局范围内进行优化求解,可以更直观的实现驾驶功能,拥有更好的场景泛化性。
(a)网络训练
(b)控制输出
图2 Nvidia End-to-end 技术架构
目前,在规划决策领域应用 DRL 算法的主要方式是在模拟器中学习驾驶轨迹,或将驾驶产生的轨迹或动作抽象成为更高级的决策信息进行学习。但业内有研究提出,强化学习的目标函数难以在不引起严重方差问题的情况下确保功能安全。
因此,毫末选择的解决方案是将策略函数的构建分为学习部分和不可学习部分(如图3所示)。学习部分基于深度强化学习算法,负责最大化奖励函数(包括舒适性、安全性、超车机会等),同时不可学习部分保留了必要的硬约束,使策略在保持舒适度的前提下可以严格遵循功能安全,从而实现深度强化学习算法与传统算法的融合,使策略在确保安全的基础上拥有更好的性能。
图3 序列式架构+数据驱动的决策规划
毫末智行如何优化应用深度强化学习?
目前,毫末智行已完成对多种有代表性的业内主流算法的调研与实现,包括典型的 PPO、SAC、TD3、DDPG 及其改进型 RPPO、RSAC、RTD3、RDPG 等算法。
图4 部分算法的训练曲线
表1 部分算法的实验结果汇总
接下来,毫末智行会持续探索强化学习在量产项目中的落地方式与应用方法,并结合业内前沿的 Transformer、自注意力、逆强化学习等研究领域,为汽车赋予更多的智能与性能。