基于多Agent强化学习的危险车辆预警算法

2020-08-30 06:19王泽学万启东秦杨梅樊森清肖泽仪
电子科技 2020年9期
关键词:行人权重神经网络

王泽学,万启东,秦杨梅,樊森清,肖泽仪

(四川大学 化学工程学院,四川 成都 610065)

在道路交通系统中,行人作为慢行交通参与者,由于缺乏相关的保护措施,易受到道路事故的伤害。通过为行人设计一套主动保护的危险车辆警报系统来使行人避免碰撞伤害已成为出行安全研究的热点之一。

目前广泛使用的防撞系统适用对象为车辆及其驾驶员[1-5],针对行人防撞系统研究仍有很大空白。从行人的角度来看,主动保护系统的理念是行人自己掌握避免危险的主动权。行人可以提前预知危险,并决定如何避免危险,而不是被动地通过汽车避碰系统或驾驶员的安全驾驶意识来规避危险。毫无疑问,在车辆及其驾驶员的避碰系统之上,一个主动的行人保护系统可以更有效地保护人们免受车辆碰撞。所以本研究旨在开发一种智能可穿戴设备为行人提供主动保护。微型毫米波雷达等传感器技术的小型化趋势[6-7]为本系统硬件架构的实现奠定了基础,智能可穿戴设备工作示意图如图1所示。因此,如何利用雷达等传感器获取的数据对机动车威胁进行评估成为实现主动保护的关键。

道路交通是一个复杂的系统,其内容包括行人状态、天气、道路情况、周围车辆的运行状态、视线在内的多种因素。本文从本质安全(人-机-环境)的角度出发,设计了一个智能可穿戴设备来实施某种程度的主动保护以使行人免受车辆的冲击。这个设备内置了关键的安全算法,采用模糊综合评价法[8]作为基础架构。图2是这个架构的指标体系。

本文的主要工作是如何优化各指标的权重。各指标权重是模糊综合评价法的“灵魂”,在已经得到各指标危险度后,指标权重的设置很大程度上决定着这个危险评价是否会出现虚警或危险漏报。因此,合理分配各指标的权重关系到系统危险度的准确性。

不同于一般的危险评价体系,交通系统是一个动态、暂态的体系。随着交通系统内每个指标的危险值变化,权重也应该随着变化。因此只有针对每个指标目前的危险程度“量身订制”一套指标权重方案才可以保证评价不会出现危险隐患被掩盖或被过分凸显的情况。针对这个问题,本文采用BP神经网络[9]的方法为指标设置动态权重。BP神经网络的优点在于只需要输入有限的学习样本,就可以使系统在实际应用中遇到类似学习样本的情景时,得到类似的指标权重方案,以保证评价的准确性和可靠性[10]。前期工作证明BP神经网络设置的动态权重算法的危险预警结果远大于由AHP或熵权法确定权重的结果,但仍存在一些错误报警。这是由于BP神经网络的学习样本中的权重方案是依据专家经验和作者经验得到。其中存在的问题包括:(1)经验可能并不完全准确,因此输入的学习样本存在问题;(2)学习样本数量少、不全面,因此训练出来的神经网络存在缺陷,造成算法的预警失败。

强化学习采用了人类和动物学习中的“尝试与失败”机制,强调在与环境的交互中学习,利用评价性的反馈信号实现决策的优化。其中,智能体(Agent)在感知完环境的状态后,采取了一个动作使得环境转移到下一个状态,并得到一个评价这次动作好坏的反馈。因此,强化学习可以被利用来得到神经网络的学习样本,并且强化学习得到的学习样本的数量和质量都可以得到保障,最终得到报警准确率更高的危险车辆预警算法。

多智能体系统由一群有自主性的、可互相交互的实体组成,它们共享一个相同的环境,通过感知器感知环境并通过执行器采取行动[11-12]。由于智能体间通过共享经验,因此多智能体强化学习较单智能体,可以更快更好地完成任务。多智能体系统根据任务类型可以分成如下3大类:完全合作、完全竞争、混合任务[13]。通过智能体间的博弈或者合作,最终实现强化学习结果的优化,获得更多准确的BP神经网络学习样本。

本文试图从行人的角度来设计可预测和预警碰撞的主动保护算法。文中以模糊综合评价法作为基础,针对车辆撞击行人的复杂暂态系统,提出利用BP神经网络分配天气、道路、行人状态、车辆参数等指标的权重。通过强化学习获取大量准确可靠的数据作为BP神经网络的学习样本。最后,针对强化学习学习效率不足的问题,证明结合多Agent强化学习的方法可以提高学习效率。

1 多智能体强化学习

1.1 强化学习

强化学习采用人类学习中的“失败与尝试”的机制[14],强调在与环境的交互中学习,利用评价性的反馈信号来实现决策的优化。强化学习用马尔科夫决策过程表征[15],有限马尔科夫决策过程是一个四元组。其中,S是智能体的状态空间;A是智能体的动作空间;P为S×A×S→[0,1],是状态转移概率函数;R为S×A×S→R,是奖励函数。具体过程为:智能体在状态sk∈S下时,采取了一个动作ak∈A,根据状态转移矩概率函数p(sk,ak,sk+1)转移到下一个状态sk+1∈S,此时得到环境的奖励回报值rk+1。

