一种基于深度强化学习的自动泊车方法和系统转让专利

申请号 : CN202211353517.X

文献号 : CN115472038B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邱思杰黄忠虎贾鹏马豪伍坪谢华刘春明纪联南

申请人 : 南京杰智易科技有限公司三明学院

摘要 :

本发明提供了一种基于深度强化学习的自动泊车方法和系统,包括构建初始评价者网络和初始执行者网络;基于状态的状态价值基线,对所述初始评价者网络和所述初始执行者网络进行训练得到执行者网络;获取车辆的当前图像;获取当前车辆位置和车位位置;将所述当前图像、所述当前车辆位置和所述车位位置输入所述执行者网络,所述执行者网络输出当前动作执行策略;车辆基于所述当前动作执行策略执行动作,并基于执行后的下一图像、下一车辆位置和所述车位位置获取下一动作执行策略,直到车辆完成自动泊车任务;使用深度神经网络生成车辆的控制指令,通过评价者执行者算法完成对深度神经网络的训练,使得能更好地实现自动泊车。

权利要求 :

1.一种基于深度强化学习的自动泊车方法,其特征在于,包括:构建初始评价者网络和初始执行者网络;通过构建多层数据结构,得到所述初始评价者网络和所述初始执行者网络,包括:所述数据结构的第一层采用7*7的卷积操作和最大池化操作;

所述数据结构的第二层采用残差模块进行特征提取;

所述数据结构的第三层采用残差模块进行特征提取;

所述数据结构的第四层采用残差模块进行特征提取;

所述数据结构的第五层采用残差模块进行特征提取;

所述数据结构的第六层采用平均池化操作;

基于状态的状态价值基线,对所述初始评价者网络和所述初始执行者网络进行训练得到执行者网络;其中,训练得到执行者网络,包括:基于动作执行策略的价值和所述状态价值基线,构建所述初始执行者网络的收益梯度;其中,构建所述收益梯度的公式为:其中, 表示所述收益梯度; 表示累计收益; 表示动作奖励;表示动作奖励的折扣率; 表示车辆在t+1时刻的状态价值基线; 表示车辆在t时刻的状态价值基线; 表示在状态 的情况下执行动作 的样本动作执行策略;

基于所述收益梯度,更新所述初始执行者网络的网络参数,直到所述收益梯度达到最大值;

将得到最大值收益梯度时的初始执行者网络作为训练好的执行者网络;

获取车辆的当前图像;所述当前图像包括车辆处于当前环境下的状态;

获取当前车辆位置和车位位置;

将所述当前图像、所述当前车辆位置和所述车位位置输入所述执行者网络,所述执行者网络输出当前动作执行策略;动作执行策略是指基于车辆当前所处的环境所做出的执行动作;动作执行策略的公式为:其中, 表示被选择的动作; 表示车辆的驾驶方向; 表示方向盘的转向;

所述训练得到执行者网络,还包括:

将样本图像、样本车辆位置和样本车位位置输入所述初始执行者网络,所述初始执行者网络输出样本动作执行策略;

车辆基于所述样本动作执行策略执行动作;

获取执行所述样本动作执行策略的动作奖励;

将所述样本图像、所述执行动作、所述动作奖励和下一样本图像作为训练样本并存入经验池;所述下一样本图像为执行动作后得到的车辆环境的图像;

从所述经验池中随机抽取训练样本;

将被抽取的训练样本中的样本图像和下一样本图像输入所述初始执行者网络,得到动作执行策略的价值和所述状态价值基线;

基于所述动作执行策略的价值和所述状态价值基线,更新所述初始执行者网络和所述初始评价者网络的网络参数;

当车辆未发生碰撞且所述初始执行者网络和所述初始评价者网络训练完成时,得到训练好的所述执行者网络和评价者网络;

车辆基于所述当前动作执行策略执行动作,并基于执行后的下一图像、下一车辆位置和所述车位位置获取下一动作执行策略,直到车辆完成自动泊车任务。

