首页> 中国专利> 训练驾驶行为决策模型的方法及装置

训练驾驶行为决策模型的方法及装置

摘要

本申请涉及人工智能领域中自动驾驶领域的驾驶行为决策技术,提供了一种训练驾驶行为决策模型的方法及装置,可应用到自动驾驶领域的智能汽车上。该方法包括:使用驾驶行为决策模型,根据车辆的状态信息进行决策,得到驾驶行为决策信息;向服务器发送所述驾驶行为决策信息;接收所述服务器发送的模仿学习模型的第一参数,所述第一参数是所述服务器基于模仿学习方法、使用所述驾驶行为决策信息训练所述模仿学习模型后得到的;根据所述驾驶行为决策信息与所述第一参数,调整所述驾驶行为决策模型的参数。本申请实施例中的方法,有助于提高驾驶行为决策模型的训练效率,训练后得到的驾驶行为决策模型能够输出合理的、可靠的驾驶行为决策信息。

著录项

  • 公开/公告号CN113835421A

    专利类型发明专利

  • 公开/公告日2021-12-24

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN202010508722.3

  • 发明设计人 何祥坤;陈晨;刘武龙;

    申请日2020-06-06

  • 分类号G05D1/02(20200101);

  • 代理机构11329 北京龙双利达知识产权代理有限公司;

  • 代理人陈洪艳;王君

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-06-19 13:49:36

说明书

技术领域

本申请涉及自动驾驶领域,并且更具体地,涉及训练驾驶行为决策模型的方法及装置。

背景技术

人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。

自动驾驶是人工智能领域的一种主流应用,自动驾驶技术依靠计算机视觉、雷达、监控装置和全球定位系统等协同合作,让机动车辆可以在不需要人类主动操作下,实现自动驾驶。自动驾驶的车辆使用各种计算系统来帮助将乘客从一个位置运输到另一位置。一些自动驾驶车辆可能要求来自操作者(诸如,领航员、驾驶员、或者乘客)的一些初始输入或者连续输入。自动驾驶车辆准许操作者从手动模操作式切换到自动驾驶模式或者介于两者之间的模式。由于自动驾驶技术无需人类来驾驶机动车辆,所以理论上能够有效避免人类的驾驶失误,减少交通事故的发生,且能够提高公路的运输效率。因此,自动驾驶技术越来越受到重视。

驾驶行为决策是自动驾驶技术中的重要组成部分,具体包括根据车辆的状态信息为车辆选择待执行动作(例如,加速、减速或转向等),并根据选择的待执行动作对该车辆进行控制。驾驶行为决策通常是由驾驶行为决策模型推测得到的。常用的驾驶行为决策模型是通过强化学习训练得到的。但是,现有通过强化学习方法训练驾驶行为决策模型的训练效率较低。

发明内容

本申请提供一种训练驾驶行为决策模型的方法及装置,有助于提高驾驶行为决策模型的训练效率。

第一方面,提供了一种训练驾驶行为决策模型的方法,该方法包括:

使用驾驶行为决策模型,根据车辆的状态信息进行决策,得到驾驶行为决策信息;向服务器发送所述驾驶行为决策信息;接收所述服务器发送的模仿学习模型的第一参数,所述第一参数是所述服务器基于模仿学习方法、使用所述驾驶行为决策信息训练所述模仿学习模型后得到的;根据所述驾驶行为决策信息与所述第一参数,调整所述驾驶行为决策模型的参数。

所述模仿学习方法属于常见的监督学习方法。通常,监督学习方法可以在训练的过程中利用真值(或称为标签)计算模型(例如,驾驶行为决策模型)的损失值,并使用计算得到的损失值去调整该模型的参数,因此,监督学习方法的学习效率较高,基于监督学习方法往往可以在较短的时间内得到满足用户需求的模型,同时,由于在训练的过程中有真值参与,基于监督学习方法训练得到的模型往往也比较可靠。

在本申请实施例中,所述第一参数是所述服务器基于模仿学习方法、使用所述驾驶行为决策信息训练所述模仿学习模型后得到的,基于模仿学习方法可以保证所述模仿学习模型的训练效果,此时,根据所述驾驶行为决策信息与所述第一参数调整所述驾驶行为决策模型的参数,可以提高驾驶行为决策模型的学习效率。

其中,所述模仿学习方法可以包括监督学习(supervised learning)、生成对抗网络(generative adversarial network,GAN)及逆强化学习(inverse reinforcementlearning,IRL)等。

结合第一方面,在第一方面的某些实现方式中,所述根据所述驾驶行为决策信息与所述第一参数,调整所述驾驶行为决策模型的参数,包括:基于强化学习方法,根据所述驾驶行为决策信息对所述驾驶行为决策模型的参数进行调整,得到第二参数;根据所述第一参数,调整所述驾驶行为决策模型的所述第二参数。

在本申请实施例中,可以基于强化学习方法对所述驾驶行为决策模型的参数进行调整得到第二参数,并根据所述第一参数调整所述驾驶行为决策模型的第二参数,可以使得所述驾驶行为决策模型具有在线学习能力及离线学习能力,即可以在所述驾驶行为决策模型具备在线学习能力的前提下、进一步提高驾驶行为决策模型的学习效率。

结合第一方面,在第一方面的某些实现方式中,所述驾驶行为决策模型包括第一模型和第二模型;其中,所述基于强化学习方法,根据所述驾驶行为决策信息对所述驾驶行为决策模型的参数进行调整,得到第二参数,包括:基于强化学习方法,根据所述驾驶行为决策信息对所述第一模型的参数进行调整,得到所述第二参数;在满足第一预设条件的情况下,将所述第二模型的参数更新为所述第二参数,所述第一预设条件为间隔预设的时间间隔或对所述第一模型的参数调整预设的次数。

在本申请实施例中,在满足第一预设条件的情况下,将所述第二模型的参数更新为所述第二参数,可以避免因频繁调整所述第二模型的参数而导致所述第二模型的输出不稳定,因此,能够提高所述驾驶行为决策信息的可靠性。

结合第一方面,在第一方面的某些实现方式中,所述根据所述第一参数,调整所述驾驶行为决策模型的所述第二参数,包括:根据所述第一参数,调整所述第一模型的参数和/或所述第二模型的参数。

在本申请实施例中,可以灵活地根据所述第一参数调整所述第一模型及所述第二模型中至少一个的参数。

结合第一方面,在第一方面的某些实现方式中,所述使用驾驶行为决策模型,根据所述状态信息进行决策,得到驾驶行为决策信息,包括:基于所述车辆的动力学模型及运动学模型,根据所述状态信息对所述车辆在之后一个或多个时刻的行驶行为进行预测,得到所述一个或多个时刻的所有可能的行驶行为;使用所述驾驶行为决策模型,对所述所有可能的行驶行为进行评估,得到所述驾驶行为决策信息。

在本申请实施例中,结合所述车辆的动力学模型及运动学模型进行驾驶行为决策,可以提高所述驾驶行为决策信息的合理性。

结合第一方面,在第一方面的某些实现方式中,在所述驾驶行为决策模型包括第一模型和第二模型的情况下,所述使用所述驾驶行为决策模型,对所述所有可能的行驶行为进行评估,得到所述驾驶行为决策信息,包括:使用所述第二模型,对所述所有可能的行驶行为进行评估,得到所述驾驶行为决策信息。

在本申请实施例中,所述第一模型的参数变化比较频繁,使用所述第二模型进行决策,能够提高所述驾驶行为决策信息的可靠性。

结合第一方面,在第一方面的某些实现方式中,所述方法还包括:接收所述服务器发送的所述模仿学习模型的第三参数,所述第三参数是基于模仿学习方法、使用决策专家系统输出的数据训练所述模仿学习模型后得到的,所述决策专家系统是根据驾驶员的驾驶数据及车辆的动力学特性设计的;根据所述第三参数确定所述驾驶行为决策模型的初始参数。

在本申请实施例中,根据预先训练好的模仿学习模型的第三参数确定所述驾驶行为决策模型的初始参数,可以提高所述驾驶行为决策模型的稳定性,避免所述驾驶行为决策模型输出冒险的(或不合理的)驾驶行为决策信息。

结合第一方面,在第一方面的某些实现方式中,所述第一参数是所述服务器基于模仿学习方法、使用满足第二预设条件的所述驾驶行为决策信息训练所述模仿学习模型后得到的,所述第二预设条件包括所述驾驶行为决策信息为所述状态信息对应的合理驾驶行为决策。

在本申请实施例中,使用所述状态信息对应的合理驾驶行为决策训练所述模仿学习模型,可以进一步提高所述模仿学习模型的训练效果,从而能够进一步提高驾驶行为决策模型的学习效率。

结合第一方面,在第一方面的某些实现方式中,所述第二预设条件还包括所述状态信息的噪声在第一预设范围内。

在本申请实施例中,所述状态信息的噪声在第一预设范围内,可以使得基于所述状态信息决策后得到的驾驶行为决策信息更加合理,此时,根据该驾驶行为决策信息训练所述模仿学习模型,可以进一步提高所述模仿学习模型的训练效果,从而能够进一步提高驾驶行为决策模型的学习效率。

结合第一方面,在第一方面的某些实现方式中,所述状态信息是多个状态信息中的一个,所述第二预设条件还包括所述多个状态信息是在多个场景中获取的。

在本申请实施例中,在上述多个场景中获取所述状态信息,可以使得驾驶行为决策模型的训练数据(例如,根据所述状态信息进行决策后得到的驾驶行为决策信息)的场景更加丰富,此时,根据该驾驶行为决策信息训练所述模仿学习模型,可以进一步提高所述模仿学习模型的训练效果,从而有助于进一步能够提高驾驶行为决策模型的学习效率。

结合第一方面,在第一方面的某些实现方式中,所述第二预设条件还包括:所述多个状态信息中,在所述多个场景中任意一个场景中获取的状态信息的数量与在所述多个场景中任意一个其他场景中获取的状态信息的数量之间的差值在第二预设范围内。

在本申请实施例中,在所述多个场景中任意一个场景中获取的状态信息的数量与在所述多个场景中任意一个其他场景中获取的状态信息的数量之间的差值在第二预设范围内,可以使得在各个场景中得到的训练数据(例如,根据所述状态信息进行决策后得到的驾驶行为决策信息)的数量更加均衡,此时,根据该驾驶行为决策信息训练所述模仿学习模型,可以保证所述模仿学习模型的训练效果,从而避免出现所述驾驶行为决策模型在某个场景存在过拟合的问题。

第二方面,提供了一种训练驾驶行为决策模型的方法,该方法包括:

接收车辆发送的驾驶行为决策信息,所述驾驶行为决策信息是所述车辆使用驾驶行为决策模型根据所述车辆的状态信息进行决策后得到的;基于模仿学习方法,根据所述驾驶行为决策信息训练模仿学习模型,得到所述模型学习模型的第一参数,所述第一参数用于调整所述驾驶行为决策模型的参数;向所述车辆发送所述第一参数。

