用于自动驾驶的目标网络的训练方法、设备以及系统与流程
未命名
07-15
阅读:83
评论:0
1.本技术涉及自动驾驶领域,尤其涉及一种用于自动驾驶的目标网络的训练方法、设备以及系统。
背景技术:
2.针对用于自动驾驶的目标网络的训练场景,目前越来越多的采用深度强化学习的方式进行目标网络的训练。相关技术中,在基于ppo(proximal policy optimization,近端策略优化)算法进行目标网络训练的过程中,通常采用卷积神经网络、多层感知机等深度学习网络作为演员网络的前置网络用于学习环境信息,但是卷积神经网络、多层感知机等深度学习网络在学习环境信息时捕捉影响决策行为的重要环境信息的效果较差,导致最终得到的目标网络无法得出准确的决策结果,从而影响目标网络的决策性能。
技术实现要素:
3.本技术实施例提供一种用于自动驾驶的目标网络的训练方法、设备以及系统,以解决相关技术存在的问题,技术方案如下:
4.第一方面,本技术实施例提供了一种用于自动驾驶的目标网络的训练方法,包括:
5.利用仿真环境处理模块生成第一状态信息和第一状态信息对应的环境标识信息,环境标识信息用于表征目标车辆的预设范围内的行车信息;
6.将第一状态信息输入层次化图神经网络,得到第一状态信息对应的第一编码特征和第一解码特征;将第一编码特征输入第一演员网络得到第一决策结果,以及利用仿真环境处理模块得到执行第一决策结果后的第二状态信息、第一决策结果对应的奖励值以及决策进程是否终止的判断结果,并构建训练数据;
7.将第一编码特征输入多层感知机,得到第一编码特征对应的解码信息;以及,基于训练数据,通过第二演员网络得到第一状态信息对应的第二决策结果,通过评论家网络和优势函数得到第一决策结果对应的优势值;
8.根据环境标识信息和解码信息,确定层次化图神经网络的第一损失值;以及,根据第一损失值、第一决策结果和第二决策结果的比较结果、第一解码特征和优势值,确定第一演员网络的第二损失值;
9.根据第二损失值更新层次化图神经网络和第一演员网络的参数,直至得到符合预设条件的目标层次化图神经网络和目标网络。
10.在一种实施方式中,目标车辆的预设范围内的行车信息包括目标车辆当前所处的车道信息、目标车辆的预设范围内是否存在其他车辆的判断信息以及预设范围内的其他车辆的车速信息。
11.在一种实施方式中,根据环境标识信息和解码信息,确定层次化图神经网络的第一损失值,包括:
12.根据环境标识信息和解码信息,利用均方误差公式确定层次化图神经网络的第一
损失值。
13.在一种实施方式中,根据第一损失值、第一决策结果和第二决策结果的比较结果、第一解码特征和优势值,确定第一演员网络的第二损失值,包括:
14.将第一损失值、第一决策结果和第二决策结果的比较结果、第一解码特征和优势值输入演员网络损失函数,得到第一演员网络的第二损失值。
15.在一种实施方式中,基于训练数据,通过第二演员网络得到第一状态信息对应的第二决策结果,通过评论家网络和优势函数得到第一决策结果对应的优势值,包括:
16.将训练数据中的第一状态信息输入层次化图神经网络,得到第一状态信息对应的第二编码特征和第二解码特征;
17.将第二编码特征输入第二演员网络,得到第一状态信息对应的第二决策结果;
18.将第二编码特征输入评论家网络,得到第一状态信息对应的状态价值,以及利用优势函数确定第一决策结果对应的优势值。
19.在一种实施方式中,在将第二编码特征输入评论家网络,得到第一状态信息对应的状态价值,以及利用优势函数确定第一决策结果对应的优势值之后,该方法还包括:
20.利用价值损失函数确定优势值对应的第三损失值;
21.根据第三损失值对评论家网络的参数进行更新。
22.在一种实施方式中,第二演员网络的参数是基于对第一演员网络预设数量次更新后的参数进行硬更新得到的,且第一演员网络与第二演员网络的初始化参数相同。
23.在一种实施方式中,服务端通过远程过程调用技术与客户端通信。
24.第二方面,本技术实施例提供了一种电子设备,包括:
25.至少一个处理器;以及
26.与至少一个处理器通信连接的存储器;其中,
27.存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本技术实施例的用于自动驾驶的目标网络的训练方法。
28.第三方面,本技术实施例提供了一种用于自动驾驶的目标网络的训练系统,用于执行本技术实施例的用于自动驾驶的目标网络的训练方法,该系统包括客户端和服务端;客户端部署有仿真环境处理模块、层次化图神经网络和第一演员网络,客户端基于第一状态信息、第一决策结果、第二状态信息、奖励值以及决策进程是否终止的判断结果得到训练数据,并将训练数据发送至服务端;服务端部署有第一演员网络、第二演员网络、评论家网络和参数更新模块,参数更新模块用于根据训练数据更新层次化图神经网络、第一演员网络、第二演员网络和评论家网络的参数,并将更新后的网络参数同步至客户端。
29.根据本技术的技术,通过利用仿真环境处理模块生成第一状态信息对应的环境标识信息,以及利用多层感知机得到层次化图神经网络输出的第一编码特征对应的解码信息,并根据环境标识信息与解码信息确定第一损失值,由此,能够引导层次化图神经网络关注状态信息中的关键信息,即目标车辆的预设范围内的行车信息,例如可以包括目标车辆的预设范围内的行车信息包括目标车辆当前所处的车道信息、目标车辆的预设范围内是否存在其他车辆的判断信息以及预设范围内其他车辆的车速信息,从而使第一演员网络根据层次化图神经网络输出的第一编码特征得到的第一决策结果更加精准。其次,根据第一损失值、第一决策结果和第二决策结果的比较结果、第一解码特征和优势值确定第一演员网
络的第二损失值,并根据第二损失值对层次化图神经网络以及第一演员网络及层次化图神经网络的参数进行更新,能够使层次化图神经网络和第一演员网络能够更稳定地捕捉到关键信息进而作出更为合理的决策结果。综上,根据本技术实施例的方法,能够实现对层次化图神经网络和第一演员网络的参数进行同步更新,并且显著提升了层次化图神经网络对于关键信息的学习能力,从而提升目标网络的决策性能。
30.上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本技术进一步的方面、实施方式和特征将会是容易明白的。
附图说明
31.在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本技术公开的一些实施方式,而不应将其视为是对本技术范围的限制。
32.图1为根据本技术实施例的用于自动驾驶的目标网络的训练方法的流程图;
33.图2为根据本技术实施例的用于自动驾驶的目标网络的训练方法的架构图;
34.图3为根据本技术实施例的用于自动驾驶的目标网络的训练方法的示意图;
35.图4为根据本技术实施例的用于自动驾驶的目标网络的训练系统的示意图;
36.图5为根据本技术实施例的电子设备的方框图。
具体实施方式
37.在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本技术的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
38.图1示出根据本技术一实施例的用于自动驾驶的目标网络的训练方法的流程图。如图1所示,该方法可以包括如下步骤:
39.步骤s101:利用仿真环境处理模块生成第一状态信息和所述第一状态信息对应的环境标识信息,环境标识信息用于表征目标车辆的预设范围内的行车信息;
40.步骤s102:将第一状态信息输入层次化图神经网络,得到第一状态信息对应的第一编码特征和第一解码特征;将第一编码特征输入第一演员网络得到第一决策结果,以及利用仿真环境处理模块得到执行第一决策结果后的第二状态信息、第一决策结果对应的奖励值以及决策进程是否终止的判断结果,并构建训练数据;
41.步骤s103:将第一编码特征输入多层感知机,得到第一编码特征对应的解码信息;以及,基于训练数据,通过第二演员网络得到第一状态信息对应的第二决策结果,通过评论家网络和优势函数得到第一决策结果对应的优势值;
42.步骤s104:根据环境标识信息和解码信息,确定层次化图神经网络的第一损失值;以及,根据第一损失值、第一决策结果和第二决策结果的比较结果、第一解码特征和优势值,确定第一演员网络的第二损失值;
43.步骤s105:根据第二损失值更新层次化图神经网络和第一演员网络的参数,直至得到符合预设条件的目标层次化图神经网络和目标网络。
44.在本技术实施例中,如图2所示,强化学习算法落地到下游任务的场景中,包括训练环境以及强化学习两大部分。在训练环境部分,仿真环境处理模块会根据当前环境信息中的基础状态数据,基于观测生成算法构建观测信息(即当前时刻的状态信息),并将观测信息传递给强化学习模型。在强化学习部分,强化学习模型根据观测信息生成动作信息,并将动作信息反馈给仿真环境处理模块。仿真环境处理模块接收到动作信息后根据回报生成定义生成回报信息反馈给强化学习模型,以供强化学习模型对演员网络的参数进行更新。回报信息可以包括奖励值、下一时刻的状态信息以及决策进程是否终止的判断结果。
45.其中,强化学习模型可以采用q-learning、dqn、actor-critic、ddpg以及ppo等多种强化学习算法中的任一种。在本技术实施例的下列描述中,具体以ppo算法为例进行描述,可以理解的是,ppo算法是一种基于策略的、使用三个神经网络(即第一演员网络、第二演员网络以及评论家网络)的强化学习算法。通过将“智能体”当前的“状态”输入神经网络,最终会得到相应的“动作”和“奖励”,再根据“动作”来更新“智能体”的状态,根据包含有“奖励”和“动作”的目标函数,运用梯度上升来更新演员网络中的权重参数,从而得到能够使总体奖励值更大的“动作”判断。在本技术的下列描述中,第一状态信息可以理解为当前时刻的状态信息,第二状态信息可以理解为在执行第一决策结果之后下一时刻的状态信息。
46.在本技术实施例中,目标网络用于根据目标车辆的状态信息,输出目标决策结果。状态信息包括车辆当前的道路信息、预设范围内的行车信息,其中,行车信息具体可以包括预设范围内是否存在其他车辆以及其他车辆在预设时长内的历史轨迹信息等。目标网络输出的目标决策结果用于控制目标车辆执行相应的驾驶行为。例如,目标决策结果可以包括加速、减速、左变道、右变道、维持当前驾驶行为等。根据目标网络生成的目标决策结果,能够实现车辆在高速行驶场景下的自动驾驶。
47.示例性地,在步骤s101中,仿真环境处理模块用于模拟驾驶环境,并基于驾驶环境生成状态信息。仿真环境处理模块可以是基于gym(一种用于开发和比较强化学习算法的工具包)架构与carla(一种自动驾驶模拟器)进行联合仿真搭建的用于强化学习的自动驾驶仿真环境。其中,gym是一个用于开发和比较强化学习算法的工具包,提供强化学习的模拟仿真环境以及数据协议。carla是一个开源的自动驾驶模拟器,以模块化和灵活的api(application programming interface,应用程序编程接口)解决涉及自动驾驶问题的一系列任务,帮助实现自动驾驶研发的自主化,是可以便捷地访问和定制的工具。
48.环境标识信息可以是标注出的第一状态信息中的关键信息,用于指示目标车辆预设范围内的行车信息。更为具体地,在一种实施方式中,目标车辆的预设范围内的行车信息包括目标车辆当前所处的车道信息、目标车辆的预设范围内是否存在其他车辆的判断信息以及预设范围内其他车辆的车速信息。
49.举例而言,环境标识信息可以包括目标车辆的多个预设范围内的行车信息,具体可以包括:目标车辆的前方100米处和50米处是否存在其他车辆以及在存在其他车辆的情况下其他车辆的车速信息、目标车辆当前所处的车道信息以及目标车辆的当前所处车道以及相邻车道的前方100米范围内以及后方100米范围内的其他车辆的车速信息。
50.示例性地,在步骤s102中,层次化图神经网络作为第一演员网络的前置网络,用于提取第一状态信息中的关键信息,然后将提取出的第一状态信息输入第一演员网络,以供第一演员网络基于关键信息生成第一决策结果。其中,关键信息具体可以是目标车辆的多
个预设范围内的行车信息。
51.在一个示例中,层次化图神经网络具体可以是vectornet。其中,vectornet包括编码层和解码层。编码层用于根据输入的第一状态信息,对第一状态信息中的所有图元素(例如地图特征以及动态交通参与者)进行向量化表达,基于向量化表达构建折线子图,以得到编码特征。解码层采用多层感知器(multi-layer perceptron,mlp)来聚合不同折线子图的局部特征,然后在全局上整合所有轨迹和地图特征,最终得到解码特征。
52.在得到第一演员网络输出的第一决策结果之后,还可以将第一决策结果输入仿真环境处理模块,得到目标车辆在执行第一决策结果之后的第二状态信息、第一决策结果对应的奖励值以及当前的驾驶场景是否终止的判断结果。其中,奖励值用于评估第一决策结果的优劣性,决策进程是否终止的判断结果是基于第二状态信息判断得到的。
53.此外,基于第一状态信息、第一决策结果、奖励值、第二状态信息以及决策进程是否终止的判断结果,得到训练数据,并将训练数据添加至经验池中。
54.示例性地,在执行第一决策结果得到第二状态信息之后,在决策进程是否终止的判断结果为否的情况下,则将第二状态信息作为当前时刻的状态信息输入第一演员网络,得到当前时刻对应的第一决策结果,并将当前时刻对应的第一决策结果输入仿真环境处理模块,得到仿真环境处理模块输出的当前时刻对应的第一决策结果的奖励值、下一时刻的状态信息以及决策进程是否终止的判断结果。基于此,训练数据可以为与连续的多个时刻分别对应的多个,以组成训练数据集。训练数据可以采用序列的形式进行表达,例如:{s
t
,a
t
,r
t
,s
t+1
,is_done},其中,s
t
用于表示t时刻对应的状态信息,a
t
用于表示基于t时刻对应的状态信息得到的决策结果,r
t
用于表示t时刻对应的决策结果的奖励值,is_done用于表示t+1时刻是否终止决策进程的判断结果。在得到训练数据之后,可以将训练数据添加至经验池,作为后续对第一演员网络以及评论家网络进行强化学习的数据基础。
55.示例性地,在步骤s103中,多层感知机是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。多层感知机包括第一输入层、中间隐藏层和最后输出层,输入元素和权重的乘积被回馈给具有神经元偏差的求和结点,主要优势在于其快速解决复杂问题的能力。
56.示例性地,在步骤s103中,可以从经验池中抽取训练数据,并将训练数据中的第一状态信息输入层次化图神经网络,得到第一状态信息对应的第二编码特征和第二解码特征,以及将第二编码特征输入第二演员网络,进而得到第二决策结果。此外,将第二编码特征输入评论家网络,并利用优势函数得到第一决策结果对应的优势值。
57.需要说明的是,第一演员网络与第二演员网络的初始化参数相同,第二演员网络的参数是基于第一演员网络的参数进行更新的。例如,可以在对第一演员网络的参数进行预设数量次更新后,基于预设数量次更新后的以演员网络的参数对第二演员网络的参数进行更新。基于此,第一演员网络和第二演员网络的更新频率不同,在后续强化学习的过程中,第一演员网络的参数和第二演员网络的参数可能不同,基于第一状态信息得到的第一决策结果和第二决策结果也可能不同。
58.示例性地,在步骤s104中,第一损失值可以利用均方误差公式计算。第二损失值可以利用预设的演员网络损失函数计算,其中,演员网络损失函数是根据根据第一损失值、第一决策结果和第二决策结果的比较结果、第一解码特征和优势值设计的。
59.示例性地,在步骤s105中,对于层次化图神经网络和第一演员网络,可以进行同步的参数更新。预设条件可以为,第一演员网络在预设数量个连续的回合下分别对应的平均奖励值均大于或者等于期望的预设回报值。一个回合表示从决策开始到决策结束,具体而言,在决策开始时,第一演员网络基于初始的第一状态信息进行决策之后,在得到的判断结果为当前的驾驶场景不终止的情况下,第一演员网络基于第二状态信息继续作出决策,以此类推,直至在某一次作出决策之后得到的判断结果为当前的驾驶场景终止的情况下,则停止决策,即回合结束。在一个回合中,对应有第一演员网络在多个连续的时刻下分别作出的第一决策结果以及对应的奖励值,基于此可以得到该回合对应的平均奖励值。基于连续的预设数量个回合分别对应的平均奖励值,若每个回合对应的平均奖励值均大于或者等于期望的预设回报值,则可以确定第一演员网络符合预设条件。
60.此外,在更新后第一演员网络不符合预设条件的情况下,则重复执行步骤s101至步骤s105,直至第一演员网络符合预设条件,并将当前的层次化图神经网络和第一演员网络确定为目标层次化图神经网络和目标网络。
61.根据本技术实施例的方法,通过利用仿真环境处理模块生成第一状态信息对应的环境标识信息,以及利用多层感知机得到层次化图神经网络输出的第一编码特征对应的解码信息,并根据环境标识信息与解码信息确定第一损失值,由此,能够引导层次化图神经网络关注状态信息中的关键信息,即目标车辆的预设范围内的行车信息,例如可以包括目标车辆的预设范围内的行车信息包括目标车辆当前所处的车道信息、目标车辆的预设范围内是否存在其他车辆的判断信息以及预设范围内其他车辆的车速信息,从而使第一演员网络根据层次化图神经网络输出的第一编码特征得到的第一决策结果更加精准。其次,根据第一损失值、第一决策结果和第二决策结果的比较结果、第一解码特征和优势值确定第一演员网络的第二损失值,并根据第二损失值对层次化图神经网络以及第一演员网络的参数进行更新,能够使层次化图神经网络和第一演员网络能够更稳定地捕捉到关键信息进而作出更为合理的决策结果。综上,根据本技术实施例的方法,能够实现对层次化图神经网络和第一演员网络的参数进行同步更新,并且显著提升了层次化图神经网络对于关键信息的学习能力,从而提升目标网络的决策性能。
62.在一种实施方式中,步骤s104可以包括:
63.步骤s1041:根据环境标识信息和解码信息,利用均方误差公式确定层次化图神经网络的第一损失值。
64.示例性地,均方误差公式具体如下:
[0065][0066]
其中,用于表示解码信息,θ用于表示环境标识信息。
[0067]
在一种实施方式中,步骤s104可以包括:
[0068]
步骤s1042:将第一损失值、第一决策结果和第二决策结果的比较结果、第一解码特征和优势值输入演员网络损失函数,得到第一演员网络的第二损失值。
[0069]
示例性地,用于计算第二损失值的演员网络损失函数可以如下:
[0070]
actor_loss=mean(-min(surr1,surr2))+aux_loss+node_decoder_loss,
[0071]
surr1=ratio*advantage,
[0072]
surr2=max(min(ratio,1-ε),1+ε)*ratio,
[0073]
node_decoder_loss=smooth_l1_loss(aux_pred,aux_true),
[0074][0075]
其中,ratio用于表示第一决策结果和第二决策结果的比值,advantage用于表示优势值,超参数ε用于表示截断比例,且ε∈(0,1);aux_pred用于表示第一解码特征,aux_true用于表示第一解码特征对应的真值,β用于表示第一解码特征和第一解码特征对应的真值之间的数值差异。
[0076]
在一种实施方式中,步骤s103可以包括:
[0077]
步骤s1031:将训练数据中的第一状态信息输入层次化图神经网络,得到第一状态信息对应的第二编码特征和第二解码特征;
[0078]
步骤s1032:将第二编码特征输入第二演员网络,得到第一状态信息对应的第二决策结果;
[0079]
步骤s1033:将第二编码特征输入评论家网络,得到第一状态信息对应的状态价值,以及利用优势函数确定第一决策结果对应的优势值。
[0080]
在本技术实施例中,评论家网络输出的价值用于表征第一状态信息对应的价值;优势函数用于表达在第一状态信息下,第一演员网络输出的第一决策结果相对于平均策略而言的优劣程度,可以反映出随机变量相对均值的偏差。
[0081]
示例性地,优势函数a(s,a)具体可以如下:
[0082]
a(s,a)=q(s,a)-v(s)
[0083]
其中,q(s,a)为状态-行为值函数,用于计算在状态s下执行动作a之后所获得的期望回报值;v(s)为状态价值函数,用于计算在状态s下的期望回报值。
[0084]
在一种实施方式中,在将第二编码特征输入第二演员网络,得到第一状态信息对应的第二决策结果之后,本技术实施例的方法还包括:
[0085]
利用价值损失函数确定优势值对应的第三损失值;
[0086]
根据第三损失值对评论家网络的参数进行更新。
[0087]
示例性地,价值损失函数可以如下:
[0088]
critic_loss=mean(mse_loss(states,td_target)),
[0089]
td_target=rewards+γ*next_states*(1-j),
[0090]
其中,states用于表示第一状态信息,next_states用于表示第二状态信息,mse_loss用于计算均方差损失,rewards用于表示经验池中的奖励值集合,超参数γ用于表示衰减率,j用于表示执行第一决策结果后决策进程是否终止的判断结果。
[0091]
在一种实施方式中,第二演员网络的参数是基于对第一演员网络预设数量次更新后的参数进行硬更新得到的,且第一演员网络与第二演员网络的初始化参数相同。
[0092]
示例性地,在对第一演员网络的参数执行预设数量次更新之后,可以根据预设数量次更新后的第一演员网络的参数,对第二演员网络的参数执行硬更新。可以理解的是,硬更新指的将预设数量次更新后的第一演员网络的参数全部赋值给第二演员网络,即应更新后的第二演员网络的参数与预设数量次更新后的第一演员网络的参数相同。
[0093]
需要说明的是,本技术实施例对于预设数量不作具体限定,可以根据实际情况具体设定,例如,预设数量可以为100或者200等其他任意数值。
[0094]
在本技术实施例中,对于层次化图神经网络、第一演员网络、第二演员网络以及评论家网络参数的更新,由服务端来执行。具体地,服务端部署有层次化图神经网络、第一演员网络、第二演员网络和评论家网络,服务端可以采用ppo算法对第一演员网络、第二演员网络以及评论家网络进行训练。客户端部署有用于运行层次化图神经网络和第一演员网络的智能体以及仿真环境处理模块,仿真环境处理模块用于生成第一状态信息以及第一状态信息对应的环境标识信息,并将第一状态信息输入智能体,以供层次化图神经网络根据第一状态信息得到第一编码特征和第一解码特征,第一演员网络根据第一编码特征得到第一决策结果,并将第一决策结果输入仿真环境处理模块,得到第一决策结果的奖励值、执行第一决策结果之后的第二状态信息以及决策进程是否终止的判断结果。客户端将第一状态信息、第一决策结果、奖励值以及第二状态信息作为训练数据,发送至服务端的数据缓存区(即经验池)。服务端根据训练数据对层次化图神经网络、第一演员网络、第二演员网络以及评论家网络的参数进行更新,并将更新后的参数反馈至客户端,以供客户端调整部署于智能体的层次化图神经网络和第一演员网络的参数。
[0095]
下面参照图3以一个具体示例描述根据本技术实施例的用于自动驾驶的目标网络的训练方法。如图3所示,该方法可以采用ppo算法对演员网络以及评论家网络进行训练。
[0096]
具体地,第一演员网络根据仿真环境处理模块输出的第一状态信息s
t
以及环境标识信息info,基于层次化图神经网络输出的第一状态信息对应的第一编码特征,输出对应的第一决策结果a
t
,然后将第一决策结果a
t
再次输入仿真环境处理模块,得到执行第一决策结果a
t
后的第二状态信息s
t+1
、奖励值r
t
以及决策进程是否结束的判断结果。基于第一状态信息s
t
、第一决策结果a
t
、第二状态信息s
t+1
、奖励值r
t
以及决策进程是否结束的判断结果,得到训练数据,并将训练数据存储至经验池中。
[0097]
在强化学习过程中,从经验池中抽取训练数据,并将其中的第一状态信息输入层次化图神经网络中,得到第二编码特征。然后将第二编码特征输入第二演员网络以得到第二决策结果,以及将第二编码特征输入评论家网络以得到状态价值,并利用优势函数得到优势值。
[0098]
根据层次化图神经网络输出的第一编码特征,利用多层感知机得到编码信息,然后根据编码信息和环境标识信息,利用均方误差公式确定层次化图神经网络对应的第一损失值。以及,根据第一损失值、第一决策结果和第二决策结果的比较结果、第一解码特征和优势值,利用演员网络损失函数确定第一演员网络的第二损失值。
[0099]
最后,根据第一损失值和第二损失值对层次化图神经网络和第一演员网络的参数进行同步更新,直至得到符合预设条件的目标层次化图神经网络和目标网络。
[0100]
根据本技术实施例的另一方面,还提供了一种用于自动驾驶的目标网络的训练系统,用于执行本技术实施例的用于自动驾驶的目标网络的训练方法。该系统包括客户端和服务端。具体地,客户端部署有仿真环境处理模块、层次化图神经网络和第一演员网络,客户端基于第一状态信息、第一决策结果、第二状态信息、奖励值以及决策进程是否终止的判断结果得到训练数据,并将训练数据发送至服务端;服务端部署有第一演员网络、第二演员网络、评论家网络和参数更新模块,参数更新模块用于根据训练数据更新层次化图神经网
络、第一演员网络、第二演员网络和评论家网络的参数,并将更新后的网络参数同步至客户端。
[0101]
示例性地,如图4所示,该系统可以包括客户端(即client)和服务端(即server)。其中,服务端包括数据缓存区、强化学习模型训练模块以及保存模块,强化学习模型训练模块用于对部署于服务端的层次化图神经网络、第一演员网络、第二演员网络以及评论家网络的参数进行更新。客户端部署有用于运行层次化图神经网络和第一演员网络的智能体以及仿真环境处理模块,仿真环境处理模块用于生成第一状态信息,并输入智能体,以供层次化图神经网络根据第一状态信息输出第一编码特征,以及供第一演员网络根据第一编码特征生成第一决策结果。智能体将第一决策结果输入仿真环境处理模块,得到第一决策结果的奖励值以及执行第一决策结果之后的第二状态信息、奖励值以及决策进程是否结束的判断结果。客户端将第一状态信息、第一决策结果、奖励值以及第二状态信息作为训练数据,发送至服务端的数据缓存区(即经验池)。服务端根据训练数据对层次化图神经网络、第一演员网络、第二演员网络以及评论家网络的参数进行更新,并将更新后的参数反馈至客户端,以供客户端调整部署于智能体的层次化图神经网络以及第一演员网络的参数。
[0102]
在一种实施方式中,服务端通过远程过程调用技术与客户端通信。
[0103]
示例性地,远程过程调用技术具体可以采用grpc技术。grpc是一种语言中立、平台中立、开源的远程过程调用技术。通过利用grpc技术,能够使客户端和服务端之间透明地进行通信,并简化了通信系统的构建。
[0104]
根据本技术实施例的另一方面,还提供了一种车辆,该车辆包括自动驾驶装置,自动驾驶装置配置有用于自动驾驶的演员网络,演员网络用于根据驾驶环境信息生成自动决策结果,其中,演员网络是利用本技术上述实施例的用于自动驾驶的目标网络的训练方法生成的。
[0105]
图5示出根据本技术一实施例的电子设备的结构框图。如图5所示,该电子设备包括:存储器510和处理器520,存储器510内存储有可在处理器520上运行的指令。处理器520执行该指令时实现上述实施例中的用于自动驾驶的目标网络的训练方法。存储器510和处理器520的数量可以为一个或多个。该电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本技术的实现。
[0106]
该电子设备还可以包括通信接口530,用于与外界设备进行通信,进行数据交互传输。各个设备利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器520可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0107]
可选的,在具体实现上,如果存储器510、处理器520及通信接口530集成在一块芯片上,则存储器510、处理器520及通信接口530可以通过内部接口完成相互间的通信。
[0108]
应理解的是,上述处理器可以是中央处理器(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced risc machines,arm)架构的处理器。
[0109]
上述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,上述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。
[0110]
计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他实体类别的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带或其他磁性存储介质,可用于存储能够被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0111]
用于实施本技术的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0112]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本技术的技术方案所期望的结果,本文在此不进行限制。以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种用于自动驾驶的目标网络的训练方法,其特征在于,包括:利用仿真环境处理模块生成第一状态信息和所述第一状态信息对应的环境标识信息,所述环境标识信息用于表征目标车辆的预设范围内的行车信息;将第一状态信息输入层次化图神经网络,得到所述第一状态信息对应的第一编码特征和第一解码特征;将所述第一编码特征输入第一演员网络得到第一决策结果,以及利用所述仿真环境处理模块得到执行所述第一决策结果后的第二状态信息、所述第一决策结果对应的奖励值以及决策进程是否终止的判断结果,并构建训练数据;将所述第一编码特征输入多层感知机,得到所述第一编码特征对应的解码信息;以及,基于所述训练数据,通过第二演员网络得到所述第一状态信息对应的第二决策结果,通过评论家网络和优势函数得到所述第一决策结果对应的优势值;根据所述环境标识信息和所述解码信息,确定所述层次化图神经网络的第一损失值;以及,根据所述第一损失值、所述第一决策结果和所述第二决策结果的比较结果、所述第一解码特征和所述优势值,确定所述第一演员网络的第二损失值;根据所述第二损失值更新所述层次化图神经网络和所述第一演员网络的参数,直至得到符合预设条件的目标层次化图神经网络和目标网络。2.根据权利要求1所述的方法,其特征在于,所述目标车辆的预设范围内的行车信息包括目标车辆当前所处的车道信息、所述目标车辆的预设范围内是否存在其他车辆的判断信息以及预设范围内其他车辆的车速信息。3.根据权利要求1所述的方法,其特征在于,根据所述环境标识信息和所述解码信息,确定所述层次化图神经网络的第一损失值,包括:根据所述环境标识信息和所述解码信息,利用均方误差公式确定所述层次化图神经网络的第一损失值。4.根据权利要求1所述的方法,其特征在于,根据所述第一损失值、所述第一决策结果和所述第二决策结果的比较结果、所述第一解码特征和所述优势值,确定所述第一演员网络的第二损失值,包括:将所述第一损失值、所述第一决策结果和所述第二决策结果的比较结果、所述第一解码特征和所述优势值输入演员网络损失函数,得到所述第一演员网络的第二损失值。5.根据权利要求1所述的方法,其特征在于,基于所述训练数据,通过第二演员网络得到所述第一状态信息对应的第二决策结果,通过评论家网络和优势函数得到所述第一决策结果对应的优势值,包括:将所述训练数据中的第一状态信息输入层次化图神经网络,得到所述第一状态信息对应的第二编码特征和第二解码特征;将所述第二编码特征输入第二演员网络,得到所述第一状态信息对应的第二决策结果;将所述第二编码特征输入评论家网络,得到所述第一状态信息对应的状态价值,以及利用优势函数确定所述第一决策结果对应的优势值。6.根据权利要求5所述的方法,其特征在于,在将所述第二编码特征输入评论家网络,得到所述第一状态信息对应的状态价值,以及利用优势函数确定所述第一决策结果对应的优势值之后,所述方法还包括:
利用价值损失函数确定所述优势值对应的第三损失值;根据所述第三损失值对所述评论家网络的参数进行更新。7.根据权利要求1至6任一项所述的方法,其特征在于,所述第二演员网络的参数是基于对所述第一演员网络预设数量次更新后的参数进行硬更新得到的,且所述第一演员网络与所述第二演员网络的初始化参数相同。8.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7任一项所述的方法。9.一种用于自动驾驶的目标网络的训练系统,其特征在于,用于执行权利要求1至7任一项所述的方法,所述系统包括客户端和服务端;所述客户端部署有仿真环境处理模块、层次化图神经网络和第一演员网络,所述客户端基于第一状态信息、第一决策结果、第二状态信息、奖励值以及决策进程是否终止的判断结果得到训练数据,并将所述训练数据发送至所述服务端;所述服务端部署有第一演员网络、第二演员网络、评论家网络和参数更新模块,所述参数更新模块用于根据所述训练数据更新所述层次化图神经网络、所述第一演员网络、所述第二演员网络和所述评论家网络的参数,并将更新后的网络参数同步至所述客户端。10.根据权利要求9所述的系统,其特征在于,所述服务端通过远程过程调用技术与所述客户端通信。
技术总结
本申请提出一种用于自动驾驶的目标网络的训练方法、设备以及系统,其中的方法包括:利用仿真环境处理模块生成第一状态信息和第一状态信息对应的环境标识信息,环境标识信息用于表征目标车辆的预设范围内的行车信息;将第一状态信息输入层次化图神经网络,得到第一状态信息对应的第一编码特征和第一解码特征;将第一编码特征输入多层感知机,得到第一编码特征对应的解码信息;根据环境标识信息和解码信息,确定层次化图神经网络的第一损失值;以及,确定第一演员网络的第二损失值;根据第二损失值更新层次化图神经网络和第一演员网络的参数。根据本申请的技术,提升了层次化图神经网络对于关键信息的学习能力,从而提升了目标网络的决策性能。络的决策性能。络的决策性能。
技术研发人员:张恒彰 王天成
受保护的技术使用者:华人运通(上海)自动驾驶科技有限公司
技术研发日:2023.03.08
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