2.根据权利要求1所述的基于深度强化学习的自动泊车方法,其特征在于,更新所述初始执行者网络的网络参数的公式为:其中, 表示更新后的所述初始执行者网络的网络参数; 表示所述初始执行者网络的网络参数; 表示所述初始执行者网络的学习率;表示动作奖励的折扣率; 表示所述动作执行策略的价值; 表示所述状态价值基线; 表示所述被抽取的训练样本的样本动作执行策略;

更新所述初始评价者网络的网络参数的公式为:

其中, 表示更新后的所述初始评价者网络的网络参数; 表示所述初始评价者网络的网络参数; 表示所述初始评价者网络的学习率; 表示所述动作执行策略的价值;

表示所述状态价值基线; 表示所述被选取的训练样本的状态价值基线。

3.根据权利要求1所述的基于深度强化学习的自动泊车方法,其特征在于,所述评价者网络训练完成,包括:基于所述状态价值基线,构建所述初始评价者网络的损失函数;

基于所述损失函数,更新所述初始评价者网络的网络参数,直到所述损失函数达到最小值;

将得到最小值损失函数时的初始评价者网络作为训练好的评价者网络。

4.根据权利要求3所述的基于深度强化学习的自动泊车方法,其特征在于,构建所述损失函数的公式为:其中, 表示所述初始评价者网络在网络参数为 时的损失函数; 表示动作奖励;表示动作奖励的折扣率; 表示车辆在t+1时刻的状态价值基线; 表示车辆在t时刻的状态价值基线。

5.一种基于深度强化学习的自动泊车系统,其特征在于,包括深度神经网络构建模块、深度神经网络训练模块、图像获取模块、位置获取模块、确定模块和循环模块;

所述深度神经网络构建模块用于构建初始评价者网络和初始执行者网络;通过构建多层数据结构,得到所述初始评价者网络和所述初始执行者网络,包括:所述数据结构的第一层采用7*7的卷积操作和最大池化操作;

所述数据结构的第二层采用残差模块进行特征提取;

所述数据结构的第三层采用残差模块进行特征提取;

所述数据结构的第四层采用残差模块进行特征提取;

所述数据结构的第五层采用残差模块进行特征提取;

所述数据结构的第六层采用平均池化操作;

所述深度神经网络训练模块用于基于状态的状态价值基线,对所述初始评价者网络和所述初始执行者网络进行训练得到执行者网络;其中,训练得到执行者网络,包括基于动作执行策略的价值和所述状态价值基线,构建所述初始执行者网络的收益梯度;其中,构建所述收益梯度的公式为:其中, 表示所述收益梯度; 表示累计收益; 表示动作奖励;表示动作奖励的折扣率; 表示车辆在t+1时刻的状态价值基线; 表示车辆在t时刻的状态价值基线; 表示在状态 的情况下执行动作 的样本动作执行策略;基于所述收益梯度,更新所述初始执行者网络的网络参数,直到所述收益梯度达到最大值;将得到最大值收益梯度时的初始执行者网络作为训练好的执行者网络;

所述图像获取模块用于获取车辆的当前图像;所述当前图像包括车辆处于当前环境下的状态;

所述位置获取模块用于获取当前车辆位置和车位位置;

所述确定模块用于将所述当前图像、所述当前车辆位置和所述车位位置输入所述执行者网络,所述执行者网络输出当前动作执行策略;动作执行策略是指基于车辆当前所处的环境所做出的执行动作;动作执行策略的公式为:其中, 表示被选择的动作; 表示车辆的驾驶方向; 表示方向盘的转向;

所述训练得到执行者网络,还包括:

将样本图像、样本车辆位置和样本车位位置输入所述初始执行者网络,所述初始执行者网络输出样本动作执行策略;

车辆基于所述样本动作执行策略执行动作;

获取执行所述样本动作执行策略的动作奖励;

