基于异构融合特征的深度强化学习自动驾驶决策方法*

2022-11-09 02:34石朝侠王燕清
计算机与数字工程 2022年9期
关键词:降维异构自动

冯 天 石朝侠 王燕清

(1.南京理工大学计算机科学与工程学院 南京 210094)(2.南京晓庄学院信息工程学院 南京 211171)

1 引言

国家统计局发布的中华人民共和国2019年国民经济和社会发展统计公报[1]显示,截至年末,全国民用汽车保有量26150万辆,比上年末增加2122万辆,伴随而来的道路交通问题也日益凸显。资料显示,中国道路交通事故万车死亡人数已达1.80人。很大数量的交通事故是由于驾驶员的失误造成的,自动驾驶技术的应用,很可能让这类交通事故大幅减少。英伟达、谷歌、特斯拉、百度等著名科技企业在自动驾驶技术上均已展开了大量的研究,现阶段已有少量自动驾驶车辆进行测试。美国电气和电子工程师协会(IEEE)预测,截止至2040年,全球75%的新增汽车都会是自动驾驶汽车[2]。然而现阶段,研究出在城市环境下能够完全自主应对各种复杂交通场景的自动驾驶技术仍然是一项巨大的挑战。

迄今为止,已经存在一些基于深度学习[3~7]或者基于强化学习[8~10]的自动驾驶方法。基于深度学习的方法使用大量人类驾驶员的驾驶数据训练神经网络[4],通过大量数据寻求驾驶环境与驾驶员动作的映射关系,进而学习自动驾驶技术。这种方法不仅需要极大数量的驾驶数据而且缺乏对特殊情况的学习,有较大的应用难度。基于强化学习的自动驾驶方法可以利用自主探索环境得到的经验持续学习优化。但是,这种方法对于自动驾驶这种高输入维度且动作空间连续的情况难以有效进行。加之神经网络解释性的缺乏[5],仅基于深度学习的自动驾驶算法一直没有突破性进展。

LeCun等[11]在2005年已经开始探索卷积网络在自动驾驶方面的应用。Hinton等[12]在2006年提出了深度信念网络(Deep Belief Networks),为深度学习方法开启了一个新的方向。Krizhevsky[13]等在ImageNet Large Scale Visual Recognition Challenge 2013(ILSVRC 2013)中使用卷积神经网络取得了突出的成绩。2016年,Bojarski等[3]提出使用深度卷积网络进行自动驾驶研究的方案。DeepMind团队[4]提出的affordance机制改进了自动驾驶研究的方案。随着深度学习方法的进一步使用,研究者们尝试将强化学习与之结合。其中,Mnih等[14]提出的DQN(Deep Q-Network)算法实现了在离散空间上从感知到动作的端到端算法,算法在一些游戏场景中表现已优于人类。DeepMind团队在2016年结合演员-评论家(Actor Critic)算法[15],将DQN算法改进为深度确定性策略梯度算法(Deep Deterministic Policy Gradient,DDPG)[16],实现了连续空间上的控制输出。CARLA[17]自动驾驶仿真平台提供了数据收集、实验设置、方案验证等功能,是一个优秀的综合仿真平台。受到前人工作的启发,本文提出一种深度强化学习自动驾驶决策方法:首先基于适量驾驶数据预训练图像降维网络,然后将降维后得到的图像特征和车辆状态特征进行异构融合作为强化学习的输入,接着通过为自动驾驶量身定制的奖励函数有效引导学习,并结合经验池回放技术和目标网络技术。最后,分别测试了异构融合架构下和未经融合直接输入架构下自动驾驶的学习曲线。

2 基于强化学习的方法

强化学习通过智能体与环境不断进行交互,用奖励或者惩罚信号试错式的学习状态和动作之间的某种映射规则的方法。其框架如图1所示。

图1 强化学习基本框架

在强化学习过程中,智能体基于某种决策方式在状态st下做出动作at并与环境交互,获得环境反馈改变状态到达st+1并获得奖励rt,如此反复产生一系列状态、动作、奖励链,直到达到终止条件。智能体希望通过不断探索环境来优化决策以最大化得到的奖励。下面介绍一些典型的强化学习算法。

