CN109901572B - 自动驾驶方法、训练方法及相关装置 - Google Patents
自动驾驶方法、训练方法及相关装置 Download PDFInfo
- Publication number
- CN109901572B CN109901572B CN201811528036.1A CN201811528036A CN109901572B CN 109901572 B CN109901572 B CN 109901572B CN 201811528036 A CN201811528036 A CN 201811528036A CN 109901572 B CN109901572 B CN 109901572B
- Authority
- CN
- China
- Prior art keywords
- task
- network
- automatic driving
- driving
- vector
- 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 198
- 238000012549 training Methods 0.000 title claims abstract description 47
- 239000013598 vector Substances 0.000 claims abstract description 467
- 230000006870 function Effects 0.000 claims description 127
- 230000008569 process Effects 0.000 claims description 76
- 230000009471 action Effects 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 33
- 238000004364 calculation method Methods 0.000 claims description 32
- 238000000605 extraction Methods 0.000 claims description 25
- 230000002787 reinforcement Effects 0.000 claims description 21
- 238000013528 artificial neural network Methods 0.000 claims description 15
- 238000009826 distribution Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 6
- -1 hydrogen Chemical class 0.000 claims 1
- 239000001257 hydrogen Substances 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 description 64
- 230000015654 memory Effects 0.000 description 41
- 238000012360 testing method Methods 0.000 description 32
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 16
- 230000033001 locomotion Effects 0.000 description 16
- 239000011159 matrix material Substances 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 10
- 238000013500 data storage Methods 0.000 description 9
- 241000282414 Homo sapiens Species 0.000 description 8
- 238000013473 artificial intelligence Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 6
- 230000001276 controlling effect Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 241001465754 Metazoa Species 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000010267 cellular communication Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000446 fuel Substances 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000002194 synthesizing effect Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- LFQSCWFLJHTTHZ-UHFFFAOYSA-N Ethanol Chemical compound CCO LFQSCWFLJHTTHZ-UHFFFAOYSA-N 0.000 description 2
- ATUOYWHBWRKTHZ-UHFFFAOYSA-N Propane Chemical compound CCC ATUOYWHBWRKTHZ-UHFFFAOYSA-N 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 206010039203 Road traffic accident Diseases 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000001294 propane Substances 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000000979 retarding effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/028—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
- G05D1/0282—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal generated in a local control room
-
- 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
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0062—Adapting control system settings
- B60W2050/0075—Automatic parameter input, automatic initialising or calibrating means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2556/00—Input parameters relating to data
- B60W2556/10—Historical data
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2556/00—Input parameters relating to data
- B60W2556/45—External transmission of data to or from the vehicle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2756/00—Output or target parameters relating to data
- B60W2756/10—Involving external transmission of data to or from the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Transportation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Feedback Control In General (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请公开了一种自动驾驶方法、训练方法及相关装置,该方法包括:自动驾驶装置根据自动驾驶任务的M组历史路径,确定所述自动驾驶任务的任务特征向量,所述任务特征向量为表征所述自动驾驶任务的特征的向量,M为大于0的整数;所述自动驾驶装置根据所述任务特征向量和状态向量,确定所需执行的目标驾驶操作,所述状态向量用于表征所述自动驾驶装置的行驶状态;所述自动驾驶装置执行所述目标驾驶操作。本申请实施例中,自动驾驶装置利用自动驾驶任务的历史路径确定该自动驾驶任务的任务特征向量,进而根据该任务特征向量有针对性的制定出驾驶策略;可以有效利用已有的历史路径,制定出更好的驾驶策略。
Description
技术领域
本申请涉及人工智能领域,尤其涉及一种自动驾驶方法、训练方法及相关装置。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
自动驾驶是人工智能领域的一种主流应用,自动驾驶技术依靠计算机视觉、雷达、监控装置和全球定位系统等协同合作,让机动车辆可以在不需要人类主动操作下,实现自动驾驶。自动驾驶车辆使用各种计算系统来帮助将乘客从一个位置运输到另一位置。一些自动驾驶车辆可能要求来自操作者(诸如,领航员、驾驶员、或者乘客)的一些初始输入或者连续输入。自动驾驶车辆准许操作者从手动模操作式切换到自动驾驶模式或者介于两者之间的模式。由于自动驾驶技术无需人类来驾驶机动车辆,所以理论上能够有效避免人类的驾驶失误,减少交通事故的发生,且能够提高公路的运输效率。因此,自动驾驶技术越来越受到重视。
自动驾驶车辆通常行驶在复杂多变的动态场景中,经常需要处理之前未处理过的驾驶任务,例如新的场景中的泊车任务。由于无法穷举出自动驾驶车辆在行驶过程中可能需要处理的各种驾驶任务,也就无法制定出适用于各种驾驶任务的驾驶策略。当前通常采用强化学习来学习适用于新的驾驶任务的驾驶策略。强化学习(Reinforcement Learning,RL)是一种重要的机器学习方法,在自动驾驶、智能控制机器人及分析预测等领域有许多应用。采用强化学习可以针对特定的任务学习出很好的策略,但对于同类问题的其他任务,先前学习到的策略完全不能使用,对于新任务需要从头开始训练一个新的策略,这大大降低了强化学习的效率。举例来说,利用强化学习训练了一个用于自动泊车的网络模型,自动驾驶车辆利用该网络模型可以自动停到某种类型的停车位。然而,当停车位的类型改变时,该自动驾驶车辆需要重新训练一个新的网络模型。在实际应用中,自动驾驶车辆对于每一个新的驾驶任务均需要获取大量的训练数据进行训练,以便学习该驾驶任务的策略。然而,获取训练数据的过程会对自动驾驶车辆造成很大的磨损,并且成本高,时间开销大。因此,需要研究如何基于少量探索和训练,就可以针对任一种任务学习出很好的策略的方法。
发明内容
本申请实施例提供一种自动驾驶方法、训练方法及相关装置,可以基于少量探索和训练,快速地对任一种任务学习出很好的策略。
第一方面,本申请实施例提供了一种自动驾驶方法,该方法包括:自动驾驶装置根据自动驾驶任务的M组历史路径,确定所述自动驾驶任务的任务特征向量,所述任务特征向量为表征所述自动驾驶任务的特征的向量,M为大于0的整数;所述自动驾驶装置根据所述任务特征向量和状态向量,确定所需执行的目标驾驶操作,所述状态向量用于表征所述自动驾驶装置的行驶状态;所述自动驾驶装置执行所述目标驾驶操作。
通过任务抽象网络提取任务的特征信息,通过共享策略网络结合各任务独有的特征以及各任务共有的特征来确定处理各任务的策略,可以更加快速、准确地找到全局的更优策略,更具泛化能力,可以应用到相似的一类任务中。
本申请实施例中,自动驾驶装置利用自动驾驶任务的历史路径确定该自动驾驶任务的任务特征向量,进而根据该任务特征向量有针对性的制定出驾驶策略;可以有效利用已有的历史路径,制定出更好的驾驶策略。
在一个可选的实现方式中,所述自动驾驶装置根据自动驾驶任务的M组历史路径,确定所述自动驾驶任务的任务特征向量包括:
所述自动驾驶装置获得所述M组历史路径;
所述自动驾驶装置利用任务抽象网络对所述M组历史路径做特征提取,得到M组中间特征向量,所述M组中间特征向量与所述M组历史路径一一对应;
所述自动驾驶装置根据所述M组中间特征向量,确定所述任务特征向量。
在该实现方式中,利用任务抽象网络可以准确、快速地提取出自动驾驶任务的特征。
在一个可选的实现方式中,所述自动驾驶装置根据所述任务特征向量和状态向量,确定所需执行的目标驾驶操作包括:
所述自动驾驶装置利用共享策略网络对所述任务特征向量和所述状态向量做处理,得到所述目标驾驶操作,所述共享策略网络为用于实现强化学习的神经网络。
在该实现方式中,共享策略网络根据任务特征向量和状态向量确定所需执行的驾驶操作,可以根据各自动驾驶任务的特征有针对性的制定不同的驾驶策略。
在一个可选的实现方式中,所述自动驾驶装置获得所述M组历史路径中的任一组历史路径包括:
所述自动驾驶装置利用所述共享策略网络对参考特征向量和第一状态向量做处理,得到第一驾驶操作;所述参考特征向量为零向量或根据所述自动驾驶任务的N组历史路径确定的所述自动驾驶任务的特征向量,所述第一状态向量用于表征所述自动驾驶装置在第一时间步的行驶状态,N为大于0的整数;
所述自动驾驶装置在所述第一时间步执行所述第一驾驶操作;
所述自动驾驶装置获得所述自动驾驶装置在第二时间步的行驶状态和执行所述第一驾驶操作的回报,所述第二时间步为所述第一时间步的下一时间步;
所述自动驾驶装置根据完成或执行所述自动驾驶任务的T个时间步的信息,确定一组历史路径;所述T个时间步包括所述第一时间步,所述T个时间步中任一个时间步的信息包括所述自动驾驶装置在所述任一时间步的行驶状态、执行的驾驶操作以及得到的回报,T为不小于1的整数。
在一个可选的实现方式中,所述自动驾驶装置利用所述共享策略网络对参考特征向量和第一状态向量做处理,得到第一驾驶操作之前,所述方法还包括:
所述自动驾驶装置获得所述N组历史路径;
所述自动驾驶装置根据所述N组历史路径对应的N个损失,更新所述自动驾驶任务对应的一组任务抽象网络参数,所述N个损失与所述N组历史路径一一对应;
所述自动驾驶装置利用所述任务抽象网络对所述N组历史路径做特征提取,得到N个中间特征向量,所述N个中间特征向量与所述N组历史路径一一对应;其中,所述任务抽象网络采用所述一组任务抽象网络参数对所述N组历史路径进行处理;
所述自动驾驶装置根据所述N个中间特征向量,确定所述参考特征向量。
在一个可选的实现方式中,所述自动驾驶装置根据所述N组历史路径对应的N个损失,更新所述自动驾驶任务对应的一组任务抽象网络参数包括:
所述自动驾驶装置利用第一损失函数相对于所述任务抽象网络的参数的梯度值,更新所述任务抽象网络相对于所述自动驾驶任务的一组相对参数;所述一组任务抽象网络参数为所述任务抽象网络的参数与所述一组相对参数之差,所述第一损失函数用于计算所述N个损失的损失和。
在一个可选的实现方式中,所述第一损失函数的计算公式如下:
其中,θTA表示所述任务抽象网络的参数;表示所述共享策略网络的输入为状态向量st和特征向量h(θTA),输出为驾驶操作at的概率;H为最大步数,t表示时间步;b(st)表示用于计算所述自动驾驶装置在时间步t获得的回报的基准函数;rt′表示所述自动驾驶装置在时间步t获得的真实回报;Eτ[]表示计算中括号中的期望。
在一个可选的实现方式中,所述方法还包括:
所述自动驾驶装置利用第二损失函数相对于所述任务抽象网络的参数的梯度值,更新所述任务抽象网络的参数;所述第二损失函数用于计算F个自动驾驶任务的F个损失的损失和或所述F个损失的损失和的平均数,所述F个损失与所述F个自动驾驶任务一一对应,所述F个自动驾驶任务中任一个任务的损失为根据所述任一个任务最新的一批历史路径计算得到的损失,F为大于1的整数;
所述自动驾驶装置利用所述第二损失函数相对于所述共享策略网络的参数的梯度值,更新所述共享策略网络的参数。
在一个可选的实现方式中,所述方法还包括:
所述自动驾驶装置利用所述第二损失函数相对于目标学习率的梯度,更新所述目标学习率,所述目标学习率为更新所述任务抽象网络相对于所述自动驾驶任务的所述一组任务抽象网络参数的学习率。
在一个可选的实现方式中,所述第二损失函数的计算公式如下:
其中,θ={θTA、θpolicy、α},θTA表示所述任务抽象网络的参数,θpolicy表示所述共享策略网络的参数,α表示所述目标学习率;πθ(at|st)表示θ更新后所述共享策略网络的输入为状态向量st,输出为驾驶操作at的概率;表示θ更新前所述共享策略网络的输入为状态向量st,输出为驾驶动作at的概率;H为最大步数,b(st)表示用于计算所述自动驾驶装置在时间步t获得的回报的基准函数,rt′表示所述自动驾驶装置在时间步t获得的真实回报;clip(rt(θ),1-ε,1+ε,rt(θ))表示rt(θ)的最小值为1-ε,最大值为1+ε,ε为一个大于0的常数项;表示θ更新前后的两个分布概率的相对熵,β为一个超参数;Et[]表示计算中括号中的期望。
在一个可选的实现方式中,所述任务特征向量为H维向量,所述状态向量为G维向量,G除以H得到的值大于目标阈值。
第二方面,本申请实施例提供了一种训练方法,该方法包括:获得F个自动驾驶任务对应的F批历史路径;所述F批历史路径与所述F个自动驾驶任务一一对应,所述F批历史路径中任一批历史路径至少包括一组历史路径,F为大于1的整数;根据所述F个自动驾驶任务对应的F个损失,更新任务抽象网络的参数;所述任务抽象网络用于根据所述F个自动驾驶任务中任一任务的历史路径,确定表征所述任一任务的特征的任务特征向量;所述F个损失与所述F个自动驾驶任务一一对应;根据所述F个损失,更新共享策略网络的参数;所述共享策略网络用于根据状态向量和所述任务抽象网络提取出的任务特征向量,确定自动驾驶装置所需执行的驾驶操作;所述状态向量用于表征所述自动驾驶装置的行驶状态。
一个自动驾驶任务对应的损失可以是与该一个自动驾驶任务相对应的一批历史路径的损失和或一批路径损失包括的各组历史路径的平均损失。
本申请实施例中,综合全部任务的损失来更新任务抽象网络的参数和共享策略网络的参数,以便于任务抽象网络和共享策略网络能够高效地处理各任务。
在一个可选的实现方式中,所述获得F个自动驾驶任务对应的F批历史路径包括:
将参考特征向量和第一状态向量输入到所述共享策略网络进行处理,得到第一驾驶操作;所述参考特征向量为零向量或根据所述任一任务的N组历史路径确定的所述任一任务的任务特征向量,所述第一状态向量用于表征所述自动驾驶装置在第一时间步的行驶状态,N为大于0的整数;
获得所述自动驾驶装置在第二时间步的行驶状态和执行所述第一驾驶操作的回报,所述第二时间步为所述第一时间步的下一时间步,所述自动驾驶装置在所述第二时间步的行驶状态为所述自动驾驶装置在所述第一时间步执行所述第一驾驶操作后达到的行驶状态;
根据所述自动驾驶装置完成或执行所述任一任务的T个时间步的信息,确定所述任一任务的一组历史路径;所述T个时间步包括所述第一时间步,所述T个时间步中任一个时间步的信息包括所述自动驾驶装置在所述任一时间步的行驶状态、执行的驾驶操作以及得到的回报,T为不小于1的整数。
在一个可选的实现方式中,所述将参考特征向量和第一状态向量输入到所述共享策略网络进行处理,得到第一驾驶操作之前,所述方法还包括:
获得所述N组历史路径;
根据所述N组历史路径对应的N个损失,更新所述自动驾驶任务对应的一组任务抽象网络参数,所述N个损失与所述N组历史路径一一对应;
利用所述任务抽象网络采用更新后的所述一组任务抽象网络参数对所述N组历史路径进行处理,得到N个中间特征向量,所述N个中间特征向量与所述N组历史路径一一对应;
根据所述N个中间特征向量,确定所述参考特征向量。
在一个可选的实现方式中,所述根据所述N组历史路径对应的N个损失,更新所述自动驾驶任务对应的一组任务抽象网络参数包括:
利用第一损失函数相对于所述任务抽象网络的参数的梯度值,更新所述任务抽象网络相对于所述自动驾驶任务的一组相对参数;所述一组任务抽象网络参数为所述任务抽象网络的参数与所述一组相对参数之差,所述第一损失函数用于计算所述N个损失的损失和。
在一个可选的实现方式中,所述第一损失函数的计算公式如下:
其中,θTA表示所述任务抽象网络的参数;表示所述共享策略网络的输入为状态向量st和特征向量h(θTA),输出为驾驶操作at的概率;H为最大步数,t表示时间步;b(st)表示用于计算所述自动驾驶装置在时间步t获得的回报的基准函数;rt′表示所述自动驾驶装置在时间步t获得的真实回报;Eτ[]表示计算中括号中的期望。
在一个可选的实现方式中,所述根据所述F个自动驾驶任务对应的F个损失,更新任务抽象网络的参数包括:
利用第二损失函数相对于所述任务抽象网络的参数的梯度值,更新所述任务抽象网络的参数;所述第二损失函数用于计算所述F个自动驾驶任务的F个损失的损失和或所述F个损失的损失和的平均数,所述F个损失与所述F个自动驾驶任务一一对应,所述F个自动驾驶任务中任一个任务的损失为根据所述任一个任务最新的一批历史路径计算得到的损失。
在一个可选的实现方式中,所述根据所述F个损失,更新共享策略网络的参数包括:
利用所述第二损失函数相对于所述共享策略网络的参数的梯度值,更新所述共享策略网络的参数。
在一个可选的实现方式中,所述方法还包括:
利用所述第二损失函数相对于目标学习率的梯度值,更新所述目标学习率,所述目标学习率为更新所述任务抽象网络相对于所述任一任务的相对参数的学习率。
在一个可选的实现方式中,所述第二损失函数的计算公式如下:
其中,θ={θTA、θpolicy、α},θTA表示所述任务抽象网络的参数,θpolicy表示所述共享策略网络的参数,α表示所述目标学习率;πθ(at|st)表示θ更新后所述共享策略网络的输入为状态向量st,输出为驾驶操作at的概率;(at|st表示θ更新前所述共享策略网络的输入为状态向量st,输出为驾驶动作at的概率;H为最大步数,b(st)表示用于计算所述自动驾驶装置在时间步t获得的回报的基准函数,rt′表示所述自动驾驶装置在时间步t获得的真实回报;clip(rt(θ),1-ε,1+ε,rt(θ))表示rt(θ)的最小值为1-ε,最大值为1+ε,ε为一个大于0的常数项;表示θ更新前后的两个分布概率的相对熵,β为一个超参数;Et[]表示计算中括号中的期望。
在一个可选的实现方式中,所述任务特征向量为H维向量,所述状态向量为G维向量,G除以H得到的值大于目标阈值。
第三方面,本申请实施例提供了另一种自动驾驶方法,该方法包括:
自动驾驶装置接收自动驾驶任务;所述自动驾驶装置通过收发器向云服务器发送驾驶信息;所述自动驾驶装置接收来自所述云服务器的控制指令;所述自动驾驶装置执行所述控制执行所指示的目标驾驶操作。
所述云服务器确定所述控制指令的过程如下:所述云服务器根据所述驾驶信息,确定所述自动驾驶装置当前的自动驾驶任务以及表征所述自动驾驶装置的行驶状态的状态向量;所述云服务器根据所述自动驾驶任务的M组历史路径,确定所述自动驾驶任务的任务特征向量;所述云服务器根据所述任务特征向量和所述状态向量,确定所述自动驾驶装置所需执行的所述目标驾驶操作;确定所述目标驾驶操作对应的所述控制指令。
本申请实施例中,自动驾驶装置在云服务器的控制执行下实现自动驾驶操作,仅需要向云服务器发送驾驶信息,工作量较少。另外,由于云服务器获取的信息多于自动驾驶装置且处理能力更强,自动驾驶装置云服务器的控制下可以更安全、更合理完成其自动驾驶任务。
第四方面,本申请实施例提供了另一种自动驾驶方法,该方法包括:
所述云服务器接收自动驾驶装置的驾驶信息;所述云服务器根据所述驾驶信息,确定所述自动驾驶装置当前的自动驾驶任务以及表征所述自动驾驶装置的行驶状态的状态向量;所述云服务器根据所述自动驾驶任务的M组历史路径,确定所述自动驾驶任务的任务特征向量;所述云服务器根据所述任务特征向量和所述状态向量,确定所述自动驾驶装置所需执行的所述目标驾驶操作;所述云服务器向所述自动驾驶装置发送控制指令,所述控制指令用于指示所述自动驾驶装置执行所述目标驾驶操作。
本申请实施例中,云服务器具备自动驾驶装置无法比拟的处理能力以及数据存储能力,云服务器可以充分利用自身的处理资源和存储资源来为每个自动驾驶装置提供自动驾驶服务。另外,自动驾驶装置不需要自身来确定所需执行的驾驶操作,工作量较少。
在一个可选的实现方式中,所述云服务器根据所述自动驾驶任务的M组历史路径,确定所述自动驾驶任务的任务特征向量包括:
所述云服务器获得所述M组历史路径;
所述云服务器利用任务抽象网络对所述M组历史路径做特征提取,得到M组中间特征向量,所述M组中间特征向量与所述M组历史路径一一对应;
所述云服务器根据所述M组中间特征向量,确定所述任务特征向量。
在一个可选的实现方式中,所述云服务器根据所述任务特征向量和所述状态向量,确定所述自动驾驶装置所需执行的所述目标驾驶操作包括:
所述云服务器利用共享策略网络对所述任务特征向量和所述状态向量做处理,得到所述目标驾驶操作,所述共享策略网络为用于实现强化学习的神经网络。
在一个可选的实现方式中,所述云服务器获得所述M组历史路径中的任一组历史路径包括:
所述云服务器利用所述共享策略网络对参考特征向量和第一状态向量做处理,得到第一驾驶操作;所述参考特征向量为零向量或根据所述自动驾驶任务的N组历史路径确定的所述自动驾驶任务的特征向量,所述第一状态向量用于表征所述自动驾驶装置在第一时间步的行驶状态,N为大于0的整数;
所述云服务器指示自动驾驶装置在所述第一时间步执行所述第一驾驶操作;
所述云服务器获得所述自动驾驶装置在第二时间步的行驶状态和执行所述第一驾驶操作的回报,所述第二时间步为所述第一时间步的下一时间步;
所述云服务器根据所述自动驾驶装置完成或执行所述自动驾驶任务的T个时间步的信息,确定一组历史路径;所述T个时间步包括所述第一时间步,所述T个时间步中任一个时间步的信息包括所述自动驾驶装置在所述任一时间步的行驶状态、执行的驾驶操作以及得到的回报,T为不小于1的整数。
在一个可选的实现方式中,所述云服务器利用所述共享策略网络对参考特征向量和第一状态向量做处理,得到第一驾驶操作之前,所述方法还包括:
所述云服务器获得所述N组历史路径;
所述云服务器根据所述N组历史路径对应的N个损失,更新所述自动驾驶任务对应的一组任务抽象网络参数,所述N个损失与所述N组历史路径一一对应;
所述云服务器利用所述任务抽象网络对所述N组历史路径做特征提取,得到N个中间特征向量,所述N个中间特征向量与所述N组历史路径一一对应;其中,所述任务抽象网络采用所述一组任务抽象网络参数对所述N组历史路径进行处理;
所述云服务器根据所述N个中间特征向量,确定所述参考特征向量。
在一个可选的实现方式中,所述云服务器根据所述N组历史路径对应的N个损失,更新所述自动驾驶任务对应的一组任务抽象网络参数包括:
所述云服务器利用第一损失函数相对于所述任务抽象网络的参数的梯度值,更新所述任务抽象网络相对于所述自动驾驶任务的一组相对参数;所述一组任务抽象网络参数为所述任务抽象网络的参数与所述一组相对参数之差,所述第一损失函数用于计算所述N个损失的损失和。
在一个可选的实现方式中,所述第一损失函数的计算公式如下:
其中,θTA表示所述任务抽象网络的参数;表示所述共享策略网络的输入为状态向量st和特征向量h(θTA),输出为驾驶操作at的概率;H为最大步数,t表示时间步;b(st)表示用于计算所述自动驾驶装置在时间步t获得的回报的基准函数;rt′表示所述自动驾驶装置在时间步t获得的真实回报;Eτ[]表示计算中括号中的期望。
在一个可选的实现方式中,所述方法还包括:
所述云服务器利用第二损失函数相对于所述任务抽象网络的参数的梯度值,更新所述任务抽象网络的参数;所述第二损失函数用于计算F个自动驾驶任务的F个损失的损失和或所述F个损失的损失和的平均数,所述F个损失与所述F个自动驾驶任务一一对应,所述F个自动驾驶任务中任一个任务的损失为根据所述任一个任务最新的一批历史路径计算得到的损失,F为大于1的整数;
所述云服务器利用所述第二损失函数相对于所述共享策略网络的参数的梯度值,更新所述共享策略网络的参数。
在一个可选的实现方式中,所述方法还包括:
所述云服务器利用所述第二损失函数相对于目标学习率的梯度,更新所述目标学习率,所述目标学习率为更新所述任务抽象网络相对于所述自动驾驶任务的所述一组任务抽象网络参数的学习率。
在一个可选的实现方式中,所述第二损失函数的计算公式如下:
其中,θ={θTA、θpolicy、α},θTA表示所述任务抽象网络的参数,θpolicy表示所述共享策略网络的参数,α表示所述目标学习率;πθ(at|st)表示θ更新后所述共享策略网络的输入为状态向量st,输出为驾驶操作at的概率;表示θ更新前所述共享策略网络的输入为状态向量st,输出为驾驶动作at的概率;H为最大步数,b(st)表示用于计算所述自动驾驶装置在时间步t获得的回报的基准函数,rt′表示所述自动驾驶装置在时间步t获得的真实回报;clip(rt(θ),1-ε,1+ε,rt(θ))表示rt(θ)的最小值为1-ε,最大值为1+ε,ε为一个大于0的常数项;表示θ更新前后的两个分布概率的相对熵,β为一个超参数;Et[]表示计算中括号中的期望。
在一个可选的实现方式中,所述任务特征向量为H维向量,所述状态向量为G维向量,G除以H得到的值大于目标阈值。
第五方面本申请实施例提供了一种自动驾驶装置,该自动驾驶装置包括:
处理器,用于根据自动驾驶任务的M组历史路径,确定所述自动驾驶任务的任务特征向量,所述任务特征向量为表征所述自动驾驶任务的特征的向量,M为大于0的整数;
所述处理器,还用于根据所述任务特征向量和状态向量,确定所需执行的目标驾驶操作,所述状态向量用于表征自动驾驶装置的行驶状态;
控制系统,用于控制所述自动驾驶装置执行所述目标驾驶操作。
本申请实施例中,自动驾驶装置利用自动驾驶任务的历史路径确定该自动驾驶任务的任务特征向量,进而根据该任务特征向量有针对性的制定出驾驶策略;可以有效利用已有的历史路径,制定出更好的驾驶策略。
在一个可选的实现方式中,所述处理器,还用于获得所述M组历史路径;利用任务抽象网络对所述M组历史路径做特征提取,得到M组中间特征向量,所述M组中间特征向量与所述M组历史路径一一对应;根据所述M组中间特征向量,确定所述任务特征向量。
在一个可选的实现方式中,所述处理器,还用于利用共享策略网络对所述任务特征向量和所述状态向量做处理,得到所述目标驾驶操作,所述共享策略网络为用于实现强化学习的神经网络。
在一个可选的实现方式中,所述处理器,还用于利用所述共享策略网络对参考特征向量和第一状态向量做处理,得到第一驾驶操作;所述参考特征向量为零向量或根据所述自动驾驶任务的N组历史路径确定的所述自动驾驶任务的特征向量,所述第一状态向量用于表征所述自动驾驶装置在第一时间步的行驶状态,N为大于0的整数;
所述控制系统,还用于控制所述自动驾驶装置在所述第一时间步执行所述第一驾驶操作;
所述处理器,还用于获得所述自动驾驶装置在第二时间步的行驶状态和执行所述第一驾驶操作的回报,所述第二时间步为所述第一时间步的下一时间步;根据完成或执行所述自动驾驶任务的T个时间步的信息,确定一组历史路径;所述T个时间步包括所述第一时间步,所述T个时间步中任一个时间步的信息包括所述自动驾驶装置在所述任一时间步的行驶状态、执行的驾驶操作以及得到的回报,T为不小于1的整数。
在一个可选的实现方式中,所述处理器,还用于获得所述N组历史路径;根据所述N组历史路径对应的N个损失,更新所述自动驾驶任务对应的一组任务抽象网络参数,所述N个损失与所述N组历史路径一一对应;利用所述任务抽象网络对所述N组历史路径做特征提取,得到N个中间特征向量,所述N个中间特征向量与所述N组历史路径一一对应;其中,所述任务抽象网络采用所述一组任务抽象网络参数对所述N组历史路径进行处理;根据所述N个中间特征向量,确定所述参考特征向量。
在一个可选的实现方式中,所述处理器,用于利用第一损失函数相对于所述任务抽象网络的参数的梯度值,更新所述任务抽象网络相对于所述自动驾驶任务的一组相对参数;所述一组任务抽象网络参数为所述任务抽象网络的参数与所述一组相对参数之差,所述第一损失函数用于计算所述N个损失的损失和。
在一个可选的实现方式中,所述第一损失函数的计算公式如下:
其中,θTA表示所述任务抽象网络的参数;表示所述共享策略网络的输入为状态向量st和特征向量h(θTA),输出为驾驶操作at的概率;H为最大步数,t表示时间步;b(st)表示用于计算所述自动驾驶装置在时间步t获得的回报的基准函数;rt′表示所述自动驾驶装置在时间步t获得的真实回报;Eτ[]表示计算中括号中的期望。
在一个可选的实现方式中,所述处理器,还用于利用第二损失函数相对于所述任务抽象网络的参数的梯度值,更新所述任务抽象网络的参数;所述第二损失函数用于计算F个自动驾驶任务的F个损失的损失和或所述F个损失的损失和的平均数,所述F个损失与所述F个自动驾驶任务一一对应,所述F个自动驾驶任务中任一个任务的损失为根据所述任一个任务最新的一批历史路径计算得到的损失,F为大于1的整数;利用所述第二损失函数相对于所述共享策略网络的参数的梯度值,更新所述共享策略网络的参数。
在一个可选的实现方式中,所述处理器,还用于利用所述第二损失函数相对于目标学习率的梯度,更新所述目标学习率,所述目标学习率为更新所述任务抽象网络相对于所述自动驾驶任务的所述一组任务抽象网络参数的学习率。
在一个可选的实现方式中,所述第二损失函数的计算公式如下:
其中,θ={θTA、θpolicy、α},θTA表示所述任务抽象网络的参数,θpolicy表示所述共享策略网络的参数,α表示所述目标学习率;πθ(at|st)表示θ更新后所述共享策略网络的输入为状态向量st,输出为驾驶操作at的概率;表示θ更新前所述共享策略网络的输入为状态向量st,输出为驾驶动作at的概率;H为最大步数,b(st)表示用于计算所述自动驾驶装置在时间步t获得的回报的基准函数,rt′表示所述自动驾驶装置在时间步t获得的真实回报;clip(rt(θ),1-ε,1+ε,rt(θ))表示rt(θ)的最小值为1-ε,最大值为1+ε,ε为一个大于0的常数项;表示θ更新前后的两个分布概率的相对熵,β为一个超参数;Et[]表示计算中括号中的期望。
在一个可选的实现方式中,所述任务特征向量为H维向量,所述状态向量为G维向量,G除以H得到的值大于目标阈值。
第六方面本申请实施例提供了一种训练设备,该训练设备包括:
获取单元,用于获得F个自动驾驶任务对应的F批历史路径;所述F批历史路径与所述F个自动驾驶任务一一对应,所述F批历史路径中任一批历史路径至少包括一组历史路径,F为大于1的整数;
处理器,用于根据所述F个自动驾驶任务对应的F个损失,更新任务抽象网络的参数;所述任务抽象网络用于根据所述F个自动驾驶任务中任一任务的历史路径,确定表征所述任一任务的特征的任务特征向量;所述F个损失与所述F个自动驾驶任务一一对应;
所述处理器,还用于根据所述F个损失,更新共享策略网络的参数;所述共享策略网络用于根据状态向量和所述任务抽象网络提取出的任务特征向量,确定自动驾驶装置所需执行的驾驶操作;所述状态向量用于表征所述自动驾驶装置的行驶状态。
该训练设备可以是自动驾驶装置,也可以是云服务器,还可以是其他设备。
本申请实施例中,综合全部任务的损失来更新任务抽象网络的参数和共享策略网络的参数,以便于任务抽象网络和共享策略网络能够高效地处理各任务。
在一个可选的实现方式中,所述处理器,还用于将参考特征向量和第一状态向量输入到所述共享策略网络进行处理,得到第一驾驶操作;所述参考特征向量为零向量或根据所述任一任务的N组历史路径确定的所述任一任务的任务特征向量,所述第一状态向量用于表征所述自动驾驶装置在第一时间步的行驶状态,N为大于0的整数;
所述获取单元,还用于获得所述自动驾驶装置在第二时间步的行驶状态和执行所述第一驾驶操作的回报,所述第二时间步为所述第一时间步的下一时间步,所述自动驾驶装置在所述第二时间步的行驶状态为所述自动驾驶装置在所述第一时间步执行所述第一驾驶操作后达到的行驶状态;
所述处理器,还用于根据所述自动驾驶装置完成或执行所述任一任务的T个时间步的信息,确定所述任一任务的一组历史路径;所述T个时间步包括所述第一时间步,所述T个时间步中任一个时间步的信息包括所述自动驾驶装置在所述任一时间步的行驶状态、执行的驾驶操作以及得到的回报,T为不小于1的整数。
在一个可选的实现方式中,所述获取单元,还用于获得所述N组历史路径;
所述处理器,还用于根据所述N组历史路径对应的N个损失,更新所述自动驾驶任务对应的一组任务抽象网络参数,所述N个损失与所述N组历史路径一一对应;
所述处理器,还用于利用所述任务抽象网络采用更新后的所述一组任务抽象网络参数对所述N组历史路径进行处理,得到N个中间特征向量,所述N个中间特征向量与所述N组历史路径一一对应;根据所述N个中间特征向量,确定所述参考特征向量。
在一个可选的实现方式中,所述处理器,用于利用第一损失函数相对于所述任务抽象网络的参数的梯度值,更新所述任务抽象网络相对于所述自动驾驶任务的一组相对参数;所述一组任务抽象网络参数为所述任务抽象网络的参数与所述一组相对参数之差,所述第一损失函数用于计算所述N个损失的损失和。
在一个可选的实现方式中,所述第一损失函数的计算公式如下:
其中,θTA表示所述任务抽象网络的参数;表示所述共享策略网络的输入为状态向量st和特征向量h(θTA),输出为驾驶操作at的概率;H为最大步数,t表示时间步;b(st)表示用于计算所述自动驾驶装置在时间步t获得的回报的基准函数;rt′表示所述自动驾驶装置在时间步t获得的真实回报;Eτ[]表示计算中括号中的期望。
在一个可选的实现方式中,所述处理器,用于利用第二损失函数相对于所述任务抽象网络的参数的梯度值,更新所述任务抽象网络的参数;所述第二损失函数用于计算所述F个自动驾驶任务的F个损失的损失和或所述F个损失的损失和的平均数,所述F个损失与所述F个自动驾驶任务一一对应,所述F个自动驾驶任务中任一个任务的损失为根据所述任一个任务最新的一批历史路径计算得到的损失。
在一个可选的实现方式中,所述处理器,用于利用所述第二损失函数相对于所述共享策略网络的参数的梯度值,更新所述共享策略网络的参数。
在一个可选的实现方式中,所述处理器,还用于利用所述第二损失函数相对于目标学习率的梯度值,更新所述目标学习率,所述目标学习率为更新所述任务抽象网络相对于所述任一任务的相对参数的学习率。
在一个可选的实现方式中,所述第二损失函数的计算公式如下:
其中,θ={θTA、θpolicy、α},θTA表示所述任务抽象网络的参数,θpolicy表示所述共享策略网络的参数,α表示所述目标学习率;πθ(at|st)表示θ更新后所述共享策略网络的输入为状态向量st,输出为驾驶操作at的概率;(at|st表示θ更新前所述共享策略网络的输入为状态向量st,输出为驾驶动作at的概率;H为最大步数,b(st)表示用于计算所述自动驾驶装置在时间步t获得的回报的基准函数,rt′表示所述自动驾驶装置在时间步t获得的真实回报;clip(rt(θ),1-ε,1+ε,rt(θ))表示rt(θ)的最小值为1-ε,最大值为1+ε,ε为一个大于0的常数项;表示θ更新前后的两个分布概率的相对熵,β为一个超参数;Et[]表示计算中括号中的期望。
在一个可选的实现方式中,所述任务特征向量为H维向量,所述状态向量为G维向量,G除以H得到的值大于目标阈值。
第七方面本申请实施例提供了另一种自动驾驶装置,该自动驾驶装置包括:
输入设备,用于接收自动驾驶任务;
收发器,用于向云服务器发送驾驶信息;接收来自所述云服务器的控制指令;
控制系统,用于控制自动驾驶装置执行所述控制执行所指示的目标驾驶操作。
第八方面本申请实施例提供了一种云服务器,该云服务器包括:
收发器,用于接收自动驾驶装置的驾驶信息;
处理器,用于根据所述驾驶信息,确定所述自动驾驶装置当前的自动驾驶任务以及表征所述自动驾驶装置的行驶状态的状态向量;根据所述自动驾驶任务的M组历史路径,确定所述自动驾驶任务的任务特征向量;根据所述任务特征向量和所述状态向量,确定所述自动驾驶装置所需执行的所述目标驾驶操作;
所述收发器,还用于向所述自动驾驶装置发送控制指令,所述控制指令用于指示所述自动驾驶装置执行所述目标驾驶操作。
第九方面本申请实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面至第四方面以及任一种可选的实现方式的方法。
第十方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括程序指令,所述程序指令当被处理器执行时使所述信处理器执行上述第一方面至第四方面以及任一种可选的实现方式的方法。
第十一方面,本申请实施例提供了一种提供了一种自动驾驶装置,包括存储器和处理器;存储器用于保存程序指令,处理器用于执行所述程序指令以执行上述第一方面至第三方面以及任一种可选的实现方式的方法。
第十二方面,本申请实施例提供了一种提供了一种云服务器,包括存储器和处理器;存储器用于保存程序指令,处理器用于执行所述程序指令以执行上述第四方面以及任一种可选的实现方式的方法。
附图说明
图1是本申请实施例提供的自动驾驶装置100的功能框图;
图2为本申请实施例提供的一种自动驾驶系统的结构示意图;
图3是本申请实施例提供的一种芯片硬件结构图;
图4为本申请实施例提供的一种自动驾驶方法流程示意图;
图5为本申请实施例提供的另一种自动驾驶方法流程示意图;
图6为本申请实施例提供的一种自动驾驶系统的架构示意图;
图7为本申请实施例提供的一种任务抽象网络和共享策略网络的示意图;
图8为本申请实施例提供的一种更新任务抽象网络的参数的示意图;
图9为本申请实施例提供的一种参数更新过程示意图;
图10为本申请实施例提供的一种训练方法流程示意图;
图11为本申请提供的一种训练设备的结构示意图;
图12为本申请实施例提供的一种训练任务抽象网络和共享策略网络的方法流程图;
图13A-图13C为本申请实施例提供的任务特征向量的示意图;
图14A-图14C为本申请实施例提供的ARD曲线示意图;
图15为本申请实施例提供的一种不同更新方式的ARD曲线示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请实施例方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。
本申请的说明书实施例和权利要求书及上述附图中的术语“第一”、“第二”、和“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1是本申请实施例提供的自动驾驶装置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(定位系统可以是全球定位系统,也可以是北斗系统或者其他定位系统)、惯性测量单元(Inertial Measurement Unit,IMU)124、雷达126、激光测距仪128以及相机130。传感器系统104还可包括监视自动驾驶装置100的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测自动驾驶装置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。
计算机视觉系统140可以操作来处理和分析由相机130捕捉的图像以便识别自动驾驶装置100周边环境中的物体和/或特征。所述物体和/或特征可包括交通信号、道路边界和障碍物。计算机视觉系统140可使用物体识别算法、运动中恢复结构(Structure fromMotion,SFM)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统140可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。
路线控制系统142用于确定自动驾驶装置100的行驶路线。在一些实施例中,路线控制系统142可结合来自传感器138、GPS122和一个或多个预定地图的数据以为自动驾驶装置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 Local Area 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功能性地图示了处理器、存储器,但是本领域的普通技术人员应该理解该处理器、存储器实际上可以包括不存储在相同的物理外壳内的多个处理器或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机系统112的外壳内的其它存储介质。因此,对处理器的引用将被理解为包括对可以或者可以不并行操作的处理器或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,所述处理器只执行与特定于组件的功能相关的计算。
在此处所描述的各个方面中,处理器可以位于远离该自动驾驶装置并且与该自动驾驶装置进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于自动驾驶装置内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
在一些实施例中,数据存储装置114可包含指令115(例如,程序逻辑),指令115可被处理器113执行来实现自动驾驶装置100的各种功能,包括以上描述的功能。数据存储装置114也可包含额外的指令或数据,包括向行进系统102、传感器系统104、控制系统106和外围设备108中的一个或多个发送的指令、从其接收的指令、与其交互和/或对其进行控制的指令。
除了指令115以外,数据存储装置114还可存储数据,例如道路地图、路线信息,自动驾驶装置的位置、方向、速度以及其它信息。这种信息可在自动驾驶装置100在自主、半自主和/或手动模式中操作期间被自动驾驶装置100和计算机系统112使用。数据存储装置114还可以包括至少一个驾驶任务的一组或多组历史路径。一组历史路径可以表示为τ=(s0,a0,r0,s1,a1,r1,...,st,at,rt),即一个包括两个或两个以上(st,at,rt)形式的元组的数据集,每个元组对应一个时间步。其中,s0是环境中自动驾驶装置在时间步0的行驶状态(任务开始时的行驶状态),at是该自动驾驶装置在时间步t执行的驾驶操作,st是该自动驾驶装置在执行驾驶操作at-1之后在环境中的行驶状态(任务结束时的行驶状态),rt是该自动驾驶装置执行驾驶操作at获得的奖励值(在时间步t得到的回报),该值是根据奖励函数计算得到的。行驶状态st是自动驾驶装置100根据传感器系统104测得的信息确定的。驾驶操作at是人类驾驶员或自动驾驶装置执行的操作。若驾驶操作at是驾驶员执行的,则自动驾驶装置利用传感器系统108来检测该驾驶操作。
用户接口116,用于向自动驾驶装置100的用户提供信息或从其接收信息。可选的,用户接口116可包括在外围设备108的集合内的一个或多个输入/输出设备,例如无线通信系统146、车载电脑148、麦克风150和扬声器152。
计算机系统112可基于从各种子系统(例如,行进系统102、传感器系统104和控制系统106)以及从用户接口116接收的信息来控制自动驾驶装置100的功能。例如,计算机系统112可利用来自控制系统106的输入以便控制转向单元132来避免由传感器系统104和障碍物避免系统144检测到的障碍物。在一些实施例中,计算机系统112可对自动驾驶装置100及其子系统的许多方面提供控制。
计算机系统112,用于根据传感器系统104采集的传感器数据,确定自动驾驶装置100的行驶状态,以及根据该行驶状态以及当前的驾驶任务确定自动驾驶转置100所需执行的驾驶操作,并向控制系统106发送该驾驶操作对应的控制指令。自动驾驶装置100的行驶状态可以包括自动驾驶装置100自身的行驶状况,例如车头方向、速度、位置、加速度等,也包括自动驾驶装置100周边环境的状态,例如障碍物的位置、其他车辆的位置和速度、人行横道的位置、交通灯的信号等。
控制系统106,用于控制自动驾驶装置100实现该控制指令对应的驾驶操作。具体的,转向系统132用于调整自动驾驶装置100的前进方向,例如转向系统132为方向盘系统;油门134用于控制引擎118的操作速度并进而控制自动驾驶装置100的速度;制动单元136用于控制自动驾驶装置100减速。制动单元136可使用摩擦力来减慢车轮121。在其他实施例中,制动单元136可将车轮121的动能转换为电流。制动单元136也可采取其他形式来减慢车轮121转速从而控制自动驾驶装置100的速度。
可选的,上述这些组件中的一个或多个可与自动驾驶装置100分开安装或关联。例如,数据存储装置114可以部分或完全地与自动驾驶装置1100分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
可选的,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1不应理解为对本申请实施例的限制。
在道路行进的自动驾驶装置100,可以识别其周围环境内的物体以确定对当前速度的调整。所述物体可以是其它自动驾驶装置、交通控制设备、或者其它类型的物体。在一些示例中,可以独立地考虑每个识别的物体,并且基于物体的各自的特性,诸如它的当前速度、加速度、与自动驾驶装置的间距等,可以用来确定自动驾驶汽车所要调整的速度。
可选的,自动驾驶装置100或者与自动驾驶装置100相关联的计算设备(如图1的计算机系统112、计算机视觉系统140、数据存储装置114)可以基于所识别的物体的特性和周围环境的状态(例如,交通、雨、道路上的冰、等等)来预测所述识别的物体的行为。可选的,每一个所识别的物体都依赖于彼此的行为,因此还可以将所识别的所有物体全部一起考虑来预测单个识别的物体的行为。自动驾驶装置100能够基于预测的所述识别的物体的行为来调整它的速度。换句话说,自动驾驶汽车能够基于所预测的物体的行为来确定自动驾驶装置将需要调整到(例如,加速、减速、或者停止)什么稳定状态。在这个过程中,也可以考虑其它因素来确定自动驾驶装置100的速度,诸如,自动驾驶装置100在行驶的道路中的横向位置、道路的曲率、静态和动态物体的接近度等等。
除了提供调整自动驾驶汽车的速度的指令之外,计算设备还可以提供修改自动驾驶装置100的转向角的指令,以使得自动驾驶汽车遵循给定的轨迹和/或维持与自动驾驶汽车附近的物体(例如,道路上的相邻车道中的轿车)的安全横向和纵向距离。
上述自动驾驶装置100可以为轿车、机器人、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场自动驾驶装置、施工设备、电车、高尔夫球车、火车、手推车等,本申请实施例不做限定。
图1介绍了自动驾驶装置100的功能框图,下面介绍自动驾驶装置100中的自动驾驶系统101。图2为本申请实施例提供的一种自动驾驶系统的结构示意图。图1和图2是从不同的角度来描述自动驾驶装置100,例如图2中的计算机系统101为图1中的计算机系统112。如图2所示,计算机系统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可以是任何传统处理器,包括精简指令集计算(“RISC”)处理器、复杂指令集计算(“CISC”)处理器或上述的组合。可选的,处理器可以是诸如专用集成电路(“ASIC”)的专用装置。可选的,处理器103可以是神经网络处理器(Neural-networkProcessing Unit,NPU)或者是神经网络处理器和上述传统处理器的组合。可选的,处理器103挂载有一个神经网络处理器。
计算机系统101可以通过网络接口129和软件部署服务器149通信。网络接口129是硬件网络接口,比如,网卡。网络127可以是外部网络,比如因特网,也可以是内部网络,比如以太网或者虚拟私人网络(VPN)。可选的,网络127还可以是无线网络,比如WiFi网络,蜂窝网络等。
硬盘驱动接口和系统总线105耦合。硬件驱动接口和硬盘驱动器相连接。系统内存135和系统总线105耦合。运行在系统内存135的数据可以包括计算机系统101的操作系统137和应用程序143。
操作系统包括壳(Shell)139和内核(kernel)141。壳139是介于使用者和操作系统之内核(kernel)间的一个接口。壳139是操作系统最外面的一层。壳139管理使用者与操作系统之间的交互:等待使用者的输入,向操作系统解释使用者的输入,并且处理各种各样的操作系统的输出结果。
内核141由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。直接与硬件交互,操作系统内核通常运行进程,并提供进程间的通信,提供CPU时间片管理、中断、内存管理、IO管理等等。
应用程序141包括自动驾驶相关程序,比如,管理自动驾驶装置和路上障碍物交互的程序,控制自动驾驶装置的行车路线或者速度的程序,控制自动驾驶装置100和路上其他自动驾驶装置交互的程序。应用程序141也存在于软件部署服务器(deploying server)149的系统上。在一个实施例中,在需要执行应用程序141时,计算机系统101可以从软件部署服务器149下载应用程序141。
传感器153和计算机系统101关联。传感器153用于探测计算机系统101周围的环境。举例来说,传感器153可以探测动物,汽车,障碍物和人行横道等,进一步传感器还可以探测上述动物,汽车,障碍物和人行横道等物体周围的环境,比如:动物周围的环境,例如,动物周围出现的其他动物,天气条件,周围环境的光亮度等。可选的,如果计算机系统101位于自动驾驶装置上,传感器可以是摄像头,红外线感应器,化学检测器,麦克风等。传感器153在激活时按照预设间隔感测信息并实时或接近实时地将所感测的信息提供给计算机系统101。
计算机系统101,用于根据传感器153采集的传感器数据,确定自动驾驶装置100的行驶状态,以及根据该行驶状态和当前的驾驶任务确定自动驾驶转置100所需执行的驾驶操作,并向控制系统106(图1)发送该驾驶操作对应的控制指令。自动驾驶装置100的行驶状态可以包括自动驾驶装置100自身的行驶状况,例如车头方向、速度、位置、加速度等,也包括自动驾驶装置100周边环境的状态,例如障碍物的位置、其他车辆的位置和速度、人行横道的位置、交通灯的信号等。计算机系统101可以包括由处理器103实现的任务抽象网络和共享策略网络。具体的,处理器103确定当前的自动驾驶任务;处理器103将该自动驾驶任务的至少一组历史路径输入到任务抽象网络做特征提取,得到表征该自动驾驶任务的特征的任务特征向量;处理器103根据传感器153采集的传感器数据,确定表征自动驾驶装置的当前行驶状态的状态向量;处理器103将该任务特征向量和该状态向量输入到共享策略网络做处理,得到该自动驾驶装置当前所需执行的驾驶操作;处理器103通过控制系统执行该驾驶操作;处理器103重复之前确定和执行驾驶操作的步骤,直到完成该自动驾驶任务。
可选的,在本文所述的各种实施例中,计算机系统101可位于远离自动驾驶装置的地方,并且可与自动驾驶装置进行无线通信。收发器123可将自动驾驶任务、传感器153采集的传感器数据和其他数据发送给计算机系统101;还可以接收计算机系统101发送的控制指令。自动驾驶装置可执行收发器接收的来自计算机系统101的控制指令,并执行相应的驾驶操作。在其它方面,本文所述的一些过程在设置在自动驾驶车辆内的处理器上执行,其它由远程处理器执行,包括采取执行单个操纵所需的动作。
图3是本申请实施例提供的一种芯片硬件结构图。神经网络处理器NPU30作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路303,通过控制器304控制运算电路303提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路303内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路303是二维脉动阵列。运算电路303还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路303是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器302中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器301中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器308中。
统一存储器306用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器305(Direct Memory Access Controller,DMAC)被搬运到权重存储器302中。输入数据也通过DMAC被搬运到统一存储器306中。
BIU为Bus Interface Unit即,总线接口单元310,用于AXI总线与DMAC和取指存储器309的交互。
总线接口单元310,用于取指存储器309从外部存储器获取指令,还用于存储单元访问控制器305从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器306或将权重数据搬运到权重存储器302中或将输入数据数据搬运到输入存储器301中。输入数据可以是自动驾驶任务的一组或多组历史路径以及表征自动驾驶装置的行驶状态的状态向量。
向量计算单元307多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/FC层网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。
在一些实现中,向量计算单元能307将经处理的输出的向量存储到统一缓存器306。例如,向量计算单元307可以将非线性函数应用到运算电路303的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元307生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路303的激活输入,例如用于在神经网络中的后续层中的使用。
控制器304连接的取指存储器309,用于存储控制器304使用的指令。
统一存储器306,输入存储器301,权重存储器302以及取指存储器309均为On-Chip存储器。
可选的,图1中的处理器113和图2中的处理器103均为图3中的主CPU,本文中涉及到处理器的操作均由主CPU实现,例如确定自动驾驶任务的任务特征向量的操作。可选的,主CPU向NPU分配自动驾驶任务;NPU根据该自动驾驶任务的一组或多组历史路径提取该自动驾驶任务的任务特征向量,以及根据该任务特征向量和表征自动驾驶装置的行驶状态的状态向量确定该自动驾驶装置所需执行的驾驶操作。也就是说,主CPU确定该自动驾驶任务的一组或多组历史路径,并通知NPU根据该一组或多组历史路径提取该自动驾驶任务的任务特征向量;主CPU根据传感器采集的数据确定表征自动驾驶装置的行驶状态的状态向量,并提供给NPU,以便于NPU确定该自动驾驶装置所需执行的驾驶操作。
图4为本申请实施例提供的一种自动驾驶方法,如图4所示,该方法可包括:
401、自动驾驶装置根据自动驾驶任务的M组历史路径,确定该自动驾驶任务的任务特征向量。
M为大于0的整数。该任务特征向量为表征该自动驾驶任务的特征的向量。自动驾驶装置100的存储器114存储有该M组历史路径。该自动驾驶任务可以是行驶任务,例如从当前地点行驶到用户指定的另一个地点;也可以是泊车任务;还可以是其他与自动驾驶相关的任务。可选的,自动驾驶装置在执行401之前,确定所需处理的自动驾驶任务。自动驾驶装置可以通过外围设备108接收用户输入的自动驾驶任务。举例来说,自动驾驶装置接收用户通过车载电脑148输入的自动驾驶任务。用户可以通过车载电脑148的触摸屏输入自动驾驶任务,即输入驾驶任务的起始地点和目标地点(目的地)。又举例来说,自动驾驶装置通过麦克风150接收用户输入的语音命令,该语音命令指示某个自动驾驶任务。
402、该自动驾驶装置根据该任务特征向量和状态向量,确定所需执行的目标驾驶操作。
该状态向量为表征该自动驾驶装置在时间步t的行驶状态st的向量,即表征该自动驾驶装置的当前行驶状态st的向量。行驶状态st可以包括该自动驾驶装置的位置、速度、转向角度、加速度等,以及该自动驾驶装置周边环境的状态。可选的,自动驾驶装置根据传感器系统104感测的数据,生成该状态向量。可选的,任务特征向量为H维特征向量,状态向量为G维向量,G除以H得到的值大于目标阈值。该目标阈值可以是大于0的任意数,例如0.2、0.5等。可以理解,该自动驾驶装置综合任务特征向量和状态向量来确定所需执行的驾驶操作,而不是仅根据状态向量来确定所需执行的驾驶操作,可以有效利用已有的历史路径,制定出更好的驾驶策略。
403、该自动驾驶装置执行该目标驾驶操作。
该自动驾驶装置确定目标驾驶操作后,生成该目标驾驶操作对应的控制指令,并发送给控制系统106;控制系统106执行该控制指令,以完成该目标驾驶操作。控制系统106实现该目标驾驶操作的过程如下:转向系统132将自动驾驶装置的转向角度调整为该控制指令指示的转向角度;制动单元136根据该控制指令指示的制动值相应的调整其制动力;油门134根据该控制指令指示的油门值相应的调整引擎118的操作速度。
401至403仅描述了自动驾驶装置执行一个驾驶操作(目标驾驶操作)的过程。在实际应用中,自动驾驶装置需要执行一系列的驾驶操作直至完成当前的驾驶任务。因此,图4中的方法还可以包括如下步骤。
404、该自动驾驶装置确定其执行该目标驾驶操作后的行驶状态st+1。
st+1表示该自动驾驶装置在时间步t+1的行驶状态。
405、该自动驾驶装置重复执行401至404,直到该自动驾驶装置完成该自动驾驶任务。
该自动驾驶装置执行该目标驾驶操作后达到新的行驶状态st+1,将表征该行驶状态st+1的状态向量和该任务特征向量输入到该共享策略网络进行处理,可以得到该自动驾驶装置当前所需执行的驾驶操作at+1(在时间步t+1所需执行的驾驶操作)。可选的,若自动驾驶装置在完成某个驾驶任务时执行的驾驶操作的个数超过步数阈值时(时间步超过步数阈值),该自动驾驶任务重新执行一个新的驾驶任务。步数阈值是指该自动驾驶装置处理该自动驾驶任务可执行的驾驶操作的最大个数,即一组历史路径包括的时间步或元组的最大个数。一组历史路径包括的时间步的个数可以小于步数阈值。举例来说,步数阈值为200,当自动驾驶装置在第120个时间步完成一个任务,得到一组包括120个时间步(120个元组)的历史路径。可选的,自动驾驶装置完成该自动驾驶任务后,生成该自动驾驶任务的一组历史路径并存储,以便于后续为确定其他自动驾驶任务的任务特征向量提供历史路径。
本申请实施例中,自动驾驶装置利用自动驾驶任务的历史路径确定该自动驾驶任务的任务特征向量,进而根据该任务特征向量有针对性的制定出驾驶策略;可以有效利用已有的历史路径,制定出更好的驾驶策略。
自动驾驶装置执行图4中的401之前需要获得自动驾驶任务的M组历史路径。可以理解,自动驾驶装置在未存储且不能从其他设备获得该自动驾驶任务的历史路径的情况下,无法执行401。自动驾驶装置在不能获得自动驾驶任务的历史路径的情况下,图4中的401和402可由如下步骤取代:自动驾驶装置利用共享策略网络对零向量和状态向量做处理,确定所需执行的目标驾驶操作。可以理解,零向量作为自动驾驶任务的任务特征向量。
在一个可选的实现方式中,提供了一种利用任务抽象网络确定自动驾驶任务的任务特征向量的方法,实现方式如下:自动驾驶装置利用任务抽象网络对自动驾驶任务的M组历史路径做特征提取,得到任务特征向量。
任务抽象网络用于提取每个自动驾驶任务独特的特征,可以采用处理时间序列的机器学习模型,如门递归单元(Gated Recurrent Unit,GRU),长短期记忆网络(LongShort-Term Memory,LSTM),时间卷积网络(Temporal Convolutional Networks,TCN)等。该任务抽象网络为训练好的用于提取各自动驾驶任务的特征的网络。
可选的,M为1,任务抽象网络对该自动驾驶任务的一组历史路径做特征提取,得到该任务特征向量。可选的,M大于1,任务抽象网络依次对该M组历史路径中的每一组历史路径做特征提取,得到M组中间特征向量;对该M组中间特征向量求平均,得到该任务特征向量。其中,该M组中间特征向量与该M组历史路径一一对应,即根据一组历史路径确定一组中间特征向量。可选的,任务抽象网络的最后一层为全连接层,可以将隐藏层提取的任务特征映射为一个H维特征向量(任务特征向量)。可以理解,全连接层所起的作用是对隐藏层提取的任务特征进行降维。
在该实现方式中,利用任务抽象网络可以准确、快速地提取出自动驾驶任务的特征。
在一个可选的实现方式中,自动驾驶装置利用共享策略网络确定自动驾驶装置所需执行的驾驶操作,实现方式如下:自动驾驶装置利用共享策略网络对任务特征向量和状态向量做处理,得到目标驾驶操作。
该共享策略网络可以采用任意机器学习模型,例如多层感知器(MultilayerPerceptron,MLP)、递归神经网络(Recurrent Neural Network,RNN)等可以实现强化学习的网络。在实际应用中,自动驾驶装置利用任务抽象网络根据每个自动驾驶任务的历史路径抽象出该任务的任务特征向量,将该任务特征向量与状态向量、回报等信息合并后输入到共享策略网络进行处理,该共享策略网络处理得到相应的驾驶操作。可选的,自动驾驶装置仅将任务特征向量与表征其当前行驶状态的状态向量输入到共享策略网络。
可选的,自动驾驶装置将该任务特征向量以及该状态向量合并为一个向量后,输入至该共享策略网络做处理。举例来说,状态向量为s0,任务特征向量为h(θTA),[s0,h(θTA)]为该任务特征向量以及该状态向量合并得到的向量。该共享策略网络可以是一个用于实现强化学习的网络,例如MLP、RNN等。可选的,每种驾驶操作都有三个维度:转向角度、油门和制动。可以理解,每种驾驶操作都可以利用一个三维向量来表征,即用一个包含三个分量(转向角度、油门值以及制动值)的向量表征。自动驾驶装置利用共享策略网络对任务特征向量和状态向量做处理,得到目标驾驶操作可以是将该任务特征向量和该状态向量输入到该共享策略网络做处理,该共享策略网络输出一个表征该目标驾驶操作的三维向量,即一个包括转向角度、油门值以及制动值的向量。可选的,自动驾驶装置根据表征该目标驾驶操作的三维向量生成控制指令,并发送给控制系统106,以便控制系统106实现该目标驾驶操作。对于有方向盘系统的自动驾驶装置来说,转向角度是指方向盘向左或向右待转动的角度;对于没有方向盘系统的自动驾驶装置来说,转向角度是指汽车前轮向左或者向右待转动的角度,即前轮转到的位置与前轮不发生偏转时中心线所形成的角度。油门值与引擎118的操作速度正相关。制动值与制动单元136提供的制动力正相关或负相关。
在该实现方式中,共享策略网络根据任务特征向量和状态向量确定所需执行的驾驶操作,可以根据各自动驾驶任务的特征有针对性的制定不同的驾驶策略。
图4的方法中自动驾驶装置需要自身确定驾驶操作,下面介绍一种自动驾驶装置不需要自身确定驾驶操作的自动驾驶方法。图5为本申请实施例提供的另一种自动驾驶方法,如图5所示,该方法可包括:
501、自动驾驶装置接收自动驾驶任务。
自动驾驶装置可以通过外围设备108接收用户输入的自动驾驶任务。举例来说,自动驾驶装置接收用户通过车载电脑148输入的自动驾驶任务。用户可以通过车载电脑148的触摸屏输入自动驾驶任务,即输入驾驶任务的起始地点和目标地点(目的地)。又举例来说,自动驾驶装置通过麦克风150接收用户输入的语音命令,该语音命令指示自动驾驶装置处理某个自动驾驶任务。又举例来说,自动驾驶装置通过收发器接收来自用户终端(手机)发送的自动驾驶任务。自动驾驶装置还可以通过其他方式接收自动驾驶任务,本申请实施例不做限定。
502、该自动驾驶装置通过收发器向云服务器发送驾驶信息。
该驾驶信息可以包括该自动驾驶装置的标识、该自动驾驶任务以及与确定该自动驾驶装置的行驶状态相关的传感器数据。如图6所示,自动驾驶装置和云服务器可经由网络进行交互。网络可以包括各种配置和协议,包括因特网、万维网、内联网、虚拟专用网络、广域网、局域网、使用一个或多个公司的专有通信协议的专用网络、以太网、WiFi和HTTP以及前述的各种组合。可选的,自动驾驶装置可以实时或者按照预设间隔向云服务器发送当前的驾驶信息。
503、该云服务器根据该驾驶信息确定该自动驾驶装置当前的自动驾驶任务以及表征该自动驾驶装置的行驶状态的状态向量。
云服务器可以根据该驾驶信息中的传感器数据,确定该状态向量。
504、该云服务器根据该自动驾驶任务的M组历史路径,确定该自动驾驶任务的任务特征向量。
该云服务器可以从自身的存储器(数据库)或者与其相关联的存储器获取该M组历史路径。该云服务器可以利用任务抽象网络对该M组历史路径做特征提取,得到任务特征向量。
505、该云服务器根据该任务特征向量和该状态向量,确定该自动驾驶装置所需执行的目标驾驶操作。
可选的,该云服务器利用共享策略网络对该任务特征向量和该状态向量做处理,得到目标驾驶操作。
506、该云服务器向该自动驾驶装置发送控制指令。
该控制指令用于指示该自动驾驶装置执行该目标驾驶操作。
507、该自动驾驶装置执行该目标驾驶操作。
在实际应用中,重复执行502至507(除504),直到完成该自动驾驶任务。其中,该云服务器在确定该自动驾驶装置的自动驾驶任务后,在503可仅确定表征该自动驾驶装置的当前行驶状态的状态向量。可以理解,云服务器可以同时控制多个自动驾驶装置以实现每个自动驾驶装置的自动驾驶任务。云服务器可获得的历史路径远远多于一个自动驾驶装置存储的历史路径,可以更准确地确定自动驾驶任务的任务特征向量,进而更合理地确定自动驾驶装置所需执行的驾驶操作。自动驾驶装置仅需将自动驾驶任务和传感器采集的数据发送给云服务器,以及按照云服务器发送的控制指令执行相应的驾驶操作。
本申请实施例中,云服务器具备自动驾驶装置无法比拟的处理能力以及数据存储能力,云服务器可以充分利用自身的处理资源和存储资源来为每个自动驾驶装置提供自动驾驶服务。另外,自动驾驶装置不需要自身来确定所需执行的驾驶操作,工作量较少。
下面结合本申请实施例提供的一种任务抽象网络和共享策略网络的具体举例,介绍自动驾驶装置处理一个自动驾驶任务的过程,即怎样通过探索得到一组历史路径的过程。
图7为本申请实施例提供的一种任务抽象网络和共享策略网络的示意图。如图7所示,701表示任务抽象网络,例如该任务抽象网络为GRU,该任务抽象网络包括至少一个隐藏层且其最后一层为全连接层,该任务抽象网络的输入为任务i的一组历史路径,输出为该任务的任务特征向量hk i;702表示共享策略网络,例如该共享策略网络为MLP,该共享策略网络的输入为该任务特征向量hk i和自动驾驶装置的状态向量,该共享策略网络的输出为该自动驾驶装置在当前所需执行的驾驶操作。如图7所示,sk i,t-1表示自动驾驶装置在时间步t-1对应的状态向量,ak i,t-1表示共享策略网络在时间步t-1输出的驾驶操作,即该自动驾驶装置在时间步t-1所需执行的驾驶操作;sk i,t表示该自动驾驶装置在时间步t对应的状态向量,即表证该自动驾驶装置在时间步t-1执行ak i,t-1后达到的行驶状态的向量,ak i,t表示该共享策略网路在时间步t输出的驾驶操作,即该自动驾驶装置在时间步t所需执行的驾驶操作;sk i,t+1表示该自动驾驶装置在时间步t+1对应的状态向量,ak i,t+1表示该共享策略网路在时间步t+1输出的驾驶操作,即该自动驾驶装置在时间步t+1所需执行的驾驶操作。
可以理解,该共享策略网络在每个时间步均输入该自动驾驶装置在该时间步对应的状态向量以及任务特征向量,该共享策略网络根据该状态向量和该任务特征向量确定该自动驾驶装置在该时间步所需执行的驾驶操作,该自动驾驶装置确定在该时间步执行该驾驶操作后达到的行驶状态,重复之前的步骤,直到该自动驾驶装置完成该任务或该自动驾驶装置执行的驾驶操作的个数达到步数阈值,得到一组历史路径。
若自动驾驶装置完成自动驾驶任务执行的驾驶操作的个数未达到步数阈值,则该任务的历史路径可以记为τ=(s0,a0,r0,s1,a1,r1,...,st,at,rt),即该自动驾驶装置在执行驾驶操作at后完成该任务;否则,记为τ=(s0,a0,r0,s1,a1,r1,...,sH,aH,rH)。其中,t代表时间步,H为步数阈值,st、at、rt依次表示自动驾驶装置在时间步t的行驶状态(状态)、驾驶操作(动作)和回报。自动驾驶装置执行一个自动驾驶任务的过程也就是获得一组该任务的历史路径的过程。具体执行过程如下:自动驾驶装置将自动驾驶任务的一组或多组历史路径输入到任务抽象网络进行处理,处理得到该任务的任务抽象特征向量h=h(θTA);该自动驾驶装置将[s0,h(θTA)]输入到共享策略网络,该共享策略网络以概率π=πθpolicy(a0|s0,h(θTA))输出驾驶操作a0=a0(θTA,θpolicy),s0表示该自动驾驶装置在当前时间步的行驶状态;该自动驾驶装置执行驾驶操作a0,并确定执行该驾驶操作a0达到的行驶状态s1以及执行该驾驶操作a0的回报r0;该自动驾驶装置将[s1,h(θTA)]输入至该共享策略网络,该共享策略网络以概率π=πθpolicy(a1|s1,h(θTA))输出驾驶操作a1=a1(θTA,θpolicy);重复上述步骤直至完成该任务或该自动驾驶装置执行的驾驶操作的个数达到步数阈值。其中,θTA为该任务特征网络的参数,θpolicy为该共享策略网络的参数,[s0,h(θTA)]和[s1,h(θTA)]均为状态向量和任务特征向量的组合。
共享策略网络以概率π=πθpolicy(at|st,h(θTA))输出时间步t的驾驶操作,下面介绍输出离散动作和连续动作的具体举例。
离散动作:假设共8种驾驶操作,则共享策略网络的最后一层(softmax层)输出这8种驾驶操作分别对应的概率,该共享策略网络以这个概率选择一个驾驶操作并输出。
连续动作:共享策略网络的最后一层是一个全连接层,该全连接层输出一个代表驾驶操作的二维向量(均值);共享策略网络以均值和代表驾驶操作的方差按正态分布采样输出驾驶操作。可选的,策略网络输出均值的同时也输出方差。可选的,自动驾驶装置利用一个全连接网络,根据输入的驾驶状态输出方差。
上述实施例介绍的是自动驾驶装置如何处理自动驾驶任务的方法。在实际应用中,自动驾驶装置在处理自动驾驶任务之前,还需要对任务抽象网络和共享策略网络进行优化,即对任务抽象网络和共享策略网络进行训练,以便得到更好地处理策略。
下面介绍如何更新任务抽象网络相对于自动驾驶任务的一组任务抽象网络参数的方法。
自动驾驶装置可以根据自动驾驶任务的一组或多组历史路径的损失,更新该自动驾驶任务对应的一组任务抽象网络参数,以便该任务抽象网络利用该一组任务抽象网络参数对该一组或多组历史路径进行特征提取,得到该自动驾驶任务的任务特征向量。具体的,自动驾驶装置利用第一损失函数相对于任务抽象网络的参数的梯度值,更新该任务抽象网络相对于该自动驾驶任务的一组相对参数,使得该任务抽象网络的参数与该一组相对参数之差为该一组任务抽象网络参数。该第一损失函数用于计算该一组历史路径的损失或该多组历史路径的损失之和。具体的,任务抽象网络在对一组历史路径进行特征提取时,可以将目标参数作为任务抽象网络的参数对该自动驾驶任务进行处理,得到任务特征向量。该目标参数为任务抽象网络的参数与该任务抽象网络相对于该自动驾驶任务的一组相对参数之差。该任务抽象网络相对于该自动驾驶任务的一组相对参数可以是经过多次更新后的一组参数。
可选的,第一损失函数的计算公式如下:
其中,θTA表示所述任务抽象网络的参数;表示所述共享策略网络的输入为状态向量st和特征向量h(θTA),输出为驾驶操作at的概率;H为步数阈值,t表示时间步;b(st)表示用于计算所述自动驾驶装置在时间步t获得的回报的基准函数;rt′表示所述自动驾驶装置在时间步t获得的真实回报;Eτ[]表示计算中括号中的期望;是计算从时间步t到时间步H获得的回报。
基准函数b(st)的一个举例如下:b(st)=Featurest*C;Featurest=[st,st*st,at,at*at,at*at*at],st、at依次表示自动驾驶装置在时间步t的行驶状态和驾驶操作,C为使得(C*Featurest-rt)2最小的一组参数,t=0,...,H。怎样确定C是本领域常用的技术手段,这里不再详述。在实际应用中,可以根据需要选择恰当的基准函数,本申请实施例不对基准函数做限定。
可选的,采用如下公式更新任务抽象网络相对于自动驾驶任务的一组任务抽象网络参数:
其中,Ti表示第i个任务,k为这一组任务抽象网络更新的次数;为这一组任务抽象网络参数在第k次更新前的参数,为这一组任务抽象网络参数在第k次更新后的参数;为该任务的损失函数;α为目标学习率(自适应学习率),是一个张量,大小与相同;是梯度符号,表示对损失函数关于求导;“■”表示两个张量的对应元素相乘,即两个张量中相同位置的两个元素分别相乘得到一个张量。
图8为本申请实施例提供的一种更新任务抽象网络的参数的示意图。如图8所示,为任务抽象网络相对于第i个任务的一组任务抽象网络参数在第k次更新后的参数;θp0licy表示共享策略网络的参数;表示利用任务抽象网络(参数为)和共享策略网络(参数为θpolicy)处理该第i个任务得到的一组历史路径;表示利用任务抽象网络(参数为)和共享策略网络(参数为θpolicy)处理该第i个任务得到的一组历史路径;为任务抽象网络相对于该第i个任务的一组任务抽象网络参数在第k-1次更新后的参数;f表示采用公式(2)更新任务抽象网络相对于该任务的一组任务抽象网络参数,例如采用公式(2)更新后变为如图8所示,为任务抽象网络相对于第j个任务的一组任务抽象网络参数在第k次更新后的参数。可以理解,该任务抽象网络相对于任一任务都有一组任务抽象网络参数,自动驾驶装置可以采用图8中的方式更新任务抽象网络相对于任一任务的一组任务抽象网络参数。
可以理解,自动驾驶装置在利用任务抽象网络提取自动驾驶任务的任务特征向量之前,可以利用该自动驾驶任务的一组或多组历史路径对该任务抽象网络相对于该自动驾驶任务的一组任务抽象网络参数进行一次或多次更新,以便于该任务抽象网络利用更新后的这一组任务抽象网络参数提取该自动驾驶任务的特征向量。更新该任务抽象网络相对于该自动驾驶任务的一组任务抽象参数可以是更新该任务抽象网络相对于该自动驾驶任务的一组相对参数,使得该任务抽象网络的参数与该一组相对参数之差为该一组任务抽象参数。可以理解,在第一次利用该自动驾驶任务的一组或多组历史路径的损失更新任务抽象网络相对于该自动驾驶任务的一组相对参数之前,该自动驾驶任务对应的一组任务抽象网络参数为该任务抽象网络的参数。
在这种参数更新方式中,可以不断更新任务抽象网络相对于任一任务的一组任务抽象网络参数,直到这一组任务抽象网络参数不再改变或更新的次数达到设置的阈值,以便于该任务抽象网络利用这一组任务抽象参数处理该任务得到更好的表征该任务的特征的任务特征向量。上述更新过程,可以视为任务内部更新,仅更新每个任务自身对应的一组任务抽象网络参数,任务抽象网络的参数以及θpolicy均保持不变。注意,共享策略网络不参与任务内部更新,因为策略是各个任务所共享的,它表示问题本身的性质,例如环境参数、如何直行、转弯等。任务内部更新是更新任务抽象网络相对于该自动驾驶任务的一组相对参数,并不是更新任务抽象网络的参数。
下面介绍如何更新任务抽象网络的参数、共享策略网络的参数以及目标学习率的方法。
该目标学习率为更新该任务抽象网络相对于所述自动驾驶任务的一组任务抽象网络参数的学习率。可选的,利用第二损失函数相对于任务抽象网络的参数的梯度值,更新该任务抽象网络的参数;利用该第二损失函数相对于共享策略网络参数的梯度,更新该共享策略网络的参数;利用该第二损失函数相对于目标学习率的梯度,更新该目标学习率。该第二损失函数用于计算F个自动驾驶任务的F个损失的损失和或该F个损失的损失和的平均数,这F个损失与这F个自动驾驶任务一一对应,该F个自动驾驶任务中任一个任务的损失为根据该任一个任务最新的一批历史路径计算得到的损失,F为大于1的整数。
可选的,第二损失函数的计算公式如下:
其中,θ={θTA、θpolicy、α},θTA表示所述任务抽象网络的参数,θpolicy表示所述共享策略网络的参数,α表示所述目标学习率;πθ(at|st)表示θ更新后所述共享策略网络的输入为状态向量st,输出为驾驶操作at的概率;表示θ更新前所述共享策略网络的输入为状态向量st,输出为驾驶动作at的概率;H为最大步数,b(st)表示用于计算所述自动驾驶装置在时间步t获得的回报的基准函数,rt′表示所述自动驾驶装置在时间步t获得的真实回报;clip(rt(θ),1-ε,1+ε,rt(θ))表示rt(θ)的最小值为1-ε,最大值为1+ε,ε为一个大于0的常数项;表示θ更新前后的两个分布概率的相对熵,β为一个超参数;Et[]表示计算中括号中的期望。
可选的,通过梯度下降方法对θ进行更新。具体的,对L(θ)关于θ求导得到梯度值,并通过梯度下降法更新θ。可选的,采用策略梯度优化方法对θ进行更新。策略梯度优化方法是本领域常用的技术手段,这里不再详述。这一步的更新可以理解为整体参数更新(Meta-Update)。在知道损失函数的情况下,本领域的技术人员可以采用多种不同的方法对θ进行更新,本申请不对θ的更新方式做限定。对于任务抽象网络,更新得到了关于表征任务的特征的比较好的初值,以此为参数通过几步任务内部更新可以得到较好的表征任意任务的特征的任务特征向量。对于共享策略网络,通过更新可以学习到更好的策略。
前面分别介绍了任务内部更新和整体参数更新,下面将这两种更新方式结合起来进行介绍。图9为本申请实施例提供的一种参数更新过程示意图。如图9所示,参数更新过程包括如下步骤:
901、自动驾驶装置利用任务抽象网络对自动驾驶任务的M组历史路径做特征提取,得到任务特征向量。
M为大于0的整数。901的实现方式与图4中的401相同。任务抽象网络的功能由任务抽象模块实现,该任务抽象模块可以是一个硬件,也可以由软件实现。
902、该自动驾驶装置利用共享策略网络对该任务特征向量和状态向量做处理,输出驾驶操作(动作)。
该状态向量为表征该自动驾驶装置的当前行驶状态的向量。902的实现方式与图4中的402相同。自动驾驶装置在执行该驾驶操作后达到新的行驶状态,并向共享策略网络输入表征该新的行驶状态的状态向量以及该任务特征向量。重复执行902,直到得到一组历史路径。共享策略网络的功能由共享策略模块实现,该共享策略模块可以是一个硬件,也可以由软件实现。可选的,处理器实现任务抽象网络和共享策略网络的功能。
903、该自动驾驶装置更新该任务抽象网络相对于该自动驾驶任务的一组任务抽象网络参数。
903为前述描述的任务内部更新的步骤。该任务抽象网络相对于该自动驾驶任务的一组任务抽象网络参数更新后,任务抽象网络利用更新后的这一组任务抽象网络参数对该一组历史路径做特征提取,得到新的任务抽象向量。
904、自动驾驶装置利用至少两个自动驾驶任务的损失,对任务抽象网络的参数、共享策略网络的参数以及目标学习率进行更新(整体参数更新)。
该目标学习率为更新该任务抽象网络相对于所述自动驾驶任务的一组任务抽象网络参数的学习率。可以理解,自动驾驶装置可以采用相同的方式处理不同的自动驾驶任务,进而得到不同自动驾驶任务的历史路径。该至少两个自动驾驶任务的损失是合并各个任务最后一批历史路径的损失并求平均得到的。
本申请实施例中,在利用任务抽象网络提取一个任务的任务抽象特征之前,优化该任务抽象网络相对于该任务的一组任务抽象网络参数,可以提取出更好的任务特征向量;结合全部任务的信息进行整体参数更新,以便于共享策略网络高效地处理各任务。
图10为本申请实施例提供的一种训练方法,用于训练得到前述实施例所使用的任务抽象网络和共享策略网路,该方法可包括:
1001、训练设备获得F个自动驾驶任务对应的F批历史路径。
该F批历史路径与该F个自动驾驶任务一一对应,该F批历史路径中任一批历史路径至少包括一组历史路径,F为大于1的整数。训练设备可以是自动驾驶装置,也可以是云服务器,还可以是其他设备,本申请不做限定。可选的,训练设备的存储器或者其关联的数据库存储有上述F个自动驾驶任务对应的F批历史路径;该训练设备可以从其自身的存储器或者其关联的数据库获取该F批历史路径。
1002、训练设备根据该F个自动驾驶任务对应的F个损失,更新任务抽象网络的参数。
该任务抽象网络用于根据该F个自动驾驶任务中任一任务的历史路径,确定表征该任一任务的特征的任务特征向量;该F个损失与该F个自动驾驶任务一一对应。可选的,训练设备利用第二损失函数相对于任务抽象网络的参数的梯度值,更新任务抽象网络的参数;该第二损失函数用于计算该F个自动驾驶任务的F个损失的损失和或所述F个损失的损失和的平均数,所述F个损失与所述F个自动驾驶任务一一对应,所述F个自动驾驶任务中任一个任务的损失为根据所述任一个任务最新的一批历史路径计算得到的损失。
1003、训练设备根据该F个损失,更新共享策略网络的参数。
该共享策略网络用于根据状态向量和任务抽象网络提取出的任务特征向量,确定自动驾驶装置所需执行的驾驶操作;该状态向量用于表征自动驾驶装置的行驶状态。可选的,训练设备利用第二损失函数相对于共享策略网络的参数的梯度值,更新共享策略网络的参数。
本申请实施例中,综合全部任务的损失来更新任务抽象网络的参数和共享策略网络的参数,以便于任务抽象网络和共享策略网络能够高效地处理各任务。
图11为本申请提供的一种训练设备的结构示意图,如图11所示,该训练设备包括:
获取单元1101,用于获得F个自动驾驶任务对应的F批历史路径;该F批历史路径与该F个自动驾驶任务一一对应,该F批历史路径中任一批历史路径至少包括一组历史路径,F为大于1的整数;
处理器1102,用于根据该F个自动驾驶任务对应的F个损失,更新任务抽象网络的参数;该任务抽象网络用于根据该F个自动驾驶任务中任一任务的历史路径,确定表征该任一任务的特征的任务特征向量;该F个损失与该F个自动驾驶任务一一对应;
处理器1102,还用于根据该F个损失,更新共享策略网络的参数;该共享策略网络用于根据状态向量和该任务抽象网络提取出的任务特征向量,确定自动驾驶装置所需执行的驾驶操作;该状态向量用于表征该自动驾驶装置的行驶状态。
本申请实施例中,综合全部任务的损失来更新任务抽象网络的参数和共享策略网络的参数,以便于任务抽象网络和共享策略网络能够高效地处理各任务。
图12为本申请实施例提供的一种训练任务抽象网络和共享策略网络的方法流程图,如图12所示,该方法可包括:
1201、初始化任务抽象网络的参数、共享策略网络的参数以及目标学习率。
本申请实施例中,可以采用任一种神经网络初始化方式对任务抽象网络的参数、共享策略网络的参数进行初始化,不对初始化方式做限定。例如,将任务抽象网络的参数和共享策略网络的参数均初始化为零(零初始化)。又例如,使用随机的方式(随机初始化),初始化任务抽象网络的参数和共享策略网络的参数。该目标学习率为一个与任务抽象网络的参数θTA大小相同的张量。可选的,该目标学习率包括的每个元素的初值均为0.01。
1202、将F个任务对应的F批历史路径输入到任务抽象网络做特征提取,得到F个任务特征向量;共享策略网络对该F个任务特征向量和该F个任务特征向量对应的状态向量做处理,得到与该F个任务一一对应的F组历史路径。
该F个任务特征向量与该F个任务一一对应,F个任务为用于训练任务抽象网络和共享策略网络的训练任务。一个任务特征向量对应的状态向量表征该任务特征向量对应的任务在当前时间步对应的状态,例如自动驾驶装置的当前行驶状态。F为大于1的整数。1202描述的是任务抽象网络和共享策略网络处理F个任务的过程(执行共享策略处理F个任务的过程),采用相同的方式处理该F个任务。对于一个任务来说,任务抽象网络对该任务的一批历史路径做特征提取,得到一个任务特征向量;共享策略网络对该任务特征向量和该任务特征向量对应的状态向量合并得到的向量做处理,输出一个动作(例如驾驶操作);目标设备(例如自动驾驶装置)执行该动作后达到一个新的状态;该共享策略网络对该任务特征向量和新的状态向量(表征该新的状态)合并得到的向量做处理,输出一个新的动作;重复之前的操作,执行该目标设备的状态到达终止状态,即完成该任务。可选的,在执行1202之前,采用前述实施例中的方法获得该F个任务对应的F批历史路径。
1203、采用策略梯度方法更新任务抽象网络相对于每个任务的一组任务抽象网络参数。
该F个任务对应F组任务抽象网络参数,即任务抽象网络相对于每个任务均有一组任务抽象网络参数。任务抽象网络以目标学习率采用策略梯度方法更新其相对于每个任务的一组抽象模块参数,得到该F个任务对应的F组任务抽象网络参数。任务抽象网络利用每个任务对应的一组任务抽象网络参数对该任务做特征提取,可以更准确地提取出每个任务的任务特征向量。
1204、判断内部更新次数是否达到第一阈值。
若是,执行1205,若否,执行1202。该第一阈值可以是大于1的整数,例如2-50。内部更新次数是指更新任务抽象网络相对于每个任务对应的一组任务抽象网络参数的次数。举例来说,任务抽象网络相对于任一任务对应的一组任务抽象网络参数的更新次数超过第一阈值时,停止更新该任务对应的一组任务抽象网络参数。
1205、更新该任务抽象网络的参数、该共享策略网络的参数以及该目标学习率。
可选的,计算该F个任务中每个任务最新一批历史路径的平均损失得到F个损失;根据该F个损失合并得到的损失,采用策略优化方法对这些参数进行更新。可选的,利用第二损失函数相对于任务抽象网络的参数的梯度值,更新该任务抽象网络的参数;利用该第二损失函数相对于共享策略网络参数的梯度,更新该共享策略网络的参数;利用该第二损失函数相对于目标学习率的梯度,更新该目标学习率。该第二损失函数用于计算该F个任务的F个损失的损失和或该F个损失的损失和的平均数,这F个损失与这F个任务一一对应,该F个任务中任一个任务的损失为根据该任一个任务最新的一批历史路径计算得到的损失,F为大于1的整数。
1206、判断外部更新次数是否达到第二阈值。
该第二阈值可以是大于1的整数,例如20-120。外部更新次数是指该任务抽象网络的参数、该共享策略网络的参数以及该目标学习率中任一项的更新次数。
1207、将W个测试任务对应的W批历史路径输入到任务抽象网络做特征提取,得到W个任务特征向量;共享策略网络对该W个任务特征向量和该W个任务特征向量对应的状态向量做处理,得到与该W个测试任务一一对应的W组历史路径。
该W个测试任务为用于测试该任务抽象网络和该共享策略网络的性能的新任务。该W批历史路径与该W个测试任务一一对应。由于缺少该W个测试任务的历史路径,可以将零向量作为该W个测试任务中每个任务的任务特征向量。对应一个测试任务来说,共享策略网络以零向量为该测试任务的任务特征向量对该测试任务独立进行多次的处理,得到一批历史路径。可以理解,共享策略网络处理该测试任务一次得到一组历史路径。
1208、采用策略梯度方法更新任务抽象网络相对于每个测试任务的一组任务抽象网络参数。
1209、判断内部更新次数是否达到第三阈值。
若是,执行1210;若否,执行1207。该第三阈值可以是大于1的整数,例如2-50。
1210、输出测试结果。
该测试结果可以包括每个测试任务得到的回报、每个测试任务的历史路径等。在实际应用中,根据测试结果确定该任务抽象网络和该共享策略网络的性能,以便于确定是否继续训练。
本申请实施例中,在利用任务抽象网络提取一个任务的任务抽象特征之前,优化该任务抽象网络相对于该任务的一组任务抽象网络参数,可以提取出更好的任务特征向量;结合全部任务的信息进行整体参数更新,以便于共享策略网络高效地处理各任务。
下面以二维平面上的导航问题为例介绍本申请的技术方案。在这类问题中,希望得到一个好的策略,使得自动驾驶装置(agent)从给定的起始点出发,最快的到达指定的目标点。考虑三个具体的实例:(1)二维导航问题(2D navigation),agent的状态为x、y方向的位置,动作为两个方向的位移。(2)MuJoCo(一个模拟环境,可以模拟一些强化学习场景)中的滑动运动(slided locomotion)问题,agent在x、y两个方向的力的作用下运动,其动作为两个方向的受力大小,状态包括两个方向的位置和速度,共四维。(3)MuJoCo中的轮式运动(wheeled locomotion)问题,agent在转矩的作用下运动,其动作为两个转矩的大小,状态包括位置、速度、方向角等共八维。所有agent的动作空间和状态空间均是连续的。
下面介绍利用本申请实施例中的方案解决上述导航问题的一个实施例:
一、任务准备过程:生成训练集和测试集。
对于三个导航问题,假定状态空间均为以零点为中心的长方形区域,所有任务的起始状态都在此长方形区域内部,但agent运动过程中的状态不受限制。在状态空间中随机采样200个不同的点,以其中100个为点构建训练集,以另外100个为点构建测试集,所有任务的起始点均设为零。
二、训练过程:
(1)初始化任务抽象网络的参数、共享策略网络的参数以及目标学习率。
任务抽象网络为一个GRU网络,隐藏层长度为64,该任务抽象网络的参数记为θTA。该任务抽象网络的输入为一组(或一个批量)历史路径,即包括各个时间步的状态、动作、回报等信息的序列。该任务抽象网络到最后一层为全连接层,该全连接层将隐藏层的信息映射为一个4维的任务特征向量。目标学习率为一个与θTA大小相同的张量,所有元素均初始化为0.01。在任务内部更新时,使用策略梯度方法以目标学习率更新任务抽象网络的参数θTA,但α本身在任务内部更新过程中保持不变。共享策略网络为一个两层的深度神经网络/多层感知器,宽度为64,参数记为θpolicy。共享策略网络的输入为任务抽象网络输出的任务特征向量以及各时间步的状态向量,输出为动作。本申请实施例中,可以采用任一种神经网络初始化方式对任务抽象网络的参数、共享策略网络的参数进行初始化,不对初始化方式做限定。
(2)批量采样和任务内部更新
a、随机从训练集中选取24个任务。
b、共享策略网络将零向量作为每个任务的任务特征向量对每个任务独立进行32次处理,得到每个任务的32组历史路径。
对于一个任务来说,共享策略网络对零向量和起始状态向量合并得到的向量做处理,输出一个动作(例如驾驶操作);目标设备(例如自动驾驶装置)执行该动作后达到一个新的状态;该共享策略网络对零向量和新的状态向量(表征该新的状态)合并得到的向量做处理,输出一个新的动作;重复之前的操作,执行该目标设备的状态到达终止状态,得到一组历史路径。共享策略网络再次开始对零向量和起始状态向量合并得到的向量做处理,直到该目标设备的状态到达终止状态,得到另一组历史路径。
c、将每个任务的32组历史路径输入到任务抽象网络做特征提取得到每个任务对应的32个特征向量,计算每个任务对应的32个特征向量的平均值得到每个任务的任务特征向量。
d、共享策略网络利用每个任务的任务特征向量对每个任务独立进行32次处理,重新得到每个任务的32组历史路径(新的32组历史路径)。
e、计算每个任务的新的32条历史路径的损失和;利用第一损失函数相对于任务抽象网络的参数的梯度值,更新该任务抽象网络相对于每个任务的一组任务抽象参数。
更新该任务抽象网络相对于一个任务的一组任务抽象参数可以是更新该任务抽象网络相对于该任务的一组相对参数,使得任务抽象网络的参数与该一组相对参数之差为该任务抽象网络对该任务做特征提取待采用的一组任务抽象网络参数。该第一损失函数用于计算每个任务的新的32条历史路径的损失和。
f、任务抽象网络将其相对于每个任务的一组任务抽象参数作为对该任务做特征提取时的参数,重复步骤c-e共3次。
(3)整体参数更新
a、合并每个任务最新一批历史路径的损失并求平均,得到参考损失。
b、计算参考损失关于任务抽象模块参数θTA、共享策略模块参数θpolicy以及目标学习率α的梯度值。
c、采用近端策略优化(Proximal Policy Optimization,PPO)方法利用得到的梯度值对θTA、θpolicy以及α进行更新。
d、重复步骤(2)和(3)直至迭代次数达到上限。
迭代次数是指该任务抽象网络的参数、该共享策略网络的参数以及该目标学习率中任一项的更新次数。
(4)测试过程:
a、任务抽象网络、共享策略网络、学习率分别加载训练好的参数θTA、θpolicy、α。
b、将全部100个测试任务作为输入,重复步骤(2)共50次,输出测试结果。
该测试结果可以包括每个测试任务得到的回报、每个测试任务的历史路径等。
下面介绍本申请中的技术方案达到的技术效果。
针对滑动运动场景,我们用主成分分析(Principal Component Analysis,PCA)方法将测试过程中任务抽象网络迭代1次、2次、50次提取的任务特征向量降至2维,并将其画在平面上,同时计算出各次迭代的任务特征向量与任务的目标点间的皮尔逊相关(PearsonCorrelation Coefficient,PCC)系数。
图13A显示的是第1次迭代提取出的任务特征向量,图13B显示的是第2次迭代提取出的任务特征向量,图13C显示的是第50次迭代提取出的任务特征向量。如图13A所示,第1次迭代,由于没有之前的历史路径,各任务的任务特征向量都设为零。如图13B所示,第2次迭代,任务间开始体现出区别。如图13C所示,任务抽象网络在第50次迭代,全部100个任务在平面上完全分离。这说明任务抽象网络可以有效地提取任务的特征,并对不同的任务进行有效的区分。
表1
表1为PCC系数表,展示了不同迭代次数得到的任务特征向量与任务的目标点间的PCC系数。由表1可知,任务的任务特征向量与任务目标点间的关系随着迭代次数逐渐升高,说明任务抽象网络提取出来的任务特征向量与任务的真实特征(即目标点)相关,且相关性随着迭代逐渐显著增大。
下面对比传统的基于策略的强化学习方法(PPO+MLP、PPO+RNN)、现有的元强化学习方法(MAML+MLP、MAML+RNN、Meta-SGD+MLP、Meta-SGD+RNN、RL2)以及本发明提出的方法,在三个导航场景上的测试效果。所有的测试实验都采用相同的100个测试任务,且都采用近端策略优化(Proximal Policy Optimization,PPO)方法在各测试任务内部更新50步。PPO+MLP是指采用PPO方法利用MLP进行强化学习的方案。PPO+RNN是指采用PPO方法利用RNN进行强化学习的方案。MAML(Model-Agnostic Meta-Learning)是一种元强化学习方法,实现方式如下:建立一个策略网络,输入当前状态,输出动作;通过元学习的方法训练策略网络,即由元学习者(meta-learner)通过小样本任务训练数据生成一个学习者(learner),并由learner完成对于当前任务的预测。MAML+MLP是指采用MAML方法将MLP作为策略网络进行元强化学习的方案。MAML+RNN是指采用MAML方法将RNN作为策略网络进行元强化学习的方案。RL2(Fast Reinforcement Learning via Slow Reinforcement Learning)的方案如下:建立一个RNN策略网络;输入当前状态、动作、回报等,输出动作;利用RNN的隐藏层表征任务特有的特征。Meta-SGD与MAML类似,区别在于,在MAML中,学习率是一个常数,如0.01;在Meta-SGD中,学习率是一个与共享策略网络的参数同阶同型的张量。
图14A、图14B以及图14C依次为上述方法在二维导航场景(2D navigation)、滑动运动(slided locomotion)场景以及轮式运动(wheeled locomotion)场景下执行测试任务得到的平均折扣回报(Averaged Discounted Return,ADR)曲线。如图14A-图14C所示,横坐标表示迭代步数,纵坐标表示ADR;1401表示本方案的ADR曲线、1402表示MAML+RNN的ARD曲线、1403表示MAML+MLP的ARD曲线、1404表示Meta-SGD+RNN的ARD曲线、1405表示RL2的ARD曲线、1406表示PPO+RNN的ARD曲线、1407表示PPO+MLP的ARD曲线、1408表示Meta-SGD+MLP的ARD曲线。从各次迭代的ADR曲线来看:
传统的基于策略的强化学习方法(PPO+MLP、PPO+RNN),效果普遍较差,其50步迭代的ADR仅仅相当于元强化学习方法10步以内更新的结果,并且ADR逐渐趋于稳定。可以预计,即使迭代步数足够多,这类方法仍然不能学习到适用于全部任务的较好的策略,这也证明了元强化学习方法的必要性。本方案也可以一种元强化学习方法。
现有的元强化学习方法,如MAML、Meta-SGD等,在前几步迭代中效果明显上升,但随着更新过程的继续,ADR会出现骤降、波动等不稳定情况。这可能是因为测试任务的50步内部更新与训练任务的内步更新不符或者这种将任务共有的信息全部映射到网络初值的方式,在后续针对不同任务做快速更新时会导致一些不稳定性。
本方案在各个场景的验证中,都可以快速、平稳的得到比其他方法更优的解,说明本方案方法可以稳定地学习到适用于各种任务的优秀策略,效率高,泛化能力强。
针对轮式运动场景,采用同样的网络框架,即GRU+MLP,采取四种不同的更新方式:
对一个批量的任务,采用PPO方法更新全部参数(第一方式)。
在任务内部更新全部参数,同时在外部用PPO更新全部参数(第二方式)。
在任务内部以固定的学习率更新任务抽象网络的参数,在外部用PPO更新全部参数(第三方式)。
在任务内部以自适应学习率更新任务抽象网络的参数,在外部用PPO更新全部参数(第四方式)。
图15为本申请实施例提供的一种ARD曲线示意图,横坐标表示迭代步数,纵坐标表示ADR。如图15所示,1501表示采用本申请的更新方式(第四方式)得到的ARD曲线,1502表示采用第三更新方式得到的ARD曲线,1503表示采用第二更新方式得到的ARD曲线,1504表示采用第一更新方式得到的ARD曲线。
从图15可以看出,本申请采用的更新方式(第四方式)是最稳定的,并且可以快速地得到比其他方法更优的解。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本申请实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (41)
1.一种自动驾驶方法,其特征在于,包括:
自动驾驶装置根据自动驾驶任务的M组历史路径,确定所述自动驾驶任务的任务特征向量,所述任务特征向量为表征所述自动驾驶任务的特征的向量,M为大于0的整数;
所述自动驾驶装置根据所述任务特征向量和状态向量,确定所需执行的目标驾驶操作,所述状态向量用于表征所述自动驾驶装置的行驶状态;
所述自动驾驶装置执行所述目标驾驶操作;所述自动驾驶装置根据自动驾驶任务的M组历史路径,确定所述自动驾驶任务的任务特征向量包括:
所述自动驾驶装置获得所述M组历史路径;
所述自动驾驶装置利用任务抽象网络对所述M组历史路径做特征提取,得到M组中间特征向量,所述M组中间特征向量与所述M组历史路径一一对应;
所述自动驾驶装置根据所述M组中间特征向量,确定所述任务特征向量。
2.根据权利要求1所述的方法,其特征在于,所述自动驾驶装置根据所述任务特征向量和状态向量,确定所需执行的目标驾驶操作包括:
所述自动驾驶装置利用共享策略网络对所述任务特征向量和所述状态向量做处理,得到所述目标驾驶操作,所述共享策略网络为用于实现强化学习的神经网络。
3.根据权利要求2所述的方法,其特征在于,所述自动驾驶装置获得所述M组历史路径中的任一组历史路径包括:
所述自动驾驶装置利用所述共享策略网络对参考特征向量和第一状态向量做处理,得到第一驾驶操作;所述参考特征向量为零向量或根据所述自动驾驶任务的N组历史路径确定的所述自动驾驶任务的特征向量,所述第一状态向量用于表征所述自动驾驶装置在第一时间步的行驶状态,N为大于0的整数;
所述自动驾驶装置在所述第一时间步执行所述第一驾驶操作;
所述自动驾驶装置获得所述自动驾驶装置在第二时间步的行驶状态和执行所述第一驾驶操作的回报,所述第二时间步为所述第一时间步的下一时间步;
所述自动驾驶装置根据完成或执行所述自动驾驶任务的T个时间步的信息,确定一组历史路径;所述T个时间步包括所述第一时间步,所述T个时间步中任一个时间步的信息包括所述自动驾驶装置在所述任一时间步的行驶状态、执行的驾驶操作以及得到的回报,T为不小于1的整数。
4.根据权利要求3所述的方法,其特征在于,所述自动驾驶装置利用所述共享策略网络对参考特征向量和第一状态向量做处理,得到第一驾驶操作之前,所述方法还包括:
所述自动驾驶装置获得所述N组历史路径;
所述自动驾驶装置根据所述N组历史路径对应的N个损失,更新所述自动驾驶任务对应的一组任务抽象网络参数,所述N个损失与所述N组历史路径一一对应;
所述自动驾驶装置利用所述任务抽象网络对所述N组历史路径做特征提取,得到N个中间特征向量,所述N个中间特征向量与所述N组历史路径一一对应;其中,所述任务抽象网络采用所述一组任务抽象网络参数对所述N组历史路径进行处理;
所述自动驾驶装置根据所述N个中间特征向量,确定所述参考特征向量。
5.根据权利要求4所述的方法,其特征在于,所述自动驾驶装置根据所述N组历史路径对应的N个损失,更新所述自动驾驶任务对应的一组任务抽象网络参数包括:
所述自动驾驶装置利用第一损失函数相对于所述任务抽象网络的参数的梯度值,更新所述任务抽象网络相对于所述自动驾驶任务的一组相对参数;所述一组任务抽象网络参数为所述任务抽象网络的参数与所述一组相对参数之差,所述第一损失函数用于计算所述N个损失的损失和。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述自动驾驶装置利用第二损失函数相对于所述任务抽象网络的参数的梯度值,更新所述任务抽象网络的参数;所述第二损失函数用于计算F个任务的F个损失的损失和或所述F个损失的损失和的平均数,所述F个损失与所述F个任务一一对应,所述F个任务中任一个任务的损失为根据所述任一个任务最新的一批历史路径计算得到的损失,F为大于1的整数;
所述自动驾驶装置利用所述第二损失函数相对于所述共享策略网络的参数的梯度值,更新所述共享策略网络的参数。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述自动驾驶装置利用所述第二损失函数相对于目标学习率的梯度,更新所述目标学习率,所述目标学习率为更新所述任务抽象网络相对于所述自动驾驶任务的所述一组任务抽象网络参数的学习率。
9.根据权利要求8所述的方法,其特征在于,所述第二损失函数的计算公式如下:
其中,θ={θTA、θpolicy、α},θTA表示所述任务抽象网络的参数,θpolicy表示所述共享策略网络的参数,α表示所述目标学习率;πθ(at|st)表示θ更新后所述共享策略网络的输入为状态向量st,输出为驾驶操作at的概率;表示θ更新前所述共享策略网络的输入为状态向量st,输出为驾驶动作at的概率;H为最大步数,b(st)表示用于计算所述自动驾驶装置在时间步t获得的回报的基准函数,rt′表示所述自动驾驶装置在时间步t获得的真实回报;clip(rt(θ),1-ε,1+ε,rt(θ))表示rt(θ)的最小值为1-ε,最大值为1+ε,ε为一个大于0的常数项;表示θ更新前后的两个分布概率的相对熵,β为一个超参数;Et[]表示计算中括号中的期望。
10.根据权利要求1至9任意一项所述的方法,其特征在于,所述任务特征向量为H维向量,所述状态向量为G维向量,G除以H得到的值大于目标阈值。
11.一种训练方法,其特征在于,包括:
获得F个自动驾驶任务对应的F批历史路径;所述F批历史路径与所述F个自动驾驶任务一一对应,所述F批历史路径中任一批历史路径至少包括一组历史路径,F为大于1的整数;
根据所述F个自动驾驶任务对应的F个损失,更新任务抽象网络的参数;所述任务抽象网络用于根据所述F个自动驾驶任务中任一任务的历史路径,确定表征所述任一任务的特征的任务特征向量;所述F个损失与所述F个自动驾驶任务一一对应;
根据所述F个损失,更新共享策略网络的参数;所述共享策略网络用于根据状态向量和所述任务抽象网络提取出的任务特征向量,确定自动驾驶装置所需执行的驾驶操作;所述状态向量用于表征所述自动驾驶装置的行驶状态。
12.根据权利要求11所述的方法,其特征在于,所述获得F个自动驾驶任务对应的F批历史路径包括:
将参考特征向量和第一状态向量输入到所述共享策略网络进行处理,得到第一驾驶操作;所述参考特征向量为零向量或根据所述任一任务的N组历史路径确定的所述任一任务的任务特征向量,所述第一状态向量用于表征所述自动驾驶装置在第一时间步的行驶状态,N为大于0的整数;
获得所述自动驾驶装置在第二时间步的行驶状态和执行所述第一驾驶操作的回报,所述第二时间步为所述第一时间步的下一时间步,所述自动驾驶装置在所述第二时间步的行驶状态为所述自动驾驶装置在所述第一时间步执行所述第一驾驶操作后达到的行驶状态;
根据所述自动驾驶装置完成或执行所述任一任务的T个时间步的信息,确定所述任一任务的一组历史路径;所述T个时间步包括所述第一时间步,所述T个时间步中任一个时间步的信息包括所述自动驾驶装置在所述任一时间步的行驶状态、执行的驾驶操作以及得到的回报,T为不小于1的整数。
13.根据权利要求12所述的方法,其特征在于,所述将参考特征向量和第一状态向量输入到所述共享策略网络进行处理,得到第一驾驶操作之前,所述方法还包括:
获得所述N组历史路径;
根据所述N组历史路径对应的N个损失,更新所述自动驾驶任务对应的一组任务抽象网络参数,所述N个损失与所述N组历史路径一一对应;
利用所述任务抽象网络采用更新后的所述一组任务抽象网络参数对所述N组历史路径进行处理,得到N个中间特征向量,所述N个中间特征向量与所述N组历史路径一一对应;
根据所述N个中间特征向量,确定所述参考特征向量。
14.根据权利要求13所述的方法,其特征在于,所述根据所述N组历史路径对应的N个损失,更新所述自动驾驶任务对应的一组任务抽象网络参数包括:
利用第一损失函数相对于所述任务抽象网络的参数的梯度值,更新所述任务抽象网络相对于所述自动驾驶任务的一组相对参数;所述一组任务抽象网络参数为所述任务抽象网络的参数与所述一组相对参数之差,所述第一损失函数用于计算所述N个损失的损失和。
16.根据权利要求11至15任一项所述的方法,其特征在于,所述根据所述F个自动驾驶任务对应的F个损失,更新任务抽象网络的参数包括:
利用第二损失函数相对于所述任务抽象网络的参数的梯度值,更新所述任务抽象网络的参数;所述第二损失函数用于计算所述F个任务的F个损失的损失和或所述F个损失的损失和的平均数,所述F个损失与所述F个自动驾驶任务一一对应,所述F个自动驾驶任务中任一个任务的损失为根据所述任一个任务最新的一批历史路径计算得到的损失。
17.根据权利要求16所述的方法,其特征在于,所述根据所述F个损失,更新共享策略网络的参数包括:
利用所述第二损失函数相对于所述共享策略网络的参数的梯度值,更新所述共享策略网络的参数。
18.根据权利要求17所述的方法,其特征在于,所述方法还包括:
利用所述第二损失函数相对于目标学习率的梯度值,更新所述目标学习率,所述目标学习率为更新所述任务抽象网络相对于所述任一任务的相对参数的学习率。
19.根据权利要求18所述的方法,其特征在于,所述第二损失函数的计算公式如下:
其中,θ={θTA、θpolicy、α},θTA表示所述任务抽象网络的参数,θpolicy表示所述共享策略网络的参数,α表示所述目标学习率;πθ(at|st)表示θ更新后所述共享策略网络的输入为状态向量st,输出为驾驶操作at的概率;表示θ更新前所述共享策略网络的输入为状态向量st,输出为驾驶动作at的概率;H为最大步数,b(st)表示用于计算所述自动驾驶装置在时间步t获得的回报的基准函数,rt′表示所述自动驾驶装置在时间步t获得的真实回报;clip(rt(θ),1-ε,1+ε,rt(θ))表示rt(θ)的最小值为1-ε,最大值为1+ε,ε为一个大于0的常数项;表示θ更新前后的两个分布概率的相对熵,β为一个超参数;Et[]表示计算中括号中的期望。
20.根据权利要求11至15任意一项所述的方法,其特征在于,所述任务特征向量为H维向量,所述状态向量为G维向量,G除以H得到的值大于目标阈值。
21.一种自动驾驶装置,其特征在于,包括:
处理器,用于根据自动驾驶任务的M组历史路径,确定所述自动驾驶任务的任务特征向量,所述任务特征向量为表征所述自动驾驶任务的特征的向量,M为大于0的整数;
所述处理器,还用于根据所述任务特征向量和状态向量,确定所需执行的目标驾驶操作,所述状态向量用于表征自动驾驶装置的行驶状态;
控制系统,用于控制所述自动驾驶装置执行所述目标驾驶操作;
所述处理器,还用于获得所述M组历史路径;利用任务抽象网络对所述M组历史路径做特征提取,得到M组中间特征向量,所述M组中间特征向量与所述M组历史路径一一对应;根据所述M组中间特征向量,确定所述任务特征向量。
22.根据权利要求21所述的自动驾驶装置,其特征在于,
所述处理器,用于利用共享策略网络对所述任务特征向量和所述状态向量做处理,得到所述目标驾驶操作,所述共享策略网络为用于实现强化学习的神经网络。
23.根据权利要求22所述的自动驾驶装置,其特征在于,
所述处理器,还用于利用所述共享策略网络对参考特征向量和第一状态向量做处理,得到第一驾驶操作;所述参考特征向量为零向量或根据所述自动驾驶任务的N组历史路径确定的所述自动驾驶任务的特征向量,所述第一状态向量用于表征所述自动驾驶装置在第一时间步的行驶状态,N为大于0的整数;
所述控制系统,还用于控制所述自动驾驶装置在所述第一时间步执行所述第一驾驶操作;
所述处理器,还用于获得所述自动驾驶装置在第二时间步的行驶状态和执行所述第一驾驶操作的回报,所述第二时间步为所述第一时间步的下一时间步;根据完成或执行所述自动驾驶任务的T个时间步的信息,确定一组历史路径;所述T个时间步包括所述第一时间步,所述T个时间步中任一个时间步的信息包括所述自动驾驶装置在所述任一时间步的行驶状态、执行的驾驶操作以及得到的回报,T为不小于1的整数。
24.根据权利要求23所述的自动驾驶装置,其特征在于,
所述处理器,还用于获得所述N组历史路径;根据所述N组历史路径对应的N个损失,更新所述自动驾驶任务对应的一组任务抽象网络参数,所述N个损失与所述N组历史路径一一对应;利用所述任务抽象网络对所述N组历史路径做特征提取,得到N个中间特征向量,所述N个中间特征向量与所述N组历史路径一一对应;其中,所述任务抽象网络采用所述一组任务抽象网络参数对所述N组历史路径进行处理;根据所述N个中间特征向量,确定所述参考特征向量。
25.根据权利要求24所述的自动驾驶装置,其特征在于,
所述处理器,用于利用第一损失函数相对于所述任务抽象网络的参数的梯度值,更新所述任务抽象网络相对于所述自动驾驶任务的一组相对参数;所述一组任务抽象网络参数为所述任务抽象网络的参数与所述一组相对参数之差,所述第一损失函数用于计算所述N个损失的损失和。
27.根据权利要求24所述的自动驾驶装置,其特征在于,
所述处理器,还用于利用第二损失函数相对于所述任务抽象网络的参数的梯度值,更新所述任务抽象网络的参数;所述第二损失函数用于计算F个自动驾驶任务的F个损失的损失和或所述F个损失的损失和的平均数,所述F个损失与所述F个自动驾驶任务一一对应,所述F个自动驾驶任务中任一个任务的损失为根据所述任一个任务最新的一批历史路径计算得到的损失,F为大于1的整数;利用所述第二损失函数相对于所述共享策略网络的参数的梯度值,更新所述共享策略网络的参数。
28.根据权利要求27所述的自动驾驶装置,其特征在于,
所述处理器,还用于利用所述第二损失函数相对于目标学习率的梯度,更新所述目标学习率,所述目标学习率为更新所述任务抽象网络相对于所述自动驾驶任务的所述一组任务抽象网络参数的学习率。
29.根据权利要求28所述的自动驾驶装置,其特征在于,所述第二损失函数的计算公式如下:
其中,θ={θTA、θpolicy、α},θTA表示所述任务抽象网络的参数,θpolicy表示所述共享策略网络的参数,α表示所述目标学习率;πθ(at|st)表示θ更新后所述共享策略网络的输入为状态向量st,输出为驾驶操作at的概率;表示θ更新前所述共享策略网络的输入为状态向量st,输出为驾驶动作at的概率;H为最大步数,b(st)表示用于计算所述自动驾驶装置在时间步t获得的回报的基准函数,rt′表示所述自动驾驶装置在时间步t获得的真实回报;clip(rt(θ),1-ε,1+ε,rt(θ))表示rt(θ)的最小值为1-ε,最大值为1+ε,ε为一个大于0的常数项;表示θ更新前后的两个分布概率的相对熵,β为一个超参数;Et[]表示计算中括号中的期望。
30.根据权利要求21至29任意一项所述的自动驾驶装置,其特征在于,所述任务特征向量为H维向量,所述状态向量为G维向量,G除以H得到的值大于目标阈值。
31.一种训练设备,其特征在于,包括:
获取单元,用于获得F个自动驾驶任务对应的F批历史路径;所述F批历史路径与所述F个自动驾驶任务一一对应,所述F批历史路径中任一批历史路径至少包括一组历史路径,F为大于1的整数;
处理器,用于根据所述F个自动驾驶任务对应的F个损失,更新任务抽象网络的参数;所述任务抽象网络用于根据所述F个自动驾驶任务中任一任务的历史路径,确定表征所述任一任务的特征的任务特征向量;所述F个损失与所述F个自动驾驶任务一一对应;
所述处理器,还用于根据所述F个损失,更新共享策略网络的参数;所述共享策略网络用于根据状态向量和所述任务抽象网络提取出的任务特征向量,确定自动驾驶装置所需执行的驾驶操作;所述状态向量用于表征所述自动驾驶装置的行驶状态。
32.根据权利要求31所述的训练设备,其特征在于,
所述处理器,还用于将参考特征向量和第一状态向量输入到所述共享策略网络进行处理,得到第一驾驶操作;所述参考特征向量为零向量或根据所述任一任务的N组历史路径确定的所述任一任务的任务特征向量,所述第一状态向量用于表征所述自动驾驶装置在第一时间步的行驶状态,N为大于0的整数;
所述获取单元,还用于获得所述自动驾驶装置在第二时间步的行驶状态和执行所述第一驾驶操作的回报,所述第二时间步为所述第一时间步的下一时间步,所述自动驾驶装置在所述第二时间步的行驶状态为所述自动驾驶装置在所述第一时间步执行所述第一驾驶操作后达到的行驶状态;
所述处理器,还用于根据所述自动驾驶装置完成或执行所述任一任务的T个时间步的信息,确定所述任一任务的一组历史路径;所述T个时间步包括所述第一时间步,所述T个时间步中任一个时间步的信息包括所述自动驾驶装置在所述任一时间步的行驶状态、执行的驾驶操作以及得到的回报,T为不小于1的整数。
33.根据权利要求32所述的训练设备,其特征在于,
所述获取单元,还用于获得所述N组历史路径;
所述处理器,还用于根据所述N组历史路径对应的N个损失,更新所述自动驾驶任务对应的一组任务抽象网络参数,所述N个损失与所述N组历史路径一一对应;
所述处理器,还用于利用所述任务抽象网络采用更新后的所述一组任务抽象网络参数对所述N组历史路径进行处理,得到N个中间特征向量,所述N个中间特征向量与所述N组历史路径一一对应;根据所述N个中间特征向量,确定所述参考特征向量。
34.根据权利要求33所述的训练设备,其特征在于,
所述处理器,用于利用第一损失函数相对于所述任务抽象网络的参数的梯度值,更新所述任务抽象网络相对于所述自动驾驶任务的一组相对参数;所述一组任务抽象网络参数为所述任务抽象网络的参数与所述一组相对参数之差,所述第一损失函数用于计算所述N个损失的损失和。
36.根据权利要求31至35任意一项所述的训练设备,其特征在于,
所述处理器,用于利用第二损失函数相对于所述任务抽象网络的参数的梯度值,更新所述任务抽象网络的参数;所述第二损失函数用于计算所述F个自动驾驶任务的F个损失的损失和或所述F个损失的损失和的平均数,所述F个损失与所述F个自动驾驶任务一一对应,所述F个自动驾驶任务中任一个任务的损失为根据所述任一个任务最新的一批历史路径计算得到的损失。
37.根据权利要求36所述的训练设备,其特征在于,
所述处理器,用于利用所述第二损失函数相对于所述共享策略网络的参数的梯度值,更新所述共享策略网络的参数。
38.根据权利要求37所述的训练设备,其特征在于,
所述处理器,还用于利用所述第二损失函数相对于目标学习率的梯度值,更新所述目标学习率,所述目标学习率为更新所述任务抽象网络相对于所述任一任务的相对参数的学习率。
39.根据权利要求38所述的训练设备,其特征在于,所述第二损失函数的计算公式如下:
其中,θ={θTA、θpolicy、α},θTA表示所述任务抽象网络的参数,θpolicy表示所述共享策略网络的参数,α表示所述目标学习率;πθ(at|st)表示θ更新后所述共享策略网络的输入为状态向量st,输出为驾驶操作at的概率;表示θ更新前所述共享策略网络的输入为状态向量st,输出为驾驶动作at的概率;H为最大步数,b(st)表示用于计算所述自动驾驶装置在时间步t获得的回报的基准函数,rt′表示所述自动驾驶装置在时间步t获得的真实回报;clip(rt(θ),1-ε,1+ε,rt(θ))表示rt(θ)的最小值为1-ε,最大值为1+ε,ε为一个大于0的常数项;表示θ更新前后的两个分布概率的相对熵,β为一个超参数;Et[]表示计算中括号中的期望。
40.根据权利要求31至35任意一项所述的训练设备,其特征在于,所述任务特征向量为H维向量,所述状态向量为G维向量,G除以H得到的值大于目标阈值。
41.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-10或者11-20任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811528036.1A CN109901572B (zh) | 2018-12-13 | 2018-12-13 | 自动驾驶方法、训练方法及相关装置 |
PCT/CN2019/117268 WO2020119363A1 (zh) | 2018-12-13 | 2019-11-11 | 自动驾驶方法、训练方法及相关装置 |
EP19896833.1A EP3835908B1 (en) | 2018-12-13 | 2019-11-11 | Automatic driving method, training method and related apparatuses |
US17/198,937 US20210197855A1 (en) | 2018-12-13 | 2021-03-11 | Self-Driving Method, Training Method, and Related Apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811528036.1A CN109901572B (zh) | 2018-12-13 | 2018-12-13 | 自动驾驶方法、训练方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109901572A CN109901572A (zh) | 2019-06-18 |
CN109901572B true CN109901572B (zh) | 2022-06-28 |
Family
ID=66943393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811528036.1A Active CN109901572B (zh) | 2018-12-13 | 2018-12-13 | 自动驾驶方法、训练方法及相关装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210197855A1 (zh) |
EP (1) | EP3835908B1 (zh) |
CN (1) | CN109901572B (zh) |
WO (1) | WO2020119363A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109901572B (zh) * | 2018-12-13 | 2022-06-28 | 华为技术有限公司 | 自动驾驶方法、训练方法及相关装置 |
JP6772351B1 (ja) * | 2019-09-18 | 2020-10-21 | Toyo Tire株式会社 | タイヤ物理情報推定システム |
CN112541515A (zh) * | 2019-09-23 | 2021-03-23 | 北京京东乾石科技有限公司 | 模型训练方法、驾驶数据处理方法、装置、介质和设备 |
CN111814035B (zh) * | 2019-11-18 | 2024-08-16 | 北京嘀嘀无限科技发展有限公司 | 信息推荐方法、电子设备及存储介质 |
WO2021203385A1 (zh) * | 2020-04-09 | 2021-10-14 | 华为技术有限公司 | 一种生成指令单元组的方法及装置 |
KR20210126398A (ko) * | 2020-04-10 | 2021-10-20 | 에스케이하이닉스 주식회사 | 시스톨릭 어레이를 갖는 신경망 연산 장치 |
US11511413B2 (en) * | 2020-06-12 | 2022-11-29 | Huawei Technologies Co. Ltd. | Systems and methods for learning reusable options to transfer knowledge between tasks |
CN111950726A (zh) * | 2020-07-09 | 2020-11-17 | 华为技术有限公司 | 基于多任务学习的决策方法、决策模型训练方法及装置 |
CN112329827B (zh) * | 2020-10-26 | 2022-08-23 | 同济大学 | 一种基于元学习的增量小样本目标检测方法 |
CN112348113B (zh) * | 2020-11-27 | 2022-11-18 | 腾讯科技(深圳)有限公司 | 离线元强化学习模型的训练方法、装置、设备及存储介质 |
CN112684794B (zh) * | 2020-12-07 | 2022-12-20 | 杭州未名信科科技有限公司 | 基于元强化学习的足式机器人运动控制方法、装置及介质 |
CN113815679B (zh) * | 2021-08-27 | 2023-01-13 | 北京交通大学 | 一种高速列车自主驾驶控制的实现方法 |
CN114141033A (zh) * | 2021-11-09 | 2022-03-04 | 南方科技大学 | 交通灯协作控制方法、装置、设备及计算机可读存储介质 |
CN113978259B (zh) * | 2021-11-19 | 2022-10-18 | 张展浩 | 一种基于驾驶场景及驾驶习惯的电动汽车制动控制方法 |
CN113971746B (zh) * | 2021-12-24 | 2022-03-11 | 季华实验室 | 基于单次人手示教的垃圾分类方法、装置及分拣智能系统 |
CN114419884B (zh) * | 2022-01-12 | 2023-04-07 | 清华大学 | 基于强化学习和相位竞争的自适应信号控制方法及系统 |
US11678604B1 (en) | 2022-12-21 | 2023-06-20 | Sensori Robotics, LLC | Smart lawnmower with development of mowing policy and system and method for use of same |
US12001182B1 (en) | 2022-12-21 | 2024-06-04 | Sensori Robotics, LLC | Smart lawnmower with realization of mowing policy and system and method for use of same |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102233877A (zh) * | 2010-03-30 | 2011-11-09 | 通用汽车环球科技运作有限责任公司 | 确保有限能力自动驾驶车辆的运行的方法和系统 |
CN107218948A (zh) * | 2016-03-21 | 2017-09-29 | 福特全球技术公司 | 用于预测路径属性和驾驶历史的融合的系统、方法和装置 |
CN107229973A (zh) * | 2017-05-12 | 2017-10-03 | 中国科学院深圳先进技术研究院 | 一种用于车辆自动驾驶的策略网络模型的生成方法及装置 |
CN107544330A (zh) * | 2017-09-08 | 2018-01-05 | 驭势科技(北京)有限公司 | 自主调校的调度方法及装置 |
CN108594826A (zh) * | 2018-06-04 | 2018-09-28 | 北京智行者科技有限公司 | 车体接口系统 |
CN108891421A (zh) * | 2018-06-25 | 2018-11-27 | 大连大学 | 一种构建驾驶策略的方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130238181A1 (en) * | 2012-03-12 | 2013-09-12 | Toyota Motor Eng. & Man. North America (Tema) | On-board vehicle path prediction using processed sensor information |
US9139363B2 (en) * | 2013-03-15 | 2015-09-22 | John Lert | Automated system for transporting payloads |
CN105573323A (zh) * | 2016-01-12 | 2016-05-11 | 福州华鹰重工机械有限公司 | 自动驾驶轨迹生成方法及装置 |
US9846050B2 (en) * | 2016-03-21 | 2017-12-19 | Ford Global Technologies, Llc | Systems, methods, and devices for communicating drive history path attributes |
US10019014B2 (en) * | 2016-05-13 | 2018-07-10 | Delphi Technologies, Inc. | Lane-keeping system for automated vehicles |
CN106023344B (zh) * | 2016-06-06 | 2019-04-05 | 清华大学 | 基于驾驶模式转换概率的驾驶风格估计方法 |
US10065654B2 (en) * | 2016-07-08 | 2018-09-04 | Toyota Motor Engineering & Manufacturing North America, Inc. | Online learning and vehicle control method based on reinforcement learning without active exploration |
CN106875511A (zh) * | 2017-03-03 | 2017-06-20 | 深圳市唯特视科技有限公司 | 一种基于自编码正则化网络学习驾驶风格的方法 |
US11308391B2 (en) * | 2017-03-06 | 2022-04-19 | Baidu Usa Llc | Offline combination of convolutional/deconvolutional and batch-norm layers of convolutional neural network models for autonomous driving vehicles |
CN107168303A (zh) * | 2017-03-16 | 2017-09-15 | 中国科学院深圳先进技术研究院 | 一种汽车的自动驾驶方法及装置 |
CN107862346B (zh) * | 2017-12-01 | 2020-06-30 | 驭势科技(北京)有限公司 | 一种进行驾驶策略模型训练的方法与设备 |
CN108446727B (zh) * | 2018-03-09 | 2021-09-21 | 上海安亭地平线智能交通技术有限公司 | 驾驶行为决策方法、系统和电子设备 |
US10940863B2 (en) * | 2018-11-01 | 2021-03-09 | GM Global Technology Operations LLC | Spatial and temporal attention-based deep reinforcement learning of hierarchical lane-change policies for controlling an autonomous vehicle |
CN109901572B (zh) * | 2018-12-13 | 2022-06-28 | 华为技术有限公司 | 自动驾驶方法、训练方法及相关装置 |
-
2018
- 2018-12-13 CN CN201811528036.1A patent/CN109901572B/zh active Active
-
2019
- 2019-11-11 EP EP19896833.1A patent/EP3835908B1/en active Active
- 2019-11-11 WO PCT/CN2019/117268 patent/WO2020119363A1/zh unknown
-
2021
- 2021-03-11 US US17/198,937 patent/US20210197855A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102233877A (zh) * | 2010-03-30 | 2011-11-09 | 通用汽车环球科技运作有限责任公司 | 确保有限能力自动驾驶车辆的运行的方法和系统 |
CN107218948A (zh) * | 2016-03-21 | 2017-09-29 | 福特全球技术公司 | 用于预测路径属性和驾驶历史的融合的系统、方法和装置 |
CN107229973A (zh) * | 2017-05-12 | 2017-10-03 | 中国科学院深圳先进技术研究院 | 一种用于车辆自动驾驶的策略网络模型的生成方法及装置 |
CN107544330A (zh) * | 2017-09-08 | 2018-01-05 | 驭势科技(北京)有限公司 | 自主调校的调度方法及装置 |
CN108594826A (zh) * | 2018-06-04 | 2018-09-28 | 北京智行者科技有限公司 | 车体接口系统 |
CN108891421A (zh) * | 2018-06-25 | 2018-11-27 | 大连大学 | 一种构建驾驶策略的方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3835908B1 (en) | 2023-10-25 |
CN109901572A (zh) | 2019-06-18 |
EP3835908A1 (en) | 2021-06-16 |
EP3835908A4 (en) | 2022-01-19 |
US20210197855A1 (en) | 2021-07-01 |
WO2020119363A1 (zh) | 2020-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109901572B (zh) | 自动驾驶方法、训练方法及相关装置 | |
CN109901574B (zh) | 自动驾驶方法及装置 | |
CN110379193B (zh) | 自动驾驶车辆的行为规划方法及行为规划装置 | |
CN113835421B (zh) | 训练驾驶行为决策模型的方法及装置 | |
CN110532846B (zh) | 自动换道方法、装置及存储介质 | |
WO2021102955A1 (zh) | 车辆的路径规划方法以及车辆的路径规划装置 | |
WO2021168669A1 (zh) | 车辆控制方法及装置 | |
CN113498529B (zh) | 一种目标跟踪方法及其装置 | |
CN113552867B (zh) | 一种运动轨迹的规划方法及轮式移动设备 | |
WO2022178858A1 (zh) | 一种车辆行驶意图预测方法、装置、终端及存储介质 | |
CN111950726A (zh) | 基于多任务学习的决策方法、决策模型训练方法及装置 | |
US20230048680A1 (en) | Method and apparatus for passing through barrier gate crossbar by vehicle | |
WO2022017307A1 (zh) | 自动驾驶场景生成方法、装置及系统 | |
CN114261404B (zh) | 一种自动驾驶方法及相关装置 | |
CN113954858A (zh) | 一种规划车辆行驶路线的方法以及智能汽车 | |
CN114440908A (zh) | 一种规划车辆驾驶路径的方法、装置、智能车以及存储介质 | |
CN112584079A (zh) | 视频通话人脸呈现方法、视频通话装置及汽车 | |
CN112810603B (zh) | 定位方法和相关产品 | |
WO2021163846A1 (zh) | 目标跟踪方法以及目标跟踪装置 | |
US20230107033A1 (en) | Method for optimizing decision-making regulation and control, method for controlling traveling of vehicle, and related apparatus | |
CN114549610A (zh) | 一种点云数据的处理方法及相关装置 | |
CN113066124A (zh) | 一种神经网络的训练方法以及相关设备 | |
CN118182516A (zh) | 一种轨迹规划方法以及相关设备 | |
CN116257771A (zh) | 一种数据采集设备、数据处理装置及相关方法 | |
CN113701746A (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 |