将所述样本图像、所述执行动作、所述动作奖励和下一样本图像作为训练样本并存入经验池;所述下一样本图像为执行动作后得到的车辆环境的图像;

从所述经验池中随机抽取训练样本;

将被抽取的训练样本中的样本图像和下一样本图像输入所述初始执行者网络,得到动作执行策略的价值和所述状态价值基线;

基于所述动作执行策略的价值和所述状态价值基线,更新所述初始执行者网络和所述初始评价者网络的网络参数;

当车辆未发生碰撞且所述初始执行者网络和所述初始评价者网络训练完成时,得到训练好的所述执行者网络和评价者网络;

所述循环模块用于车辆基于所述当前动作执行策略执行动作,并基于执行后的下一图像、下一车辆位置和所述车位位置获取下一动作执行策略,直到车辆完成自动泊车任务。

说明书 :

一种基于深度强化学习的自动泊车方法和系统

技术领域

[0001] 本发明涉及自动驾驶技术领域,具体而言,涉及一种基于深度强化学习的自动泊车方法和系统。

背景技术

[0002] 泊车任务是日常生活中经常遇到的情景,尤其当目标泊位周遭可行驶空间范围较小时,泊车任务往往需要驾驶员有着大量的驾驶经验以及驾驶技巧,这对于缺乏经验的驾驶员来说并不能确保相应泊车任务的完成。而传统方案大多采用了多摄像头和车载雷达作为车辆环境感知手段,提高了系统成本也加大了特征信息抽取的复杂度,同时将车辆路径规划以及车辆的运动控制相互割裂开来,泊车系统模块设计复杂。
[0003] 有鉴于此,本发明提出了一种基于深度强化学习的自动泊车方法和系统,以满足日常生活中对于自动泊车任务的需求的同时提供一种端到端的自动泊车解决方案。该发明采用摄像头作为环境感知手段,使用深度神经网络生成车辆的控制指令,通过评价者执行者算法完成对深度神经网络的训练,最终实现自动泊车功能。

发明内容