所述模仿学习方法属于常见的监督学习方法。通常,监督学习方法可以在训练的过程中利用真值(或称为标签)计算模型(例如,驾驶行为决策模型)的损失值,并使用计算得到的损失值去调整该模型的参数,因此,监督学习方法的学习效率较高,基于监督学习方法往往可以在较短的时间内得到满足用户需求的模型,同时,由于在训练的过程中有真值参与,基于监督学习方法训练得到的模型往往也比较可靠。

在本申请实施例中,基于模仿学习方法,根据所述驾驶行为决策信息训练模仿学习模型得到所述模型学习模型的第一参数,基于模仿学习方法可以保证所述模仿学习模型的训练效果,此时,根据所述第一参数调整所述驾驶行为决策模型的参数,可以提高驾驶行为决策模型的学习效率。

其中,所述模仿学习方法可以包括监督学习(supervised learning)、生成对抗网络(generative adversarial network,GAN)及逆强化学习(inverse reinforcementlearning,IRL)等。

结合第二方面,在第二方面的某些实现方式中,所述方法还包括:基于模仿学习方法、使用决策专家系统输出的数据训练所述模仿学习模型,得到所述模仿学习模型的第三参数,其中,所述第三参数用于确定所述驾驶行为决策模型的初始参数,所述决策专家系统是根据驾驶员的驾驶数据及车辆的动力学特性设计的;向所述车辆发送所述第三参数。

在本申请实施例中,根据预先训练好的模仿学习模型的第三参数确定所述驾驶行为决策模型的初始参数,可以提高所述驾驶行为决策模型的稳定性,避免所述驾驶行为决策模型输出冒险的(或不合理的)驾驶行为决策信息。

结合第二方面,在第二方面的某些实现方式中,所述基于模仿学习方法,根据所述驾驶行为决策信息训练模仿学习模型,得到所述模型学习模型的第一参数,包括:基于模仿学习方法,根据满足第二预设条件的所述驾驶行为决策信息训练模仿学习模型,得到所述模型学习模型的第一参数,所述第二预设条件包括所述驾驶行为决策信息为所述状态信息对应的合理驾驶行为决策。

在本申请实施例中,使用所述状态信息对应的合理驾驶行为决策训练所述模仿学习模型,可以进一步提高所述模仿学习模型的训练效果,从而能够进一步提高驾驶行为决策模型的学习效率。

结合第二方面,在第二方面的某些实现方式中,所述第二预设条件还包括所述状态信息的噪声在第一预设范围内。

在本申请实施例中,所述状态信息的噪声在第一预设范围内,可以使得基于所述状态信息决策后得到的驾驶行为决策信息更加合理,此时,根据该驾驶行为决策信息训练所述模仿学习模型,可以进一步提高所述模仿学习模型的训练效果,从而能够进一步提高驾驶行为决策模型的学习效率。

结合第二方面,在第二方面的某些实现方式中,所述状态信息是多个状态信息中的一个,所述第二预设条件还包括所述多个状态信息是在多个场景中获取的。

在本申请实施例中,在上述多个场景中获取所述状态信息,可以使得驾驶行为决策模型的训练数据(例如,根据所述状态信息进行决策后得到的驾驶行为决策信息)的场景更加丰富,此时,根据该驾驶行为决策信息训练所述模仿学习模型,可以进一步提高所述模仿学习模型的训练效果,从而有助于进一步能够提高驾驶行为决策模型的学习效率。

结合第二方面,在第二方面的某些实现方式中,所述第二预设条件还包括:所述多个状态信息中,在所述多个场景中任意一个场景中获取的状态信息的数量与在所述多个场景中任意一个其他场景中获取的状态信息的数量之间的差值在第二预设范围内。

在本申请实施例中,在所述多个场景中任意一个场景中获取的状态信息的数量与在所述多个场景中任意一个其他场景中获取的状态信息的数量之间的差值在第二预设范围内,可以使得在各个场景中得到的训练数据(例如,根据所述状态信息进行决策后得到的驾驶行为决策信息)的数量更加均衡,此时,根据该驾驶行为决策信息训练所述模仿学习模型,可以保证所述模仿学习模型的训练效果,从而避免出现所述驾驶行为决策模型在某个场景存在过拟合的问题。

第三方面,提供了一种训练驾驶行为决策模型的装置,包括:

决策单元,用于使用驾驶行为决策模型,根据车辆的状态信息进行决策,得到驾驶行为决策信息;发送单元,用于向服务器发送所述驾驶行为决策信息;接收单元,用于接收所述服务器发送的模仿学习模型的第一参数,所述第一参数是所述服务器基于模仿学习方法、使用所述驾驶行为决策信息训练所述模仿学习模型后得到的;调整单元,用于根据所述驾驶行为决策信息与所述第一参数,调整所述驾驶行为决策模型的参数。

所述模仿学习方法属于常见的监督学习方法。通常,监督学习方法可以在训练的过程中利用真值(或称为标签)计算模型(例如,驾驶行为决策模型)的损失值,并使用计算得到的损失值去调整该模型的参数,因此,监督学习方法的学习效率较高,基于监督学习方法往往可以在较短的时间内得到满足用户需求的模型,同时,由于在训练的过程中有真值参与,基于监督学习方法训练得到的模型往往也比较可靠。

在本申请实施例中,所述第一参数是所述服务器基于模仿学习方法、使用所述驾驶行为决策信息训练所述模仿学习模型后得到的,基于模仿学习方法可以保证所述模仿学习模型的训练效果,此时,根据所述驾驶行为决策信息与所述第一参数调整所述驾驶行为决策模型的参数,可以提高驾驶行为决策模型的学习效率。

其中,所述模仿学习方法可以包括监督学习(supervised learning)、生成对抗网络(generative adversarial network,GAN)及逆强化学习(inverse reinforcementlearning,IRL)等。

结合第三方面,在第三方面的某些实现方式中,所述调整单元具体用于:基于强化学习方法,根据所述驾驶行为决策信息对所述驾驶行为决策模型的参数进行调整,得到第二参数;根据所述第一参数,调整所述驾驶行为决策模型的所述第二参数。

在本申请实施例中,可以基于强化学习方法对所述驾驶行为决策模型的参数进行调整得到第二参数,并根据所述第一参数调整所述驾驶行为决策模型的第二参数,可以使得所述驾驶行为决策模型具有在线学习能力及离线学习能力,即可以在所述驾驶行为决策模型具备在线学习能力的前提下、进一步提高驾驶行为决策模型的学习效率。

结合第三方面,在第三方面的某些实现方式中,所述驾驶行为决策模型包括第一模型和第二模型;其中,所述调整单元具体用于:基于强化学习方法,根据所述驾驶行为决策信息对所述第一模型的参数进行调整,得到所述第二参数;在满足第一预设条件的情况下,将所述第二模型的参数更新为所述第二参数,所述第一预设条件为间隔预设的时间间隔或对所述第一模型的参数调整预设的次数。

在本申请实施例中,在满足第一预设条件的情况下,将所述第二模型的参数更新为所述第二参数,可以避免因频繁调整所述第二模型的参数而导致所述第二模型的输出不稳定,因此,能够提高所述驾驶行为决策信息的可靠性。

结合第三方面,在第三方面的某些实现方式中,所述调整单元具体用于:根据所述第一参数,调整所述第一模型的参数和/或所述第二模型的参数。

在本申请实施例中,可以灵活地根据所述第一参数调整所述第一模型及所述第二模型中至少一个的参数。

结合第三方面,在第三方面的某些实现方式中,所述决策单元具体用于:基于所述车辆的动力学模型及运动学模型,根据所述状态信息对所述车辆在之后一个或多个时刻的行驶行为进行预测,得到所述一个或多个时刻的所有可能的行驶行为;使用所述驾驶行为决策模型,对所述所有可能的行驶行为进行评估,得到所述驾驶行为决策信息。

在本申请实施例中,结合所述车辆的动力学模型及运动学模型进行驾驶行为决策,可以提高所述驾驶行为决策信息的合理性。

结合第三方面,在第三方面的某些实现方式中,在所述驾驶行为决策模型包括第一模型和第二模型的情况下,所述决策单元具体用于:使用所述第二模型,对所述所有可能的行驶行为进行评估,得到所述驾驶行为决策信息。

在本申请实施例中,所述第一模型的参数变化比较频繁,使用所述第二模型进行决策,能够提高所述驾驶行为决策信息的可靠性。

结合第三方面,在第三方面的某些实现方式中,所述接收单元还用于:接收所述服务器发送的所述模仿学习模型的第三参数,所述第三参数是基于模仿学习方法、使用决策专家系统输出的数据训练所述模仿学习模型后得到的,所述决策专家系统是根据驾驶员的驾驶数据及车辆的动力学特性设计的;所述调整单元还用于:根据所述第三参数确定所述驾驶行为决策模型的初始参数。

在本申请实施例中,根据预先训练好的模仿学习模型的第三参数确定所述驾驶行为决策模型的初始参数,可以提高所述驾驶行为决策模型的稳定性,避免所述驾驶行为决策模型输出冒险的(或不合理的)驾驶行为决策信息。

结合第三方面,在第三方面的某些实现方式中,所述第一参数是所述服务器基于模仿学习方法、使用满足第二预设条件的所述驾驶行为决策信息训练所述模仿学习模型后得到的,所述第二预设条件包括所述驾驶行为决策信息为所述状态信息对应的合理驾驶行为决策。

在本申请实施例中,使用所述状态信息对应的合理驾驶行为决策训练所述模仿学习模型,可以进一步提高所述模仿学习模型的训练效果,从而能够进一步提高驾驶行为决策模型的学习效率。

结合第三方面,在第三方面的某些实现方式中,所述第二预设条件还包括所述状态信息的噪声在第一预设范围内。

在本申请实施例中,所述状态信息的噪声在第一预设范围内,可以使得基于所述状态信息决策后得到的驾驶行为决策信息更加合理,此时,根据该驾驶行为决策信息训练所述模仿学习模型,可以进一步提高所述模仿学习模型的训练效果,从而能够进一步提高驾驶行为决策模型的学习效率。

结合第三方面,在第三方面的某些实现方式中,所述状态信息是多个状态信息中的一个,所述第二预设条件还包括所述多个状态信息是在多个场景中获取的。

在本申请实施例中,在上述多个场景中获取所述状态信息,可以使得驾驶行为决策模型的训练数据(例如,根据所述状态信息进行决策后得到的驾驶行为决策信息)的场景更加丰富,此时,根据该驾驶行为决策信息训练所述模仿学习模型,可以进一步提高所述模仿学习模型的训练效果,从而有助于进一步能够提高驾驶行为决策模型的学习效率。

结合第三方面,在第三方面的某些实现方式中,所述第二预设条件还包括:所述多个状态信息中,在所述多个场景中任意一个场景中获取的状态信息的数量与在所述多个场景中任意一个其他场景中获取的状态信息的数量之间的差值在第二预设范围内。

在本申请实施例中,在所述多个场景中任意一个场景中获取的状态信息的数量与在所述多个场景中任意一个其他场景中获取的状态信息的数量之间的差值在第二预设范围内,可以使得在各个场景中得到的训练数据(例如,根据所述状态信息进行决策后得到的驾驶行为决策信息)的数量更加均衡,此时,根据该驾驶行为决策信息训练所述模仿学习模型,可以保证所述模仿学习模型的训练效果,从而避免出现所述驾驶行为决策模型在某个场景存在过拟合的问题。

第四方面,提供了一种训练驾驶行为决策模型的装置,包括:

接收单元,用于接收车辆发送的驾驶行为决策信息,所述驾驶行为决策信息是所述车辆使用驾驶行为决策模型根据所述车辆的状态信息进行决策后得到的;训练单元,用于基于模仿学习方法,根据所述驾驶行为决策信息训练模仿学习模型,得到所述模型学习模型的第一参数,所述第一参数用于调整所述驾驶行为决策模型的参数;发送单元,用于向所述车辆发送所述第一参数。

所述模仿学习方法属于常见的监督学习方法。通常,监督学习方法可以在训练的过程中利用真值(或称为标签)计算模型(例如,驾驶行为决策模型)的损失值,并使用计算得到的损失值去调整该模型的参数,因此,监督学习方法的学习效率较高,基于监督学习方法往往可以在较短的时间内得到满足用户需求的模型,同时,由于在训练的过程中有真值参与,基于监督学习方法训练得到的模型往往也比较可靠。

在本申请实施例中,基于模仿学习方法,根据所述驾驶行为决策信息训练模仿学习模型得到所述模型学习模型的第一参数,基于模仿学习方法可以保证所述模仿学习模型的训练效果,此时,根据所述第一参数调整所述驾驶行为决策模型的参数,可以提高驾驶行为决策模型的学习效率。

其中,所述模仿学习方法可以包括监督学习(supervised learning)、生成对抗网络(generative adversarial network,GAN)及逆强化学习(inverse reinforcementlearning,IRL)等。

结合第四方面,在第四方面的某些实现方式中,所述训练单元还用于:基于模仿学习方法、使用决策专家系统输出的数据训练所述模仿学习模型,得到所述模仿学习模型的第三参数,其中,所述第三参数用于确定所述驾驶行为决策模型的初始参数,所述决策专家系统是根据驾驶员的驾驶数据及车辆的动力学特性设计的;所述发送单元还用于:向所述车辆发送所述第三参数。

在本申请实施例中,根据预先训练好的模仿学习模型的第三参数确定所述驾驶行为决策模型的初始参数,可以提高所述驾驶行为决策模型的稳定性,避免所述驾驶行为决策模型输出冒险的(或不合理的)驾驶行为决策信息。

结合第四方面,在第四方面的某些实现方式中,所述训练单元具体用于:基于模仿学习方法,根据满足第二预设条件的所述驾驶行为决策信息训练模仿学习模型,得到所述模型学习模型的第一参数,所述第二预设条件包括所述驾驶行为决策信息为所述状态信息对应的合理驾驶行为决策。

在本申请实施例中,使用所述状态信息对应的合理驾驶行为决策训练所述模仿学习模型,可以进一步提高所述模仿学习模型的训练效果,从而能够进一步提高驾驶行为决策模型的学习效率。

结合第四方面,在第四方面的某些实现方式中,所述第二预设条件还包括所述状态信息的噪声在第一预设范围内。

在本申请实施例中,所述状态信息的噪声在第一预设范围内,可以使得基于所述状态信息决策后得到的驾驶行为决策信息更加合理,此时,根据该驾驶行为决策信息训练所述模仿学习模型,可以进一步提高所述模仿学习模型的训练效果,从而能够进一步提高驾驶行为决策模型的学习效率。

结合第四方面,在第四方面的某些实现方式中,所述状态信息是多个状态信息中的一个,所述第二预设条件还包括所述多个状态信息是在多个场景中获取的。

在本申请实施例中,在上述多个场景中获取所述状态信息,可以使得驾驶行为决策模型的训练数据(例如,根据所述状态信息进行决策后得到的驾驶行为决策信息)的场景更加丰富,此时,根据该驾驶行为决策信息训练所述模仿学习模型,可以进一步提高所述模仿学习模型的训练效果,从而有助于进一步能够提高驾驶行为决策模型的学习效率。

结合第四方面,在第四方面的某些实现方式中,所述第二预设条件还包括:所述多个状态信息中,在所述多个场景中任意一个场景中获取的状态信息的数量与在所述多个场景中任意一个其他场景中获取的状态信息的数量之间的差值在第二预设范围内。

在本申请实施例中,在所述多个场景中任意一个场景中获取的状态信息的数量与在所述多个场景中任意一个其他场景中获取的状态信息的数量之间的差值在第二预设范围内,可以使得在各个场景中得到的训练数据(例如,根据所述状态信息进行决策后得到的驾驶行为决策信息)的数量更加均衡,此时,根据该驾驶行为决策信息训练所述模仿学习模型,可以保证所述模仿学习模型的训练效果,从而避免出现所述驾驶行为决策模型在某个场景存在过拟合的问题。

第五方面,提供了一种训练驾驶行为决策模型的装置,所述装置包括存储介质和中央处理器,所述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现第一方面的任一可能的实现方式中的方法。

第六方面,提供了一种训练驾驶行为决策模型的装置,所述装置包括存储介质和中央处理器,所述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现第二方面的任一可能的实现方式中的方法。

第七方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面的任一可能的实现方式或者第二方面的任一可能的实现方式中的方法。

可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面的任一可能的实现方式或者第二方面的任一可能的实现方式中的方法。

第八方面,提供一种计算机可读存储介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行第一方面的任一可能的实现方式或者第二方面的任一可能的实现方式中的方法的指令。

第九方面,提供一种汽车,所述汽车包括上述第三方面的任一可能的实现方式或第五方面所述的训练驾驶行为决策模型的装置。

第十方面,提供一种服务器,所述服务器包括上述第四方面的任一可能的实现方式或第六方面所述的训练驾驶行为决策模型的装置。

在本申请实施例中,所述第一参数是所述服务器基于模仿学习方法、使用所述驾驶行为决策信息训练所述模仿学习模型后得到的,基于模仿学习方法可以保证所述模仿学习模型的训练效果,此时,根据所述驾驶行为决策信息与所述第一参数调整所述驾驶行为决策模型的参数,可以提高驾驶行为决策模型的学习效率。

附图说明

图1为本申请实施例提供的一种自动驾驶车辆的结构示意图;

图2为本申请实施例提供的一种自动驾驶系统的结构示意图;

图3为本申请实施例提供的一种神经网络处理器的结构示意图;

图4为本申请实施例提供的一种云侧指令自动驾驶车辆的应用示意图;

图5为本申请一个实施例提供的训练驾驶行为决策模型的方法的示意性框图;

图6为本申请另一个实施例提供的训练驾驶行为决策模型的方法的示意性框图;

图7为本申请另一个实施例提供的训练驾驶行为决策模型的方法的示意性框图;

图8为本申请一个实施例提供的训练驾驶行为决策模型的方法的示意性流程图;

图9为本申请实施例提供的RBFNN的示意性框图;

图10是本申请一个实施例提供的训练驾驶行为决策模型的装置的示意性框图;

图11是本申请另一个实施例提供的训练驾驶行为决策模型的装置的示意性框图;

图12是本申请再一个实施例提供的训练驾驶行为决策模型的装置的示意性框图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

本申请实施例的技术方案可以应用于各种车辆,该车辆具体可以为内燃机车、智能电动车或者混合动力车,或者,该车辆也可以为其他动力类型的车辆等,本申请实施例对此并不限定。

本申请实施例中的车辆可以为自动驾驶车辆,例如,所述自动驾驶车辆可以配置有自动驾驶模式,该自动驾驶模式可以为完全自动驾驶模式,或者,也可以为部分自动驾驶模式,本申请实施例对此并不限定。

本申请实施例中的车辆还可以配置有其他驾驶模式,所述其他驾驶模式可以包括运动模式、经济模式、标准模式、雪地模式及爬坡模式等多种驾驶模式中的一种或多种。所述自动驾驶车辆可以在自动驾驶模式和上述多种(驾驶员驾驶车辆的)驾驶模型之间进行切换,本申请实施例对此并不限定。

图1是本申请实施例提供的车辆100的功能框图。

在一个实施例中,将车辆100配置为完全或部分地自动驾驶模式。

例如,车辆100可以在处于自动驾驶模式中的同时控制自身,并且可通过人为操作来确定车辆及其周边环境的当前状态,确定周边环境中的至少一个其他车辆的可能行为,并确定该其他车辆执行可能行为的可能性相对应的置信水平,基于所确定的信息来控制车辆100。在车辆100处于自动驾驶模式中时,可以将车辆100置为在没有和人交互的情况下操作。

车辆100可包括各种子系统,例如行进系统102、传感器系统104、控制系统106、一个或多个外围设备108以及电源110、计算机系统112和用户接口116。

可选地,车辆100可包括更多或更少的子系统,并且每个子系统可包括多个元件。另外,车辆100的每个子系统和元件可以通过有线或者无线互连。

行进系统102可包括为车辆100提供动力运动的组件。在一个实施例中,推进系统102可包括引擎118、能量源119、传动装置120和车轮/轮胎121。引擎118可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合,例如,气油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎118将能量源119转换成机械能量。

能量源119的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源119也可以为车辆100的其他系统提供能量。

传动装置120可以将来自引擎118的机械动力传送到车轮121。传动装置120可包括变速箱、差速器和驱动轴。

在一个实施例中,传动装置120还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮121的一个或多个轴。

传感器系统104可包括感测关于车辆100周边的环境的信息的若干个传感器。

例如,传感器系统104可包括定位系统122(定位系统可以是GPS系统,也可以是北斗系统或者其他定位系统)、惯性测量单元(inertial measurement unit,IMU)124、雷达126、激光测距仪128以及相机130。传感器系统104还可包括被监视车辆100的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是自主车辆100的安全操作的关键功能。

定位系统122可用于估计车辆100的地理位置。IMU 124用于基于惯性加速度来感测车辆100的位置和朝向变化。在一个实施例中,IMU 124可以是加速度计和陀螺仪的组合。

雷达126可利用无线电信号来感测车辆100的周边环境内的物体。在一些实施例中,除了感测物体以外,雷达126还可用于感测物体的速度和/或前进方向。

激光测距仪128可利用激光来感测车辆100所位于的环境中的物体。在一些实施例中,激光测距仪128可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。

相机130可用于捕捉车辆100的周边环境的多个图像。相机130可以是静态相机或视频相机。

控制系统106为控制车辆100及其组件的操作。控制系统106可包括各种元件,其中包括转向系统132、油门134、制动单元136、传感器融合算法138、计算机视觉系统140、路线控制系统142以及障碍物避免系统144。

转向系统132可操作来调整车辆100的前进方向。例如在一个实施例中可以为方向盘系统。

油门134用于控制引擎118的操作速度并进而控制车辆100的速度。

制动单元136用于控制车辆100减速。制动单元136可使用摩擦力来减慢车轮121。在其他实施例中,制动单元136可将车轮121的动能转换为电流。制动单元136也可采取其他形式来减慢车轮121转速从而控制车辆100的速度。