2.1 DQN算法

DQN算法是传统强化学习算法Q-Learning与深度学习方法的结合,强化学习的过程可模式化为马尔科夫决策过程(Markov Decision Process,MDP),其中包含状态S,动作A,奖励R和衰减系数γ,状态的改变和奖励仅取决于上一步的状态和动作。

在DQN之前,Q-learning算法是通过构造一个Q表来存储状态-动作对的价值,进而可以根据这些价值做决策。学习的目的是求出期望累计奖励最大的策略,其形式为式(1):

DQN使用深度神经网络来拟合函数以替代Q表,学习时通过时序差分算法最小化目标Q值和当前Q网络输出之间的差距来更新参数θ的值。如式(2)所示:

DQN算法只适用于离散动作空间,对于自动驾驶这种连续空间并不直接适用。

2.2 DDPG算法

DDPG是将深度神经网络融合进Deterministic Policy Gradient(DPG)的学习算法。DPG通过确定性动作函数at=μ(st|θμ)直接选择动作,DDPG在其基础上分别采用策略网络和价值Q网络作为策略函数μ(st|θμ)和价值Q(st,at|θμ)函数的模拟,然后使用深度学习的方法按照式(3)、(4)、(5)分别更新网络。

同时,DDPG保留了DQN的使用过的经验池回放技术和目标网络技术来降低学习过程中的波动,进一步使得学习过程收敛。经验池回放技术是将系统探索环境得到的数据存储起来,然后随机采样样本更新深度神经网络的参数。目标网络技术通过拷贝原始网络为目标网络,根据延迟因子τ来软更新在线网络和目标网络的参数以稳定学习过程,更新方式如式(6)和式(7)所示。

3 基于异构融合特征的深度强化学习自动驾驶决策方法

3.1 图像降维网络

强化学习难以在高输入维度且动作空间连续的情况下有效学习,为了降低输入状态维度,我们使用模仿学习方法预先学习驾驶数据,训练图像降维网络[7]。

网络输入为来自前向摄像头分辨率为88*200的RGB图像image,通过8层卷积网络和2层全连接网络,最终输出2维车辆控制信号,分别为方向盘控制量s和加减速控制量a,网络结构见图2。

图2 图像降维网络结构图

网络的损失函数L定义为两个预测控制信号量s和a的L2损失和,如式(8):

待训练结束后固定网络参数并去掉网络最末端输出层,这样得到从88*200*3维图像image映射为512维度图像特征fimg的降维网络,此图像降维网络将作为我们强化学习的部分输入。

3.2 异构融合特征强化学习网络

DDPG算法分别使用策略网络和价值Q网络来模拟策略函数μ(st|θμ)和价值Q(st,at|θμ)函数,两者均为多层全连接网络。

为了提高系统对整体环境的感知,我们将对车辆描述的5维状态特征:当前方向盘控制量s、当前加减速控制量a、归一化速度v、人行道跨越rr、车道跨越ro,记为车辆状态特征fagt,与图像状态fimg异构融合后合并输入强化学习网络。

策略网络和价值Q网络的结构如图3、图4所示。

图3 策略网络结构

图4 价值Q网络结构

3.3 奖励函数设计

我们针对自动驾驶场景量身定制了奖励模块。奖励模块分为6个部分:速度奖励ra,方向盘约束惩罚rs,人行道跨越惩罚rr,车道跨越惩罚ro,碰撞惩罚rd以及静态惩罚rc,最终结果为这6个部分的数值总和,如式(9)所示。

速度奖励ra定义为

其中v的单位为km/h,本实验环境下vmax取值为10。

方向盘约束惩罚rs定义为

其中s为方向盘控制量,取值空间为[-1,1],本实验环境下λs取值为30。

人行道跨越惩罚rr、车道跨越惩罚ro触发条件分别为当发生人行道跨越、发生车道跨越时,触发后奖励数值均定义为-100。

