许倬、唐琛作者

利用鲁棒控制实现深度强化学习驾驶策略的迁移


自动驾驶无疑是当下最热门的话题之一,无论是工业界还是学术界都在不断探索实现自动驾驶的方法。从运动规划和控制的角度来看,尽管传统的基于模型的算法已经可以帮助我们完成在相对简单可控的环境下的驾驶任务,如何在复杂场景(例如涉及多车进行复杂交互的场景)下安全高效的通行仍然是亟待解决的问题。我们认为利用深度强化学习(Deep Reinforcement Learning),尤其是无模型(model-free)的强化学习算法,来学习复杂场景下的驾驶策略是一个值得探索的方向。通过在训练阶段的大量探索,强化学习算法可以在训练环境中采集不同情况下的数据,从而针对各种情况对策略进行优化,最终获得在训练环境中相对理想的策略。利用这样的方式,我们可以避免对复杂场景的建模,得到可以在线上快速运算的规划及控制策略。

然而,强化学习存在许多现实问题,其中最重要的问题之一就是强化学习缺乏足够的鲁棒性(Robustness)。一旦环境发生变化,出现训练环境没有出现的情况,原本在训练环境中表现优异的策略模型往往无法正确应对。而自动驾驶车辆需要在各种复杂交通状况下行驶,我们无法保证在训练中囊括所有的场景。另一方面,出于安全以及训练效率方面的考虑,驾驶策略往往需要在仿真环境中训练,这更加剧了训练环境和实际工作场景间的差距,使得强化学习生成的驾驶策略无法在实际的自动驾驶车辆上部署。为了解决鲁棒性问题,许多研究者开始使用迁移学习的方法(Transfer Learning),使得在训练好的策略模型可以在新的环境中直接使用(zero-shot),或是经过快速的微调后可以在新的场景下达到理想效果(one-shot/few shot)。

在本文中,我们所关注的问题是驾驶策略对车辆动力学模型变化的鲁棒性,比如模型参数(如质量,转动惯性,轮胎模型参数等等)的变化以及外界的扰动如道路倾角和侧向风导致加载在车辆上的侧向力。我们希望可以将训练好的驾驶策略直接应用在相对于训练环境的车辆有一定变化的车辆上面,比如仿真环境中的不同车辆或是真实车辆,并达到和在训练环境中时相同的效果。为了达到这个目标,我们提出了基于鲁棒控制的驾驶策略迁移框架(RL-RC)。我们在仿真的训练环境(source domain)中训练初始的强化学习策略,随后将训练的强化学习策略应用在目标环境(target domain)中。我们假设二者的区别仅在于控制车辆的动力学模型有一定程度的差异,并且我们可以获取训练环境中车辆的动力学模型。在迁移的过程中,我们假设相同的行驶轨迹在训练环境和目标环境中有着相同的可行性(Feasibility)和最优性(Optimality),这在二者中控制车辆虽然不同但类似的情况下是合理的假设。因此,我们可以直接利用在目标环境中检测的信息,在训练环境中建立相同的场景,并利用驾驶策略向前仿真一段时间,从而得到在训练环境中未来一段时间内车辆行驶的轨迹。在目标环境中的车辆上,我们利用已知的车辆动力学模型信息,设计鲁棒控制器来控制车辆追踪生成的参考轨迹。

RL-RC 策略迁移框架示意图

在这一框架中,我们将轨迹作为可直接迁移的中间变量,增加了迁移过程的可解释性,并且避免了在目标环境中对策略的调整,提高了安全性。利用鲁棒控制理论,我们可以保障底层追踪控制器在存在扰动情况下的效果,更加有效地提高迁移框架的鲁棒性。在实际的实验中,我们用策略梯度(Policy Gradient)算法PPO训练驾驶策略完成车道保持、换道以及避障任务,在目标环境中,我们设计了基于Disturbance Observer (DOB)的控制器实现轨迹追踪。我们在不同的仿真环境之间,取得了良好的策略迁移效果。在车辆模型参数有一定程度的随机变化或是存在外加侧向力的情况下,RL-RC方法可以在目标环境中保持训练环境中的表现,顺利完成指定任务。而原本的驾驶策略在目标环境中的表现有着显著的下降。在之后的研究中,我们将尝试把RL-RC方法应用在从仿真环境到真实车辆的策略迁移,用实车实验进一步验证迁移方法的可行性。同时,改进RL策略以及鲁棒控制器,使得迁移过程更加安全可靠,实现更加复杂场景下的策略迁移。

RL-RC方法可以控制车辆在目标环境中实现与训练时几乎相同的行驶轨迹,而原本的RL策略在模型参数有变化或是存在扰动的情况下会失去稳定性,无法完成任务

(具体方法及更详尽的分析请参考论文)

Zhuo Xu*, Chen Tang*, and M. Tomizuka, “Zero-shot Deep Reinforcement Learning Driving Policy Transfer for Autonomous Vehicles based on Robust Control”, in IEEE Intelligent Transportation System Conference (ITSC), Nov. 2018. Best paper finalist.

https://arxiv.org/abs/1812.03216

ControlPlusAI
ControlPlusAI

分享机器人控制和AI领域里的一些知识和感想,偏学术。由来自UC Berkeley, Stanford, CMU的研究者们原创撰稿。

工程迁移学习自动驾驶深度强化学习鲁棒性
1
相关数据
自动驾驶技术技术

从 20 世纪 80 年代首次成功演示以来(Dickmanns & Mysliwetz (1992); Dickmanns & Graefe (1988); Thorpe et al. (1988)),自动驾驶汽车领域已经取得了巨大进展。尽管有了这些进展,但在任意复杂环境中实现完全自动驾驶导航仍被认为还需要数十年的发展。原因有两个:首先,在复杂的动态环境中运行的自动驾驶系统需要人工智能归纳不可预测的情境,从而进行实时推论。第二,信息性决策需要准确的感知,目前大部分已有的计算机视觉系统有一定的错误率,这是自动驾驶导航所无法接受的。

深度强化学习技术

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

运动规划技术

运动规划(也被称为导航问题或钢琴搬运工的问题)是机器人的一个术语,用于将期望的运动任务分解成离散的运动,以满足运动的限制,并可能优化运动的某些方面。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

控制理论技术

控制理论是工程学与数学的跨领域分支,主要处理在有输入信号的动力系统的行为。系统的外部输入称为“参考值”,系统中的一个或多个变数需随着参考值变化,控制器处理系统的输入,使系统输出得到预期的效果。 控制理论一般的目的是借由控制器的动作让系统稳定,也就是系统维持在设定值,而且不会在设定值附近晃动。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~