计算机视觉系统140可以操作来处理和分析由相机130捕捉的图像以便识别车辆100周边环境中的物体和/或特征。所述物体和/或特征可包括交通信号、道路边界和障碍物。计算机视觉系统140可使用物体识别算法、运动中恢复结构(Structure from Motion,SFM)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统140可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。

路线控制系统142用于确定车辆100的行驶路线。在一些实施例中,路线控制系统142可结合来自传感器138、GPS 122和一个或多个预定地图的数据以为车辆100确定行驶路线。

障碍物避免系统144用于识别、评估和避免或者以其他方式越过车辆100的环境中的潜在障碍物。

当然,在一个实例中,控制系统106可以增加或替换地包括除了所示出和描述的那些以外的组件。或者也可以减少一部分上述示出的组件。

车辆100通过外围设备108与外部传感器、其他车辆、其他计算机系统或用户之间进行交互。外围设备108可包括无线通信系统146、车载电脑148、麦克风150和/或扬声器152。

在一些实施例中,外围设备108提供车辆100的用户与用户接口116交互的手段。例如,车载电脑148可向车辆100的用户提供信息。用户接口116还可操作车载电脑148来接收用户的输入。车载电脑148可以通过触摸屏进行操作。在其他情况中,外围设备108可提供用于车辆100与位于车内的其它设备通信的手段。例如,麦克风150可从车辆100的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器152可向车辆100的用户输出音频。

无线通信系统146可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统146可使用3G蜂窝通信,例如CDMA、EVD0、GSM/GPRS,或者4G蜂窝通信,例如LTE。或者5G蜂窝通信。无线通信系统146可利用WiFi与无线局域网(wireless localarea network,WLAN)通信。在一些实施例中,无线通信系统146可利用红外链路、蓝牙或ZigBee与设备直接通信。其他无线协议,例如各种车辆通信系统,例如,无线通信系统146可包括一个或多个专用短程通信(dedicated short range communications,DSRC)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。

电源110可向车辆100的各种组件提供电力。在一个实施例中,电源110可以为可再充电锂离子或铅酸电池。这种电池的一个或多个电池组可被配置为电源为车辆100的各种组件提供电力。在一些实施例中,电源110和能量源119可一起实现,例如一些全电动车中那样。

车辆100的部分或所有功能受计算机系统112控制。计算机系统112可包括至少一个处理器113,处理器113执行存储在例如数据存储装置114这样的非暂态计算机可读介质中的指令115。计算机系统112还可以是采用分布式方式控制车辆100的个体组件或子系统的多个计算设备。

处理器113可以是任何常规的处理器,诸如商业可获得的CPU。替选地,该处理器可以是诸如ASIC或其它基于硬件的处理器的专用设备。尽管图1功能性地图示了处理器、存储器、和在相同块中的计算机110的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机、或存储器实际上可以包括在相同的物理外壳内的多个处理器、计算机、或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机110的外壳内的其它存储介质。因此,对处理器或计算机的引用将被理解为包括对可以或者可以不并行操作的处理器或计算机或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,所述处理器只执行与特定于组件的功能相关的计算。

在此处所描述的各个方面中,处理器可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。

在一些实施例中,数据存储装置114可包含指令115(例如,程序逻辑),指令115可被处理器113执行来执行车辆100的各种功能,包括以上描述的那些功能。数据存储装置114也可包含额外的指令,包括向推进系统102、传感器系统104、控制系统106和外围设备108中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。

除了指令115以外,数据存储装置114还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在车辆100在自主、半自主和/或手动模式中操作期间被车辆100和计算机系统112使用。

用户接口116,用于向车辆100的用户提供信息或从其接收信息。可选地,用户接口116可包括在外围设备108的集合内的一个或多个输入/输出设备,例如无线通信系统146、车车在电脑148、麦克风150和扬声器152。

计算机系统112可基于从各种子系统(例如,行进系统102、传感器系统104和控制系统106)以及从用户接口116接收的输入来控制车辆100的功能。例如,计算机系统112可利用来自控制系统106的输入以便控制转向单元132来避免由传感器系统104和障碍物避免系统144检测到的障碍物。在一些实施例中,计算机系统112可操作来对车辆100及其子系统的许多方面提供控制。

可选地,上述这些组件中的一个或多个可与车辆100分开安装或关联。例如,数据存储装置114可以部分或完全地与车辆100分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。

可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1不应理解为对本申请实施例的限制。

在道路行进的自动驾驶车辆,如上面的车辆100,可以识别其周围环境内的物体以确定对当前速度的调整。所述物体可以是其它车辆、交通控制设备、或者其它类型的物体。在一些示例中,可以独立地考虑每个识别的物体,并且基于物体的各自的特性,诸如它的当前速度、加速度、与车辆的间距等,可以用来确定自动驾驶默默所要调整的速度。

可选地,车辆100或者与车辆100相关联的计算设备(如图1的计算机系统112、计算机视觉系统140、数据存储装置114)可以基于所识别的物体的特性和周围环境的状态(例如,交通、雨、道路上的冰、等等)来预测所述识别的物体的行为。可选地,每一个所识别的物体都依赖于彼此的行为,因此还可以将所识别的所有物体全部一起考虑来预测单个识别的物体的行为。车辆100能够基于预测的所述识别的物体的行为来调整它的速度。换句话说,自动驾驶车辆能够基于所预测的物体的行为来确定车辆将需要调整到(例如,加速、减速、或者停止)什么稳定状态。在这个过程中,也可以考虑其它因素来确定车辆100的速度,诸如,车辆100在行驶的道路中的横向位置、道路的曲率、静态和动态物体的接近度等等。

除了提供调整自动驾驶车辆的速度的指令之外,计算设备还可以提供修改车辆100的转向角的指令,以使得自动驾驶车辆遵循给定的轨迹和/或维持与自动驾驶车辆附近的物体(例如,道路上的相邻车道中的轿车)的安全横向和纵向距离。

上述车辆100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本申请实施例不做特别的限定。

图2是本申请实施例提供的自动驾驶系统的示意图。

如图2所示的自动驾驶系统包括计算机系统101,其中,计算机系统101包括处理器103,处理器103和系统总线105耦合。处理器103可以是一个或者多个处理器,其中每个处理器都可以包括一个或多个处理器核。显示适配器(video adapter)107,显示适配器可以驱动显示器109,显示器109和系统总线105耦合。系统总线105通过总线桥111和输入输出(I/O)总线113耦合。I/O接口115和I/O总线耦合。I/O接口115和多种I/O设备进行通信,比如输入设备117(如:键盘,鼠标,触摸屏等),多媒体盘(media tray)121,(例如,CD-ROM,多媒体接口等)。收发器123(可以发送和/或接受无线电通信信号),摄像头155(可以捕捉静态和动态数字视频图像)和外部USB接口125。其中,可选地,和I/O接口115相连接的接口可以是USB接口。

其中,处理器103可以是任何传统处理器,包括精简指令集计算(reducedinstruction set computer,RISC)处理器、复杂指令集计算(complex instruction setcomputer,CISC)处理器或上述的组合。可选地,处理器可以是诸如专用集成电路(application specific integrated circuit,ASIC)的专用装置。可选地,处理器103可以是神经网络处理器或者是神经网络处理器和上述传统处理器的组合。

可选地,在本文所述的各种实施例中,计算机系统101可位于远离自动驾驶车辆的地方(例如,计算机系统101可位于云端或服务器),并且可与自动驾驶车辆无线通信。在其它方面,本文所述的一些过程在设置在自动驾驶车辆内的处理器上执行,其它由远程处理器执行,包括采取执行单个操纵所需的动作。

计算机101可以通过网络接口129和软件部署服务器149通信。网络接口129是硬件网络接口,比如,网卡。网络127可以是外部网络,比如因特网,也可以是内部网络,比如以太网或者虚拟私人网络(virtual private network,VPN)。可选地,网络127还可以是无线网络,比如WiFi网络,蜂窝网络等。

硬盘驱动接口和系统总线105耦合。硬件驱动接口和硬盘驱动器相连接。系统内存135和系统总线105耦合。运行在系统内存135的数据可以包括计算机101的操作系统137和应用程序143。

操作系统包括解析器139(shell)和内核(kernel)141。shell是介于使用者和操作系统之内核(kernel)间的一个接口。shell是操作系统最外面的一层。shell管理使用者与操作系统之间的交互:等待使用者的输入,向操作系统解释使用者的输入,并且处理各种各样的操作系统的输出结果。

内核141由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。直接与硬件交互,操作系统内核通常运行进程,并提供进程间的通信,提供CPU时间片管理、中断、内存管理、IO管理等等。

应用程序143包括驾驶行为决策相关的程序,比如,获取车辆的状态信息,根据车辆的状态信息进行决策,得到驾驶行为决策信息(即车辆的待执行动作,例如,加速、减速或转向等动作),并根据驾驶行为决策信息对该车辆进行控制。应用程序143也存在于软件部署服务器149(deploying server)的系统上。在一个实施例中,在需要执行应用程序143时,计算机系统101可以从软件部署服务器149(deploying server)下载应用程序143。

传感器153和计算机系统101关联。传感器153用于探测计算机101周围的环境。举例来说,传感器153可以探测动物,汽车,障碍物和人行横道等,进一步传感器还可以探测上述动物,汽车,障碍物和人行横道等物体周围的环境,比如:动物周围的环境,例如,动物周围出现的其他动物,天气条件,周围环境的光亮度等。传感器153还可以用于获取车辆的状态信息。例如,传感器153可以探测车辆的位置、车辆的速度、车辆的加速度和车辆的姿态等车辆的状态信息。可选地,如果计算机101位于自动驾驶车辆上,传感器可以是摄像头,红外线感应器,化学检测器,麦克风等。

例如,应用程序143可以基于传感器153探测到的周围的环境信息和/或车辆的状态信息进行决策,得到驾驶行为决策信息,并根据驾驶行为决策信息对该车辆进行控制。此时,根据驾驶行为决策信息就可以对该车辆进行控制,从而实现车辆的自动驾驶。

其中,驾驶行为决策信息可以是指车辆的待执行动作,例如,执行加速、减速或转向等动作中的一项或多项,或者,驾驶行为决策信息也可以是指车辆的待选择的控制模式或控制系统,例如,选择转向控制系统、直接横摆力矩控制系统或紧急制动控制系统等系统中的一项或多项。

图3是本申请实施例提供的一种芯片硬件结构图,该芯片包括神经网络处理器20。该芯片可以为在如图2所示的处理器103中,用以根据车辆的状态信息进行驾驶行为决策。在本申请实施例中,预训练的神经网络中各层的算法均可在如图3所示的芯片中得以实现。

本申请实施例中的训练驾驶行为决策模型的方法,以及确定驾驶行为的方法也可以在如图3所示的芯片中得以实现,其中,该芯片可以与实现上述预训练的神经网络的芯片是同一个芯片,或者,该芯片也可以与实现上述预训练的神经网络的芯片是不同的芯片,本申请实施例对此并不限定。

神经网络处理器NPU 50NPU作为协处理器挂载到主CPU(host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路50,通过控制器504控制运算电路503提取存储器中的矩阵数据并进行乘法运算。

在一些实现中,运算电路203内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路203是二维脉动阵列。运算电路203还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路203是通用的矩阵处理器。

举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器202中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器201中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)208中。

