一种无人车控制模型的训练方法及装置与流程

文档序号:20492218发布日期:2020-04-21 22:08阅读:159来源:国知局
一种无人车控制模型的训练方法及装置与流程

本申请涉及无人驾驶技术领域,尤其涉及一种无人车控制模型的训练方法及装置。



背景技术:

目前,无人驾驶技术领域中无人车控制方法主要需要解决的问题是无人车如何避障,通常无人车避障过程为:将无人车实时采集的环境信息、自身行驶状态等输入预先训练的模型,根据模型的输出控制无人车避障行驶。

在现有技术中,通常利用强化学习的方法进行模型训练,通过不断地“试错”过程训练得到该模型。具体的,训练强化学习模型时,无人车根据上一时刻的行动对环境信息造成的影响确定奖励,将奖励以及当前时刻的环境信息输入强化学习模型,以根据模型的输出控制无人车。通过行驶过程中不断的输入输出,训练强化学习模型。使模型“学”到不同情况下应该对应什么样的输出。

但是,现有训练强化学习模型过程,通常在无人车到达目的地时确定模型输出的是正确的控制,给与正面反馈,当行驶过程中出现危险状况时确定模型输出的是错误的控制,给与反面反馈,因此通常只有在达到目的地或者出现危险状况反馈的奖励才是有效奖励,即可以使模型参数收敛的奖励,而在行驶过程中大部分奖励都难以使模型收敛,导致每次训练过程得到的有效奖励较为稀疏,使得模型训练成本较高、耗时较长。



技术实现要素:

本说明书实施例提供的一种无人车控制模型的训练方法及装置,用于部分解决现有技术中存在的问题。

本说明书实施例采用下述技术方案:

本说明书提供的无人车控制模型的训练方法,包括:

获取无人车在行驶过程中所处位置的当前环境信息,并根据所述当前环境信息确定当前环境特征;

确定由上一时刻用于计算奖励的各历史环境特征以及所述当前环境特征构成的特征矩阵,所述各历史环境特征为根据所述无人车在所述行驶过程中获取的各历史环境信息确定出的特征;

根据所述特征矩阵中各特征之间的相似度,确定所述当前环境特征以及所述各历史环境特征对所述特征矩阵的重要程度,并根据所述重要程度从所述特征矩阵中选择当前时刻用于计算奖励的特征;

根据所述当前环境特征以及选择出的特征,通过预设的奖励函数确定奖励;

将所述当前环境信息以及所述奖励输入待训练的无人车控制模型,进行模型训练,所述无人车控制模型用于无人车控制。

可选地,获取无人车在行驶过程中所处位置的当前环境信息,具体包括:

获取所述无人车周围的障碍物信息、所述无人车当前时刻的定位信息以及所述当前行驶过程对应的车道信息,作为所述当前环境信息;

其中,所述车道信息包括:当前车道位置以及后续车道位置,所述当前车道位置根据所述无人车当前时刻的定位信息确定,所述后续车道位置为根据所述定位信息以及所述行驶过程对应的路径规划,确定出的后续所述无人车可行驶的车道位置。

可选地,根据所述当前环境信息确定当前环境特征,具体包括:

将所述障碍物信息作为输入,输入预先训练的特征提取模型,得到输出的特征向量;

将所述特征向量、所述定位信息以及所述车道信息进行拼接,确定当前环境特征。

可选地,所述当前环境特征的形式为列向量;

根据所述特征矩阵中各特征之间的相似度,确定所述当前环境特征以及所述各历史环境特征对所述特征矩阵的重要程度,并根据所述重要程度从所述特征矩阵中选择当前时刻用于计算奖励的特征,具体包括:

根据所述特征矩阵中各特征之间的相似度,确定所述特征矩阵对应的相似度矩阵;

根据所述相似度矩阵,确定与所述当前环境特征相似度最小的历史环境特征,并将确定出的历史环境特征在所述相似度矩阵中对应的列,作为中间矩阵的初始列;

确定所述相似度矩阵与所述中间矩阵的残差矩阵;

根据所述残差矩阵以及所述相似度矩阵,确定所述相似度矩阵中各列对所述残差矩阵的重要程度,并根据重要程度从大到小的顺序,将所述相似度矩阵中第一数量的列添加至所述中间矩阵;