[0004] 本发明的目的在于提供一种基于深度强化学习的自动泊车方法,包括构建初始评价者网络和初始执行者网络;基于状态的状态价值基线,对所述初始评价者网络和所述初始执行者网络进行训练得到执行者网络;其中,训练得到执行者网络,包括基于动作执行策略的价值和所述状态价值基线,构建所述初始执行者网络的收益梯度;其中,构建所述收益梯度的公式为:
[0005]
[0006] 其中, 表示所述收益梯度; 表示累计收益; 表示动作奖励;表示动作奖励的折扣率; 表示车辆在t+1时刻的状态价值基线; 表示
车辆在t时刻的状态价值基线; 表示在状态 的情况下执行动作 的样本动作执行策略;基于所述收益梯度,更新所述初始执行者网络的网络参数,直到所述收益梯度达到最大值;将得到最大值收益梯度时的初始执行者网络作为训练好的执行者网络;获取车辆的当前图像;所述当前图像包括车辆处于当前环境下的状态;获取当前车辆位置和车位位置;将所述当前图像、所述当前车辆位置和所述车位位置输入所述执行者网络,所述执行者网络输出当前动作执行策略;车辆基于所述当前动作执行策略执行动作,并基于执行后的下一图像、下一车辆位置和所述车位位置获取下一动作执行策略,直到车辆完成自动泊车任务。
[0007] 进一步的,通过构建多层数据结构,得到所述初始评价者网络和所述初始执行者网络,包括所述数据结构的第一层采用7*7的卷积操作和最大池化操作;所述数据结构的第二层采用残差模块进行特征提取;所述数据结构的第三层采用残差模块进行特征提取;所述数据结构的第四层采用残差模块进行特征提取;所述数据结构的第五层采用残差模块进行特征提取;所述数据结构的第六层采用平均池化操作。
[0008] 进一步的,所述训练得到执行者网络,包括将样本图像、样本车辆位置和样本车位位置输入所述初始执行者网络,所述初始执行者网络输出样本动作执行策略;车辆基于所述样本动作执行策略执行动作;获取执行所述样本动作执行策略的动作奖励;将所述样本图像、所述执行动作、所述动作奖励和下一样本图像作为训练样本并存入经验池;所述下一样本图像为执行动作后得到的车辆环境的图像;从所述经验池中随机抽取训练样本;将被抽取的训练样本中的样本图像和下一样本图像输入所述初始执行者网络,得到动作执行策略的价值和所述状态价值基线;基于所述动作执行策略的价值和所述状态价值基线,更新所述初始执行者网络和所述初始评价者网络的网络参数;当车辆未发生碰撞且所述初始执行者网络和所述初始评价者网络训练完成时,得到训练好的所述执行者网络和评价者网络。
[0009] 进一步的,更新所述初始执行者网络的网络参数的公式为:
[0010]
[0011] 其中, 表示更新后的所述初始执行者网络的网络参数; 表示所述初始执行者网络的网络参数; 表示所述初始执行者网络的学习率;表示动作奖励的折扣率;表示所述动作执行策略的价值; 表示所述状态价值基线;  表示所述被
抽取的训练样本的样本动作执行策略;更新所述初始评价者网络的网络参数的公式为:
[0012]
[0013] 其中, 表示更新后的所述初始评价者网络的网络参数; 表示所述初始评价者网络的网络参数; 表示所述初始评价者网络的学习率; 表示所述动作执行策略的价值; 表示所述状态价值基线; 表示所述被选取的训练样本的状态价值基线。
[0014] 进一步的,所述评价者网络训练完成,包括基于所述状态价值基线,构建所述初始评价者网络的损失函数;基于所述损失函数,更新所述初始评价者网络的网络参数,直到所述损失函数达到最小值;将得到最小值损失函数时的初始评价者网络作为训练好的评价者网络。
[0015] 进一步的,构建所述损失函数的公式为:
[0016]
[0017] 其中, 表示所述初始评价者网络在网络参数为 时的损失函数; 表示动作奖励;表示动作奖励的折扣率; 表示车辆在t+1时刻的状态价值基线;表示车辆在t时刻的状态价值基线。
[0018] 进一步的,动作执行策略的公式为:
[0019]
[0020]
[0021] 其中, 表示被选择的动作; 表示车辆的驾驶方向;表示方向盘的转向。
[0022] 本发明的目的在于提供一种基于深度强化学习的自动泊车系统,包括深度神经网络构建模块、深度神经网络训练模块、图像获取模块、位置获取模块、确定模块和循环模块;所述深度神经网络构建模块用于构建初始评价者网络和初始执行者网络;所述深度神经网络训练模块用于基于状态的状态价值基线,对所述初始评价者网络和所述初始执行者网络进行训练得到执行者网络;其中,训练得到执行者网络,包括基于动作执行策略的价值和所述状态价值基线,构建所述初始执行者网络的收益梯度;其中,构建所述收益梯度的公式为:
[0023]
[0024] 其中, 表示所述收益梯度; 表示累计收益; 表示动作奖励;表示动作奖励的折扣率; 表示车辆在t+1时刻的状态价值基线; 表示车辆在t时刻的状态价值基线; 表示在状态 的情况下执行动作 的样本动作执行策略;基于所述收益梯度,更新所述初始执行者网络的网络参数,直到所述收益梯度达到最大值;将得到最大值收益梯度时的初始执行者网络作为训练好的执行者网络;所述图像获取模块用于获取车辆的当前图像;所述当前图像包括车辆处于当前环境下的状态;所述位置获取模块用于获取当前车辆位置和车位位置;所述确定模块用于将所述当前图像、所述当前车辆位置和所述车位位置输入所述执行者网络,所述执行者网络输出当前动作执行策略;所述循环模块用于车辆基于所述当前动作执行策略执行动作,并基于执行后的下一图像、下一车辆位置和所述车位位置获取下一动作执行策略,直到车辆完成自动泊车任务。
[0025] 本发明实施例的技术方案至少具有如下优点和有益效果:
[0026] 本发明中的一些实施例通过构建收益梯度,并基于收益梯度的最大值来更新执行者网络,可以极大提升网络训练的收敛速率。
[0027] 本发明中的一些实施例通过采用基于状态基线的评价者执行者算法进行网络的训练,通过在训练执行者网络的同时训练评价者网络,以使得更新后的执行者网络可以基于更新后的评价者网络的评价更新网络的参数,提高了参数更新的准确率,且状态价值基线为评价者网络根据历史动作和价值得到的评价基准,可以使得评价值的变化在一定的范围之内,减少误差。
[0028] 本发明中的一些实施例通过采用基于势函数差值形式的奖励函数,使得能够进一步提升深度强化学习环境中车辆对于环境空间的探索效率。