依据马尔科夫决策过程,状态空间和动作空间要求是离散的,且动作空间的是有限的。因此将本算法中的状态空间和动作空间进行离散化处理。本模型中,状态空间是值各指标的危险度,共涉及车辆速度、天气、道路、撞击可能性、行人状态5个大的指标,每个指标危险度在0~1之间,划分跨度为0.05,所以共有3200000个状态。动作空间是指各指标权重的分配方案,每个权重也在0~1之间,划分跨度为0.1。因为各指标权重之和为1,所以共有126个选择方案。

Q学习是强化学习中最具代表性的算法,Q学习算法已经被证明是收敛的[16],并且该算法极大地简化了强化学习在实际问题中的应用问题。在现实的强化学习应用中,智能体所处环境是未知的,所以在这些情况下无法通过动态规划算法计算最优策略。Q学习是一种完全无需了解环境中状态转换概率就可以得到最优策略函数的方法[17],如式(1)所示

Qt+1(st,at)=Qt(st,at)+α×(Ra,t(st,st+1)
+γmaxaQt(st+1,at)-Qt(st,at))

(1)

其中,α与γ为参数,用来调节学习率;R为奖励值;maxaQt(st+1,at)是指下一时刻所处环境下的Q值最高的动作的Q值,以此来加快迭代的收敛速度。

1.2 多智能体强化学习

在单智能体模型中,利用特殊的编程模拟车辆撞击行人。所模拟车辆的运动轨迹是在道路上随机方向前进的,该方法的优点是编程简单且计算时间短。但是该方法没有自己“思想”地随机前进会造成很多路径过训练或训练不足,导致最终获取的合格学习样本较少,所以需要建立车辆Agent,使其有策略地行进以便加快行人Agent的训练速度。车辆Agent的状态空间和动作空间的离散化如下:状态空间即为车辆在道路上的位置,将道路进行横向0.1 m,纵向0.11 m的网格划分,网格的坐标就是车辆的状态。动作空间为车辆每次前进到面前的5个网格位置的选择。

车辆智能体与行人智能体之间是撞击与躲避的关系,属于一种特殊的竞争关系,可以采用多智能体强化学习中的完全竞争模型。在完全竞争的随机博弈中,是选用最小最大化(min-max)原则,即在假定对手一定会选取使自己收益最小化的动作的前提下,智能体选取使自己收益最大的动作(即用最坏的恶意来揣测对手)[13],如式(2)所示

Qt+1(st,a1,t,a2,t)=Qt(st,a1,t,a2,t)+α×
(Rt+γMp(Qt,at+1)-Qt(st,a1,ta2,t))

(2)

其中,Mp是行人Agent的最小最大值,完全竞争的算法是对手独立的,不管对手如何选择,自己总能取得不低于min-max函数回报值。但如果对手不是采取最优策略(即使自己的收益最小化的策略),就会使学习速度降低。所以如果能对对手建模,预判对手最可能选取的动作,那么自己就可以选取更优的动作[13],如式(3)所示

(3)

2 结果与对比

本文工作目前处于验证阶段,为了提高模拟实验的效率,所有模拟做出如下简化假设:(1)车辆速度固定为80 km·h-1,道路为一条直道(不考虑弯道、坡度),长330 m,宽18 m;(2)道路上不考虑有固定障碍物,例如栅栏、桥墩、数、故障车辆等;(3)道路上仅一台车辆。随着该创新今后的推广应用,考虑后续进行更多、更完善的模拟以保证算法的全面性和可靠性。

2.1 原型机验证

通过原型机验证了智能可穿戴设备的可行性。原型机包括一个雷达传感器和一台计算机。样机采用了独立操作系统、基带处理设计和带有模数转换器的CAR28F毫米波雷达。雷达工作波段为24 GHz-ISM,通信速率为500 kbit·s-1,能探测30 m范围内的运动物体,并能获得距离、速度和角度等参数。雷达数据刷新频率为200 ms,将通过USBCAN适配器以十六进制形式进行信号转换。雷达数据传输到计算机上,通过笔者编写在MATLAB软件上的特殊的安全算法程序进行危险车辆安全性计算,并且通过编程在MATLAB上实现了可视化实时显示。显示的内容包括:根据雷达数据实时显示目标车辆相较于行人的位置、车辆速度、行进方向等数据,以及系统危险度计算结果。原本通信模块获取的天气和道路等数据在原型机上简化为在计算机上预先设置,如图3所示。

2.2 强化学习与其他方法结果对比