根据所述中间矩阵,确定当前时刻所述特征矩阵中用于计算奖励的特征。

可选地,根据重要程度从大到小的顺序,将所述相似度矩阵中第一数量的列添加至所述中间矩阵,具体包括:

根据重要程度从大到小的顺序,从所述相似度矩阵中提取第二数量的列,添加至所述中间矩阵中;

判断所述中间矩阵的列数量是否达到所述第一数量;

若是,则确定已得到所述中间矩阵所有的列;

若否,则重新确定所述残差矩阵,并重新根据所述相似度矩阵中各列对重新确定的残差矩阵的重要程度,从所述相似度矩阵中提取所述第一数量的列添加至所述中间矩阵中,直至所述中间矩阵的列数量达到所述第一数量为止。

可选地,所述方法还包括:

当所述历史环境特征的数量小于第一数量时,将所述历史环境特征作为当前时刻用于计算奖励的特征。

可选地,根据所述当前环境特征以及选择出的特征,通过预设的奖励函数确定奖励,具体包括

根据所述当前环境特征分别与所述选择出的特征的相似度,通过预设的奖励函数确定奖励;

其中,所述当前环境特征与各选择出的特征的相似度越小则奖励越高,所述当前环境特征与各选择出的特征的相似度越大则奖励越小。

可选地,根据训练得到的所述无人车控制模型进行无人车控制,具体包括:

获取无人车在当前时刻所处位置的当前环境信息;

将所述当前环境信息输入所述无人车控制模型,所述无人车控制模型是通过多次行驶过程训练得到的,其中针对每次行驶过程中的每个时刻,确定由各历史环境特征以及该时刻的当前环境特征构成的特征矩阵,根据该时刻的特征矩阵中各特征之间的相似度,确定所述特征矩阵中各特征的重要程度,并根据所述重要程度确定计算奖励的特征,基于计算奖励的特征计算出的奖励以及该时刻的环境信息训练所述无人车控制模型;

根据所述无人车控制模型输出的朝向以及速度,控制所述无人车移动。

本说明书提供的无人车控制模型的训练装置,包括:

获取模块,获取无人车在行驶过程中所处位置的当前环境信息,并根据所述当前环境信息确定当前环境特征;

确定模块,确定由上一时刻用于计算奖励的各历史环境特征以及所述当前环境特征构成的特征矩阵,所述各历史环境特征为根据所述无人车在所述行驶过程中获取的各历史环境信息确定出的特征;

选择模块,根据所述特征矩阵中各特征之间的相似度,确定所述当前环境特征以及所述各历史环境特征对所述特征矩阵的重要程度,并根据所述重要程度从所述特征矩阵中选择当前时刻用于计算奖励的特征;

计算模块,根据所述当前环境特征以及选择出的特征,通过预设的奖励函数确定奖励;

训练模块,将所述当前环境信息以及所述奖励输入待训练的无人车控制模型,进行模型训练,所述无人车控制模型用于无人车控制。

本说明书提供的计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的方法。

本说明书提供的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一所述的无人车控制模型的训练方法。

本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:

针对模型训练时的每个时刻,可确定由上一时刻用于计算奖励的各历史环境特征以及根据当前环境信息确定的当前环境特征构成的特征矩阵,之后,再基于当前环境特征以及各历史环境特征对特征矩阵的重要程度,从特征矩阵中选择当前时刻用于计算奖励的特征,然后根据当前环境特征以及选择出的特征确定奖励,以训练该无人车控制模型,并在训练结束后,根据训练完成的模型进行无人车控制。由于计算奖励的特征,是基于包含历史环境特征在内的各特征对的特征对整体的重要程度确定的,使得训练时可基于环境信息的变化确定更多的有效奖励,解决了训练过程中奖励稀疏的问题,减少了训练成本节省了训练时间。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本说明书实施例提供的无人车控制模型的训练流程示意图;

图2为本说明书实施例提供的车道示意图;

图3a为强化学习模型的结构示意图;

图3b为本说明书实施例提供的无人车控制模型结构示意图;

图4为本说明书实施例提供的特征矩阵示意图;

图5为本说明书实施例提供的无人车控制流程示意图;

图6为本说明书实施例提供的无人车控制模型的训练装置的结构示意图;