向量计算单元207可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元207可以用于神经网络中非卷积/非FC层的网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。

在一些实现种,向量计算单元能207将经处理的输出的向量存储到统一缓存器206。例如,向量计算单元207可以将非线性函数应用到运算电路203的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元207生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路203的激活输入,例如,用于在神经网络中的后续层中的使用。

统一存储器206用于存放输入数据以及输出数据。

权重数据直接通过存储单元访问控制器205(direct memory accesscontroller,DMAC)将外部存储器中的输入数据搬运到输入存储器201和/或统一存储器206、将外部存储器中的权重数据存入权重存储器202,以及将统一存储器206中的数据存入外部存储器。

总线接口单元(bus interface unit,BIU)210,用于通过总线实现主CPU、DMAC和取指存储器209之间进行交互。

与控制器204连接的取指存储器(instruction fetch buffer)209,用于存储控制器204使用的指令;

控制器204,用于调用取指存储器209中缓存的指令,实现控制该运算加速器的工作过程。

一般地,统一存储器206,输入存储器201,权重存储器202以及取指存储器209均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random accessmemory,DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。

计算机系统112还可以从其它计算机系统接收信息或转移信息到其它计算机系统。或者,从车辆100的传感器系统104收集的传感器数据可以被转移到另一个计算机对此数据进行处理。

例如,如图4所示,来自计算机系统312的数据可以经由网络被传送到云侧的服务器320用于进一步的处理。网络以及中间节点可以包括各种配置和协议,包括因特网、万维网、内联网、虚拟专用网络、广域网、局域网、使用一个或多个公司的专有通信协议的专用网络、以太网、WiFi和HTTP、以及前述的各种组合。这种通信可以由能够传送数据到其它计算机和从其它计算机传送数据的任何设备执行,诸如调制解调器和无线接口。

在一个示例中,服务器320可以包括具有多个计算机的服务器,例如,负载均衡服务器群,为了从计算机系统312接收、处理并传送数据的目的,其与网络的不同节点交换信息。该服务器可以被类似于计算机系统312配置,具有处理器330、存储器340、指令350、和数据360。

示例性地,服务器320的数据360可以包括离线学习的神经网络模型(例如,基于深度学习的神经网络模型)的参数及该神经网络模型的相关信息(例如,神经网络模型的训练数据或神经网络模型的其他参数等)。例如,服务器320可以接收、检测、存储、更新、以及传送离线学习的神经网络模型的参数及该神经网络模型的相关信息。

例如,离线学习的神经网络模型的参数可以包括该神经网络模型的超参数,以及其他模型参数(或模型策略)。

再例如,该神经网络模型的相关信息可以包括该神经网络模型的训练数据,以及该神经网络模型的其他参数等。

需要说明的是,服务器320还可以使用该神经网络模型的训练数据,基于模仿学习方法对该神经网络模型进行训练(即离线训练或离线学习),从而更新该神经网络模型的参数。

在现有技术中,基于强化学习方法可以使得驾驶行为决策模型具有在线学习能力,即,可以在使用所述驾驶行为决策模型的过程中,不断地对所述驾驶行为决策模型进行训练,从而可以不断地优化所述驾驶行为决策模型。

但是,强化学习方法是一种典型的无监督学习方法,在训练的过程中并没有像监督学习方法那样利用真值(或称为标签)计算模型(例如,驾驶行为决策模型)的损失值,使用计算得到的损失值加速该模型的收敛速度,也无法在较短的时间内得到满足用户需求的模型。因此,与监督学习方法相比,强化学习方法的学习效率较低。而且,由于在训练的过程中没有真值参与,强化学习方法也没法像监督学习方法那样,保证得到的模型是比较可靠的。

综上所述,在仅使用强化学习方法训练驾驶行为决策模型的情况下,虽然可以使驾驶行为决策模型具有在线学习能力,但是模型的训练效率往往并不理想。

基于上述问题,本申请提出一种训练驾驶行为决策模型的方法,能够提高驾驶行为决策模型的训练效率。进一步地,根据该方法还可以使得所述驾驶行为决策模型同时具有在线学习能力及离线学习能力,即可以在所述驾驶行为决策模型具备在线学习能力的前提下、提高驾驶行为决策模型的学习效率。

下面结合图5至图10对本申请实施例中的训练驾驶行为决策模型的方法,以及确定驾驶行为的方法进行详细说明。

图5是本申请实施例提供的训练驾驶行为决策模型的方法500的示意性流程图。

图5所示的方法500可以包括步骤510、步骤520、步骤530及步骤540,应理解,图5所示的方法500仅为示例而非限定,方法500中可以包括更多或更少的步骤,本申请实施例中对此并不限定,下面分别对这几个步骤进行详细的介绍。

图5所示的方法500可以由图1中的车辆100中的处理器113执行、或者,也可以由图2中的自动驾驶系统中的处理器103执行,或者,还可以由图4中的服务器320中的处理器330执行。

S510,使用驾驶行为决策模型,根据车辆的状态信息进行决策,得到驾驶行为决策信息。

其中,所述车辆的状态信息可以包括车辆的位置、车辆的速度、车辆的加速度、车辆的姿态及车辆的其他状态信息。

例如,所述车辆的状态信息可以包括预瞄偏差(例如,横向预瞄偏差)、车辆的横摆角速度及车辆的纵向速度。

例如,所述车辆的状态信息可以为图6方法600或图7方法700中的所述车辆的当前状态(和/或所述车辆的当前动作)。

其中,驾驶行为决策信息可以用于指示所述车辆的待执行的动作(或操作),例如,执行加速、减速或转向等动作中的一项或多项。

或者,驾驶行为决策信息也可以是指所述车辆的待选择的控制模式(或控制系统),例如,选择转向控制系统、直接横摆力矩控制系统或紧急制动控制系统等系统中的一项或多项。

可选地,所述驾驶行为决策模型的初始参数可以是根据基于模仿学习方法预先训练的模仿学习模型的第三参数确定的。

例如,所述模仿学习模型可以为图7方法700或图8方法800中的所述模仿学习系统。

其中,所述模仿学习方法可以包括监督学习(supervised learning)、生成对抗网络(generative adversarial network,GAN)及逆强化学习(inverse reinforcementlearning,IRL)等。

在本申请实施例中,根据预先训练好的模仿学习模型的第三参数确定所述驾驶行为决策模型的初始参数,可以提高所述驾驶行为决策模型的稳定性,避免所述驾驶行为决策模型输出冒险的(或不合理的)驾驶行为决策信息。

例如,所述第三参数可以是服务器(或者云端)基于模仿学习方法预先训练所述模仿学习模型后得到的,在训练完成后,服务器(或者云端)可以将所述模仿学习模型的第三参数发送至所述车辆(例如,所述车辆中的自动驾驶系统或所述车辆中的计算机系统),进而,所述车辆可以根据所述模仿学习模型的第三参数确定所述驾驶行为决策模型的初始参数。

再例如,所述模仿学习模型的第三参数也可以是所述车辆(例如,所述车辆中的处理器或计算机系统等)基于模仿学习方法预先训练后得到的。

需要说明的是,在根据所述第三参数确定所述驾驶行为决策模型的初始参数时,可以直接将所述第三参数作为所述驾驶行为决策模型的初始参数;或者,也可以将所述第三参数中的部分参数作为所述驾驶行为决策模型的初始参数中的部分参数(可以根据其他方法确定所述驾驶行为决策模型的初始参数中的其余参数),本申请实施例中对此并不限定。

可选地,所述第三参数可以是所述服务器(或者云端)基于模仿学习方法、使用决策专家系统输出的数据训练所述模仿学习模型后得到的,所述决策专家系统可以是基于驾驶员的驾驶数据(例如,所述驾驶数据可以包括优秀驾驶员或专业驾驶员的操作数据以及车辆的运行数据等)及车辆的动力学特性设计的。

例如,可以通过分析驾驶员的驾驶数据(例如,优秀驾驶员执行紧急避撞操作的范例)及车辆的动力学特性(例如,车辆轮胎的动力学特性),设计基于规则的决策专家系统;进一步地,可以收集该决策专家系统输出的数据,对该收集到的数据进行标注(即,为数据打上标签,以使得模仿学习模型使用该数据进行模仿学习),从而,可以基于模仿学习方法,使用标注后的数据对所述模仿学习模型进行训练,得到所述模仿学习模型的第三参数。

可选地,所述驾驶行为决策模型可以包括第一模型和第二模型。例如,所述第一模型可以为图7方法700或图8方法800中的所述当前网络,所述第二模型可以为图7方法700或图8方法800中的所述目标网络。

其中,所述第一模型和所述第二模型可以均为基于强化学习的(驾驶行为)决策模型,所述第一模型的初始参数和所述第二模型的初始参数可以是根据基于模仿学习方法预先训练的模仿学习模型的第三参数确定的。

可选地,所述使用驾驶行为决策模型,根据所述状态信息进行决策,得到驾驶行为决策信息,可以包括:

基于所述车辆的动力学模型及运动学模型,根据所述状态信息对所述车辆在之后一个或多个时刻的行驶行为进行预测,得到所述一个或多个时刻的所有可能的行驶行为;使用所述驾驶行为决策模型,对所述所有可能的行驶行为进行评估,得到所述驾驶行为决策信息。

在本申请实施例中,结合所述车辆的动力学模型及运动学模型进行驾驶行为决策,可以提高所述驾驶行为决策信息的合理性。

例如,可以基于所述车辆的动力学模型及运动学模型,根据所述车辆的当前的状态信息,预测出所述车辆(自当前时刻起)第i个时刻的所有可能的行驶行为,i为正整数。

需要说明的是,在本申请实施例中,可以同时对所述车辆在之后一个或多个时刻的行驶行为进行预测,本申请实施例对此并不限定。

可选地,在所述驾驶行为决策模型包括第一模型和第二模型的情况下,所述使用所述驾驶行为决策模型,对所述所有可能的行驶行为进行评估,得到所述驾驶行为决策信息,可以包括:使用所述第二模型,对所述所有可能的行驶行为进行评估,得到所述驾驶行为决策信息。

在本申请实施例中,所述第一模型的参数变化比较频繁,使用所述第二模型进行决策,能够提高所述驾驶行为决策信息的可靠性。

进一步地,可以根据所述第一模型的参数,定期地更新所述第二模型的参数。

例如,在满足第一预设条件的情况下,可以将所述第二模型的参数更新为所述第二参数,其中,所述第一预设条件可以为间隔预设的时间间隔,或者,所述第一预设条件也可以为对所述第一模型的参数调整预设的次数。

S520,向服务器发送所述驾驶行为决策信息。

S530,接收所述服务器发送的模仿学习模型的第一参数。

其中,所述第一参数可以是所述服务器基于模仿学习方法、使用所述驾驶行为决策信息训练所述模仿学习模型后得到的。

进一步地,所述第一参数可以是所述服务器基于模仿学习方法、使用满足第二预设条件的所述驾驶行为决策信息训练所述模仿学习模型后得到的。

其中,所述第二预设条件可以包括下述多种条件中的至少一种:

条件一:

所述第二预设条件可以包括:所述驾驶行为决策信息为所述状态信息对应的合理驾驶行为决策。

其中,所述合理驾驶行为决策指符合预设规则的驾驶行为决策。例如,所述预设规则可以理解为经验丰富的老司机的驾驶习惯。

所述合理驾驶行为决策可以是通过自动化打标签学习方法得到的,或者,也可以是通过人工打标签方法得到的。

例如,在直线制动过程中,假设车辆的状态信息对应的合理驾驶行为决策为紧急制动控制系统工作,若使用驾驶行为决策模型,根据车辆的状态信息决策得到的驾驶行为决策信息为紧急制动控制系统工作,则所述驾驶行为决策信息与所述车辆的状态信息对应的合理驾驶行为决策相同,也就是说,所述驾驶行为决策信息为所述状态信息对应的合理驾驶行为决策。

在本申请实施例中,使用所述状态信息对应的合理驾驶行为决策,能够提高驾驶行为决策模型的学习效率。

条件二:

所述第二预设条件还可以包括:所述状态信息的噪声在第一预设范围内。

其中,所述状态信息的噪声可以包括所述状态信息的信号受到的干扰(例如,高斯噪声)或所述状态信息的信号的抖动。

或者,所述状态信息的噪声也可以包括所述状态信息的数据误差。

例如,车辆的状态信息包括车辆的纵向速度,在行驶过程中,假设第一预设范围为5公里/每小时,若车辆的纵向速度的误差小于(或者,小于或等于)5公里/每小时,则所述驾驶行为决策信息满足所述第二预设条件,也就是说,所述驾驶行为决策信息为所述状态信息对应的正确驾驶行为决策。

上述实施例中的第一预设范围的取值仅为示例而非限定,具体可以根据实际情况确定,本申请实施例中对此并不限定。

在本申请实施例中,所述状态信息的噪声在第一预设范围内,根据所述状态信息进行决策,可以使得到的驾驶行为决策信息更加合理,此时,根据这些驾驶行为决策信息调整所述驾驶行为决策模型的参数,能够提高驾驶行为决策模型的学习效率。

条件三:

所述状态信息可以是多个状态信息中的一个,所述第二预设条件还可以包括:所述多个状态信息是在多个场景中获取的。

例如,所述多个场景可以包括高速、市区、郊区及山区中的一个或多个场景。

再例如,所述多个场景也可以包括十字路口、丁字路口及环岛中的一个或多个场景。

需要说明的是,上述多个场景的划分方式只是示例而非限定,在本申请实施例中也可以按照其他方式对场景进行划分,或者,本申请实施例也可以适用于其他的车辆能够行驶的场景,这里对此并不限定。

在本申请实施例中,在上述至少一个场景中获取所述状态信息,可以使得驾驶行为决策模型的训练数据(例如,根据所述状态信息进行决策后得到的驾驶行为决策信息)的场景更加丰富,从而有助于进一步能够提高驾驶行为决策模型的学习效率。

条件四:

所述第二预设条件还可以包括:所述多个状态信息中,在所述多个场景中任意一个场景中获取的状态信息的数量与在所述多个场景中任意一个其他场景中获取的状态信息的数量之间的差值在第二预设范围内。

例如,所述多个状态信息是在高速、市区、郊区及山区这四个场景中获取的,在高速场景中获取了1000个(或1000组)状态信息,在市区、郊区及山区这三个场景中各获取了100个(或100组)状态信息,则可以按照上述条件一及条件二中的方法,从高速场景中获取的1000个(或1000组)状态信息中筛选出100个(或100组)状态信息,以使得这四个场景中获取的状态信息的数量一样。

或者,也可以使得高速场景中获取的状态信息的数量与其他场景中获取的状态信息的数量之间的差值在第二预设范围内。

可选地,所述多个状态信息也可以是在其他场景中获取的,本申请实施例中对此并不限定。

例如,所述多个状态信息可以是在十字路口、丁字路口及环岛等多个场景中获取的,所述多个场景中获取的状态信息的数量一样,或者,所述多个场景中获取的状态信息的数量之间的差值在第二预设范围内。

在本申请实施例中,在所述至少两个场景中任意一个场景中获取的状态信息的数量与在所述至少两个场景中任意一个其他场景中获取的状态信息的数量之间的差值在第二预设范围内,可以使得在各个场景中得到的训练数据(例如,根据所述状态信息进行决策后得到的驾驶行为决策信息)的数量更加均衡,从而避免出现所述驾驶行为决策模型在某个场景存在过拟合的问题。

上述实施例中的第二预设范围的取值可以根据实际情况确定,本申请实施例中对此并不限定。

在本申请实施例中,使用高质量的驾驶行为决策信息(例如,上述满足所述第二预设条件的驾驶行为决策信息),能够提高驾驶行为决策模型的学习效率。

需要说明的是,评估所述驾驶行为决策信息是否满足第二预设条件的所述驾驶行为决策信息,既可以由车辆执行,也可以由服务器执行,本申请实施例中对此并不限定。

例如,所述车辆可以将决策得到的所述驾驶行为决策信息发送给服务器,然后由服务器评估所述驾驶行为决策信息是否满足所述第二预设条件,以筛选出满足所述第二预设条件的驾驶行为决策信息。

或者,也可以由所述车辆评估所述驾驶行为决策信息是否满足所述第二预设条件,以筛选出满足所述第二预设条件的驾驶行为决策信息,然后将满足所述第二预设条件的驾驶行为决策信息发送给服务器。

S540,根据所述驾驶行为决策信息与所述第一参数,调整所述驾驶行为决策模型的参数。

在本申请实施例中,所述第一参数是所述服务器基于模仿学习方法、使用所述驾驶行为决策信息训练所述模仿学习模型后得到的,基于模仿学习方法可以保证所述模仿学习模型的训练效果,此时,根据所述驾驶行为决策信息与所述第一参数调整所述驾驶行为决策模型的参数,可以提高驾驶行为决策模型的学习效率。

可选地,所述根据所述驾驶行为决策信息与所述第一参数,调整所述驾驶行为决策模型的参数,可以包括:

基于强化学习方法,根据所述驾驶行为决策信息对所述驾驶行为决策模型的参数进行调整,得到第二参数;根据所述第一参数,调整所述驾驶行为决策模型的所述第二参数。

在本申请实施例中,可以基于强化学习方法对所述驾驶行为决策模型的参数进行调整得到第二参数,并根据所述第一参数调整所述驾驶行为决策模型的第二参数,可以使得所述驾驶行为决策模型具有在线学习能力及离线学习能力,即可以在所述驾驶行为决策模型具备在线学习能力的前提下、进一步提高驾驶行为决策模型的学习效率。

可选地,所述驾驶行为决策模型可以包括第一模型和第二模型。

相应地,所述基于强化学习方法,根据所述驾驶行为决策信息对所述驾驶行为决策模型的参数进行调整,得到第二参数,可以包括:

基于强化学习方法,根据所述驾驶行为决策信息对所述第一模型的参数进行调整,得到所述第二参数;在满足第一预设条件的情况下,将所述第二模型的参数更新为所述第二参数。

其中,所述第一预设条件可以为间隔预设的时间间隔或对所述第一模型的参数调整预设的次数。

在本申请实施例中,在满足第一预设条件的情况下,将所述第二模型的参数更新为所述第二参数,可以避免因频繁调整所述第二模型的参数而导致所述第二模型的输出不稳定,因此,能够提高所述驾驶行为决策信息的可靠性。

其中,将所述第二模型的参数更新为所述第二参数,可以是指:直接将所述第二模型的所有参数全部更新为所述第二参数;或者,也可以是指:将所述第二模型的部分参数(可以根据其他方法确定所述第二模型的其余参数)更新为所述第二参数,本申请实施例中对此并不限定。

需要说明的是,满足所述第一预设条件可以是指:与上一次更新所述第二模型的参数的时刻相距预设的时间间隔;或者,满足所述第一预设条件也可以是指:使用所述驾驶行为决策模型进行决策的次数达到预设的次数;或者,满足所述第一预设条件还可以是指满足其他预设条件,本申请实施例中对此并不限定。

进一步地,所述根据所述第一参数,调整所述驾驶行为决策模型的所述第二参数,可以包括:根据所述第一参数,调整所述第一模型的参数和/或所述第二模型的参数。

在本申请实施例中,可以灵活地根据所述第一参数调整所述第一模型及所述第二模型中至少一个的参数。

例如,可以根据所述模仿学习模型的第一参数,同时更新所述第一模型的第二参数和所述第二模型的第二参数;或者,也可以根据所述模仿学习模型的第一参数,更新所述第一模型的第二参数,随后在满足所述第二预设条件的情况下,根据所述第一模型的参数更新所述第二模型的第二参数。

可选地,所述方法500还可以包括:根据所述驾驶行为决策信息控制所述车辆。

在本申请实施例中,在训练所述驾驶行为决策模型的同时,可以根据所述驾驶行为决策信息控制所述车辆,因此,可以在使用所述驾驶行为决策模型的过程中,对所述驾驶行为决策模型进行训练,不断地优化所述驾驶行为决策模型。

下面结合图6对本申请实施例中的训练驾驶行为决策模型的方法的实施流程进行详细说明。

图6是本申请实施例提供的训练驾驶行为决策模型的方法600的示意性流程图。

图6所示的方法600可以包括步骤610、步骤620及步骤630,应理解,图6所示的方法600仅为示例而非限定,方法600中可以包括更多或更少的步骤,本申请实施例中对此并不限定,下面分别对这几个步骤进行详细的介绍。

图6所示的方法600可以由图4中的服务器320中的处理器330执行。

S610,接收车辆发送的驾驶行为决策信息。

其中,所述驾驶行为决策信息可以是所述车辆使用驾驶行为决策模型根据所述车辆的状态信息进行决策后得到的。

关于所述驾驶行为决策信息、所述状态信息及所述驾驶行为决策模型的具体描述可以参照上述图5方法500中的实施例,这里不再赘述。

S620,基于模仿学习方法,根据所述驾驶行为决策信息训练模仿学习模型,得到所述模型学习模型的第一参数。

其中,所述第一参数用于调整所述驾驶行为决策模型的参数。

进一步地,所述基于模仿学习方法,根据所述驾驶行为决策信息训练模仿学习模型,得到所述模型学习模型的第一参数,可以包括:

基于模仿学习方法,根据满足第二预设条件的所述驾驶行为决策信息训练模仿学习模型,得到所述模型学习模型的第一参数。

可选地,所述第二预设条件可以包括所述驾驶行为决策信息为所述状态信息对应的合理驾驶行为决策。

可选地,所述第二预设条件还可以包括所述状态信息的噪声在第一预设范围内。

可选地,所述状态信息可以是多个状态信息中的一个,所述第二预设条件还可以包括所述多个状态信息是在多个场景中获取的。

可选地,所述第二预设条件还可以包括:所述多个状态信息中,在所述多个场景中任意一个场景中获取的状态信息的数量与在所述多个场景中任意一个其他场景中获取的状态信息的数量之间的差值在第二预设范围内。