碰撞惩罚rd触发条件为当发生任何碰撞时,触发后奖励数值定义为-100,并且会终止此次实验场景。

静态惩罚rc触发条件为当速度小于0.1m/s时,触发后奖励数值定义为-5,若持续2s内保持此状态,也将终止此次实验场景。

3.4 方法更新流程

方法更新过程和DDPG算法流程相似。首先预训练图像降维网络,然后通过降维的图像特征和车辆状态特征异构融合作为输入状态,经验池采样更新网络,方法整体架构见图5。算法流程如下:

图5 异构融合特征的深度强化学习自动驾驶决策方法

4 实验设置

4.1 仿真环境介绍

为了更好地训练并测试自动驾驶决策方法,本文选择了CARLA开源自动驾驶仿真环境。CARLA是一款新颖的自动驾驶仿真软件,其基于Unreal Engine 4引擎提供了三维可视画面,城市环境资源(包含城市地图和符合动力学的汽车与行人),多种类的传感器,高仿真的光照与天气以及符合物理动力学规律的车辆模型。

CARLA采用了服务器-客户端架构。服务器负责仿真相关内容:传感器渲染、物理计算、世界状态及其车辆的更新等。客户端由一组客户端模块组成,控制场景中车辆的逻辑,服务器与客户端之间的联系通过CARLA API实现。

4.2 仿真环境设置

CARLA仿真平台的时间步长设置为0.1s,训练天气设置为干净的中午、有积水的中午、下雨的中午、干净的黄昏、下雨的黄昏5种天气随机选择,设置仿真环境中其他动态车辆数为20,动态行人数为40。训练过程中,车辆会从83个起初坐标中随机选择,持续行进直到达到终止条件,城市的地图和仿真环境如图6所示。

图6 城市地图及仿真环境

4.3 训练参数设置

训练过程中,模型输入都进行归一化,方向盘控制量s为[-1,1],加减速控制量a为[-1,1],其他训练参数设置如表4所示。

表4 训练参数设置

5 结果与分析

为了公平地评估异构融合特征方法,选择将相同的输入信息不经过异构融合,直接输入强化学习网络以便对比。两种方法在训练过程中所获得的平均奖励值曲线如图7所示。

图7 学习曲线

图7中黑色虚线是直接输入特征在训练过程中所得到的平均奖励值曲线,黑色实线是异构融合特征方法在训练过程中的平均奖励值曲线。从图中可以看出,在训练前期,随着训练的进行,车辆所获得的奖励值在不断地上升,之后保持稳定,说明了车辆很好地学习到了驾驶技术。异构融合特征方法学习曲线上升更快,相对稳定后的平均奖励值也更高,表5记录了两种方法达到稳定所需要的迭代次数,所需的时间以及稳定后的平均奖励值。

表5 训练信息

根据图7和表5可知,异构融合特征方法的学习速度较快,可以很快地学习并稳定到一个较优的奖励值,所需要的时间也有所减少。图8为训练过程中出现的场景,随着训练的进行,车辆从完全无法驾驶开始逐步学会了沿道路稳定行驶,路口转向以及一定程度的障碍物避让,体现了方法的稳定性与鲁棒性。

图8 训练过程中的场景

6 结语

提出了一种基于异构融合特征的深度强化学习自动驾驶决策方法。首先通过模仿学习预训练图像降维网络,然后将图像特征和车辆状态特征异构融合并输入DDPG算法框架中,结合针对自动驾驶场景量身定制的奖励模块有效学习。实验结果显示,本文所提出的方法能够有效且快速学习驾驶技术。同时,算法在复杂城市环境下保持了较高的稳定性与鲁棒性,具有很好的应用潜力。

猜你喜欢
降维异构自动
混动成为降维打击的实力 东风风神皓极
试论同课异构之“同”与“异”
自动捕盗机
降维打击
基于STM32的自动喂养机控制系统
异构醇醚在超浓缩洗衣液中的应用探索
overlay SDN实现异构兼容的关键技术
关于自动驾驶
LTE异构网技术与组网研究
Stefan Greiner:我们为什么需要自动驾驶?