图7为本说明书实施例提供的实现无人车控制模型的训练方法的电子设备示意图。

具体实施方式

为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

以下结合附图,详细说明本申请各实施例提供的技术方案。

图1为本说明书实施例提供的无人车控制模型的训练流程示意图,包括:

s100:获取无人车在行驶过程中所处位置的当前环境信息,并根据所述当前环境信息确定当前环境特征。

在本说明书一个或多个实施例中,该模型的训练过程为训练强化学习模型的过程,该强化学习模型是用于无人车控制的模型,其中,该训练过程可以是在真实环境或者拟真环境中进行的,本说明书对此不做限定。并且,由于在真实环境下,路上的车辆通常不会特意危险行驶,同时在拟真环境中也不会特意增加其他车辆的危险行为,于是为了增加训练效率,节约训练时间以及训练成本,本说明书提出了一种利用历史环境特征,计算奖励的训练方法。

在本说明书中,无论是在真实环境还是在拟真环境中,该无人车根据预先规划的行驶路径从出发地行驶至目的地的过程,可称为一次行驶过程或者一次训练过程,该过程当无人车到达目的地或者出现危险情况时结束。其中,危险情况包括该无人车与环境中障碍物发生剐蹭、碰撞等情况,障碍物包括环境中除该无人车以外的其他交通工具、道路护栏、指示牌、建筑等等。该强化学习模型具体用于控制该无人车在该预先规划的行驶路径上行驶,输出的可以是无人车的控制策略,如朝向以及速度。

具体的,由于训练过程较为复杂,因此通常由服务器进行模型的训练,同理在本说明书中具体可由服务器执行该无人车控制模型的训练的流程。

针对行驶过程中的每个时刻,首先,该服务器可获取该无人车在行驶过程中所处位置的当前环境信息,即该时刻的环境信息。其中环境信息可包括:该无人车周围的障碍物信息、该无人车该时刻的定位信息以及该驶过程对应的车道信息。在本说明书中,该车道信息包括:无车人当前所在的车道位置以及规划的路径中后续车道位置,当前车道位置可根据无人车当前时刻的定位信息通过电子地图确定,同理后续车道位置可根据定位信息以及路径规划通过电子地图确定,后续车道位置为在该路径中未行使过的路线上,该无人车后续可行驶的车道位置。

在本说明书中,车道位置可以通过若干车道中心线的坐标表示,如图2所示。在图2中细线表示车道之间的界限,粗线表示道路的边缘,圆点表示车道中心线的坐标,即,a1~a3、b1~b3以及c1~c3,该无人车当前所在车道位置以及后续车道位置,可分别由一连串的坐标表示。需要说明的是,车到位置需要由多少坐标表示以及坐标的间隔,均可根据需要设置,即图2中每条车道圆点的数量以及圆点间距可根据需要设置,本说明书对此不作限定。

其次,该服务器在获取当前环境信息后,可将障碍物信息作为输入,输入预先训练的特征提取模型,得到输出的特征向量。其中,该特征提取模型具体可以为卷积神经网络模型,该并且输出的可以是1×n形式的特征向量,其中n可以根据需要设置,该特征提取模型主要用于将障碍物信息转化为设置长度的向量,当然该特征提取模型可以包括激活层或者池化层等等,本说明书不作限定。

最后,该服务器可将该特征向量、该定位信息以及该车道信息进行拼接,确定当前环境特征。基于特征提取模型输出1×n形式的特征向量,该服务器拼接后的当前环境特征的形式可以为1×m的形式,其中m大于n。并且,该车道信息中坐标位置,可以是按照规划的路径距离该无人车定位信息从近到远的顺序排列的。以图2所示的车道为例,该当前环境特征可为(特征向量,定位信息的x坐标,定位信息的y坐标,a1的x坐标,a1的y坐标……a3的x坐标,a3的y坐标……c3的x坐标,c3的y坐标)。

s102:确定由上一时刻用于计算奖励的各历史环境特征以及所述当前环境特征构成的特征矩阵,所述各历史环境特征为根据所述无人车在所述行驶过程中获取的各历史环境信息确定出的特征。

在本说明书中,该服务器确定出当前环境特征后,便可根据上一时刻用于计算奖励的各历史环境特征,以及当前环境特征,构建特征矩阵,以便后续根据特征矩阵中各特征对特征矩阵的重要程度,确定当前时刻用于计算奖励的特征。其中,各历史环境特征为,该服务器根据无人车在该行驶过程中获取的各历史环境信息确定出的特征,即在各历史时刻中执行步骤s100确定出的特征。因此在本说明书中,该服务器还需要存储不同时刻确定出的特征。

图3a为常见的强化学习模型的结构,模型输入为环境信息以及奖励,输出为动作,在每个时刻,模型会确定上一时刻输出的行动对外界环境的影响,并通过奖励函数确定奖励,在根据该时刻的环境信息以及奖励,确定该时刻的输出。

图3b为本说明书提供的无人车控制模型的结构,该模型输入的奖励是根据步骤s100确定出的当前环境特征,以及缓存中存储的上一时刻用于计算奖励的历史环境特征,确定出来的。并且,当前环境特征是通过预先训练的特征提取模型根据当前环境信息确定的。

具体的,该服务器在根据上一时刻用于计算奖励的各历史环境特征以及当前环境特征构建特征矩阵时,可以将各特征作为矩阵的列,确定特征矩阵。继续沿用上例当前环境特征的形式可以为1×m的形式,同理各历史环境特征也为1×m的形式,则构建的特征矩阵可如图4所示。图4中,假设历史环境特征的数量为k个,则该特征矩阵为m行,k+1列的矩阵,即的矩阵。图4中虚线框中的列为当前环境特征,其余列为各历史环境特征。

s104:根据所述特征矩阵中各特征之间的相似度,确定所述当前环境特征以及所述各历史环境特征对所述特征矩阵的重要程度,并根据所述重要程度从所述特征矩阵中选择当前时刻用于计算奖励的特征。

在本说明书中,当确定出特征矩阵后,该服务器便可具体计算各列对该特征矩阵的重要程度,即特征矩阵中各特征对该特征矩阵的重要程度,以便选择当前时刻用于计算奖励的特征。其中,特征矩阵中特征的重要程度,表征了特征与其他特征的差异。例如,假设特征矩阵的各特征中存在一个特征与其他特征的差异都很大,记为特征a,存在另一个特征与其他特征的差异都很小,记为特征b,则当用该特征矩阵中各特征数值的中位数分别替代特征a以及特征b的数值时,提替换特征a后的特征矩阵与原特征矩阵的相似度,小于替换特征b后的特征矩阵与原特征矩阵的相似度。也就是说特征a相较于特征b更能表征原特征矩阵的特点。

具体的,在本说明书中,该服务器首先可确定该特征矩阵中各特征之间的相似度,例如,以图4所示特征矩阵为例,针对每个特征,计算该特征与该特征矩阵中其他特征的相似度,得到该特征对应的相似度向量,该相似度向量形式为1×k。则最后可得到相似度矩阵。其中,特征矩阵中特征之间的相似度,可以采用现有计算向量相似度的方法,例如计算欧式距离、余弦相似度等等。或者该服务器也可计算两个特征的内积,作为特征的相似度。

其次,该服务器可根据该相似度矩阵,确定与当前环境特征相似度最小的历史环境特征,并从该相似度矩阵中,确定该与当前环境特征相似度最小的历史环境特征对应的列,作为中间矩阵的初始列。例如,假设根据相似度矩阵发现特征矩阵中与第一列相似度最低的为第二列,则可确定相似度矩阵中第二列的内容,作为中间矩阵的初始列。

然后,确定相似度矩阵与该中间矩阵的残差矩阵,例如,假设相似度矩阵用x表示,中间矩阵用y表示,则可根据公式确定残差矩阵r,其中,为y的伪逆矩阵。

之后,根据所述残差矩阵以及所述相似度矩阵,确定所述相似度矩阵中各列对所述残差矩阵的重要程度。该服务器可根据公式,确定重要程度。其中,j表示特征的标识,在特征矩阵中为j特征,在相似度矩阵中为j特征与其他特征的相似度,在残差矩阵中为j特征对应的相似度的残差。表示j特征的重要程度,表示残差矩阵中对应j特征的列,r为该残差矩阵。当该公式的值越接近1则说明该特征j越重要。当然,该公式可视为是计算得到了一个选择概率,计算得到的数值越大,则特征矩阵中的列选为计算奖励的特征的概率越大。