上述实施例中的第二预设范围的取值可以根据实际情况确定,本申请实施例中对此并不限定。

关于所述第二预设条件的具体描述可以参照上述图5方法500中的实施例,这里不再赘述。

需要说明的是,评估所述驾驶行为决策信息是否满足第二预设条件的所述驾驶行为决策信息,既可以由车辆执行,也可以由服务器执行,本申请实施例中对此并不限定。

例如,所述车辆可以评估所述驾驶行为决策信息是否满足所述第二预设条件,以筛选出满足所述第二预设条件的驾驶行为决策信息,然后将满足所述第二预设条件的驾驶行为决策信息发送给服务器。

S630,向所述车辆发送所述第一参数。

在本申请实施例中,基于模仿学习方法,根据所述驾驶行为决策信息训练模仿学习模型得到所述模型学习模型的第一参数,基于模仿学习方法可以保证所述模仿学习模型的训练效果,此时,根据所述第一参数调整所述驾驶行为决策模型的参数,可以提高驾驶行为决策模型的学习效率。

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

基于模仿学习方法、使用决策专家系统输出的数据训练所述模仿学习模型,得到所述模仿学习模型的第三参数,其中,所述第三参数用于确定所述驾驶行为决策模型的初始参数,所述决策专家系统是根据驾驶员的驾驶数据及车辆的动力学特性设计的;向所述车辆发送所述第三参数。

在本申请实施例中,根据预先训练好的模仿学习模型的第三参数确定所述驾驶行为决策模型的初始参数,可以提高所述驾驶行为决策模型的稳定性,避免所述驾驶行为决策模型输出冒险的(或不合理的)驾驶行为决策信息。

图7是本申请实施例提供的训练驾驶行为决策模型的方法600的示意性流程图。

图7所示的方法700可以包括步骤710、步骤720、步骤730及步骤740,应理解,图7所示的方法700仅为示例而非限定,方法700中可以包括更多或更少的步骤,本申请实施例中对此并不限定,下面分别对这几个步骤进行详细的介绍。

方法700中的各个步骤可以分别由车辆(例如,图1中的车辆100中的处理器113或者图2中的自动驾驶系统中的处理器103)或服务器(例如,图4中的服务器320中的处理器330)执行,本申请实施例中对此并不限定。

作为示例而非限定,在方法700中的下述实施例中,以服务器执行步骤710、步骤720及步骤730,车辆执行步骤740为例进行说明。

S710,设计专家系统。

例如,服务器可以收集车辆的行驶数据,所述行驶数据可以包括驾驶员的驾驶数据及车辆的动力学数据(例如,基于该动力学数据可以确定车辆的动力学特性);基于所述车辆的行驶数据设计基于规则的专家系统,该专家系统可以进行驾驶行为决策。

S720,构建训练数据集。

例如,如图7所示,服务器可以收集S710设计的专家系统产生的决策信息,并对该收集的决策信息进行标注(即,为数据打上标签,以使用该数据对神经网络模型进行模仿学习),以构建训练数据集。

再例如,如图7所示,服务器还可以收集S740设计的强化学习系统产生的决策信息,筛选出(强化学习系统产生的)该决策信息中的优质决策信息,并对该优质决策信息进行标注,以构建训练数据集。

其中,优质决策信息的描述及确定优质决策信息的方法可以参见上述图5中方法500中的实施例,这里不再赘述。

S730,设计模仿学习系统。

所述模仿学习系统可以是根据基于径向基的神经网络(radial basis functionneural network,RBFNN)的Softmax分类器的方案设计的,例如,可以利用S720中构建的所述训练数据集,基于小批量随机梯度下降算法对模仿学习系统进行离线训练,从而实现所述模仿学习系统对专家系统的行为的克隆。

这里的克隆可以理解为:对模仿学习系统进行离线训练,以使得所述模仿学习系统产生的决策信息的性能(或效果)不亚于所述专家系统产生的决策信息的性能(或效果),或所述模仿学习系统产生的决策信息的性能(或效果)接近所述专家系统产生的决策信息的性能(或效果)。

S740,设计强化学习系统。

所述强化学习系统可以根据基于强化学习神经网络的方案设计的。

例如,可以将模仿学习系统学习得到的模型策略(即模型参数)作为所述强化学习系统的初始策略(即模型的初始参数);结合所述车辆的动力学模型及所述车辆的运动学模型,基于所述车辆的当前状态(和/或所述车辆的当前动作)预测出所述车辆在下一个时刻(或下n个时刻,n为正整数)的状态信息,所述状态信息可以包括某一时刻的所有可能的行驶行为;使用所述强化学习系统估计出某一个时刻包括的多个不同行驶行为对应的Q值,将最大Q值对应的行驶行为作为该时刻的决策信息(所述强化学习系统输出的驾驶行为决策信息包括该时刻的决策信息)。

所述强化学习系统可以包括两个网络,分别为当前网络和目标网络,这两个网络可以采用与所述模仿学习系统相同的RBFNN结构。

需要说明的是,结合所述车辆的动力学模型及所述车辆的运动学模型预测出的所述状态信息可以包括所述车辆在之后一个或多个时刻的状态信息。

在所述状态信息包括多个时刻的状态信息的情况下,可以使用所述强化学习系统估计出该多个时刻中的每一个时刻的决策信息,此时,所述强化学习系统输出的驾驶行为决策信息可以包括该多个时刻的决策信息。

通过上述步骤就设计了强化学习系统,所述强化学习系统可以输出所述驾驶行为决策信息,基于所述驾驶行为决策信息可以控制所述车辆。

在本申请实施例中,如图7所示,所述方法700中的各个步骤可以不断地迭代执行,从而实现所述强化学习系统的持续在线学习。

例如,所述方法700中的各个步骤可以按照如下方式迭代执行:

车辆可以将所述强化学习系统产生的驾驶行为决策信息发送给服务器;

相应地,服务器可以确定出所述驾驶行为决策信息中的优质决策信息,将确定出的优质决策信息更新至所述训练数据集,并基于更新后的所述训练数据集对所述模仿学习系统进行离线训练;

服务器可以定期将所述模仿学习系统的模型策略(即模型参数)发送给车辆;

相应地,车辆接收所述模仿学习系统的模型策略(即模型参数)后,可以基于接收到的所述模型策略更新所述强化学习系统的模型策略(即模型参数);

接下来,车辆可以继续将所述强化学习系统产生的驾驶行为决策信息发送给服务器;服务器可以继续基于所述驾驶行为决策信息对所述模仿学习系统进行离线训练;服务器可以继续定期将所述模仿学习系统的模型策略(即模型参数)发送给车辆,以更新所述强化学习系统的模型策略(即模型参数)。

所述方法700中的各个步骤可以按照上述方式反复迭代执行。

需要说明的是,车辆基于接收到的所述模型策略更新所述强化学习系统的模型策略,可以是直接使用所述模型策略替换所述强化学习系统的模型策略,也可以是使用所述模型策略,按比例替换所述强化学习系统的模型策略,例如,将70%的所述模型策略及30%的所述强化学习系统的模型策略作为所述强化学习系统的模型策略。

在本申请实施例中的上述迭代过程中,不仅可以通过强化学习使所述强化学习系统不断进步,越来越好,还可以通过服务器(或者云端)对车辆进行监控,定期通过离线训练的模仿学习系统调整所述强化学习系统,从而能够从两个维度(在线和离线两个维度)不断地提升自动驾驶车辆的性能。

图8是本申请实施例提供的训练驾驶行为决策模型的方法800的示意性流程图。

图8所示的方法800可以包括步骤810、步骤820、步骤830及步骤840,应理解,图8所示的方法800仅为示例而非限定,方法800中可以包括更多或更少的步骤,本申请实施例中对此并不限定,下面分别对这几个步骤进行详细的介绍。

方法800中的各个步骤可以分别由车辆(例如,图1中的车辆100中的处理器113或者图2中的自动驾驶系统中的处理器103)或服务器(例如,图4中的服务器320中的处理器330)执行,本申请实施例中对此并不限定。

作为示例而非限定,在方法800中的下述实施例中,以服务器执行步骤810、步骤820及步骤830,车辆执行步骤840为例进行说明。

S810,设计专家系统。

可选地,专家系统可以用于协调(决策)自动驾驶车辆的运动控制系统,所述运动控制系统可以包括紧急制动控制系统、直接横摆力矩控制系统及转向控制系统。

在本申请实施例中,所述专家系统也可以用于决策车辆的其他系统或其他状态,例如,所述专家系统也可以用于协调(或决策)车辆的速度、加速度或转向角度等,本申请实施例对此并不限定。

如图8所示,服务器可以接收(或定期接收)车辆发送的所述车辆的行驶数据(所述行驶数据可以是指专业驾驶员的驾驶数据,例如,优秀驾驶员执行紧急避撞操作的范例)及车辆的动力学数据(例如,基于该动力学数据可以确定车辆的动力学特性)。

下面以专家系统用于协调(决策)自动驾驶车辆的运动控制系统为例进行详细描述。

通过分析车辆的行驶数据及车辆的动力学数据,基于规则的专家系统可以按照如下方法设计:

a:在直线制动过程中,紧急制动控制系统工作,但直接横摆力矩控制系统与转向控制系统均不工作;

b:在转弯避让过程中,当汽车的侧向加速度小于或等于预设阈值时,紧急制动控制系统与转向控制系统工作,但直接横摆力矩控制系统不工作;

其中,所述预设阈值可以为0.4倍的重力加速度(gravitational acceleration,g),即,所述预设阈值=0.4g。

c:在转弯避让过程中,当车辆的侧向加速度大于所述预设阈值时,直接横摆力矩控制系统与转向控制系统工作,紧急制动控制系统不工作;

d:当避撞任务完成时,紧急制动控制系统、直接横摆力矩控制系统及转向控制系统均不工作。

本领域技术人员可知,在上述规则中,转向控制系统不工作是指车辆处于直线行驶状态。

上述基于规则的专家系统的伪代码可以如下述表1所示:

表1基于规则的专家系统的伪代码

其中,车辆的运动学状态可以包括预瞄偏差、路径跟踪偏差、航向角等,车辆的动力学状态可以包括车速、横摆角速度、侧向加速度、纵向加速度、侧偏角等,环境感知系统信息可以包括与周围车辆的距离、周围车辆的速度等、周围车辆的航向角等。

此时,将车辆的运动学状态、车辆的动力学状态及(车辆感知到的)环境感知系统信息输入所述专家系统,就可以产生用于协调(决策)自动驾驶车辆的运动控制系统的决策信息。

S820,构建训练数据集。

如图8所示,服务器可以收集专家系统产生的决策信息以及强化学习系统产生的优质决策信息,并对该收集到的决策信息(包括专家系统产生的决策信息以及强化学习系统产生的优质决策信息)进行标注,以构建训练数据集。

其中,优质决策信息的描述及确定优质决策信息的方法可以参见上述图5中方法500中的实施例,这里不再赘述。

S830,设计模仿学习系统。

在本申请实施例中,可以基于Softmax分类器和小批量随机梯度下降的方法设计模仿学习系统,以实现对专家系统的行为克隆。

例如,所述模仿学习系统可以按照下述步骤进行设计:

a:设计神经网络的输出。

可选地,所述神经网络可以为Softmax分类器,所述神经网络输出的决策信息可以与基于规则的专家系统产生的决策信息一致。

所述神经网络输出的决策信息(与所述专家系统产生的决策信息类似)可以用于协调的自动驾驶车辆运动控制系统的工作模式。

例如,自动驾驶车辆紧急避撞动作的组合总共可以分为下面几个类别:

序号“1”可以表示只有转向控制系统工作,序号“2”可以表示转向控制系统与直接横摆力矩控制系统共同工作,序号“3”可以表示转向控制系统与紧急制动控制系统共同工作,序号“4”可以表示转向控制系统、直接横摆力矩控制系统及紧急制动控制系统三者联合工作,序号“0”可以表示转向控制系统、直接横摆力矩控制系统及紧急制动控制系统三者均不工作。

相应地,所述神经网络可以输出上述序号中的任一个。

b:设计训练时使用的代价函数。

可选地,可以利用交叉熵的方法定义代价函数,例如,代价函数可以为L

利用交叉熵的方法定义的代价函数,能够提高学习效率和效果。

c:确定神经网络的结构及输入。

其中,所述神经网络的网络结构可以参考基于径向基的神经网络(radial basisfunction neural network,RBFNN)。

例如,可以利用RBFNN学习逼近Softmax分类器的Q值。

如图9所示,RBFNN可以包括三个输入,分别为投影偏差(或预瞄偏差)e

RBFNN可以包括由11个高斯核函数组成的单隐含层h

RBFNN的表达式可以为:

其中,

d:推导梯度计算公式。

例如,所述神经网络的总代价函数的梯度可以为

其中,P

小批量随机梯度下降算法可以采用如下梯度:

其中,M

可选地,采用小批量随机梯度下降方法离线训练所述神经网络,就可以实现对基于规则的驾驶行为决策系统的行为的克隆。

S840,设计强化学习系统。

例如,所述强化学习系统可以按照下述步骤进行设计:

a:确定初始策略。

将所述模仿学习系统学习得到的模型策略(即模型参数)作为所述强化学习系统的初始策略(即模型的初始参数),以改善驾驶行为决策的效率及效果。

例如,设计的马尔可夫决策过程(Markov decision process,MDP)状态可以为S=[e

b:确定立即奖赏函数。

设计的立即奖赏函数可以为r=-S

c:确定网络结构。

所述强化学习系统可以包括两个网络,分别为当前网络和目标网络,这两个网络可以采用与所述模仿学习系统相同的RBFNN结构。

不同的是,目标网络的三个输入是通过车辆预测模型(例如,所述车辆的动力学模型及运动学模型)预测的结果。

d:设计优化指标及梯度。

设计优化指标可以为

其中,Q

e:确定车辆预测模型。

所述车辆预测模型可以按下述方式表示:

其中,x'为预测t+1时刻的状态,y为系统输出,A为状态矩阵,

因此,所述车辆预测模型为:

S

其中,S

f:预测每个时刻对应的动作。

例如,可以结合所述车辆预测模型,基于所述车辆的当前状态(和/或所述车辆的当前动作)预测出所述车辆在下一个时刻(或下n个时刻,n为正整数)的状态信息,所述状态信息可以包括某一时刻的所有可能的行驶行为;使用所述强化学习系统估计出某一个时刻包括的多个不同行驶行为对应的Q值,将最大Q值对应的行驶行为作为该时刻的决策信息(所述强化学习系统输出的驾驶行为决策信息包括该时刻的决策信息)。

g:计算所述强化学习系统的权值更新的梯度。

例如,可以结合资格迹和梯度下降的方法,确定网络权值更新的梯度为:

Δθ

其中,δ

h:更新所述强化学习系统的参数。

例如,可以确定神经网络的权矩阵的更新公式为θ

在本申请实施例中,可以将所述强化学习系统产生的优质数据贴上标签后添加到训练数据集中,提供给所述模仿学习系统进行离线训练。

在所述方法800中,可以不断地迭代执行S820、S830及S840,通过离线训练和在线学习的方式与自动驾驶车辆不断交互,从而实现所述强化学习系统不断地自我训练,改进自动驾驶系统。

图10是本申请一个实施例提供的训练驾驶行为决策模型的装置1000的示意性框图。应理解,图10示出的训练驾驶行为决策模型的装置1000仅是示例,本申请实施例的装置1000还可包括其他模块或单元。应理解,训练驾驶行为决策模型的装置1000能够执行图5、图7或图8的方法中的各个步骤,为了避免重复,此处不再详述。

决策单元1010,用于使用驾驶行为决策模型,根据车辆的状态信息进行决策,得到驾驶行为决策信息;

发送单元1020,用于向服务器发送所述驾驶行为决策信息;

接收单元1030,用于接收所述服务器发送的模仿学习模型的第一参数,所述第一参数是所述服务器基于模仿学习方法、使用所述驾驶行为决策信息训练所述模仿学习模型后得到的;

调整单元1040,用于根据所述驾驶行为决策信息与所述第一参数,调整所述驾驶行为决策模型的参数。

可选地,所述调整单元1040具体用于:

基于强化学习方法,根据所述驾驶行为决策信息对所述驾驶行为决策模型的参数进行调整,得到第二参数;根据所述第一参数,调整所述驾驶行为决策模型的所述第二参数。

可选地,所述驾驶行为决策模型包括第一模型和第二模型;其中,所述调整单元1040具体用于:

基于强化学习方法,根据所述驾驶行为决策信息对所述第一模型的参数进行调整,得到所述第二参数;在满足第一预设条件的情况下,将所述第二模型的参数更新为所述第二参数,所述第一预设条件为间隔预设的时间间隔或对所述第一模型的参数调整预设的次数。

可选地,所述调整单元1040具体用于:根据所述第一参数,调整所述第一模型的参数和/或所述第二模型的参数。

可选地,所述决策单元1010具体用于:

基于所述车辆的动力学模型及运动学模型,根据所述状态信息对所述车辆在之后一个或多个时刻的行驶行为进行预测,得到所述一个或多个时刻的所有可能的行驶行为;使用所述驾驶行为决策模型,对所述所有可能的行驶行为进行评估,得到所述驾驶行为决策信息。

可选地,在所述驾驶行为决策模型包括第一模型和第二模型的情况下,所述决策单元1010具体用于:

使用所述第二模型,对所述所有可能的行驶行为进行评估,得到所述驾驶行为决策信息。

可选地,所述接收单元1030还用于:

接收所述服务器发送的所述模仿学习模型的第三参数,所述第三参数是基于模仿学习方法、使用决策专家系统输出的数据训练所述模仿学习模型后得到的,所述决策专家系统是根据驾驶员的驾驶数据及车辆的动力学特性设计的;

所述调整单元1040还用于:

根据所述第三参数确定所述驾驶行为决策模型的初始参数。

可选地,所述第一参数是所述服务器基于模仿学习方法、使用满足第二预设条件的所述驾驶行为决策信息训练所述模仿学习模型后得到的,所述第二预设条件包括所述驾驶行为决策信息为所述状态信息对应的合理驾驶行为决策。

可选地,所述第二预设条件还包括所述状态信息的噪声在第一预设范围内。

可选地,所述状态信息是多个状态信息中的一个,所述第二预设条件还包括所述多个状态信息是在多个场景中获取的。

可选地,所述第二预设条件还包括:所述多个状态信息中,在所述多个场景中任意一个场景中获取的状态信息的数量与在所述多个场景中任意一个其他场景中获取的状态信息的数量之间的差值在第二预设范围内。

图11是本申请一个实施例提供的训练驾驶行为决策模型的装置1100的示意性框图。应理解,图11示出的训练驾驶行为决策模型的装置1100仅是示例,本申请实施例的装置1100还可包括其他模块或单元。应理解,行为规划装置1100能够执行图6、图7或图8的方法中的各个步骤,为了避免重复,此处不再详述。

接收单元1110,用于接收车辆发送的驾驶行为决策信息,所述驾驶行为决策信息是所述车辆使用驾驶行为决策模型根据所述车辆的状态信息进行决策后得到的;

训练单元1120,用于基于模仿学习方法,根据所述驾驶行为决策信息训练模仿学习模型,得到所述模型学习模型的第一参数,所述第一参数用于调整所述驾驶行为决策模型的参数;

发送单元1130,用于向所述车辆发送所述第一参数。

可选地,所述训练单元1020还用于:

基于模仿学习方法、使用决策专家系统输出的数据训练所述模仿学习模型,得到所述模仿学习模型的第三参数,其中,所述第三参数用于确定所述驾驶行为决策模型的初始参数,所述决策专家系统是根据驾驶员的驾驶数据及车辆的动力学特性设计的;

所述发送单元1130还用于:向所述车辆发送所述第三参数。

可选地,所述训练单元1120具体用于:

基于模仿学习方法,根据满足第二预设条件的所述驾驶行为决策信息训练模仿学习模型,得到所述模型学习模型的第一参数,所述第二预设条件包括所述驾驶行为决策信息为所述状态信息对应的合理驾驶行为决策。

可选地,所述第二预设条件还包括所述状态信息的噪声在第一预设范围内。

可选地,所述状态信息是多个状态信息中的一个,所述第二预设条件还包括所述多个状态信息是在多个场景中获取的。

可选地,所述第二预设条件还包括:所述多个状态信息中,在所述多个场景中任意一个场景中获取的状态信息的数量与在所述多个场景中任意一个其他场景中获取的状态信息的数量之间的差值在第二预设范围内。

图12是本申请实施例提供的训练驾驶行为决策模型的装置的硬件结构示意图。图12所示的训练驾驶行为决策模型的装置3000(该装置3000具体可以是一种计算机设备)包括存储器3001、处理器3002、通信接口3003以及总线3004。其中,存储器3001、处理器3002、通信接口3003通过总线3004实现彼此之间的通信连接。

存储器3001可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器3001可以存储程序,当存储器3001中存储的程序被处理器3002执行时,处理器3002用于执行本申请实施例的训练驾驶行为决策模型的方法的各个步骤。

处理器3002可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请方法实施例的训练驾驶行为决策模型的方法。

处理器3002还可以是一种集成电路芯片,具有信号的处理能力,例如,可以是图3所示的芯片。在实现过程中,本申请的训练驾驶行为决策模型的方法的各个步骤可以通过处理器3002中的硬件的集成逻辑电路或者软件形式的指令完成。

上述处理器3002还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器3001,处理器3002读取存储器3001中的信息,结合其硬件完成本训练驾驶行为决策模型的装置中包括的单元所需执行的功能,或者执行本申请方法实施例的训练驾驶行为决策模型的方法。

通信接口3003使用例如但不限于收发器一类的收发装置,来实现装置3000与其他设备或通信网络之间的通信。例如,可以通过通信接口3003获取车辆的状态信息、车辆的行驶数据以及训练驾驶行为决策模型的过程中需要的训练数据。

总线3004可包括在装置3000各个部件(例如,存储器3001、处理器3002、通信接口3003)之间传送信息的通路。

应理解,本申请实施例中的处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。

上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。

应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。

本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号