附图说明

[0029] 图1为本发明一些实施例提供的一种基于深度强化学习的自动泊车方法的示例性流程图;
[0030] 图2为本发明一些实施例提供的训练得到执行者网络的示例性流程图;
[0031] 图3为本发明一些实施例提供的一种基于深度强化学习的自动泊车系统的示例性模块图。

具体实施方式

[0032] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
[0033] 图1为本发明一些实施例提供的一种基于深度强化学习的自动泊车方法的示例性流程图。在一些实施例中,流程100可以由系统300执行。如图1所示流程100可以包括以下步骤:
[0034] 步骤110,构建初始评价者网络和初始执行者网络。在一些实施例中,步骤110可以由深度神经网络构建模块310执行。
[0035] 初始执行者网络可以是指用于训练得到执行者网络的深度神经网络。执行者网络可以用于基于输入的车辆的当前图像,确定动作执行策略。当前图像可以是指车辆处于当前环境的图像。在一些实施例中,车辆上设置有摄像头,摄像头可以获取车辆所处的环境的图像。动作执行策略可以是指基于车辆当前所处的环境所作能出的执行动作。例如,将维度为3*224*224的车辆的当前图像输入执行者网络,执行者网络输出10*1*1的动作执行策略。其中,10表示十种可以做出的执行动作。
[0036] 执行动作采用离散的动作空间,在一些实施例中,动作执行策略的公式为:
[0037]
[0038]
[0039] 其中, 表示可以被选择的动作; 表示车辆的驾驶方向。例如,前进或后退。 表示方向盘的转向。例如,向左90度、向左45度,保持中立、向右45度和向右90度五个方向盘转向角度。
[0040] 初始评价者网络可以是指用于训练得到评价者网络的深度神经网络。评价者网络可以用于基于动作执行策略,确定该动作执行策略的价值。
[0041] 在一些实施例中,深度神经网络构建模块310可以通过各种构建深度神经网络的方式构建执行者网络和评价者网络。
[0042] 步骤120,基于状态的动作价值基线,对初始评价者网络和初始执行者网络进行训练得到执行者网络。在一些实施例中,步骤120可以由深度神经网络训练模块320执行。
[0043] 状态价值基线可以反应车辆当前所处的状态。在一些实施例中,状态价值基线可以通过评价者网络得到。例如,可以将车辆的当前图像、执行动作后的下一图像和对应的动作执行策略输入评价者网络,评价者网络输出车辆在当前状态的状态价值基线和车辆在下一状态的状态价值基线。
[0044] 在一些实施例中,深度神经网络训练模块320可以通过各种训练深度机器学习模型的方法训练初始执行者网络,得到执行者网络。关于训练得到执行者网络的更多内容,参见图2及其相关描述。
[0045] 步骤130,获取车辆的当前图像;当前图像包括车辆处于当前环境下的状态。在一些实施例中,步骤130可以由图像获取模块330执行。
[0046] 关于当前图像及获取当前图像的相关内容,参见步骤110及其相关描述。
[0047] 步骤140,获取当前车辆位置和车位位置。在一些实施例中,步骤140可以由位置获取模块340执行。
[0048] 在一些实施例中,位置获取模块340可以通过各种可行的方式获取当前车辆位置和车位位置。例如,可以通过车载GPS获取车辆的当前位置;与车库通信连接获取车库中空闲车位的位置信息等。
[0049] 步骤150,将当前图像、当前车辆位置和车位位置输入执行者网络,执行者网络输出当前动作执行策略。在一些实施例中,步骤150可以由确定模块350执行。
[0050] 例如,将 时刻的车辆的环境图像、车辆的位置和车位位置输入执行者网络,执行者网络输出车辆在当前位置可以被选择的动作及其被选择的概率。在一些实施例中,可以将概率最大的动作作为执行动作。
[0051] 步骤160,车辆基于当前动作执行策略执行动作,并基于执行后的下一图像、下一车辆位置和车位位置获取下一动作执行策略,直到车辆完成自动泊车任务。在一些实施例中,步骤160可以由循环模块360执行。
[0052] 下一图像可以是指车辆执行动作后到达下一状态时,获取的车辆周围环境的图像。获取下一图像的方式与获取当前图像的方式一样。下一车辆位置可以是指车辆执行动作后到达的位置。获取下一车辆位置的方式与获取当前车辆位置的方式一样。
[0053] 在一些实施例中,执行者网络可以分别根据车辆多次所处的环境确定车辆的多次执行动作。车辆可以分别执行动作,直到车辆到达泊车位置。在一些实施例中,可以在车辆上设置GNSS传感器,基于GNSS传感器获取的车辆的传感器经度、传感器维度及车辆姿态和车位的车位经度、车位维度及要求车辆的姿态的差值,确定车辆是否到达泊车位置。在一些实施例中,可以选取车辆当前所处位置GNSS对应的经纬度坐标与车辆在终点位置处(车位)的GNSS经纬度坐标之间的距离构建状态的势函数表示:
[0054]
[0055] 其中, 表示 时刻第 个GNSS传感器显示的维度信息, 表示 时刻第 个GNSS传感器显示的经度信息, 代表第 个传感器在终点位置的纬度坐标, 代表第 个传感器在终点位置的经度坐标。
[0056] 当车辆与终点的位置差异越大,对应的基于状态的势函数也就越大。当势函数的值 小于预设差值阈值时,确定车辆完成自动泊车。预设差值阈值可以是指车辆完成泊车的势函数的最大值。预设差值阈值可以根据经验设置。
[0057] 本发明中的一些实施例通过图像信息的变化来表征车辆状态的变化,进而根据车辆所处不同的状态确定最优的动作执行策略,实现了车辆泊车路径的动态规划并同时通过动作执行策略完成了车辆的运动控制。在此,车辆前置摄像头输入图像通过深度神经网络计算后输出车辆的控制策略,以此完成端到端的自动泊车功能实现。
[0058] 初始评价者网络和初始执行者网络的结构可以包括输入层、输出层和六层数据结构层。通过构建多层数据结构,得到初始评价者网络和初始执行者网络,数据结构的第一层采用7*7的卷积操作和最大池化操作;数据结构的第二层采用残差模块进行特征提取;数据结构的第三层采用残差模块进行特征提取;数据结构的第四层采用残差模块进行特征提取;数据结构的第五层采用残差模块进行特征提取;数据结构的第六层采用平均池化操作。
[0059] 输入层可以用于输入3*224*224的图像数据。在一些实施例中,输入像素尺寸接受大小为224*224的RGB彩色图片。输出层用于将得到的特征向量全连接后输出。对于执行者网络,其输出的特征向量的维度为10*1*1,其中,10对应车辆的10种动作。对于评价者网络,其输出的特征向量的维度为1*1*1,其中,1对应动作的价值。
[0060] 图2为本发明一些实施例提供的训练得到执行者网络的示例性流程图。在一些实施例中,流程200可以由深度神经网络训练模块320执行。如图2所示,流程200可以包括以下步骤:
[0061] 步骤210,将样本图像、样本车辆位置和样本车位位置输入初始执行者网络,初始执行者网络输出样本动作执行策略。其中,样本图像包括车辆的当前状态,可以被记为 ;样本动作执行策略可以被记为 。
[0062] 样本图像可以是指用于训练执行者网络的车辆的当前环境的图像。样本车辆位置可以是指用于训练执行者网络的车辆的当前所在位置。样本车位位置可以是指在训练过程中需要车辆泊车的车位的位置。在一些实施例中,可以通过车辆自动泊车得到样本图像、样本车辆位置和样本车位位置。例如,可以预先设定泊车的样本车位位置和车辆的初始位置,然后模拟车辆的实际工作场景,得到样本图像和样本车辆位置。其中,初始位置可以基于环境的设计得到。
[0063] 步骤220,车辆基于样本动作执行策略执行动作。其中,执行动作可以被记为 。
[0064] 执行动作可以是指车辆从当前状态到达下一状态的动作。例如,车辆根据执行策略中被选取概率最高的动作进行移动。
[0065] 步骤230,获取执行样本动作执行策略的动作奖励。其中,动作奖励可以被记为 。
[0066] 在一些实施例中,计算动作奖励 的公式为:
[0067]
[0068] 其中,表示比例系数,其作用是将 缩放到合理的区间,可以通过需求实际确定; 表示 时刻奖励函数中基于势函数差值的组成部分; 表示碰撞惩罚,当没有碰撞发生时为0,当发生碰撞时为‑2; 表示完成自动泊入后的奖励,任务完成时给予+5的奖励。
[0069] 在一些实施例中,计算 时刻奖励函数中基于势函数差值的组成部分 的公式为:
[0070]
[0071] 即,前后两次车辆所处状态势函数的差值,其中,关于 的计算公式,参见图1及其相关描述。
[0072] 步骤240,将样本图像、执行动作、动作奖励和下一样本图像作为训练样本并存入经验池;下一样本图像为执行动作后得到的车辆环境的图像。其中,下一样本图像可以用于表示车辆的下一状态,可以被记为 。
[0073] 在一些实施例中,存入经验池的训练样本的格式可以为 。
[0074] 步骤250,从经验池中随机抽取训练样本。其中,被抽取的训练样本可以被记为。
[0075] 步骤260,将被抽取的训练样本中的样本图像和下一样本图像输入初始执行者网络,得到动作执行策略的价值和状态价值基线。
[0076] 步骤270,基于动作执行策略的价值和状态价值基线,更新初始执行者网络和初始评价者网络的网络参数。
[0077] 在一些实施例中,可以通过迭代的方式更新初始执行者网络和初始评价者网络的网络参数。
[0078] 在一些实施例中,更新初始执行者网络的网络参数的公式为:
[0079]
[0080] 其中, 表示更新后的初始执行者网络的网络参数; 表示初始执行者网络的网络参数,初始网络参数通过初始化模型得到; 表示初始执行者网络的学习率,初始执行者网络的学习率通过初始化模拟泊车环境确定; 表示动作执行策略的价值; 表示状态价值基线; 表示被抽取的训练样本的样本动作执行策略。
[0081] 更新初始评价者网络的网络参数的公式为:
[0082]
[0083] 其中, 表示更新后的初始评价者网络的网络参数; 表示初始评价者网络的网络参数,初始网络参数通过初始化模型得到; 表示初始评价者网络的学习率,初始评价者网络的学习率通过初始化模拟泊车环境确定; 表示动作执行策略的价值;表示状态价值基线; 表示被选取的训练样本的状态价值基线。
[0084] 在一些实施例中,
[0085]
[0086]
[0087] 其中, 表示动作奖励;表示动作奖励的折扣率,动作奖励的折扣率通过初始化模拟泊车环境确定; 表示车辆在t+1时刻的状态价值基线; 表示车辆在t时刻的状态价值基线。
[0088] 步骤280,当车辆未发生碰撞且初始执行者网络和初始评价者网络训练完成时,得到训练好的执行者网络和评价者网络。
[0089] 未发生碰撞是指车辆在完成泊车的过程中未发生碰撞。
[0090] 在一些实施例中,执行者网络训练完成,包括基于动作执行策略的价值和状态价值基线,构建初始执行者网络的收益梯度;基于收益梯度,更新初始执行者网络的网络参数,直到收益梯度达到最大值;将得到最大值收益梯度时的初始执行者网络作为训练好的执行者网络。
[0091] 在一些实施例中,构建收益梯度的公式为:
[0092]
[0093] 其中, 表示收益梯度; 表示累计收益; 表示动作奖励;表示动作奖励的折扣率; 表示车辆在t+1时刻的状态价值基线; 表示车辆在t时刻的状态价值基线; 表示在状态 的情况下执行动作 的样本动作执行策略。
[0094] 在一些实施例中,评价者网络训练完成,包括基于状态价值基线,构建初始评价者网络的损失函数;基于损失函数,更新初始评价者网络的网络参数,直到损失函数达到最小值;将得到最小值损失函数时的初始评价者网络作为训练好的评价者网络。
[0095] 在一些实施例中,构建损失函数的公式为:
[0096]
[0097] 其中, 表示初始评价者网络在网络参数为 时的损失函数; 表示动作奖励;表示动作奖励的折扣率; 表示车辆在t+1时刻的状态价值基线; 表示车辆在t时刻的状态价值基线。
[0098] 若车辆发生碰撞或完成了自动泊车任务,则将车辆所在系统环境重新初始化,再次进行训练,直到网络输出的动作策略满足自动泊车需求。
[0099] 本说明书中的一些实施例采用两个深度神经网络分别用于车辆动作执行策略的生成、即执行者;以及车辆状态价值的估计、即评价者。通过使用基于值函数的强化学习算法对策略梯度算法过程中的车辆动作价值函数进行估计,弥补了策略梯度算法在未知环境中对于车辆状态价值无法准确获得的不足。
[0100] 图3为本发明一些实施例提供的一种基于深度强化学习的自动泊车系统的示例性模块图。如图3所示,系统300可以包括深度神经网络构建模块310、深度神经网络训练模块320、图像获取模块330、位置获取模块340、确定模块350和循环模块360。
[0101] 深度神经网络构建模块310用于构建初始评价者网络和初始执行者网络。关于深度神经网络构建模块310的更多内容,参见图1及其相关描述。
[0102] 深度神经网络训练模块320用于基于状态的状态价值基线,对初始评价者网络和初始执行者网络进行训练得到执行者网络。关于深度神经网络训练模块320的更多内容,参见图1及其相关描述。
[0103] 图像获取模块330用于获取车辆的当前图像;当前图像包括车辆处于当前环境下的状态。关于图像获取模块330的更多内容,参见图1及其相关描述。
[0104] 位置获取模块340用于获取当前车辆位置和车位位置。关于位置获取模块340的更多内容,参见图1及其相关描述。
[0105] 确定模块350用于将所述当前图像、所述当前车辆位置和所述车位位置输入所述执行者网络,所述执行者网络输出当前动作执行策略。关于确定模块350的更多内容,参见图1及其相关描述。
[0106] 循环模块360用于车辆基于当前动作执行策略执行动作,并基于执行后的下一图像、下一车辆位置和车位位置获取下一动作执行策略,直到车辆完成自动泊车任务。关于循环模块360的更多内容,参见图1及其相关描述。
[0107] 以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。