CN116822659B - 自动驾驶运动技能学习方法、系统、设备及计算机介质 - Google Patents
自动驾驶运动技能学习方法、系统、设备及计算机介质 Download PDFInfo
- Publication number
- CN116822659B CN116822659B CN202311110625.9A CN202311110625A CN116822659B CN 116822659 B CN116822659 B CN 116822659B CN 202311110625 A CN202311110625 A CN 202311110625A CN 116822659 B CN116822659 B CN 116822659B
- Authority
- CN
- China
- Prior art keywords
- target
- value
- network
- action
- driving
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 139
- 238000011156 evaluation Methods 0.000 claims abstract description 201
- 230000006870 function Effects 0.000 claims abstract description 157
- 238000012549 training Methods 0.000 claims abstract description 149
- 230000008569 process Effects 0.000 claims abstract description 65
- 230000009471 action Effects 0.000 claims description 228
- 238000005070 sampling Methods 0.000 claims description 25
- 230000009977 dual effect Effects 0.000 claims description 12
- 230000000977 initiatory effect Effects 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 230000006399 behavior Effects 0.000 claims description 9
- 101100272279 Beauveria bassiana Beas gene Proteins 0.000 claims description 3
- 238000009827 uniform distribution Methods 0.000 claims description 2
- 230000000875 corresponding effect Effects 0.000 description 15
- 238000005457 optimization Methods 0.000 description 11
- 230000001133 acceleration Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000033001 locomotion Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000002787 reinforcement Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241001300198 Caperonia palustris Species 0.000 description 1
- 101100352902 Dictyostelium discoideum canA gene Proteins 0.000 description 1
- 235000000384 Veronica chamaedrys Nutrition 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 101150033714 mtcA1 gene Proteins 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/092—Reinforcement learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Feedback Control In General (AREA)
Abstract
本发明公开了一种自动驾驶运动技能学习方法、系统、设备及计算机介质,应用于自动驾驶领域,获取目标对象在当前轮自动驾驶训练过程中的目标驾驶数据,目标驾驶数据包括目标驾驶状态、第一运动技能参数、第二运动技能参数、目标奖励函数值;基于目标驾驶数据对驾驶策略生成网络进行训练,得到当前轮训练好的驾驶策略生成网络;其中,第一运动技能参数包括驾驶策略生成网络生成的运动技能参数;第二运动技能参数包括人工控制下生成的运动技能参数;目标奖励函数值包括对目标驾驶状态和运动技能参数进行匹配度评价后生成的值;运动技能参数包括轨迹参数和速度曲线参数。提高了模型训练的安全性、效率和准确性,适用性好。
Description
技术领域
本发明涉及自动驾驶技术领域,更具体地说,涉及自动驾驶运动技能学习方法、系统、设备及计算机介质。
背景技术
当前,在自动驾驶过程中,需要训练自动驾驶策略来指导运动物体进行运动,比如基于强化学习 (Reinforcement Learning,RL)构建决自动驾驶策模型。
然而,该强化学习方法通过与环境自主交互来学习跨场景、跨任务的驾驶策略,策略学习效率和安全性较差,适用性低。
综上所述,如何提高学习自动驾驶策略的适用性是目前本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种自动驾驶运动技能学习方法,其能在一定程度上解决如何提高学习自动驾驶策略的适用性的技术问题。本发明还提供了一种自动驾驶运动技能学习系统、电子设备及计算机可读存储介质。
根据本发明实施例的第一方面,提供一种自动驾驶运动技能学习方法,包括:
获取目标对象在当前轮自动驾驶训练过程中的目标驾驶数据,所述目标驾驶数据包括目标驾驶状态、第一运动技能参数、第二运动技能参数、目标奖励函数值;
基于所述目标驾驶数据对驾驶策略生成网络进行训练,得到当前轮训练好的所述驾驶策略生成网络;
其中,所述第一运动技能参数包括所述驾驶策略生成网络生成的运动技能参数;所述第二运动技能参数包括人工控制下生成的运动技能参数;所述目标奖励函数值包括对所述目标驾驶状态和所述运动技能参数进行匹配度评价后生成的值;所述运动技能参数包括轨迹参数和速度曲线参数。
在一示例性实施例中,所述获取目标对象在当前轮自动驾驶训练过程中的目标驾驶数据,包括:
在所述目标对象在当前轮自动驾驶训练过程中的每个训练时刻,获取所述目标对象的所述目标驾驶状态;
若不存在人工控制,则获取所述驾驶策略生成网络基于所述目标驾驶状态生成的所述第一运动技能参数;
若存在人工控制,则获取人工控制下所述目标对象的目标状态元组,基于所述目标状态元组生成所述第二运动技能参数,所述目标状态元组包括所述训练时刻下所述目标对象的轨迹参数和速度参数;
基于所述目标驾驶状态生成所述目标奖励函数值。
在一示例性实施例中,所述基于所述目标状态元组生成所述第二运动技能参数,包括:
获取以所述训练时刻为开始时刻且步长为训练步长内的所述目标状态元组作为运动技能;
随机初始化目标数量组候选运动技能参数;
对于每组所述候选运动技能参数,在所述候选运动技能参数的每轮更新过程中,基于所述运动技能和当前轮的所述候选运动技能参数生成目标二次规划条件的最优解,将所述最优解作为下一搜索方向并进行一维搜索,得到下一轮的所述候选运动技能参数,判断是否迭代终止,若是,则将当前轮的所述候选运动技能参数作为待选运动技能参数,并确定所述待选运动技能参数的代价值,若否,则返回执行所述基于所述运动技能和当前轮的所述候选运动技能参数生成目标二次规划条件的最优解的步骤;
将代价值最小的所述待选运动技能参数作为所述第二运动技能参数。
在一示例性实施例中,所述目标二次规划条件包括:
;/>;/>;;/>;
其中,表示所述运动技能参数;/>表示第/>次更新后的第/>组所述候选运动技能参数;/>表示所述训练步长的值;/>表示二阶梯度;/>表示一阶梯度;/>表示所述运动技能;/>表示生成运动技能;/>表示二范数运算;
所述确定所述待选运动技能参数的代价值,包括:
将的值作为所述待选运动技能参数的所述代价值。
在一示例性实施例中,所述判断是否迭代终止,包括:
计算下一轮的所述候选运动技能参数与当前轮的所述候选运动技能参数间的差值;
判断所述差值是否满足参数精度;
若所述差值满足所述参数精度,则判定迭代终止;
若所述差值不满足所述参数精度,则判定继续迭代。
在一示例性实施例中,所述随机初始化目标数量组候选运动技能参数,包括:
基于训练场景确定运动技能参数的取值边界;
对所述取值边界进行均匀分布处理,得到所述目标数量组所述候选运动技能参数。
在一示例性实施例中,所述基于所述目标驾驶状态生成所述目标奖励函数值,包括:
获取以所述训练时刻为开始时刻且步长为训练步长内的所述目标驾驶状态作为驾驶状态组;
对于所述驾驶状态组中的每个所述目标驾驶状态,确定所述目标驾驶状态在人工控制下的奖励函数子值;
对所有的所述奖励函数子值进行累计,得到第一人工控制奖励值;
基于所述第一人工控制奖励值生成所述目标奖励函数值。
在一示例性实施例中,所述确定所述目标驾驶状态在人工控制下的奖励函数子值,包括:
通过奖励函数子值生成公式,确定所述目标驾驶状态对应的所述奖励函数子值;
所述奖励函数子值生成公式包括:
;
;
其中,表示所述奖励函数子值;/>表示所述目标对象到达目的地的奖励值;/>表示所述目标对象行驶目标长度后的奖励值;/>表示所述目标对象发生碰撞后的奖励值;/>表示所述目标对象完成超车操作后的奖励值,/>表示当前设置的每秒车流量,/>表示设置的每秒车流量的最大值;/>表示所述目标对象连续时长内压线行驶的奖励值;/>表示所述目标对象的行驶速度连续时长内低于预设值的奖励值。
在一示例性实施例中,所述对所有的所述奖励函数子值进行累计,得到第一人工控制奖励值,包括:
通过人工控制奖励值生成公式,对所有的所述奖励函数子值进行累计,得到所述第一人工控制奖励值;
所述人工控制奖励值生成公式包括:
;
其中,表示/>时刻的所述第一人工控制奖励值;/>表示/>时刻的所述目标驾驶状态;/>表示/>时刻的所述运动技能参数;/>表示/>时刻的所述奖励函数子值;表示/>时刻的所述奖励函数子值;/>表示相似度运算;/>表示以/>时刻开始的第/>个目标状态元组;/>表示以/>时刻开始的第1个目标状态元组;/>表示所述训练步长的值。
在一示例性实施例中,所述基于所述第一人工控制奖励值生成所述目标奖励函数值,包括:
通过目标奖励函数值生成公式,基于所述第一人工控制奖励值生成所述目标奖励函数值;
所述目标奖励函数值生成公式包括:
;
;
其中,表示/>时刻的所述目标奖励函数值;/>表示人工干预惩罚权重;/>时刻存在人工控制时,/>的值为1,/>时刻不存在人工控制时,/>的值为0;/>表示/>时刻的所述第一运动技能参数;/>表示/>时刻的所述第二运动技能参数,/>表示/>时刻下自动驾驶与人工控制间的行为差异;/>表示绝对值运算。
在一示例性实施例中,所述驾驶策略生成网络包括行动网络;
所述基于所述目标驾驶数据对驾驶策略生成网络进行训练,得到当前轮训练好的所述驾驶策略生成网络,包括:
对所述目标驾驶数据进行采样,得到当前轮的采样驾驶数据;
基于所述采样驾驶数据和目标评估网络更新所述行动网络,所述目标评估网络用于对所述行动网络进行评价;
基于所述采样驾驶数据更新所述目标评估网络;
判断是否结束当前轮的训练;
若否,则返回执行所述对所述目标驾驶数据进行采样及之后的步骤;
若是,则结束,得到当前轮训练好的所述行动网络。
在一示例性实施例中,所述基于所述采样驾驶数据和目标评估网络更新所述行动网络,包括:
在拉格朗日对偶变量固定的情况下,通过最大化目标拉格朗日函数来基于所述采样驾驶数据和所述目标评估网络更新所述行动网络;
所述目标拉格朗日函数包括:
;
;
其中,表示所述目标拉格朗日函数;/>表示当前轮的所述行动网络的自动驾驶策略,/>表示上一轮的所述行动网络的自动驾驶策略;/>表示所述拉格朗日对偶变量;/>表示求期望运算;/>表示所述目标评估网络通过第一动作值生成公式对所述行动网络进行评价后生成的第一目标动作值;/>表示驾驶状态;/>表示所述运动技能参数;/>表示衰减系数;/>表示/>时刻的所述目标奖励函数值;/>表示熵权重;/>表示所述自动驾驶策略的熵正则化项;/>表示KL散度;/>表示所述自动驾驶策略的更新信赖域。
在一示例性实施例中,所述基于所述采样驾驶数据和目标评估网络更新所述行动网络之后,还包括:
在所述行动网络的自动驾驶策略固定的情况下,通过最大化所述目标拉格朗日函数来更新所述拉格朗日对偶变量。
在一示例性实施例中,所述目标评估网络包括第一评估网络、第二评估网络、第三评估网络和第四评估网络;
所述基于所述采样驾驶数据和目标评估网络更新所述行动网络,包括:
通过所述第一动作值生成公式,基于所述第一评估网络对所述采样驾驶数据下的所述行动网络进行评价,生成第一动作值;
通过所述第一动作值生成公式,基于所述第二评估网络对所述采样驾驶数据下的所述行动网络进行评价,生成第二动作值;
将所述第一动作值和所述第二动作值中的最小值作为所述第一目标动作值;
基于所述第一目标动作值更新所述行动网络;
所述基于所述采样驾驶数据和目标评估网络更新所述行动网络之后,还包括:
更新所述第三评估网络和所述第四评估网络。
在一示例性实施例中,所述更新所述第三评估网络和所述第四评估网络,包括:
通过第一误差值生成公式,生成所述第三评估网络和所述第四评估网络的第一评估误差值;
基于所述第一评估误差值更新所述第三评估网络和所述第四评估网络;
所述第一误差值生成公式包括:
;;
其中,表示所述第一误差值;/>表示所述第三评估网络和所述第四评估网络通过所述第一动作值生成公式生成的最小动作值;/>表示第/>评估网络生成的对/>时刻下的所述行动网络进行评价后生成的动作值;/>表示二范数运算。
在一示例性实施例中,所述更新所述第三评估网络和所述第四评估网络之后,还包括:
判断是否更新所述第一评估网络和所述第二评估网络;
若是,则根据所述第三评估网络和所述第四评估网络,通过Polyak平均法更新所述第一评估网络和所述第二评估网络。
在一示例性实施例中,所述基于所述目标驾驶数据对驾驶策略生成网络进行训练之前,还包括:
获取人工控制下所述目标对象的第一驾驶状态及对应的第一状态元组;
基于所述第一状态元组生成第三运动技能参数;
基于所述第一驾驶状态和所述第三运动技能参数对初始的所述行动网络进行训练,得到初步训练的所述行动网络。
在一示例性实施例中,所述基于所述第一驾驶状态和所述第三运动技能参数对初始的所述行动网络进行训练,得到初步训练的所述行动网络,包括:
在每轮训练过程中,通过损失函数生成公式,基于所述第一驾驶状态和所述第三运动技能参数生成初始的所述行动网络的损失函数值,基于所述损失函数值调整所述行动网络的参数;
所述损失函数生成公式包括:
;
其中,表示所述损失函数值;/>表示对数运算;/>表示所述行动网络的自动驾驶策略;/>表示熵权重;/>表示运动技能参数的熵正则化项。
在一示例性实施例中,所述基于所述第一驾驶状态和所述第三运动技能参数对初始的所述行动网络进行训练,得到初步训练的所述行动网络之后,还包括:
基于所述第一驾驶状态生成第二人工控制奖励值;
通过第二动作值生成公式,基于所述第二人工控制奖励值和所述第一评估网络对所述行动网络进行评价,生成第三动作值;
通过所述第二动作值生成公式,基于所述第二人工控制奖励值和所述第二评估网络对所述行动网络进行评价,生成第四动作值;
将所述第三动作值和所述第四动作值中的最小值作为第二目标动作值;
通过第二误差值生成公式,生成所述第三评估网络和所述第四评估网络的第二评估误差值;
基于所述第二评估误差值更新所述第三评估网络和所述第四评估网络;
所述第二动作值生成公式包括:
;
其中,表示所述第二动作值生成公式生成的动作值;/>表示时刻的所述第二人工控制奖励值;
所述第二误差值生成公式包括:
;
;
其中,表示所述第二误差值;/>表示所述第三评估网络和所述第四评估网络通过所述第二动作值生成公式生成的最小动作值;/>表示第/>评估网络生成的对/>时刻下的所述行动网络进行评价后生成的动作值;/>表示二范数运算。
根据本发明实施例的第二方面,提供一种自动驾驶运动技能学习系统,包括:
第一获取模块,用于获取目标对象在当前轮自动驾驶训练过程中的目标驾驶数据,所述目标驾驶数据包括目标驾驶状态、第一运动技能参数、第二运动技能参数、目标奖励函数值;
第一训练模块,用于基于所述目标驾驶数据对驾驶策略生成网络进行训练,得到当前轮训练好的所述驾驶策略生成网络;
其中,所述第一运动技能参数包括所述驾驶策略生成网络生成的运动技能参数;所述第二运动技能参数包括人工控制下生成的运动技能参数;所述目标奖励函数值包括对所述目标驾驶状态和所述运动技能参数进行匹配度评价后生成的值;所述运动技能参数包括轨迹参数和速度曲线参数。
根据本发明实施例的第三方面,提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述自动驾驶运动技能学习方法的步骤。
根据本发明实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述自动驾驶运动技能学习方法的步骤。
本发明提供的一种自动驾驶运动技能学习方法,获取目标对象在当前轮自动驾驶训练过程中的目标驾驶数据,目标驾驶数据包括目标驾驶状态、第一运动技能参数、第二运动技能参数、目标奖励函数值;基于目标驾驶数据对驾驶策略生成网络进行训练,得到当前轮训练好的驾驶策略生成网络;其中,第一运动技能参数包括驾驶策略生成网络生成的运动技能参数;第二运动技能参数包括人工控制下生成的运动技能参数;目标奖励函数值包括对目标驾驶状态和运动技能参数进行匹配度评价后生成的值;运动技能参数包括轨迹参数和速度曲线参数。
本发明的有益效果是:在自动驾驶训练过程中,引入了人工控制,可以借助人工控制提高模型训练的安全性;且将用于模型训练的数据细化为运动技能参数,相较于通过运动轨迹进行模型训练而言,运动技能参数的训练粒度更细,提高了模型训练的效率和准确性,适用性好。本发明提供的自动驾驶运动技能学习系统、电子设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种自动驾驶运动技能学习方法的第一流程图;
图2为基于运动技能的车辆自动驾驶示意图;
图3为本发明实施例提供的一种自动驾驶运动技能学习方法的第二流程图;
图4为本发明实施例提供的一种自动驾驶运动技能学习方法的第三流程图;
图5为结合人类干预的自动驾驶运动技能学习方法示意图;
图6为本发明实施例提供的一种自动驾驶运动技能学习系统的结构示意图;
图7为本发明实施例提供的一种电子设备的结构示意图;
图8为本发明实施例提供的一种电子设备的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例提供的一种自动驾驶运动技能学习方法的第一流程图。
本发明实施例提供的一种自动驾驶运动技能学习方法,可以包括以下步骤:
步骤S101:获取目标对象在当前轮自动驾驶训练过程中的目标驾驶数据,目标驾驶数据包括目标驾驶状态、第一运动技能参数、第二运动技能参数、目标奖励函数值。
实际应用中,在对自动驾驶运动技能学习的每一轮中,可以先获取目标对象在当前轮自动驾驶训练过程中的目标驾驶数据,且目标驾驶数据包括目标驾驶状态、第一运动技能参数、第二运动技能参数、目标奖励函数值;其中,目标驾驶状态可以采用鸟瞰图(Birdeyes view,BEV)和车辆观测值进行描述,可以包含道路拓扑、静态导航、自我车辆和周围移动目标的时空信息等,可以表示为一个大小为200×200×5的灰度图像,即;第一运动技能参数包括驾驶策略生成网络生成的运动技能参数;第二运动技能参数包括人工控制下生成的运动技能参数;目标奖励函数值包括对目标驾驶状态和运动技能参数进行匹配度评价后生成的值;运动技能参数包括轨迹参数和速度曲线参数,比如可以包括位置、航向角、速度、加速度等。此外,目标驾驶数据还可以包括控制指令等,控制指令可以包含加速和转向等,可以表示为一个二维向量u∈[0,1]2。
需要说明的是,目标对象可以为车辆、机器人等;且一个运动技能应当以目标对象某一时刻状态作为初始点,控制目标对象完成一定时间窗或一定距离内的自动驾驶任务,因此其起始边界由目标对象当前状态决定,而结束边界则需要根据交通环境确定,由于自动驾驶过程是由一系列连续的运动技能顺序执行完成,因此前一运动技能的结束状态也将是下一运动技能的起始边界,如图2所示。假定目标对象为车辆,一运动技能的持续时间为T,该技能需要通过以下先验条件来生成:起始边界条件,即车辆当前状态,包括车辆起始位置(x s ,y s )、航向角、速度v s 、加速度a s ;结束边界条件,即T时刻后的车辆行驶状态,包括车辆结束位置(xe,ye)、航向角/>、速度ve、加速度ae;具体生成过程包含以下三个步骤:
1)生成局部可行驶路径:通过三次样条曲线生成车辆起始位置与结束位置间的可行驶局部路径,其中,路径结束点由纵向位置ye、横向位置xe和航向角三个参数表征;且为确保可行的路径-速度匹配投影,路径长度应大于速度曲线积分,因此将路径结束点纵向位置设定为车辆在技能时间窗口T内可以达到的最远距离ye=y s +vmax×T。
2)生成速度变化曲线:基于车辆在路径起止点时的速度和加速度,采用三次多项式表示技能时间窗口内的速度曲线;在生成速度曲线时,根据车辆当前状态设定起始点的速度vs和加速度a s ,而结束点的速度ve和加速度ae则是需要学习的自由参数。
③ 生成参数化运动技能:给定路径和速度曲线,通过将速度曲线的积分与路径曲线进行匹配投影来生成运动技能。每个运动技能可表示为[0,T]时间窗内的车辆状态序列。即X=[x1,x2,……,x T ];其中每个状态都表示为一个元组。如前面,为了确保任意两个相邻的运动技能之间衔接的平滑性,每个运动技能的生成都以车辆当前状态作为起始边界,这也是前一运动技能的结束边界,期间车辆动力学约束(加速度、曲率等)通过将路径、速度曲线的生成参数限制在合理范围内来强制保证。
步骤S102:基于目标驾驶数据对驾驶策略生成网络进行训练,得到当前轮训练好的驾驶策略生成网络;其中,第一运动技能参数包括驾驶策略生成网络生成的运动技能参数;第二运动技能参数包括人工控制下生成的运动技能参数;目标奖励函数值包括对目标驾驶状态和运动技能参数进行匹配度评价后生成的值;运动技能参数包括轨迹参数和速度曲线参数。
实际应用中,在获取目标对象在当前轮自动驾驶训练过程中的目标驾驶数据之后,便可以基于目标驾驶数据对驾驶策略生成网络进行训练,得到当前轮训练好的驾驶策略生成网络,以应用训练好的驾驶策略生成网络指导目标对象进行自动驾驶,在此过程中,目标对象根据驾驶环境采集驾驶数据,再应用驾驶策略生成网络对驾驶数据进行处理生成运动技能参数,目标对象最后再应用该运动技能参数进行驾驶调控。驾驶策略生成网络的结构等可以根据具体应用场景来确定,本发明在此不做具体限定。此外,目标对象在自动驾驶训练过程中的训练轮数可以根据训练周期或驾驶策略生成网络的收敛程度等决定,本发明在此不做具体限定。
需要说明的是,本发明中的人工控制指的是目标对象的操作者对目标对象进行驾驶控制,以目标对象为车辆为例,此时目标对象的操作者可以为车辆的驾驶员等,相应的,人工控制指的是在车辆的自动行驶过程中,驾驶员对车辆的驾驶行为、驾驶轨迹等进行控制,比如在车辆的驾驶行为不正确、反应不及时导致车辆即将偏离车道或发生碰撞时,驾驶员可以接管车辆并通过控制指令等调整车辆的行驶路径。
本发明提供的一种自动驾驶运动技能学习方法,获取目标对象在当前轮自动驾驶训练过程中的目标驾驶数据,目标驾驶数据包括目标驾驶状态、第一运动技能参数、第二运动技能参数、目标奖励函数值;基于目标驾驶数据对驾驶策略生成网络进行训练,得到当前轮训练好的驾驶策略生成网络;其中,第一运动技能参数包括驾驶策略生成网络生成的运动技能参数;第二运动技能参数包括人工控制下生成的运动技能参数;目标奖励函数值包括对目标驾驶状态和运动技能参数进行匹配度评价后生成的值;运动技能参数包括轨迹参数和速度曲线参数。本发明的有益效果是:在自动驾驶训练过程中,引入了人工控制,可以借助人工控制提高模型训练的安全性;且将用于模型训练的数据细化为运动技能参数,相较于通过运动轨迹进行模型训练而言,运动技能参数的训练粒度更细,提高了模型训练的效率和准确性,适用性好。
请参阅图3,图3为本发明实施例提供的一种自动驾驶运动技能学习方法的第二流程图。
本发明实施例提供的一种自动驾驶运动技能学习方法,可以包括以下步骤:
步骤S201:在目标对象在当前轮自动驾驶训练过程中的每个训练时刻,获取目标对象的目标驾驶状态。
步骤S202:若不存在人工控制,则获取驾驶策略生成网络基于目标驾驶状态生成的第一运动技能参数。
步骤S203:若存在人工控制,则获取人工控制下目标对象的目标状态元组,基于目标状态元组生成第二运动技能参数,目标状态元组包括训练时刻下目标对象的轨迹参数和速度参数。
步骤S204:基于目标驾驶状态生成目标奖励函数值。
步骤S205:基于目标驾驶数据对驾驶策略生成网络进行训练,得到当前轮训练好的驾驶策略生成网络。
实际应用中,在获取目标对象在当前轮自动驾驶训练过程中的目标驾驶数据的过程中,考虑到每个时刻目标对象均有相应的数据,所以可以根据训练时刻来采集目标驾驶数据,也即在目标对象在当前轮自动驾驶训练过程中的每个训练时刻,获取目标对象的目标驾驶状态;若不存在人工控制,则获取驾驶策略生成网络基于目标驾驶状态生成的第一运动技能参数;若存在人工控制,则获取人工控制下目标对象的目标状态元组,基于目标状态元组生成第二运动技能参数,目标状态元组包括训练时刻下目标对象的轨迹参数和速度参数;基于目标驾驶状态生成目标奖励函数值。
实际应用中,在基于目标状态元组生成第二运动技能参数的过程中,可以获取以训练时刻为开始时刻且步长为训练步长内的目标状态元组作为运动技能;随机初始化目标数量组候选运动技能参数,目标数量组的值可以根据应用场景来确定,比如可以为一组或三组或五组或十组等,本发明在此不做具体限定,但为避免局部最优问题,对于每段长度为T的专家轨迹,可以基于多组技能参数初始化进行并行优化求解,以实现更高的求解精度,换言之,可以以多组候选运动技能参数来求解运动技能参数;对于每组候选运动技能参数,在候选运动技能参数的每轮更新过程中,基于运动技能和当前轮的候选运动技能参数生成目标二次规划条件的最优解,将最优解作为下一搜索方向并进行一维搜索,得到下一轮的候选运动技能参数,判断是否迭代终止,若是,则将当前轮的候选运动技能参数作为待选运动技能参数,并确定待选运动技能参数的代价值,若否,则返回执行基于运动技能和当前轮的候选运动技能参数生成目标二次规划条件的最优解的步骤;将代价值最小的待选运动技能参数作为第二运动技能参数。
具体应用场景中,目标二次规划条件可以包括:
;/>;/>;;/>;
其中,表示运动技能参数;/>表示第/>次更新后的第/>组候选运动技能参数;表示训练步长的值;/>表示二阶梯度;/>表示一阶梯度;/>表示运动技能;/>表示生成运动技能;/>表示二范数运算;
相应的,在确定待选运动技能参数的代价值的过程中,可以将的值作为待选运动技能参数的代价值。
需要说明的是,目标二次规划条件的推导过程如下:假设人工控制下车辆的驾驶演示数据集为Du={(s i,ui)},假设为以人工控制(s i,ui)为起始状态的运动技能参数,则按照预先设定的技能时间窗T对专家演示的驾驶轨迹进行划分,然后根据优化目标/>,/>来对技能参数进行求解,其中,表示运动技能生成过程,/>表示人工控制下的真实驾驶轨迹,X表示生成的驾驶轨迹,基于迭代规划方法求解技能参数,假设第l次迭代时的技能参数为/>,令,则可以将上式中的优化目标在迭代点/>处简化为二次规划问题:/>;其中,/>;;/>。
具体应用场景中,判断是否迭代终止的过程中,可以计算下一轮的候选运动技能参数与当前轮的候选运动技能参数间的差值;判断差值是否满足参数精度;若差值满足参数精度,则判定迭代终止;若差值不满足参数精度,则判定继续迭代。
具体应用场景中,随机初始化目标数量组候选运动技能参数的过程中,可以基于训练场景确定运动技能参数的取值边界;对取值边界进行均匀分布处理,得到目标数量组候选运动技能参数。为便于理解,以t时刻车辆状态为起始点的运动技能,随机初始化N组技能参数/>,其中横向位置xe,i、航向角/>、速度ve,i和加速度ae,i采样范围如下所示:xe~U(-Broad,Broad),/>~U(-Byaw,Byaw),ve~U(-Bspeed,Bspeed),ae~U(-Bacc,Bacc),其中,,Broad、Byaw、Bspeed和Bacc分别为车辆横向位置、航向角、速度和加速度的取值边界,U()表示均匀分布。
实际应用中,在基于目标驾驶状态生成目标奖励函数值的过程中,可以获取以训练时刻为开始时刻且步长为训练步长内的目标驾驶状态作为驾驶状态组;对于驾驶状态组中的每个目标驾驶状态,确定目标驾驶状态在人工控制下的奖励函数子值;对所有的奖励函数子值进行累计,得到第一人工控制奖励值;基于第一人工控制奖励值生成目标奖励函数值。
具体应用场景中,在确定目标驾驶状态在人工控制下的奖励函数子值的过程中,可以通过奖励函数子值生成公式,确定目标驾驶状态对应的奖励函数子值;
奖励函数子值生成公式包括:
;
;
其中,表示奖励函数子值;/>表示目标对象到达目的地的奖励值,比如车辆到达目的地,奖励+1等;/>表示目标对象行驶目标长度后的奖励值,比如车辆每行驶 1 m,奖励+1等;/>表示目标对象发生碰撞后的奖励值,比如车辆与其他车辆或路缘发生碰撞,奖励-5等;/>表示目标对象完成超车操作后的奖励值,比如车辆成功完成一次超车操作,奖励+0.1等,/>表示当前设置的每秒车流量,/>表示设置的每秒车流量的最大值;/>表示目标对象连续时长内压线行驶的奖励值,比如车辆连续10s压线行驶,奖励-0.5等;/>表示目标对象的行驶速度连续时长内低于预设值的奖励值,比如车辆速度连续30s以上低于0.1 m/s,奖励-1等。需要说明的是,若车辆不满足相应的奖励条件,则可以设置该值为0等。
具体应用场景中,对所有的奖励函数子值进行累计,得到第一人工控制奖励值的过程中,可以通过人工控制奖励值生成公式,对所有的奖励函数子值进行累计,得到第一人工控制奖励值;
人工控制奖励值生成公式包括:
;
其中,表示/>时刻的第一人工控制奖励值;/>表示/>时刻的目标驾驶状态;/>表示/>时刻的运动技能参数;/>表示/>时刻的奖励函数子值;/>表示/>时刻的奖励函数子值;/>表示相似度运算,可以为余弦相似度运算等,也即等;/>表示以/>时刻开始的第/>个目标状态元组;表示以/>时刻开始的第1个目标状态元组;/>表示训练步长的值。
需要说明的是,人工控制奖励值生成公式的推导过程如下:由于每个运动技能的规划期为T个时间步,通常遵循经典半马尔可夫决策过程,以时间窗T为决策间隔,每个时间窗内策略仅进行一次技能参数推理,期间将执行整个运动技能,并获得与该技能参数相对应的累积奖励信号,下一个技能窗则将以状态s t+T-1为起始条件。但这样做一方面会导致奖励信号过于稀疏,难以为策略学习提供有效引导,另一方面当某一技能执行过程中环境动态发生突变,车辆运动无法及时作出调整,存在安全风险。针对上述问题,本发明采取序列化推理、单步执行的驾驶方式,增加奖励信号反馈频率,同时增强车辆驾驶过程中的机动响应能力,也即,针对t时刻的车辆当前状态s t ,车辆将从驾驶策略输出的动作分布中采样一组技能参数θ t ∼π(│s t ),生成运动技能;然后,车辆基于第一组状态参数完成单步状态转移,并根据环境反馈计算当前奖励R t 。接下来,针对车辆新状态s t+1,驾驶策略进行新的技能推断,生成t+1时刻的运动技能,同样基于第一组状态参数x t+1,1实现单步转移,得到奖励R t+1。以此类推,在T个时间步内可得到奖励序列/>。对于技能θ t ,累计奖励计算如下:/>。
具体应用场景中,基于人类在环反馈的学习机制中,人类主体主要担任评估者的角色,奖励信号通常定义为人类专家对预训练模型输出结果的偏好打分。然而,对于自动驾驶任务来说,驾驶策略输出每个运动技能的优劣难以通过人类主观因素进行量化评估,因此人类主体无法作为评估者参与到策略学习当中。为了在人类在环学习过程中有效利用专家先验知识,本发明直接将人类专家作为驾驶安全员引入到环境交互当中,具体来说,在策略学习过程中,车辆主要通过自动驾驶策略根据环境动态切换运动技能,若因驾驶行为不合理、反应不及时导致车辆即将偏离车道或发生碰撞,驾驶安全员将接管车辆并调整行驶路线,确保车辆安全性。为了避免频繁的驾驶接管需求导致驾驶安全员负担过重,在线学习期间应最大限度减少人类干预频次,以减少对于人工控制的依赖,提高策略学习自主性。对于预训练的驾驶策略π(θ│s),驾驶期间每执行一步,驾驶安全员都将监督车辆当前状态并决定是否进行干预,如需干预,驶安全员将接管车辆,并利用人为控制下的状态参数xh覆盖掉运动技能中的状态参数x s 。若采用指示函数表示人为干预,若以s为当前状态的技能时间窗内出现干预行为,则/>的值为1,否则/>的值为0。举例来说,假设t时刻驾驶状态s t 对应的状态参数为x t s ,技能参数为θ t ,若在后续任意i∈[t+1,t+T-1]时刻出现人为干预xi h,则/>的值为1,反之为0。且由于人工控制后,同一时刻的自动驾驶策略便无法发挥作用,所以在基于第一人工控制奖励值生成目标奖励函数值的过程中,可以通过目标奖励函数值生成公式,基于第一人工控制奖励值生成目标奖励函数值;
目标奖励函数值生成公式包括:
;
;
其中,表示/>时刻的目标奖励函数值;/>表示人工干预惩罚权重;时刻存在人工控制时,/>的值为1,/>时刻不存在人工控制时,/>的值为0;/>表示/>时刻的第一运动技能参数;/>表示/>时刻的第二运动技能参数,表示/>时刻下自动驾驶与人工控制间的行为差异;/>表示绝对值运算。/>
相应的,对于存在人类干预xi h的状态序列,假设利用目标二次规划条件从x t h中恢复出人类运动技能参数θ t h,因此可以将应用于车辆实际驾驶的技能参数视为安全技能参数/>,/>表示自动驾驶策略生成的运动技能参数;将人类驾驶策略表示为π h,训练期间车辆的实际行驶轨迹将来自于以下混合策略/>,其中,G(s)是驾驶安全员将要接管车辆的概率,表示为/>,/>表示求积分运算。
请参阅图4,图4为本发明实施例提供的一种自动驾驶运动技能学习方法的第三流程图。
本发明实施例提供的一种自动驾驶运动技能学习方法,可以包括以下步骤:
步骤S301:获取目标对象在当前轮自动驾驶训练过程中的目标驾驶数据,目标驾驶数据包括目标驾驶状态、第一运动技能参数、第二运动技能参数、目标奖励函数值。
步骤S302:对目标驾驶数据进行采样,得到当前轮的采样驾驶数据。
步骤S303:基于采样驾驶数据和目标评估网络更新行动网络,目标评估网络用于对行动网络进行评价。
步骤S304:基于采样驾驶数据更新目标评估网络。
步骤S305:判断是否结束当前轮的训练;若否,则返回执行步骤S302;若是,则执行步骤S306。
步骤S306:结束,得到当前轮训练好的行动网络。
实际应用中,可以采用Actor(行动)-Critic(评估)的强化学习框架训练输出为运动技能的自动驾驶策略,该框架中,Actor对应于策略网络π(θ│s),用于选择运动技能输出;Critic对应于价值网络Q(s,θ),用于评估策略好坏。也即驾驶策略生成网络可以包括行动网络;相应的,在基于目标驾驶数据对驾驶策略生成网络进行训练,得到当前轮训练好的驾驶策略生成网络的过程中,可以对目标驾驶数据进行采样,得到当前轮的采样驾驶数据;基于采样驾驶数据和目标评估网络更新行动网络,目标评估网络用于对行动网络进行评价;基于采样驾驶数据更新目标评估网络;判断是否结束当前轮的训练,具体的,可以在迭代训练数达到上限后,便判定结束当前轮的训练等;若否,则返回执行对目标驾驶数据进行采样及之后的步骤;若是,则结束,得到当前轮训练好的行动网络。
具体应用场景中,在基于采样驾驶数据和目标评估网络更新行动网络的过程中,可以在拉格朗日对偶变量固定的情况下,通过最大化目标拉格朗日函数来基于采样驾驶数据和目标评估网络更新行动网络;
目标拉格朗日函数包括:
;/>
;
其中,表示目标拉格朗日函数;/>表示当前轮的行动网络的自动驾驶策略,/>表示上一轮的行动网络的自动驾驶策略;/>表示拉格朗日对偶变量;/>表示求期望运算;/>表示目标评估网络通过第一动作值生成公式对行动网络进行评价后生成的第一目标动作值;/>表示驾驶状态;/>表示运动技能参数;/>表示衰减系数;表示/>时刻的目标奖励函数值;/>表示熵权重;/>表示自动驾驶策略的熵正则化项;/>表示KL散度;/>表示自动驾驶策略的更新信赖域。
需要说明的是,目标拉格朗日函数的推导过程如下:为了充分利用人工控制下的数据,驾驶策略的优化目标应当包含三部分,一是最大化驾驶累计奖励,二是通过最大化策略熵来确保对于安全动作空间的探索能力,三是最大限度地提高自主学习水平并减少人为干预。为了鼓励策略自主探索学习,减小人类驾驶员负担,可以设置一个基于车辆状态参数的干预成本函数来量化驾驶策略与人类专家间的行为差异,当驾驶策略选取的运动技能与人类驾驶行为存在显著差异时,该成本函数将作为一个惩罚项加入到奖励值中,因此对于该阶段的策略学习,目标奖励函数值生成公式将被修改为/>;基于修改后的目标奖励函数值生成公式,存在自动驾驶和人工干预下的驾驶策略的动作值函数表示为/>,因此驾驶策略的优化目标可表示为:,/>表示驾驶数据;为了确保策略优化过程的稳定性,本发明在上式基础上额外增加了策略更新约束,限制策略变化范围,因此优化目标重新定义为/>,/>;求解时,所构建的拉格朗日函数便为:,相应地,可以构建关于策略π和变量/>的优化目标/>;基于上述优化目标,在每个迭代周期中,策略π和变量/>将交替完成更新,首先固定变量/>,通过最大化拉格朗日函数学习策略π,/>,然后,固定策略π,通过最小化拉格朗日函数寻找变量/>,/>。
具体应用场景中,在基于采样驾驶数据和目标评估网络更新行动网络之后,还可以在行动网络的自动驾驶策略固定的情况下,通过最大化目标拉格朗日函数来更新拉格朗日对偶变量。
具体应用场景中,为了减少值函数过高估计,提高模型稳定性,可以设置目标评估网络包括结构相同的第一评估网络、第二评估网络、第三评估网络和第四评估网络,其中,第一评估网络、第二评估网络用于对行动网络进行价值估计,第三评估网络和第四评估网络用于参数更新;相应的,在基于采样驾驶数据和目标评估网络更新行动网络的过程中,可以通过第一动作值生成公式,基于第一评估网络对采样驾驶数据下的行动网络进行评价,生成第一动作值;通过第一动作值生成公式,基于第二评估网络对采样驾驶数据下的行动网络进行评价,生成第二动作值;将第一动作值和第二动作值中的最小值作为第一目标动作值;基于第一目标动作值更新行动网络;在基于采样驾驶数据和目标评估网络更新行动网络之后,还可以更新第三评估网络和第四评估网络。
具体应用场景中,在结合人工控制对自动驾驶运动技能进行学习的过程中,在更新第三评估网络和第四评估网络的过程中,需综合人工控制和自动驾驶来进行更新,也即可以通过第一误差值生成公式,生成第三评估网络和第四评估网络的第一评估误差值;基于第一评估误差值更新第三评估网络和第四评估网络;
第一误差值生成公式包括:
;;
其中,表示第一误差值;/>表示第三评估网络和第四评估网络通过第一动作值生成公式生成的最小动作值;/>表示第/>评估网络生成的对时刻下的行动网络进行评价后生成的动作值;/>表示二范数运算。
具体应用场景中,在更新第三评估网络和第四评估网络之后,还可以判断是否更新第一评估网络和第二评估网络,比如可以判断当前轮次是否属于第一评估网络和第二评估网络的更新轮次,若是,则判定更新等;若判定更新第一评估网络和第二评估网络,则根据第三评估网络和第四评估网络,通过Polyak平均法更新第一评估网络和第二评估网络。
实际应用中,为了加快训练效率,在基于目标驾驶数据对驾驶策略生成网络进行训练之前,还可以获取人工控制下目标对象的第一驾驶状态及对应的第一状态元组;基于第一状态元组生成第三运动技能参数;基于第一驾驶状态和第三运动技能参数对初始的行动网络进行预训练,得到初步训练的行动网络。
且为了避免预训练期间,由因Actor和Critic之间的相互作用所导致的性能下降问题,本发明采用一种两阶段预训练方案,确保即使人工控制下的驾驶数据是次优的,也能获得有效获取技能先验知识,实现良好的性能。也即先对Actor部分进行预训练,获取输出动作为运动技能的先验策略。然后利用训练后得到的Actor网络以及预定义奖励函数,通过环境交互收集基于技能空间的轨迹数据,作为新的专家演示数据,再对Critic部分进行预训练。相应的,在基于第一驾驶状态和第三运动技能参数对初始的行动网络进行训练,得到初步训练的行动网络的过程中,在每轮训练过程中,通过损失函数生成公式,基于第一驾驶状态和第三运动技能参数生成初始的行动网络的损失函数值,基于损失函数值调整行动网络的参数;损失函数生成公式包括:
;
其中,表示损失函数值;/>表示对数运算;/>表示行动网络的自动驾驶策略;/>表示熵权重;/>表示运动技能参数的熵正则化项。需要说明的是,预训练过程不涉及自动驾驶,所以此时的损失函数不涉及自动驾驶的相应运动技能参数等;此外,损失函数生成公式中额外添加了熵正则化项,可以缓解过拟合,可以使得训练后的Actor网络更具泛化性。
相应的,在基于第一驾驶状态和第三运动技能参数对初始的行动网络进行训练,得到初步训练的行动网络之后,还可以:基于第一驾驶状态生成第二人工控制奖励值;通过第二动作值生成公式,基于第二人工控制奖励值和第一评估网络对行动网络进行评价,生成第三动作值;通过第二动作值生成公式,基于第二人工控制奖励值和第二评估网络对行动网络进行评价,生成第四动作值;将第三动作值和第四动作值中的最小值作为第二目标动作值;通过第二误差值生成公式,生成第三评估网络和第四评估网络的第二评估误差值;基于第二评估误差值更新第三评估网络和第四评估网络;
第二动作值生成公式包括:
;
其中,表示第二动作值生成公式生成的动作值;/>表示/>时刻的第二人工控制奖励值;
第二误差值生成公式包括:
;
;
其中,表示第二误差值;/>表示第三评估网络和第四评估网络通过第二动作值生成公式生成的最小动作值;/>表示第/>评估网络生成的对时刻下的行动网络进行评价后生成的动作值;/>表示二范数运算。
需要说明的是,本发明的自动驾驶运动技能的整个过程如图5所示,由于人工控制下的驾驶数据不包含奖励信息,无法直接用于Critic网络的预训练,而考虑到预训练好的Actor网络已具备专家驾驶和运动技能先验,作为替代,本发明将基于预训练Actor网络π(θ│s)控制车辆进行环境交互,并获取奖励反馈,以收集具有运动技能和奖励信息的专家演示数据,然后基于该数据预训练Critic网络,因此本发明中Critic网络预训练过程主要包含以下两个步骤:数据收集阶段,车辆将按照预训练的Actor网络π(θ│s)进行自动驾驶,每执行一步,将获得环境反馈的奖励信号,并据此生成奖励函数子值R,最终生成奖励函数值/>;网络更新阶段,驾驶策略优化方向在于最大化预期回报,而车辆在不同状态下选取特定动作所获得的预期回报则需要通过动作值函数来估计,即/>,Critic网络的作用在于参数化上述动作值函数,实际求解过程中,对于任意t时刻的动作值,可以基于Bellman方程迭代计算/>,且为了提升后续策略在线训练的探索能力,本发明在动作值函数中增加熵正则化项,即Critic网络的动作价值函数为。在此基础上,当有四个价值网络时,假设/>为价值估计的Critic网络生成的动作值,/>为参数更新的Critic网络生成的动作值,则价值网络的损失值便为,,不难理解,当只有人工控制车辆时,/>只与人工控制下的运动技能参数有关,Critic网络的动作价值函数便变形为第二动作值生成公式,损失值便变形为第二误差值生成公式;当既有自动驾驶又有人工控制时,与人工控制和自动驾驶下的运动技能参数均有关,Critic网络的动作价值函数便变形为第一动作值生成公式,损失值便变形为第一误差值生成公式。
需要说明的是,本发明中Actor网络和Critic网络的结构可以根据实际需要来灵活调整,比如Actor网络和Critic网络的主结构可以相同,且若输入状态为低维向量形式,可采用2~3层全连接网络构建;若考虑高维图像形式的状态输入,可在全连接层之前增加若干卷积层进行图像编码。为便于理解,本发明中,在Actor网络和Critic网络的输入状态是大小为200×200×5的BEV图像时,网络结构可以如下:第1层,卷积层,通道数32,卷积核3×3,步长2;第2层,卷积层,通道数64,卷积核3×3,步长2;第3层,卷积层,通道数128,卷积核3×3,步长2;第4层,全连接层,输出大小为128;第5层,全连接层,输出大小为64;Actor网络和Critic网络均采用上述结构,对于最后的输出编码层,二者分别为:Actor网络,全连接层,输出大小为2;Critic网络,全连接层,输出大小为1。
请参阅图6,图6为本发明实施例提供的一种自动驾驶运动技能学习系统的结构示意图。
本发明实施例提供的一种自动驾驶运动技能学习系统,可以包括:
第一获取模块101,用于获取目标对象在当前轮自动驾驶训练过程中的目标驾驶数据,目标驾驶数据包括目标驾驶状态、第一运动技能参数、第二运动技能参数、目标奖励函数值;
第一训练模块102,用于基于目标驾驶数据对驾驶策略生成网络进行训练,得到当前轮训练好的驾驶策略生成网络;
其中,第一运动技能参数包括驾驶策略生成网络生成的运动技能参数;第二运动技能参数包括人工控制下生成的运动技能参数;目标奖励函数值包括对目标驾驶状态和运动技能参数进行匹配度评价后生成的值;运动技能参数包括轨迹参数和速度曲线参数。
本发明实施例提供的一种自动驾驶运动技能学习系统,第一获取模块可以包括:
第一获取单元,用于在目标对象在当前轮自动驾驶训练过程中的每个训练时刻,获取目标对象的目标驾驶状态;
第二获取单元,用于若不存在人工控制,则获取驾驶策略生成网络基于目标驾驶状态生成的第一运动技能参数;
第三获取单元,用于若存在人工控制,则获取人工控制下目标对象的目标状态元组,基于目标状态元组生成第二运动技能参数,目标状态元组包括训练时刻下目标对象的轨迹参数和速度参数;
第一生成单元,用于基于目标驾驶状态生成目标奖励函数值。
本发明实施例提供的一种自动驾驶运动技能学习系统,第三获取单元具体用于:获取以训练时刻为开始时刻且步长为训练步长内的目标状态元组作为运动技能;随机初始化目标数量组候选运动技能参数;对于每组候选运动技能参数,在候选运动技能参数的每轮更新过程中,基于运动技能和当前轮的候选运动技能参数生成目标二次规划条件的最优解,将最优解作为下一搜索方向并进行一维搜索,得到下一轮的候选运动技能参数,判断是否迭代终止,若是,则将当前轮的候选运动技能参数作为待选运动技能参数,并确定待选运动技能参数的代价值,若否,则返回执行基于运动技能和当前轮的候选运动技能参数生成目标二次规划条件的最优解的步骤;将代价值最小的待选运动技能参数作为第二运动技能参数。
本发明实施例提供的一种自动驾驶运动技能学习系统,目标二次规划条件包括:
目标二次规划条件包括:
;/>;/>;;/>;
其中,表示运动技能参数;/>表示第/>次更新后的第/>组候选运动技能参数;表示训练步长的值;/>表示二阶梯度;/>表示一阶梯度;/>表示运动技能;/>表示生成运动技能;/>表示二范数运算;
第三获取单元具体用于:将的值作为待选运动技能参数的代价值。
本发明实施例提供的一种自动驾驶运动技能学习系统,第三获取单元具体用于:计算下一轮的候选运动技能参数与当前轮的候选运动技能参数间的差值;判断差值是否满足参数精度;若差值满足参数精度,则判定迭代终止;若差值不满足参数精度,则判定继续迭代。
本发明实施例提供的一种自动驾驶运动技能学习系统,第三获取单元具体用于:基于训练场景确定运动技能参数的取值边界;对取值边界进行均匀分布处理,得到目标数量组候选运动技能参数。
本发明实施例提供的一种自动驾驶运动技能学习系统,第一生成单元具体用于:获取以训练时刻为开始时刻且步长为训练步长内的目标驾驶状态作为驾驶状态组;对于驾驶状态组中的每个目标驾驶状态,确定目标驾驶状态在人工控制下的奖励函数子值;对所有的奖励函数子值进行累计,得到第一人工控制奖励值;基于第一人工控制奖励值生成目标奖励函数值。
本发明实施例提供的一种自动驾驶运动技能学习系统,第一生成单元具体用于:通过奖励函数子值生成公式,确定目标驾驶状态对应的奖励函数子值;
奖励函数子值生成公式包括:
;
;
其中,表示奖励函数子值;/>表示目标对象到达目的地的奖励值;表示目标对象行驶目标长度后的奖励值;/>表示目标对象发生碰撞后的奖励值;/>表示目标对象完成超车操作后的奖励值,/>表示当前设置的每秒车流量,/>表示设置的每秒车流量的最大值;/>表示目标对象连续时长内压线行驶的奖励值;/>表示目标对象的行驶速度连续时长内低于预设值的奖励值。
本发明实施例提供的一种自动驾驶运动技能学习系统,第一生成单元具体用于:通过人工控制奖励值生成公式,对所有的奖励函数子值进行累计,得到第一人工控制奖励值;
人工控制奖励值生成公式包括:
;
其中,表示/>时刻的第一人工控制奖励值;/>表示/>时刻的目标驾驶状态;/>表示/>时刻的运动技能参数;/>表示/>时刻的奖励函数子值;/>表示/>时刻的奖励函数子值;/>表示相似度运算;/>表示以/>时刻开始的第/>个目标状态元组;/>表示以/>时刻开始的第1个目标状态元组;/>表示训练步长的值。
本发明实施例提供的一种自动驾驶运动技能学习系统,第一生成单元具体用于:通过目标奖励函数值生成公式,基于第一人工控制奖励值生成目标奖励函数值;
目标奖励函数值生成公式包括:
目标奖励函数值生成公式包括:
;
;
其中,表示/>时刻的目标奖励函数值;/>表示人工干预惩罚权重;时刻存在人工控制时,/>的值为1,/>时刻不存在人工控制时,/>的值为0;/>表示/>时刻的第一运动技能参数;/>表示/>时刻的第二运动技能参数,表示/>时刻下自动驾驶与人工控制间的行为差异;/>表示绝对值运算。
本发明实施例提供的一种自动驾驶运动技能学习系统,驾驶策略生成网络包括行动网络;
第一训练模块可以包括:
第一采样单元,用于对目标驾驶数据进行采样,得到当前轮的采样驾驶数据;
第一更新单元,用于基于采样驾驶数据和目标评估网络更新行动网络,目标评估网络用于对行动网络进行评价;
第二更新单元,用于基于采样驾驶数据更新目标评估网络;
第一判断单元,用于判断是否结束当前轮的训练;若否,则提示第一采样单元执行对目标驾驶数据进行采样及之后的步骤;若是,则结束,得到当前轮训练好的行动网络。
本发明实施例提供的一种自动驾驶运动技能学习系统,第一更新单元具体用于:在拉格朗日对偶变量固定的情况下,通过最大化目标拉格朗日函数来基于采样驾驶数据和目标评估网络更新行动网络;
目标拉格朗日函数包括:
;
;
其中,表示目标拉格朗日函数;/>表示当前轮的行动网络的自动驾驶策略,/>表示上一轮的行动网络的自动驾驶策略;/>表示拉格朗日对偶变量;/>表示求期望运算;/>表示目标评估网络通过第一动作值生成公式对行动网络进行评价后生成的第一目标动作值;/>表示驾驶状态;/>表示运动技能参数;/>表示衰减系数;表示/>时刻的目标奖励函数值;/>表示熵权重;/>表示自动驾驶策略的熵正则化项;/>表示KL散度;/>表示自动驾驶策略的更新信赖域。
本发明实施例提供的一种自动驾驶运动技能学习系统,还可以包括:
第三更新单元,用于第一更新单元基于采样驾驶数据和目标评估网络更新行动网络之后,在行动网络的自动驾驶策略固定的情况下,通过最大化目标拉格朗日函数来更新拉格朗日对偶变量。
本发明实施例提供的一种自动驾驶运动技能学习系统,目标评估网络包括第一评估网络、第二评估网络、第三评估网络和第四评估网络;
第一更新单元具体用于:通过第一动作值生成公式,基于第一评估网络对采样驾驶数据下的行动网络进行评价,生成第一动作值;通过第一动作值生成公式,基于第二评估网络对采样驾驶数据下的行动网络进行评价,生成第二动作值;将第一动作值和第二动作值中的最小值作为第一目标动作值;基于第一目标动作值更新行动网络;
还包括:
第四更新单元,用于第一更新单元基于采样驾驶数据和目标评估网络更新行动网络之后,更新第三评估网络和第四评估网络。
本发明实施例提供的一种自动驾驶运动技能学习系统,第四更新单元具体用于:通过第一误差值生成公式,生成第三评估网络和第四评估网络的第一评估误差值;基于第一评估误差值更新第三评估网络和第四评估网络;
第一误差值生成公式包括:
;;
其中,表示第一误差值;/>表示第三评估网络和第四评估网络通过第一动作值生成公式生成的最小动作值;/>表示第/>评估网络生成的对时刻下的行动网络进行评价后生成的动作值;/>表示二范数运算。
本发明实施例提供的一种自动驾驶运动技能学习系统,还可以包括:
第二判断单元,用于第四更新单元更新第三评估网络和第四评估网络之后,判断是否更新第一评估网络和第二评估网络;若是,则根据第三评估网络和第四评估网络,通过Polyak平均法更新第一评估网络和第二评估网络。
本发明实施例提供的一种自动驾驶运动技能学习系统,还可以包括:
第二获取模块,用于第一训练模块基于目标驾驶数据对驾驶策略生成网络进行训练之前,获取人工控制下目标对象的第一驾驶状态及对应的第一状态元组;
第二生成模块,用于基于第一状态元组生成第三运动技能参数;
第二训练模块,用于基于第一驾驶状态和第三运动技能参数对初始的行动网络进行训练,得到初步训练的行动网络。
本发明实施例提供的一种自动驾驶运动技能学习系统,第二训练模块可以包括:
第二生成单元,用于在每轮训练过程中,通过损失函数生成公式,基于第一驾驶状态和第三运动技能参数生成初始的行动网络的损失函数值,基于损失函数值调整行动网络的参数;
损失函数生成公式包括:
;
其中,表示损失函数值;/>表示对数运算;/>表示行动网络的自动驾驶策略;/>表示熵权重;/>表示运动技能参数的熵正则化项。
本发明实施例提供的一种自动驾驶运动技能学习系统,还可以包括:
第三生成模块,用于第二训练模块基于第一驾驶状态和第三运动技能参数对初始的行动网络进行训练,得到初步训练的行动网络之后,基于第一驾驶状态生成第二人工控制奖励值;
第四生成模块,用于通过第二动作值生成公式,基于第二人工控制奖励值和第一评估网络对行动网络进行评价,生成第三动作值;
第五生成模块,用于通过第二动作值生成公式,基于第二人工控制奖励值和第二评估网络对行动网络进行评价,生成第四动作值;
第一处理模块,用于将第三动作值和第四动作值中的最小值作为第二目标动作值;
第六生成模块,用于通过第二误差值生成公式,生成第三评估网络和第四评估网络的第二评估误差值;
第一更新模块,用于基于第二评估误差值更新第三评估网络和第四评估网络;
第二动作值生成公式包括:
;
其中,表示第二动作值生成公式生成的动作值;/>表示/>时刻的第二人工控制奖励值;
第二误差值生成公式包括:
;
;
其中,表示第二误差值;/>表示第三评估网络和第四评估网络通过第二动作值生成公式生成的最小动作值;/>表示第/>评估网络生成的对时刻下的行动网络进行评价后生成的动作值;/>表示二范数运算。
本发明还提供了一种电子设备及计算机可读存储介质,其均具有本发明实施例提供的一种自动驾驶运动技能学习方法具有的对应效果。请参阅图7,图7为本发明实施例提供的一种电子设备的结构示意图。
本发明实施例提供的一电子设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如上任一实施例所描述自动驾驶运动技能学习方法的步骤。
请参阅图8,本发明实施例提供的另一种电子设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现电子设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(Mobile High-Definition Link,MHL)、通用串行总线(Universal Serial Bus,USB)、高清多媒体接口(High-DefinitionMultimedia Interface,HDMI)、无线连接:无线保真技术(WIreless Fidelity,WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本发明实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如上任一实施例所描述自动驾驶运动技能学习方法的步骤。
本发明所涉及的计算机可读存储介质包括随机存储器(Random Access Memory,RAM)、内存、只读存储器(Read-Only Memory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、或技术领域内所公知的任意其它形式的存储介质。
本发明实施例提供的自动驾驶运动技能学习系统、电子设备及计算机可读存储介质中相关部分的说明请参见本发明实施例提供的自动驾驶运动技能学习方法中对应部分的详细说明,在此不再赘述。另外,本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (20)
1.一种自动驾驶运动技能学习方法,其特征在于,包括:
获取目标对象在当前轮自动驾驶训练过程中的目标驾驶数据,所述目标驾驶数据包括目标驾驶状态、第一运动技能参数、第二运动技能参数、目标奖励函数值;
基于所述目标驾驶数据对驾驶策略生成网络进行训练,得到当前轮训练好的所述驾驶策略生成网络;
其中,所述第一运动技能参数包括所述驾驶策略生成网络生成的运动技能参数;所述第二运动技能参数包括人工控制下生成的运动技能参数;所述目标奖励函数值包括对所述目标驾驶状态和所述运动技能参数进行匹配度评价后生成的值;所述运动技能参数包括轨迹参数和速度曲线参数;
其中,所述获取目标对象在当前轮自动驾驶训练过程中的目标驾驶数据,包括:
在所述目标对象在当前轮自动驾驶训练过程中的每个训练时刻,获取所述目标对象的所述目标驾驶状态;
若不存在人工控制,则获取所述驾驶策略生成网络基于所述目标驾驶状态生成的所述第一运动技能参数;
若存在人工控制,则获取人工控制下所述目标对象的目标状态元组,基于所述目标状态元组生成所述第二运动技能参数,所述目标状态元组包括所述训练时刻下所述目标对象的轨迹参数和速度参数;
基于所述目标驾驶状态生成所述目标奖励函数值;
其中,所述驾驶策略生成网络包括行动网络;所述基于所述目标驾驶数据对驾驶策略生成网络进行训练,得到当前轮训练好的所述驾驶策略生成网络,包括:
对所述目标驾驶数据进行采样,得到当前轮的采样驾驶数据;
基于所述采样驾驶数据和目标评估网络更新所述行动网络,所述目标评估网络用于对所述行动网络进行评价;
基于所述采样驾驶数据更新所述目标评估网络;
判断是否结束当前轮的训练;
若否,则返回执行所述对所述目标驾驶数据进行采样及之后的步骤;
若是,则结束,得到当前轮训练好的所述行动网络。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标状态元组生成所述第二运动技能参数,包括:
获取以所述训练时刻为开始时刻且步长为训练步长内的所述目标状态元组作为运动技能;
随机初始化目标数量组候选运动技能参数;
对于每组所述候选运动技能参数,在所述候选运动技能参数的每轮更新过程中,基于所述运动技能和当前轮的所述候选运动技能参数生成目标二次规划条件的最优解,将所述最优解作为下一搜索方向并进行一维搜索,得到下一轮的所述候选运动技能参数,判断是否迭代终止,若是,则将当前轮的所述候选运动技能参数作为待选运动技能参数,并确定所述待选运动技能参数的代价值,若否,则返回执行所述基于所述运动技能和当前轮的所述候选运动技能参数生成目标二次规划条件的最优解的步骤;
将代价值最小的所述待选运动技能参数作为所述第二运动技能参数。
3.根据权利要求2所述的方法,其特征在于,所述目标二次规划条件包括:
;/>;/>;
;/>;
其中,表示所述运动技能参数;/>表示第/>次更新后的第/>组所述候选运动技能参数;/>表示所述训练步长的值;/>表示二阶梯度;/>表示一阶梯度;/>表示所述运动技能;/>表示生成运动技能;/>表示二范数运算;
所述确定所述待选运动技能参数的代价值,包括:
将的值作为所述待选运动技能参数的所述代价值。
4.根据权利要求2所述的方法,其特征在于,所述判断是否迭代终止,包括:
计算下一轮的所述候选运动技能参数与当前轮的所述候选运动技能参数间的差值;
判断所述差值是否满足参数精度;
若所述差值满足所述参数精度,则判定迭代终止;
若所述差值不满足所述参数精度,则判定继续迭代。
5.根据权利要求2所述的方法,其特征在于,所述随机初始化目标数量组候选运动技能参数,包括:
基于训练场景确定运动技能参数的取值边界;
对所述取值边界进行均匀分布处理,得到所述目标数量组所述候选运动技能参数。
6.根据权利要求1所述的方法,其特征在于,所述基于所述目标驾驶状态生成所述目标奖励函数值,包括:
获取以所述训练时刻为开始时刻且步长为训练步长内的所述目标驾驶状态作为驾驶状态组;
对于所述驾驶状态组中的每个所述目标驾驶状态,确定所述目标驾驶状态在人工控制下的奖励函数子值;
对所有的所述奖励函数子值进行累计,得到第一人工控制奖励值;
基于所述第一人工控制奖励值生成所述目标奖励函数值。
7.根据权利要求6所述的方法,其特征在于,所述确定所述目标驾驶状态在人工控制下的奖励函数子值,包括:
通过奖励函数子值生成公式,确定所述目标驾驶状态对应的所述奖励函数子值;
所述奖励函数子值生成公式包括:
;
;
其中,表示所述奖励函数子值;/>表示所述目标对象到达目的地的奖励值;表示所述目标对象行驶目标长度后的奖励值;/>表示所述目标对象发生碰撞后的奖励值;/>表示所述目标对象完成超车操作后的奖励值,/>表示当前设置的每秒车流量,/>表示设置的每秒车流量的最大值;/>表示所述目标对象连续时长内压线行驶的奖励值;/>表示所述目标对象的行驶速度连续时长内低于预设值的奖励值。
8.根据权利要求7所述的方法,其特征在于,所述对所有的所述奖励函数子值进行累计,得到第一人工控制奖励值,包括:
通过人工控制奖励值生成公式,对所有的所述奖励函数子值进行累计,得到所述第一人工控制奖励值;
所述人工控制奖励值生成公式包括:
;
其中,表示/>时刻的所述第一人工控制奖励值;/>表示/>时刻的所述目标驾驶状态;/>表示/>时刻的所述运动技能参数;/>表示/>时刻的所述奖励函数子值;表示/>时刻的所述奖励函数子值;/>表示相似度运算;/>表示以/>时刻开始的第/>个目标状态元组;/>表示以/>时刻开始的第1个目标状态元组;/>表示所述训练步长的值。
9.根据权利要求8所述的方法,其特征在于,所述基于所述第一人工控制奖励值生成所述目标奖励函数值,包括:
通过目标奖励函数值生成公式,基于所述第一人工控制奖励值生成所述目标奖励函数值;
所述目标奖励函数值生成公式包括:
;
;
其中,表示/>时刻的所述目标奖励函数值;/>表示人工干预惩罚权重;时刻存在人工控制时,/>的值为1,/>时刻不存在人工控制时,/>的值为0;/>表示/>时刻的所述第一运动技能参数;/>表示/>时刻的所述第二运动技能参数,表示/>时刻下自动驾驶与人工控制间的行为差异;/>表示绝对值运算。
10.根据权利要求1所述的方法,其特征在于,所述基于所述采样驾驶数据和目标评估网络更新所述行动网络,包括:
在拉格朗日对偶变量固定的情况下,通过最大化目标拉格朗日函数来基于所述采样驾驶数据和所述目标评估网络更新所述行动网络;
所述目标拉格朗日函数包括:
;
;
其中,表示所述目标拉格朗日函数;/>表示当前轮的所述行动网络的自动驾驶策略,/>表示上一轮的所述行动网络的自动驾驶策略;/>表示所述拉格朗日对偶变量;/>表示求期望运算;/>表示所述目标评估网络通过第一动作值生成公式对所述行动网络进行评价后生成的第一目标动作值;/>表示驾驶状态;/>表示所述运动技能参数;/>表示衰减系数;/>表示/>时刻的所述目标奖励函数值;/>表示熵权重;表示所述自动驾驶策略的熵正则化项;/>表示KL散度;/>表示所述自动驾驶策略的更新信赖域。
11.根据权利要求10所述的方法,其特征在于,所述基于所述采样驾驶数据和目标评估网络更新所述行动网络之后,还包括:
在所述行动网络的自动驾驶策略固定的情况下,通过最大化所述目标拉格朗日函数来更新所述拉格朗日对偶变量。
12.根据权利要求10所述的方法,其特征在于,所述目标评估网络包括第一评估网络、第二评估网络、第三评估网络和第四评估网络;
所述基于所述采样驾驶数据和目标评估网络更新所述行动网络,包括:
通过所述第一动作值生成公式,基于所述第一评估网络对所述采样驾驶数据下的所述行动网络进行评价,生成第一动作值;
通过所述第一动作值生成公式,基于所述第二评估网络对所述采样驾驶数据下的所述行动网络进行评价,生成第二动作值;
将所述第一动作值和所述第二动作值中的最小值作为所述第一目标动作值;
基于所述第一目标动作值更新所述行动网络;
所述基于所述采样驾驶数据和目标评估网络更新所述行动网络之后,还包括:
更新所述第三评估网络和所述第四评估网络。
13.根据权利要求12所述的方法,其特征在于,所述更新所述第三评估网络和所述第四评估网络,包括:
通过第一误差值生成公式,生成所述第三评估网络和所述第四评估网络的第一评估误差值;
基于所述第一评估误差值更新所述第三评估网络和所述第四评估网络;
所述第一误差值生成公式包括:
;/>;
其中,表示所述第一误差值;/>表示所述第三评估网络和所述第四评估网络通过所述第一动作值生成公式生成的最小动作值;/>表示第/>评估网络生成的对/>时刻下的所述行动网络进行评价后生成的动作值;/>表示二范数运算。
14.根据权利要求13所述的方法,其特征在于,所述更新所述第三评估网络和所述第四评估网络之后,还包括:
判断是否更新所述第一评估网络和所述第二评估网络;
若是,则根据所述第三评估网络和所述第四评估网络,通过Polyak平均法更新所述第一评估网络和所述第二评估网络。
15.根据权利要求12所述的方法,其特征在于,所述基于所述目标驾驶数据对驾驶策略生成网络进行训练之前,还包括:
获取人工控制下所述目标对象的第一驾驶状态及对应的第一状态元组;
基于所述第一状态元组生成第三运动技能参数;
基于所述第一驾驶状态和所述第三运动技能参数对初始的所述行动网络进行训练,得到初步训练的所述行动网络。
16.根据权利要求15所述的方法,其特征在于,所述基于所述第一驾驶状态和所述第三运动技能参数对初始的所述行动网络进行训练,得到初步训练的所述行动网络,包括:
在每轮训练过程中,通过损失函数生成公式,基于所述第一驾驶状态和所述第三运动技能参数生成初始的所述行动网络的损失函数值,基于所述损失函数值调整所述行动网络的参数;
所述损失函数生成公式包括:
;
其中,表示所述损失函数值;/>表示对数运算;/>表示所述行动网络的自动驾驶策略;/>表示熵权重;/>表示运动技能参数的熵正则化项。
17.根据权利要求15所述的方法,其特征在于,所述基于所述第一驾驶状态和所述第三运动技能参数对初始的所述行动网络进行训练,得到初步训练的所述行动网络之后,还包括:
基于所述第一驾驶状态生成第二人工控制奖励值;
通过第二动作值生成公式,基于所述第二人工控制奖励值和所述第一评估网络对所述行动网络进行评价,生成第三动作值;
通过所述第二动作值生成公式,基于所述第二人工控制奖励值和所述第二评估网络对所述行动网络进行评价,生成第四动作值;
将所述第三动作值和所述第四动作值中的最小值作为第二目标动作值;
通过第二误差值生成公式,生成所述第三评估网络和所述第四评估网络的第二评估误差值;
基于所述第二评估误差值更新所述第三评估网络和所述第四评估网络;
所述第二动作值生成公式包括:
;
其中,表示所述第二动作值生成公式生成的动作值;/>表示/>时刻的所述第二人工控制奖励值;
所述第二误差值生成公式包括:
;
;
其中,表示所述第二误差值;/>表示所述第三评估网络和所述第四评估网络通过所述第二动作值生成公式生成的最小动作值;/>表示第/>评估网络生成的对/>时刻下的所述行动网络进行评价后生成的动作值;/>表示二范数运算。
18.一种自动驾驶运动技能学习系统,其特征在于,包括:
第一获取模块,用于获取目标对象在当前轮自动驾驶训练过程中的目标驾驶数据,所述目标驾驶数据包括目标驾驶状态、第一运动技能参数、第二运动技能参数、目标奖励函数值;
第一训练模块,用于基于所述目标驾驶数据对驾驶策略生成网络进行训练,得到当前轮训练好的所述驾驶策略生成网络;
其中,所述第一运动技能参数包括所述驾驶策略生成网络生成的运动技能参数;所述第二运动技能参数包括人工控制下生成的运动技能参数;所述目标奖励函数值包括对所述目标驾驶状态和所述运动技能参数进行匹配度评价后生成的值;所述运动技能参数包括轨迹参数和速度曲线参数;
其中,所述第一获取模块包括:
第一获取单元,用于在所述目标对象在当前轮自动驾驶训练过程中的每个训练时刻,获取所述目标对象的所述目标驾驶状态;
第二获取单元,用于若不存在人工控制,则获取所述驾驶策略生成网络基于所述目标驾驶状态生成的所述第一运动技能参数;
第三获取单元,用于若存在人工控制,则获取人工控制下所述目标对象的目标状态元组,基于所述目标状态元组生成所述第二运动技能参数,所述目标状态元组包括所述训练时刻下所述目标对象的轨迹参数和速度参数;
第一生成单元,用于基于所述目标驾驶状态生成所述目标奖励函数值;
其中,所述驾驶策略生成网络包括行动网络;所述第一训练模块包括:
第一采样单元,用于对所述目标驾驶数据进行采样,得到当前轮的采样驾驶数据;
第一更新单元,用于基于所述采样驾驶数据和目标评估网络更新所述行动网络,所述目标评估网络用于对所述行动网络进行评价;
第二更新单元,用于基于所述采样驾驶数据更新所述目标评估网络;
第一判断单元,用于判断是否结束当前轮的训练;若否,则返回执行所述对所述目标驾驶数据进行采样及之后的步骤;若是,则结束,得到当前轮训练好的所述行动网络。
19.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至17任一项所述自动驾驶运动技能学习方法的步骤。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至17任一项所述自动驾驶运动技能学习方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311110625.9A CN116822659B (zh) | 2023-08-31 | 2023-08-31 | 自动驾驶运动技能学习方法、系统、设备及计算机介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311110625.9A CN116822659B (zh) | 2023-08-31 | 2023-08-31 | 自动驾驶运动技能学习方法、系统、设备及计算机介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116822659A CN116822659A (zh) | 2023-09-29 |
CN116822659B true CN116822659B (zh) | 2024-01-23 |
Family
ID=88143275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311110625.9A Active CN116822659B (zh) | 2023-08-31 | 2023-08-31 | 自动驾驶运动技能学习方法、系统、设备及计算机介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116822659B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115257789A (zh) * | 2022-09-02 | 2022-11-01 | 东南大学 | 城市低速环境下的营运车辆侧向防撞驾驶决策方法 |
CN115257809A (zh) * | 2022-07-28 | 2022-11-01 | 同济大学 | 一种人在环的自动驾驶车辆交互学习控制方法及设备 |
CN115257745A (zh) * | 2022-07-21 | 2022-11-01 | 同济大学 | 一种基于规则融合强化学习的自动驾驶换道决策控制方法 |
WO2022248722A1 (en) * | 2021-05-28 | 2022-12-01 | Deepmind Technologies Limited | Reinforcement learning by solution of a convex markov decision process |
CN116382150A (zh) * | 2023-02-13 | 2023-07-04 | 北京洛必德科技有限公司 | 一种基于深度强化学习决策系统的远程驾驶方法和装置、电子设备 |
CN116476825A (zh) * | 2023-05-19 | 2023-07-25 | 同济大学 | 一种基于安全可信强化学习的自动驾驶车道保持控制方法 |
-
2023
- 2023-08-31 CN CN202311110625.9A patent/CN116822659B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022248722A1 (en) * | 2021-05-28 | 2022-12-01 | Deepmind Technologies Limited | Reinforcement learning by solution of a convex markov decision process |
CN115257745A (zh) * | 2022-07-21 | 2022-11-01 | 同济大学 | 一种基于规则融合强化学习的自动驾驶换道决策控制方法 |
CN115257809A (zh) * | 2022-07-28 | 2022-11-01 | 同济大学 | 一种人在环的自动驾驶车辆交互学习控制方法及设备 |
CN115257789A (zh) * | 2022-09-02 | 2022-11-01 | 东南大学 | 城市低速环境下的营运车辆侧向防撞驾驶决策方法 |
CN116382150A (zh) * | 2023-02-13 | 2023-07-04 | 北京洛必德科技有限公司 | 一种基于深度强化学习决策系统的远程驾驶方法和装置、电子设备 |
CN116476825A (zh) * | 2023-05-19 | 2023-07-25 | 同济大学 | 一种基于安全可信强化学习的自动驾驶车道保持控制方法 |
Non-Patent Citations (2)
Title |
---|
A driving simulator study to assess driver performance during a car-following maneuver after switching from automated control to manual control;Alessandro Calvi;Transportation Research Part F:Traffic Psychology and Behaviour;第70卷;58-67 * |
融合类人驾驶行为的无人驾驶深度强化学习方法;吕迪;徐坤;李慧云;潘仲鸣;;集成技术(第05期);36-39 * |
Also Published As
Publication number | Publication date |
---|---|
CN116822659A (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113805572B (zh) | 运动规划的方法与装置 | |
WO2021135554A1 (zh) | 一种无人车全局路径规划方法和装置 | |
CN112162555B (zh) | 混合车队中基于强化学习控制策略的车辆控制方法 | |
CN112937564B (zh) | 换道决策模型生成方法和无人车换道决策方法及装置 | |
Liu et al. | Improved deep reinforcement learning with expert demonstrations for urban autonomous driving | |
CN111260027B (zh) | 一种基于强化学习的智能体自动决策方法 | |
Min et al. | Deep Q learning based high level driving policy determination | |
CN110956148B (zh) | 无人车的自主避障方法及装置、电子设备、可读存储介质 | |
CN113561986A (zh) | 自动驾驶汽车决策方法及装置 | |
CN111783994A (zh) | 强化学习的训练方法和装置 | |
CN115019523B (zh) | 基于最小化压力差的深度强化学习交通信号协调优化控制方法 | |
CN114089776A (zh) | 一种基于深度强化学习的无人机避障方法 | |
CN115691167A (zh) | 一种基于交叉口全息数据的单点交通信号控制方法 | |
CN117406756B (zh) | 一种运动轨迹参数的确定方法、装置、设备和存储介质 | |
Wang et al. | Autonomous target tracking of multi-UAV: A two-stage deep reinforcement learning approach with expert experience | |
CN116822659B (zh) | 自动驾驶运动技能学习方法、系统、设备及计算机介质 | |
Ahmed et al. | A deep q-network reinforcement learning-based model for autonomous driving | |
CN112100787B (zh) | 车辆动作预测方法、装置、电子设备及存储介质 | |
CN116872971A (zh) | 一种基于人机协同增强的自动驾驶控制决策方法及系统 | |
CN116639124A (zh) | 一种基于双层深度强化学习的自动驾驶车辆换道方法 | |
CN115009291B (zh) | 基于网络演化重放缓冲区的自动驾驶辅助决策方法及系统 | |
CN115700626A (zh) | 用于车辆的奖励函数 | |
KR20230024392A (ko) | 주행 의사 결정 방법 및 장치 및 칩 | |
Liang et al. | Mastering cooperative driving strategy in complex scenarios using multi-agent reinforcement learning | |
CN116069014B (zh) | 一种基于改进型深度强化学习的车辆自动控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |