自动驾驶(二)可解释-端到端-隐强化学习model-发车
-
Agent的潜意识
2021-04-14 21:56:47
-
数据库开发技术
-
原创


如果你手上的app UV流量能够像花草一样随着时间增长,那真是一件美妙的事情。 可是,按照熵增原理,学如逆水行舟不进则退。还是日拱一卒,滴水穿石。 Title: Interpretable End-to-end Urban Autonomous Driving with Latent Deep Reinforcement Learning Github: https://github.com/cjy1992/interp-e2e-driving
- February 2021 IEEE Transactions on Intelligent Transportation Systems PP(99):1-11
与流行的模块化框架不同,端到端自动驾驶寻求以集成方式解决感知,决策和控制问题,这种方式可以更适应新场景并更易于大规模推广。但是,现有的端到端方法通常缺乏解释性,并且只能处理诸如保持车道之类的简单驾驶任务。在本文中,我们提出了一种可解释的深度强化学习方法,用于端到端的自动驾驶,它能够处理复杂的城市场景。它通过引入顺序潜在环境模型,并与强化学习过程一起训练。利用这种潜在的模型,可以生成一个驾驶道路的语义鸟瞰图蒙版,将该语义鸟瞰图和自动驾驶的决策控制策略结合起来,就可以很方便的解释学习策略的内在行为。语义鸟瞰图类似于降维处理,将输入的图像和雷达点云数据转化为低维隐空间,显著降低了自动驾驶强化学习model的样本复杂性。在CARLA中使用模拟自动驾驶汽车进行的对比测试表明,在周围有拥挤车辆的城市驾驶场景中,我们的方法的效果优于许多基线,包括DQN,DDPG,TD3和SAC。此外,通过鸟瞰图这一隐空间输出,能够更好地解释汽车在驾驶环境下学习到的策略。翻译总结一下,就是两个产出:一、生成了鸟瞰图,可以让RL开车具有可视化的解释性;二、一个end2end的自动驾驶RLmodel训练框架,效果比一般的RL算法好不少。这个过程中有两个问题,第一是这样学习效果不太好,因为输入的是一个高维图像数据,RL需要学出来一个只有几维的tensor,中间的信号损失太大;第二问题是没有解释性。输入的是图像,输出的是驾驶行为,这个Agent为啥采取这个行为,基本是个黑盒子。不好可视化解释。为了解决这个问题,作者们在这个输入输出中间加了一个过渡连接层:构建一个鸟瞰图语义Mask,这样就可以可视化展示学习到的策略跟道路环境的直观感受;同时相当于特征抽象,将输入的高维特征降维成一个语义分割的mask图,从而提升后续强化学习模型学习策略的效果。
如图所示,Sensor Inputs是两张图,左边的是摄像头的RGB数据,右边的是雷达点云数据;学习到一个 Driving Agent来驾驶车辆,本文的贡献即隐model学习了一个道路鸟瞰图 Mask,这个图就是从道路的顶上朝下看,图上的信息是车道线和车辆及行人。其中蓝色的车道线,绿色代表车辆或行人,红色是自动驾驶的车辆。一辆车当前的状态有以下几个参数决定:一、前一时刻的驾驶决策,如加速或转向,决定了当前的位置。二、前一时刻的状态。前一时刻在哪个位置采取了哪个行为。同时,这个车的状态决定了一些特征,例如车辆观测到的RGB图像和雷达中的点云数据。整个过程是随时间变化推移的。这个颇有点语音识别中的隐马尔可夫决策过程的概念。这里叫做序列概率图模型。

图示如上。第一个图讲的是一个简单概率图模型,A和B一起决定C,C决定了D。画在图上就按有向图的标志来展示。下一个图就有意义了。其中a[1..n]代表的是每个时刻的action,即采取的驾驶动作;Z[1..n]代表的是每个时刻的状态;x[1..n]代表观察到的状态值信息。这个还是一个简易图。进一步完善,自动驾驶的概率图就长这样了:
增加了两项:其中O[1..n]代表当前时刻采取智能算法驾驶车辆的状态;同时环境状态值信息做了进一步完善,细化出来了RGB图和雷达点云数据,还有隐模型学出来的鸟瞰图语义Mask。整个序列决策过程概率图模型,就是每个状态估计的乘积,类似于极大似然估计,你可以细看下论文中的公式推导。最后的公式式子就是这样的:
等式右边第一项是环境模型,第二项是驾驶策略学习模型。其中环境模型的鸟瞰图的评价指标直接是各个像素直接的绝对值差求和,然后除以维度值:

驾驶策略学习模型是Q-network,采用的是model-free的方式。奖励函数定义如下:
整个模型其实学了生成模型(生成鸟瞰图),隐状态转移模型(Z 和A 如何影响下一个状态),过滤模型,和驾驶的Q-network,还有策略网络。
第一行的图片是标注样本,三张图片分别是 前视摄像头的RGB图片,雷达点云图片和标注的鸟瞰图Mask;第二行是输入的 前视镜头的RGB图片和雷达点云图片,加上模型学到的鸟瞰图,可以看到模型学到的鸟瞰图效果还不错。
可以看出。鸟瞰图没有很好的还原出前进途中的车辆位置,原因是前视镜头看的不清楚。这个增加摄像头的input图片就可以解决。作者决定接下来尝试model-base的强化学习方法。应该会有不小的提升吧。