通过4组模拟实验,以单智能体强化学习结果为学习样本的BP神经网络确定各指标权重的方法来对比以下3种方法:权重固定的AHP法[18]、权重固定的熵权法[19]、动态权重的以经验为学习样本的BP神经网络法。模拟实验中,随机天气和道路情况(雨、雪、雾、晴、大桥等),车辆在道路一端,起始位置随机,并以80 km·h-1的速度随机前进,最终撞向行人。行人位置固定在另一端道路中间,始终开启穿戴设备。利用上述4种方法得到的算法实时计算车辆安全值,并对是否发出警报做出相应的判断。为了给行人留出安全的躲避距离,在报警后首先计算车辆要撞击到行人所需的时间t。在此情景下,根据行人的生理状态,利用模糊数学计算行人可能的移动速度v(0.5~3.5 m·s-1)和所需的反应时间d(0.75~1.5 s) ,最终计算行人逃离危险车辆的移动距离。笔者认为取2.5~7.5 m的合理范围,如式(4)所示

(4)

模拟实验一共进行50次,对比和结果如图4和表1所示。

表1 强化训练与其他方法合格率对比Table 1. Comparisons of qualified rate between intensive training and other methods

由于固定权重的AHP法将权重过多地分配给车速指标和撞击可能性指标,而模拟中车速固定为80 km·h-1,危险度较高。如果分配过多在车速指标上就会导致出现了大量的“虚警”。熵权法将过多的权重分配给了天气、道路指标,当遇到良好的天气、道路环境时,环境指标的危险度会很低。如果其分配过多权重,就可能会导致出现车辆撞击到行人而没有报警的严重错误。以经验为学习样本的BP神经网络的方法合格率确实大于两个固定权重的方法,但是其优势并不明显。主要原因是操作人能力有限,在考虑问题的全面性方面会存在缺陷。另外从图中可知其同样导致了较多虚警的出现,由此分析此法可能学习了人类的认知,同样过多地侧重于车速指标和撞击可能性指标,导致报警准确率较低。以强化学习训练结果为学习样本的BP神经网络的方法的合格率相比其他3个方法有明显优势,相较于AHP法、熵权法、以经验为学习样本的BP神经网络的方法,其准确率分别提高了100%、75%、56%,这是由于学习样本的准确性得到了保证。但由于存在学习样本不全面的问题,出现车辆撞击到行人而没有报警的情况发生。综上,可以考虑增加更多强化学习的结果作为BP神经网络的学习样本以提高算法的准确性。

2.3 多智能体与单智能体强化学习过程对比

提高强化学习的效率来得到更多学习样本可能是目前优化算法的唯一途径。本多智能体模型相较于单Agent模型,增加了车辆Agent。在强化学习开始后,经过初期迭代,车辆智能体自己探索得到了如图5所示的一个类似的行驶轨迹图。途中浅色为Q值高的位置,深色为Q值低的位置,车辆会选择Q值大的位置前进,而不是随机前进。从图5中可以观察到车辆智能体起初会选择最直接的最快速的方式撞向行人。

随着行人Agent的学习,车辆Agent还按照该路径撞向行人时,行人Agent可以预先警报。此时,根据多智能体完全对抗模型,车辆Agent的该位置的Q值(评分值)大幅下降,随着后续模拟,该位置的Q值下降的趋势向前传递,最终导致了该路径的Q值低于周围,车辆将另外选择其他路径去撞击行人。此方法的好处是可以让每个位置都得到充分的训练,不会出现个别位置训练不足或者过训练的现象出现。该过程示意如图6所示。

两个模型学习过程对比如图7所示,斜率反映了两个模型的训练效率。此方法相较于单Agent,其训练效率有了极大地提升,同样条件下可以获得更多的学习样本。单智能体在训练16亿次的情况下仅得到了2 017个有效学习样本,而多智能体模型训练2×107次得到了得到了725个有效学习样本,训练效率提高了28倍。所以应用多智能体模型可以获得更多学习样本,从而实现算法优化。

3 结束语

本文基于本质安全和主动防护的思想,为防车辆撞击早期预警智能可穿戴设备,提出了模糊综合评价法作为基础架构和多Agent强化学习的智能算法。文中从行人的角度出发,在收集车辆和环境数据的基础上,建立了车辆影响风险评价体系。本研究结合冲击可能性仿真,采用模糊评价方法获取各指标的风险,并采用BP神经网络和强化学习结合的方式获取各指标的动态权重。文中基于以强化学习为学习样本训练的BP神经网络,对不同情况下的车辆碰撞进行了分析计算,并与以经验为学习样本训的BP神经网络、层次分析法和熵权法进行了对比,证明了强化学习模型具有更高的预警精度。最后,本文针对单智能体强化学习效率低的问题,利用多智能体强化学习提高学习效率。综上可知,将模型和算法嵌入智能穿戴设备中,可以建立预警系统,使行人收到预警信号,及时脱离碰撞危险。

猜你喜欢
行人权重神经网络
基于神经网络的船舶电力系统故障诊断方法
权重望寡:如何化解低地位领导的补偿性辱虐管理行为?*
MIV-PSO-BP神经网络用户热负荷预测
毒舌出没,行人避让
权重常思“浮名轻”
路不为寻找者而设
基于神经网络的中小学生情感分析
为党督政勤履职 代民行权重担当
权重涨个股跌 持有白马蓝筹
我是行人