最后,该服务器可根据重要程度从大到小的顺序,将相似度矩阵中第一数量的列添加至该中间矩阵,并根据该中间矩阵包含的列对应的特征,从特征矩阵中确定当前时刻用于计算奖励的特征。

s106:根据所述当前环境特征以及选择出的特征,通过预设的奖励函数确定奖励。

在本说明书中,服务器在从特征矩阵中选择出特征后,便可根据根据当前环境特征分别与选择出的特征的相似度,通过预设的奖励函数确定奖励。其中,当选择出的特征与当前环境特征差异越大,则奖励越高,也就是激励无人车选择未尝试过的环境进行行驶,使得模型可以更快的学习到在不同环境下正确的输出。

具体的,在本说明书该服务器可根据公式计算奖励,其中c为奖励,b为预设公式参数,f为相似度计算函数,表示t时刻的环境特征,t为当前时刻,表示的就是当前环境特征,表示t时刻选择出的特征。其中,相似度计算函数具体可以是计算当前环境特征与选择出的各环境特征相似度的最大值、最小值、中位数或者平均值等等,具体选择哪种函数以及公式参数b均可以根据需要设置。

s108:将所述当前环境信息以及所述奖励输入待训练的无人车控制模型,进行模型训练,所述无人车控制模型用于无人车控制。

最后,在本说明书中当计算出奖励后,该服务器便可采用与现有训练强化学习模型的过程相同的方式,将当前环境信息以及奖励输入待训练的无人车控制模型,确定该无人车控制模型的输出,并在下一时刻重复过程s100~s108,直至行驶过程结束或者出现危险状况。在通过多次训练过程,确定该无人车控制的模型参数收敛,且变化小于预设值时,确定模型训练结束。或者在训练次数到达预设次数后,确定模型训练结束。当然,本说明书并不限制模型训练结束的条件,具体可根据需要设置。训练得到的该无人车控制模型便可用于无人车控制。

基于图1所示的无人车控制模型的训练方法,针对模型训练时的每个时刻,可确定由上一时刻用于计算奖励的各历史环境特征以及根据当前环境信息确定的当前环境特征构成的特征矩阵,之后,再基于当前环境特征以及各历史环境特征对特征矩阵的重要程度,从特征矩阵中选择当前时刻用于计算奖励的特征,然后根据当前环境特征以及选择出的特征确定奖励,以训练该无人车控制模型,并在训练结束后,根据训练完成的模型进行无人车控制。由于计算奖励的特征,是基于包含历史环境特征在内的各特征对的特征对整体的重要程度确定的,使得训练时可基于环境信息的变化确定更多的有效奖励,解决了训练过程中奖励稀疏的问题,减少了训练成本节省了训练时间。

另外,在本说明书中该无人车可为用于无人配送,本说明书提供的上述无人车控制模型的训练方法具体可应用于使用无人车进行配送的领域中,对用于配送的无人的控制模型进行训练,节省训练模型的时间以及成本。而应用通过本说明书提供的训练方法训练得到的模型的无人车,可用于各种配送场景,如,使用无人车进行快递、外卖等配送的场景。

另外,在本说明书中,在步骤s104中确定用于计算奖励的特征时,若该行驶过程还较短,历史时刻确定出的历史环境特征的数量较少时,即,当历史环境特征的数量小于第一数量时,则可以不用确定各特征的重要程度,而将全量的历史环境特征作为当前时刻用于计算奖励的特征。

也就是在步骤s104之前该服务器还可执行判断步骤,判断各历史环境特征的数量是否小于第一数量,若是,则将各历史环境特征作为当前时刻用于计算奖励的特征,若否则执行步骤s104。

进一步地,在本说明书步骤s104中,该服务器也可每次选择第二数量的列添加到中间矩阵中,并通过多次选择,得到列数量达到第一数量的中间矩阵。其中,第二数量小于第一数量,并且第一数量可被第二数量整除,例如第二数量为1,则每次该服务器可选择出来一列重要程度最高的列,并更新残差矩阵,并通过多次循环过程,确定中间矩阵,以确定用于计算奖励的特征。

具体的,在步骤s104中,该服务器可执行下述过程:

s1040:确定该特征矩阵中各特征之间的相似度。

s1041:根据该相似度矩阵,确定与该当前环境特征相似度最小的历史环境特征,并将确定出的历史环境特征在该相似度矩阵中对应的列,作为中间矩阵的初始列。

s1042:确定该相似度矩阵与该中间矩阵的残差矩阵。

s1043:根据该残差矩阵以及该相似度矩阵,确定该相似度矩阵中各列对该残差矩阵的重要程度。

s1044:根据重要程度从大到小的顺序,从相似度矩阵中提取第二数量的列,添加至中间矩阵中。

s1045:判断中间矩阵的列数量是否达到该第一数量,若是,执行步骤s1046,否则执行步骤s1047。

s1046:确定已得到该中间矩阵所有的列。

s1047:重新确定该残差矩阵,并重新根据该相似度矩阵中各列对重新确定的残差矩阵的重要程度,从该相似度矩阵中提取该第一数量的列添加至该中间矩阵中,直至该中间矩阵的列数量达到该第一数量为止。

另外需要说明的是,在步骤s100中,以该特征提取模型输出1×n形式的特征向量为例进行说明,1×n形式的特征向量便于后续步骤构建特征矩阵以及进行重要程度计算。当然,若不输出1×n形式的特征向量,则后续步骤也可通过数学公式的相应调整进行重要程度计算,只要能区分特征矩阵中各元素是属于哪个时刻的环境特征,并在计算包括计算相似度、确定残差矩阵等过程时加以区分即可。

基于图1所示的无人车控制模型的训练方法,当训练得到无人车控制模型后,便可在无人车行驶过程中应用该无人车控制模型控制无人车移动,本说明书对应提供了无人车控制流程示意图,如图5所示,具体可包括以下步骤:

s200:获取无人车在当前时刻所处位置的当前环境信息。

在本说明书中,可由无人车上的控制设备执行该控制流程,针对行驶过程中的每个时刻,首先该控制设备可获取该无人车该时刻(即当前时刻)所处位置的当前环境信息。与步骤s100中所述的相同,环境信息可包括:该无人车周围的障碍物信息、该无人车该时刻的定位信息以及该驶过程对应的车道信息,具体内容本说明书不在赘述。

s202:将所述当前环境信息输入预先训练的无人车控制模型。

在本说明书中,该无人车控制模型是通过多次行驶过程训练得到的,即图1所示的模型训练过程训练得到的。其中,在服务器对无人车控制模型进行训练时,服务器可针对每次行驶过程中的每个时刻,确定由各历史环境特征以及该时刻的当前环境特征构成的特征矩阵,根据该时刻的特征矩阵中各特征之间的相似度,确定所述特征矩阵中各特征的重要程度,并根据所述重要程度确定计算奖励的特征,基于计算奖励的特征计算出的奖励以及该时刻的环境信息训练所述无人车控制模型。当通过多次行驶过程确定该无人车控制模型满足训练结束条件时,确定该无人车控制模型训练结束,并可应用在无人车中执行图5所示的控制过程。训练结束条件可根据需要设置,本说明书不做限制。例如,模型参数收敛,且变化小于预设值时,确定模型训练结束。

s204:根据所述无人车控制模型输出的朝向以及速度,控制所述无人车移动。

在本说明书中,该无人车控制模型可基于图1所示的模型训练过程得到,该无人车控制模型具体为强化学习模型。则当该控制设备将步骤s200获取的环境信息输入该预先训练的无人车控制模型后,该无人车控制模型可输出该无人车当前时刻的朝向以及速度,该控制设备可根据模型的输出,控制该无人车按照该朝向以及速度移动。

另外,在本说明书中该无人车可为用于无人配送,本说明书提供的上述无人车控制方法具体可应用于使用无人车进行配送的领域中,控制无人车行动的过程,如,使用无人车进行快递、外卖等配送的场景。

基于图1所示的无人车控制模型的训练过程,本说明书实施例还对应提供无人车控制模型的训练装置的结构示意图,如图6所示。

图6为本说明书实施例提供的无人车控制模型的训练装置的结构示意图,所述装置包括:

获取模块300,获取无人车在行驶过程中所处位置的当前环境信息,并根据所述当前环境信息确定当前环境特征;

确定模块302,确定由上一时刻用于计算奖励的各历史环境特征以及所述当前环境特征构成的特征矩阵,所述各历史环境特征为根据所述无人车在所述行驶过程中获取的各历史环境信息确定出的特征;

选择模块304,根据所述特征矩阵中各特征之间的相似度,确定所述当前环境特征以及所述各历史环境特征对所述特征矩阵的重要程度,并根据所述重要程度从所述特征矩阵中选择当前时刻用于计算奖励的特征;

计算模块306,根据所述当前环境特征以及选择出的特征,通过预设的奖励函数确定奖励;

训练模块308,将所述当前环境信息以及所述奖励输入待训练的无人车控制模型,进行模型训练,所述无人车控制模型用于无人车控制。

可选地,所述获取模块300,获取所述无人车周围的障碍物信息、所述无人车当前时刻的定位信息以及所述行驶过程对应的车道信息,作为所述当前环境信息,其中,所述车道信息包括:当前车道位置以及后续车道位置,所述当前车道位置根据所述无人车当前时刻的定位信息确定,所述后续车道位置为根据所述定位信息以及所述行驶过程对应的路径规划,确定出的后续所述无人车可行驶的车道位置。

可选地,所述获取模块300,将所述障碍物信息作为输入,输入预先训练的特征提取模型,得到输出的特征向量,将所述特征向量、所述定位信息以及所述车道信息进行拼接,确定当前环境特征。

可选地,所述当前环境特征的形式为列向量,所述选择模块304,根据所述特征矩阵中各特征之间的相似度,确定所述特征矩阵对应的相似度矩阵,根据所述相似度矩阵,确定与所述当前环境特征相似度最小的历史环境特征,并将确定出的历史环境特征在所述相似度矩阵中对应的列,作为中间矩阵的初始列,确定所述相似度矩阵与所述中间矩阵的残差矩阵,根据所述残差矩阵以及所述相似度矩阵,确定所述相似度矩阵中各列对所述残差矩阵的重要程度,并根据重要程度从大到小的顺序,将所述相似度矩阵中第一数量的列添加至所述中间矩阵,根据所述中间矩阵,确定当前时刻所述特征矩阵中用于计算奖励的特征。

可选地,所述选择模块304,根据重要程度从大到小的顺序,从所述相似度矩阵中提取第二数量的列,添加至所述中间矩阵中,判断所述中间矩阵的列数量是否达到所述第一数量,若是,则确定已得到所述中间矩阵所有的列,若否,则重新确定所述残差矩阵,并重新根据所述相似度矩阵中各列对重新确定的残差矩阵的重要程度,从所述相似度矩阵中提取所述第一数量的列添加至所述中间矩阵中,直至所述中间矩阵的列数量达到所述第一数量为止。

可选地,所述选择模块304,当所述历史环境特征的数量小于第一数量时,将所述历史环境特征作为当前时刻用于计算奖励的特征。

可选地,所述计算模块306,根据所述当前环境特征分别与所述选择出的特征的相似度,通过预设的奖励函数确定奖励,其中,所述当前环境特征与各选择出的特征的相似度越小则奖励越高,所述当前环境特征与各选择出的特征的相似度越大则奖励越小。

可选地,所述装置还包括:控制模块308,获取无人车在当前时刻所处位置的当前环境信息,将所述当前环境信息输入所述无人车控制模型,所述无人车控制模型是通过多次行驶过程训练得到的,其中针对每次行驶过程中的每个时刻,确定由各历史环境特征以及该时刻的当前环境特征构成的特征矩阵,根据该时刻的特征矩阵中各特征之间的相似度,确定所述特征矩阵中各特征的重要程度,并根据所述重要程度确定计算奖励的特征,基于计算奖励的特征计算出的奖励以及该时刻的环境信息训练所述无人车控制模型,根据所述无人车控制模型输出的朝向以及速度,控制所述无人车移动。

本说明书实施例还提供了计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述无人车控制模型的训练方法中的任一个。

基于图1提供的无人车控制模型的训练过程,本说明书实施例还提出了图7所示的电子设备的示意结构图。如图7,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述无人车控制模型的训练方法中的任一个。

当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1