CN111899594A - 用于自动驾驶车辆的动态模型的自动化训练数据提取方法 - Google Patents
用于自动驾驶车辆的动态模型的自动化训练数据提取方法 Download PDFInfo
- Publication number
- CN111899594A CN111899594A CN201911277627.0A CN201911277627A CN111899594A CN 111899594 A CN111899594 A CN 111899594A CN 201911277627 A CN201911277627 A CN 201911277627A CN 111899594 A CN111899594 A CN 111899594A
- Authority
- CN
- China
- Prior art keywords
- features
- dynamic model
- feature
- training data
- training
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B9/00—Simulators for teaching or training purposes
- G09B9/02—Simulators for teaching or training purposes for teaching control of vehicles or other craft
- G09B9/04—Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of land vehicles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/044—Recurrent networks, e.g. Hopfield networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Educational Technology (AREA)
- Educational Administration (AREA)
- Business, Economics & Management (AREA)
- Aviation & Aerospace Engineering (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Image Analysis (AREA)
- Feedback Control In General (AREA)
Abstract
在一个实施方式中,一种训练自动驾驶车辆(ADV)的动态模型的方法包括以下操作:从训练数据源接收第一组训练数据,第一组训练数据表示对于第一组特征的驾驶统计数据;对于第一组特征,基于第一组训练数据训练动态模型;基于评估动态模型,确定作为第一组特征的子集的第二组特征,第二组特征中的每个特征均表示其性能得分低于预定阈值的特征。该方法还法包括以下操作:对于第二组特征中的每个特征,检索与第二组特征的对应特征相关联的第二组训练数据,以及使用第二组训练数据重新训练动态模型。
Description
技术领域
本公开的实施方式总体涉及操作自动驾驶车辆。更具体地,本公开的实施方式涉及训练自动驾驶车辆的动态模型的方法。
背景技术
以自动驾驶模式运行(例如,无人驾驶)的车辆可将乘员、尤其是驾驶员从一些驾驶相关的职责中解放出来。当以自动驾驶模式运行时,车辆可使用车载传感器导航到各个位置,从而允许车辆在最少人机交互的情况下或在没有任何乘客的一些情况下行驶。
自动驾驶车辆(ADV)依靠各种模块来规划轨迹和控制致动器命令。在这些模块中使用的过程和算法通常需要测试,或响应于改变的驾驶环境而调整。动态模型描述了ADV的动态特征,并可以基于车辆的当前状态和致动器指令预测ADV的未来状态。动态模型可用在模拟器中以微调致动器和设计控制算法,用于实时自动驾驶。
动态模型可以实施在深度神经网络(DNN)中,其推断精度和鲁棒性很大程度上取决于如何训练动态模型和使用什么训练数据。
训练数据可以手动选择,或者可以用对机器学习模型的内容选中(on select)来供应。两种方法都不理想。内容选中的训练数据可能是不平衡的,这将有损训练模型的性能,而手动选择训练数据是耗时的和低效的。另一方面,训练动态模型的过程在生成鲁棒的和具有高推断精度的动态模型中也是关键的。
发明内容
在本公开的一方面,提供了一种训练自动驾驶车辆(ADV)的动态模型的计算机实施的方法,包括:
从训练数据源接收第一组训练数据,所述第一组训练数据表示对于第一组特征的驾驶统计数据;
对于所述第一组特征,基于所述第一组训练数据训练动态模型;
基于评估所述动态模型,确定作为所述第一组特征的子集的第二组特征,所述第二组特征中的每个特征均表示其性能得分低于预定阈值的特征;以及
对于所述第二组特征中的每个特征,
检索与所述第二组特征的对应特征相关联的第二组训练数据,以及
使用所述第二组训练数据重新训练所述动态模型。
在本公开的另一方面,提供了一种存储有指令的非暂时性机器可读介质,所述指令在由处理器执行时致使所述处理器执行训练自动驾驶车辆(ADV)的动态模型的操作,所述操作包括:
从训练数据源接收第一组训练数据,所述第一组训练数据表示对于第一组特征的驾驶统计数据;
对于所述第一组特征,基于所述第一组训练数据训练动态模型;
基于评估所述动态模型,确定作为所述第一组特征的子集的第二组特征,所述第二组特征中的每个特征均表示其性能得分低于预定阈值的特征;以及
对于所述第二组特征中的每个特征,
检索与所述第二组特征的对应特征相关联的第二组训练数据,以及
使用所述第二组训练数据重新训练所述动态模型。
在本公开的又一方面,提供了一种数据处理系统,包括:
处理器;以及
存储器,所述存储器联接至所述处理器,以存储指令,所述指令在由所述处理器执行时致使所述处理器执行训练自动驾驶车辆(ADV)的动态模型的操作,所述操作包括:
从训练数据源接收第一组训练数据,所述第一组训练数据表示对于第一组特征的驾驶统计数据;
对于所述第一组特征,基于所述第一组训练数据训练动态模型;
基于评估所述动态模型,确定作为所述第一组特征的子集的第二组特征,所述第二组特征中的每个特征均表示其性能得分低于预定阈值的特征;以及
对于所述第二组特征中的每个特征,
检索与所述第二组特征的对应特征相关联的第二组训练数据,以及
使用所述第二组训练数据重新训练所述动态模型。
附图说明
本公开的实施方式在附图的各图中以举例而非限制的方式示出,附图中的相同参考标记指示相似元件。
图1是示出根据实施方式的网络化系统的框图。
图2示出了根据实施方式的示例性动态模型。
图3示出了根据实施方式的用于训练图2中所示的动态模型的示例性系统。
图4示出了根据实施方式训练动态模型的示例性流程图。
图5示出了根据实施方式的用于训练动态模型的示例性训练数据提取计划。
图6示出了根据实施方式的用于评估动态模型的受控测试场景的示例。
图7示出了根据实施方式的动态模型的评估度量的示例。
图8是根据实施方式示出训练动态模型的示例性过程的流程图。
图9是根据实施方式示出训练动态模型的另一示例性过程的流程图。
图10是示出可以与一个实施方式一起使用的数据处理系统的示例的框图。
具体实施方式
将参考以下所讨论的细节来描述本公开的各种实施方式和方面,附图将示出所述各种实施方式。下列描述和附图是本公开的说明,而不应当解释为对本公开进行限制。描述了许多特定细节以提供对本公开的各种实施方式的全面理解。然而,在某些情况下,并未描述众所周知的或常规的细节,以提供对本公开的实施方式的简洁讨论。
本说明书中对“一个实施方式”或“实施方式”的提及意味着结合该实施方式所描述的特定特征、结构或特性可包括在本公开的至少一个实施方式中。短语“在一个实施方式中”在本说明书中各个地方的出现不必全部指同一实施方式。
如在本文中所使用的,特征是自动驾驶车辆的许多驾驶参数中的一个,或者是自动驾驶车辆的许多驾驶场景中的一个。特征的示例包括速度、加速度、角速度、油门、制动器、转向角;驾驶场景的示例包括U形转弯、左转、右转、倒车和直行。特征集是指一组多个特征。特征场景是特征中的一个的值,或多个特征的值的组合。
根据各种实施方式,本文所描述的基于机器学习的动态模型训练方法提供了对于动态模型的自动闭环训练过程。在训练过程中,根据预先定义的特征集和在受控测试场景下的动态模型的性能自动提取训练数据。该过程还包括动态模型训练和动态模型评估。在训练数据提取阶段,对于预定义特征集的每个特征定义多个等距值范围,并对于多个预定范围的每个提取等量数据。然后可以使用提取的数据来训练动态模型,并且可以在多个受控测试场景中进行评分。可以提取对于一个或多个得分较低的特征的附加数据来重新训练动态模型。循环可以继续,直到动态模型对于每个预定义特征达到预设分数。
在一个实施方式中,一种训练自动驾驶车辆(ADV)的动态模型的方法包括:从训练数据源接收第一组训练数据,第一组训练数据表示对于第一组特征的驾驶统计数据;对于第一组特征,基于第一组训练数据训练动态模型;基于评估动态模型,确定作为第一组特征的子集的第二组特征,第二组特征中的每个特征均表示其性能得分低于预定阈值的特征。该方法还法包括以下操作:对于第二组特征中的每个特征,检索与第二组特征的对应特征相关联的第二组训练数据,以及使用第二组训练数据重新训练动态模型。
在一个实施方式中,该方法还包括迭代地执行检索第二组训练数据并重新训练动态模型,直到相应的性能得分高于预定阈值或迭代次数达到预定迭代值。
在一个实施方式中,第一组特征中的每个特征均表示多个驾驶参数中的一个,包括速度、加速度、角速度、油门、制动和转向角、U形转弯、左转或右转。
在一个实施方式中,从训练数据源提取第一组训练数据包括:对于第一组特征中的每个特征确定多个等距值范围;以及从对于该特征的多个范围中的每一个中选择值。第一组训练数据包括多个特征场景,每个特征场景均表示对于第一组特征的所选的值的组合。
在一个实施方式中,动态模型基于在多个受控特征场景下、由动态模型已针对其被训练的ADV生成的驾驶统计数据进行评估。每个受控特征场景均表示第一组特征的所选的值的组合。评估动态模型可以包括从多个受控特征场景确定与第一组特征的每个特征相关联的一组受控特征场景;将一组受控特征场景中的每一个作为输入应用到动态模型;将动态模型对于输入的输出与ADV响应于输入的ground truth值进行比较;计算第一组特征的每个特征的均方根误差;计算第一组特征的每个特征的性能得分;以及基于性能得分确定第二组特征。
在一个实施方式中,动态模型是使用来自训练数据源的第一组训练数据训练的多个动态模型中的一个。动态模型是基于推断性能获得最高分数的模型。动态模型可以是由线性回归、多层感知器(MLP)或递归神经网络(RNN)之一所表示的神经网络模型。
在一个实施方式中,训练数据源存储从由人类驾驶员驾驶的多种车辆收集的驾驶统计数据,其中,驾驶统计数据包括指示由车辆的传感器在不同时间点发出的驾驶命令和捕获的车辆的响应的信息。
自动驾驶车辆
图1是示出根据本公开的一个实施方式的自动驾驶车辆网络配置的框图。参考图1,网络配置100包括可通过网络102通信地联接到一个或多个服务器103至104的自动驾驶车辆101。尽管示出一个自动驾驶车辆,但多个自动驾驶车辆可通过网络102联接到彼此和/或联接到服务器103至104。网络102可以是任何类型的网络,例如,有线或无线的局域网(LAN)、诸如互联网的广域网(WAN)、蜂窝网络、卫星网络或其组合。服务器103至104可以是任何类型的服务器或服务器群集,诸如,网络或云服务器、应用服务器、后端服务器或其组合。服务器103至104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(MPOI)服务器或位置服务器等。
自动驾驶车辆是指可配置成处于自动驾驶模式下的车辆,在所述自动驾驶模式下车辆在极少或没有来自驾驶员的输入的情况下导航通过环境。这种自动驾驶车辆可包括传感器系统,所述传感器系统具有配置成检测与车辆运行环境有关的信息的一个或多个传感器。所述车辆和其相关联的控制器使用所检测的信息来导航通过所述环境。自动驾驶车辆101可在手动模式下、在全自动驾驶模式下或者在部分自动驾驶模式下运行。
在一个实施方式中,自动驾驶车辆101包括,但不限于,感知与规划系统110、车辆控制系统111、无线通信系统112、用户接口系统113和传感器系统115。自动驾驶车辆101还可包括普通车辆中包括的某些常用部件,诸如:发动机、车轮、方向盘、变速器等,所述部件可由车辆控制系统111和/或感知与规划系统110使用多种通信信号和/或命令进行控制,该多种通信信号和/或命令例如,加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等。
部件110至115可经由互连件、总线、网络或其组合通信地联接到彼此。例如,部件110至115可经由控制器局域网(CAN)总线通信地联接到彼此。CAN总线是设计成允许微控制器和装置在没有主机的应用中与彼此通信的车辆总线标准。它是最初是为汽车内的复用电气布线设计的基于消息的协议,但也用于许多其它环境。
在一个实施方式中,传感器系统115包括一个或多个摄像机、全球定位系统(GPS)单元212、惯性测量单元(IMU)、雷达单元以及光探测和测距(LIDAR)单元。
传感器系统115还可包括其它传感器,诸如:声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器以及音频传感器(例如,麦克风)。音频传感器可配置成从自动驾驶车辆周围的环境中采集声音。转向传感器可配置成感测方向盘、车辆的车轮或其组合的转向角度。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在一些情形下,油门传感器和制动传感器可集成为集成式油门/制动传感器。
在一个实施方式中,车辆控制系统111包括转向单元、油门单元(也称为加速单元)和制动单元。转向单元用来调整车辆的方向或前进方向。油门单元用来控制电动机或发动机的速度,电动机或发动机的速度进而控制车辆的速度和加速度。制动单元通过提供摩擦使车辆的车轮或轮胎减速而使车辆减速。
在一个实施方式中,无线通信系统112允许自动驾驶车辆101与诸如装置、传感器、其它车辆等外部系统之间的通信。例如,无线通信系统112可以与一个或多个装置直接无线通信,或者经由通信网络进行无线通信,诸如,通过网络102与服务器103至104通信。无线通信系统112可使用任何蜂窝通信网络或无线局域网(WLAN),例如,使用WiFi,以与另一部件或系统通信。无线通信系统112可例如使用红外链路、蓝牙等与装置(例如,乘客的移动装置、显示装置、车辆101内的扬声器)直接通信。用户接口系统113可以是在车辆101内实施的外围装置的部分,包括例如键盘、触摸屏显示装置、麦克风和扬声器等。
自动驾驶车辆101的功能中的一些或全部可由感知与规划系统110控制或管理,尤其当在自动驾驶模式下操作时。感知与规划系统110包括必要的硬件(例如,处理器、存储器、存储装置)和软件(例如,操作系统、规划和路线安排程序),以从传感器系统115、控制系统111、无线通信系统112和/或用户接口系统113接收信息,处理所接收的信息,规划从起始点到目的地点的路线或路径,随后基于规划和控制信息来驾驶车辆101。可替代地,感知与规划系统110可与车辆控制系统111集成在一起。
当自动驾驶车辆101沿着路线移动时,感知与规划系统110也可从交通信息系统或服务器(TIS)获得实时交通信息。应注意,服务器103至104可由第三方实体进行操作。可替代地,服务器103至104的功能可与感知与规划系统110集成在一起。基于实时交通信息、MPOI信息和位置信息以及由传感器系统115检测或感测的实时本地环境数据(例如,障碍物、对象、附近车辆),感知与规划系统110可规划最佳路线并且根据所规划的路线例如经由控制系统111来驾驶车辆101,以安全且高效到达指定目的地。
服务器103可以是数据分析系统,从而为各种客户执行数据分析服务。在一个实施方式中,数据分析系统103包括数据收集器121和机器学习引擎122。数据收集器121从各种车辆(自动驾驶车辆或由人类驾驶员驾驶的常规车辆)收集驾驶统计数据123。驾驶统计数据123包括指示所发出的驾驶指令(例如,油门、制动、转向指令)以及由车辆的传感器在不同的时间点捕捉到的车辆的响应(例如,速度、加速、减速、方向)的信息。驾驶统计数据123还可包括描述不同时间点下的驾驶环境的信息,例如,路线(包括起始位置和目的地位置)、MPOI、道路状况、天气状况等。
基于驾驶统计数据123,出于各种目的,机器学习引擎122生成或训练一组规则、算法和/或自动化动态模型训练模块124。例如,机器学习引擎122可以训练动态模型。可以在服务器103中提供自动化动态模型训练模型,以控制从驾驶统计数据123对训练数据的提取和使用提取的驾驶统计数据对动态模型进行的训练。
动态模型训练
图2示出了根据实施方式的示例性动态模型。在该示例中,动态模型200可以是利用由车辆中的传感器收集的真实世界数据训练的多层感知器(MLP)神经网络模型。动态模型包括一组连接的神经元,这些神经元被设计用来模拟人脑。动态模型中的神经元可以完全连接,一层中的每个节点以一定的权重连接到下一层中的每个节点。在动态模型的训练期间,动态模型在每个数据片被处理之后,基于与期望结果相比输出的误差量来改变连接权重。
在一个实施方式中,动态模型200可以包括:输入层205,以接收输入数据201;输出层209,关于输入数据作出决策或预测或分类;以及任意数量的隐藏层(例如,隐藏层207),位于输入层201和输出层209之间。隐藏层是动态模型200的计算引擎。隐藏层207中的神经元可以包括用于转换输入数据201的激活函数。整流线性单元(ReLU)202表示在动态模型200中使用的示例性激活函数。如果ReLU 202接收到任何负输入,则ReLu 202返回0;对于任何正值返回,ReLu 202将返回该值。虽然图2示出了一个隐藏层207和一个输出层209,但动态模型200可以包括多个隐藏层和多个输出层。
在实施方式中,神经网络模型200的输入数据201包括ADV的状态(例如,速度、加速度和角速度),以及用于第一驾驶周期的控制命令(例如,油门命令、制动命令和转向命令)。输入数据201可由一个或多个隐藏层处理,并转换为输出数据204,输出数据204是第二驾驶周期的ADV的期望状态。基于随时间的加速度和角速度,可以计算第二驾驶周期的ADV的速度。输入数据表示ADV的多个特征场景(即,状态)。
图3示出了根据实施方式的用于训练图2中所示的动态模型的示例性系统300。如图3所示,示例性动态训练系统300包括自动化动态模型训练模块124、特征提取模块307、训练控制器309、历史驾驶统计数据322和受控测试场景的驾驶统计数据303。
历史驾驶统计数据322包括由传感器(例如IMU和GPS)收集的真实世界数据,以记录车辆在各种场景下的实时动态(例如,状态),这些场景可以覆盖各种道路类型、障碍物类型和道路环境。例如,真实世界数据可以从百度TM的阿波罗开放数据平台下载。对于受控测试场景的驾驶统计数据303是由人类驾驶员驾驶的车辆生成的真实世界数据。
在一个实施方式中,训练控制器309可以实现一种算法来自动化以下过程:提取训练数据,使用训练数据训练动态模型,迭代地评估动态模型,直到控制模型满足指定的要求。
在一个实施方式中,训练控制器309可以对于多个特征中的每个特征自动生成预定的等距值范围。如上所述,可以在本公开中互换地使用特征和驾驶参数。例如,对于驾驶参数速度,训练控制器309可以生成以下值范围:0-5mps、5-10mps、10-15mps、15-20mps和20-25mps。从等距值范围中每个,训练控制器309可以从历史驾驶统计数据322中提取值。在一个实施方式中,历史驾驶统计数据322可以是百度TM的阿波罗开放数据平台的子集,并且可以存储在与阿波罗开放数据平台同步的数据存储器中。因此,可以具有来自每个范围的值的足够的数据点。
一旦确定了用于每个驾驶参数的值范围,训练控制器309就可以从对于该驾驶参数的每个范围提取数据,以创建多个特征场景,每个特征场景均表示驾驶参数的值,或多个驾驶参数(在本公开中也称为特征或驾驶特征)的值的组合。
作为说明性示例,训练控制器309可以从例如三个驾驶参数创建特征场景:转向角、速度和加速度。对于每个驾驶参数,训练控制器309可以创建多个等距的范围。例如,模拟器控制器309可以创建对于转向角的12个等距范围、对于速度的5个等距范围和对于加速度的7个等距范围。在一个实现中,将使用来自每个上述范围的值创建总共420个特征场景(即,12×5×7=420)。在其他实现中可以创建不同数量的特征场景。
在一个实施方式中,训练控制器309可以调用特征提取模块307来提取用于创建特征场景的数据。利用每个特征场景的训练数据,训练控制器309可以调用由机器学习引擎122提供的服务、功能、例程、库和/或应用编程接口(API)来训练动态模型301。训练控制器309随后可以通过使用来自驾驶统计数据303的数据执行推断来评估动态模型301。在一个实施方式中,训练控制器309可以调用动态模型评估模块305来评估动态模型301。
如图3所示,动态模型301可以从驾驶统计数据303接收从多个受控测试场景生成的数据。与由自然方式操作的车辆生成的测试数据不同,从受控测试场景生成的数据可以是由车辆在各种驾驶场景或驾驶条件下生成的数据,它们是专为生成这些驾驶条件或驾驶场景的测试数据而创建的。
在一个实施方式中,测试数据可以包括多个精心设计的受控测试场景的groundtruth(标注真实)值,以测试训练动态模型301的性能。受控测试场景是特征场景。针对每个特征设计了一个或多个受控测试场景。
例如,一个受控的测试场景会是将方向盘向左转180度,另一个控制测试场景会是将方向盘向右转180度,而再一受控测试场景会是在一分钟内从A点驾驶到B点。对于每个受控测试场景,在驾驶统计数据303中记录ground truth值,驾驶统计数据303还存储对于每个受控测试场景动态模型301的输出。
在一个实施方式中,驾驶统计数据可以包括车辆的当前状态和一个或多个控制命令。当前状态的示例包括第一驾驶周期的ADV的速度、加速度和角速度;控制命令的示例包括第一驾驶周期的油门命令、制动命令和转向命令。每个当前状态可以具有对于第二驾驶周期的相应的期望未来状态308和实际未来状态306。相应的期望未来状态可以是动态模型301的输出,而实际未来状态306可以是来自在受控测试场景下生成的真实世界数据的ground truth值。
在实施方式中,动态模型评估模块305可以使用损失函数310来比较每个实际未来状态和每个期望未来状态,以生成比较结果311。动态模型评估模块305可以基于比较结果311和/或损失函数310,对动态模型301对于每个特征场景的推断性能进行评分。
在一个实施方式中,每个特征场景可以包括多个特征的值或一个特征的值。例如,特征场景可以是每秒5英里的速度;每秒5英里的速度,向左5度的转向角;或者每秒5英里的速度,向左5度的转向角,和15%的油门率。因此,每个特征场景都可以与一个或多个特征相关联。对于与特定特征相关联的所有特征场景,可以基于ground truth值与来自动态模型的期望值之间的比较结果来计算均方根误差。可以使用对于每个特征的每个均方根误差的预定算法来计算性能得分。
基于性能得分,可以对与受控测试场景相关联的多个特征进行排序。训练控制器309可以识别得分低于预定阈值的一个或多个特征,并使用特征提取模块307从历史驾驶数据322中提取附加数据以用于该一个或多个特征,以便重新训练动态模型301。在使用附加数据的重新训练之后,可以再次调用动态模型评估模块305,以评估动态模型301对于一个或多个特征的性能。该过程可以自动重复,直到动态模型301已满足用于训练动态模型301、并且针对其已经设计了受控测试场景的每个特征的预定要求。
在一个实施方式中,上述识别得分低于预定阈值的一个或多个特征的过程可用于识别得分低于预定阈值的一个或多个特征场景。类似地,特征提取模块307可以从一个或多个特征场景中提取附加数据以重新训练动态模型301。在使用附加数据重新训练之后,可以再次调用动态模型评估模块305,以评估动态模型301对于一个或多个特征场景的性能。该过程可以自动重复,直到动态模型301满足先前已创建的每个特征场景的预定要求。
图4示出了根据实施方式训练动态模型的示例性流程图400。
如图4所示,训练动态模型的自动循环可以包括车辆数据生成406阶段以及离线数据管道和模型训练阶段410。一旦动态模型被完全训练并且满足所有预定义的要求,动态模型就可以被放入模拟微调致动器中并设计控制算法,用于在线模拟和评分阶段420中的实时自动驾驶。
更具体地,在车辆数据生成阶段406期间,外部伙伴或动态模型开发者401可以通过在道路上手动驾驶车辆405来收集真实世界的驾驶统计数据,并将驾驶统计数据记录在机器学习训练数据集存储器中,例如百度TM的阿波罗开放数据平台。
在离线数据管道和模型训练阶段410期间,提取与一组预定义特征相关联的预定义特征场景409的数据以用于训练多个动态模型411。一旦动态模型被训练,动态模型可以使用历史驾驶统计数据离线评估。基于动态模型的输出413和ground truth,可以对动态模型进行评分,并且可以选择415具有最高得分的动态模型。
在一个实施方式中,可以对来自多个受控测试场景的驾驶统计数据再次评估所选择的动态模型,从而可以进一步细化动态模型。受控的测试场景可以表示从动态模型已被训练的ADV的驾驶参数的值的各种组合。
驾驶参数的示例可包括制动、加速、怠速、倒车、直行、左转或右转、U形转弯、换道和停车驾驶。每个驾驶参数可以具有多个值。来自一个参数的值或来自多个参数的值的组合构成受控测试场景。
可以由动态模型使用来自受控测试场景中的驾驶统计数据来进行推断。可以将动态模型的输出与每个受控测试场景的ground truth进行比较。可以对动态模型在每个受控测试场景的性能进行评分,并且得分低于预定阈值的那些受控测试场景将被识别。
此外,基于受控测试场景的性能分数,也可以对用于训练动态模型的驾驶参数或特征进行排序,并且可以识别动态模型未能达到预定性能阈值的一个或多个特征。对特征进行排序的第一步骤包括确定对于特征的所有受控特征场景;比较每个受控特征场景的ground truth值和动态模型响应接收该受控特征场景作为输入而生成的期望值;计算均方根误差或其转换值(例如,基于均方根误差的性能分数);基于均方根误差或转换值对特征进行排序;以及识别每个得到的性能分数低于预定阈值的一个或多个特征。
在识别一个或多个特征或一个或多个特征场景之后,通过从历史驾驶统计数据中提取409附加数据可继续训练动态模型的自动循环,例如由数据记录407记录的附加数据,用于重新训练动态模型。
上述过程可迭代地重复,直到动态模型根据一组预定要求而满意地执行,例如,没有特征场景从100中得分低于90。
动态模型被专门训练用于自动驾驶特定的ADV或特定类型或型号的ADV。动态模型可以是神经网络模型,其可以用线性回归、多层感知或递归神经网络模型来表示。从各种车辆收集的驾驶统计数据可以包括不同的控制命令(例如,油门、制动、转向命令)和在不同时间点的车辆的响应或状态。
如图4所示,在在线模拟和评分阶段420中,可以将训练的动态模型放入模拟器中,其中可以实现具有环内控制的模拟过程419,以识别动态模型的输出417的问题,用于确定是否需要动态模型的未来训练。
注意,车辆数据生成阶段406、离线模型训练阶段410和模拟阶段420可以在不同的计算节点中执行,例如,不同的云服务器。或者,它们可以由集群的不同节点(例如,网络服务器后面的应用服务器或后端服务器)执行。
图5示出了根据实施方式的用于训练动态模型的示例性训练数据提取计划。训练数据提取计划可以包括多个特征(例如速度、加速度和转向角)和对于特征的多个等距范围。这些范围用于从训练数据源提取数据,以创建用于训练动态模型的特征场景。这个计划是说明如何提取数据用于模型训练的示例。本领域技术人员应当理解,对于每个特征,可以使用更多的特征,以及更多的等间距值范围。该驾驶计划可用于提取更平衡的数据以覆盖各种驾驶情况。这样的训练数据可以提高训练的动态模型的推断精度。
在一个实施方式中,使用根据数据计划提取的数据,可以训练多个动态模型。每个动态模型可以是不同类型的神经网络。可替代地,多个动态模型可以是相同类型的神经网络,但具有不同深度的层。
图6示出了根据实施方式的用于评估动态模型的受控测试场景的示例。受控测试场景包括纵向测试场景601、横向测试场景603和联合测试场景605。受控测试场景被设计成生成驾驶统计数据,以评估已经使用图5中的训练数据提取计划提取的数据进行训练的动态模型。当对应于动态模型的车辆在每个受控测试场景下手动操纵时,可以生成驾驶统计数据。
以“左/右转”测试场景为例,正数(如+30和+60)表示人类驾驶员应向右转动方向盘,而负数表示人类驾驶员应向左转动方向盘。每个正数或负数代表受控的测试场景。“右转”或“左转”是本公开中车辆的特征。
例如,当人类驾驶员将方向盘向右转30度时,车辆实际上会向右转一定角度。30度和车辆实际转弯的角度可以作为用于评估动态模型的驾驶统计数据的一部分收集。车辆实际转弯的角度是ground truth。
图7示出了根据实施方式的用于评估动态模型的度量。示例性评估指标包括三个类别701,703和705,每个类别包括多个特征。例如,纵向误差类别701包括加速度和速度。对于特征“加速度”,可以具有许多受控测试场景(例如,油门20%在速度0mph和10mph等)。每个受控测试场景可以具有相应的ground truth值。当每个测试场景被输入到动态模型中时,可以生成期望值。期望值与ground truth值之间的差值是误差。特征和ground truth值的测试场景之间的差异可以用来计算均方根误差。
如图7所示,加速度特征的期望均方根误差(RMSE)被预期小于油门10%。该期望值和实际RMSE可用于计算加速的性能得分。更小的RMSE意味着更好的性能分数。
图8是示出根据实施方式训练动态模型的示例性过程的流程图。过程800可以由处理逻辑来执行,该处理逻辑可以包括软件、硬件或其组合。过程800可以由处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、处理器、处理设备、中央处理单元(CPU)、片上系统(SOC)等)、软件(例如,在处理设备上运行/执行的指令)、固件(例如,微代码),或其组合。在一些实施方式中,过程800可以由图3所示的一个或多个模块或组件来执行,例如动态模型评估模块305。
参照图8,在操作801中,从驾驶统计数据中提取一组或多组预定义特征场景。在操作803中,执行迭代过程来训练动态模型,直到满足预定条件。在操作805中,基于动态模型的输出和对应于该组特征场景的动态模型的期望输出,使用动态模型的预定评分算法来计算性能得分。在操作807中,评估性能得分,以确定性能得分是否高于预定阈值。当性能得分高于预定阈值时,满足迭代过程的预定条件,于此迭代结束。在操作809中,使用训练的动态模型执行模拟以验证和确认动态模型的性能。如果模拟性能较差,则可以对动态模型进行重新训练。
图9是说明根据实施方式训练动态模型的另一示例性过程的流程图。过程900可以由处理逻辑来执行,该处理逻辑可以包括软件、硬件或其组合。过程900可以由处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、处理器、处理设备、中央处理单元(CPU)、片上系统(SOC)等)、软件(例如,在处理设备上运行/执行的指令)、固件(例如,微代码),或其组合。在一些实施方式中,过程900可以由图3所示的一个或多个模块或组件来执行,例如动态模型评估模块305。
参照图9,在操作901中,处理逻辑从训练数据源接收第一组训练数据,第一组训练数据表示对于第一组特征的驾驶统计数据。在操作903中,对于第一组特征,基于第一组训练数据训练动态模型。在操作905中,处理逻辑基于评估动态模型来确定作为第一组特征的子集的第二组特征,第二组特征的每个特征均表示其性能得分低于预定阈值的特征。在操作907中,对于第二组特征中的每个特征,处理逻辑可以检索与第二组特征的对应特征相关联的第二组训练数据,并使用第二组训练数据来重新训练动态模型。
应注意,如上文示出和描述的部件中的一些或全部可在软件、硬件或其组合中实施。例如,此类部件可实施为安装并存储在永久性存储装置中的软件,所述软件可通过处理器(未示出)加载在存储器中并在存储器中执行以实施贯穿本申请所述的过程或操作。可替代地,此类部件可实施为编程或嵌入到专用硬件(诸如,集成电路(例如,专用集成电路或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA))中的可执行代码,所述可执行代码可经由来自应用的相应驱动程序和/或操作系统来访问。此外,此类部件可实施为处理器或处理器内核中的特定硬件逻辑,作为可由软件部件通过一个或多个特定指令访问的指令集的一部分。
图10是示出可与本公开的一个实施方式一起使用的数据处理系统的示例的框图。例如,系统1500可表示以上所述的执行上述过程或方法中的任一个的任何数据处理系统,例如,图3的自动化动态模型训练模块124。系统1500可包括许多不同的部件。这些部件可实施为集成电路(IC)、集成电路的部分、分立电子装置或适用于电路板(诸如,计算机系统的主板或插入卡)的其它模块或者实施为以其它方式并入计算机系统的机架内的部件。
还应注意,系统1500旨在示出计算机系统的许多部件的高阶视图。然而,应当理解的是,某些实施方式中可具有附加的部件,此外,其它实施方式中可具有所示部件的不同布置。系统1500可表示台式计算机、膝上型计算机、平板计算机、服务器、移动电话、媒体播放器、个人数字助理(PDA)、智能手表、个人通信器、游戏装置、网络路由器或集线器、无线接入点(AP)或中继器、机顶盒或其组合。此外,虽然仅示出了单个机器或系统,但是术语“机器”或“系统”还应当理解为包括单独地或共同地执行一个(或多个)指令集以执行本文所讨论的任何一种或多种方法的机器或系统的任何集合。
在一个实施方式中,系统1500包括通过总线或互连件1510连接的处理器1501、存储器1503以及装置1505至1508。处理器1501可表示其中包括单个处理器内核或多个处理器内核的单个处理器或多个处理器。处理器1501可表示一个或多个通用处理器,诸如,微处理器、中央处理单元(CPU)等。更具体地,处理器1501可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或实施其它指令集的处理器、或实施指令集组合的处理器。处理器1501还可以是一个或多个专用处理器,诸如,专用集成电路(ASIC)、蜂窝或基带处理器、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器、图形处理器、通信处理器、加密处理器、协处理器、嵌入式处理器、或者能够处理指令的任何其它类型的逻辑。
处理器1501(其可以是低功率多核处理器套接口,诸如超低电压处理器)可充当用于与所述系统的各种部件通信的主处理单元和中央集线器。这种处理器可实施为片上系统(SoC)。处理器1501配置成执行用于执行本文所讨论的操作和步骤的指令。系统1500还可包括与可选的图形子系统1504通信的图形接口,图形子系统1504可包括显示控制器、图形处理器和/或显示装置。
处理器1501可与存储器1503通信,存储器1503在一个实施方式中可经由多个存储器装置实施以提供给定量的系统存储。存储器1503可包括一个或多个易失性存储(或存储器)装置,诸如,随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或者其它类型的存储装置。存储器1503可存储包括由处理器1501或任何其它装置执行的指令序列的信息。例如,各种操作系统、装置驱动程序、固件(例如,输入输出基本系统或BIOS)和/或应用的可执行代码和/或数据可加载到存储器1503中并由处理器1501执行。操作系统可以是任何类型的操作系统,例如,机器人操作系统(ROS)、来自公司的操作系统、来自苹果公司的Mac来自公司的LINUX、UNIX,或者其它实时或嵌入式操作系统。
系统1500还可包括IO装置,诸如装置1505至1508,包括网络接口装置1505、可选的输入装置1506,以及其它可选的IO装置1507。网络接口装置1505可包括无线收发器和/或网络接口卡(NIC)。所述无线收发器可以是WiFi收发器、红外收发器、蓝牙收发器、WiMax收发器、无线蜂窝电话收发器、卫星收发器(例如,全球定位系统(GPS)收发器)或其它射频(RF)收发器或者它们的组合。NIC可以是以太网卡。
输入装置1506可包括鼠标、触摸板、触敏屏幕(其可与显示装置1504集成在一起)、指针装置(诸如,手写笔)和/或键盘(例如,物理键盘或作为触敏屏幕的一部分显示的虚拟键盘)。例如,输入装置1506可包括联接到触摸屏的触摸屏控制器。触摸屏和触摸屏控制器例如可使用多种触敏技术(包括但不限于电容、电阻、红外和表面声波技术)中的任一种,以及其它接近传感器阵列或用于确定与触摸屏接触的一个或多个点的其它元件来检测其接触和移动或间断。
IO装置1507可包括音频装置。音频装置可包括扬声器和/或麦克风,以促进支持语音的功能,诸如语音识别、语音复制、数字记录和/或电话功能。其它IO装置1507还可包括通用串行总线(USB)端口、并行端口、串行端口、打印机、网络接口、总线桥(例如,PCI-PCI桥)、传感器(例如,诸如加速度计运动传感器、陀螺仪、磁强计、光传感器、罗盘、接近传感器等)或者它们的组合。装置1507还可包括成像处理子系统(例如,摄像机),所述成像处理子系统可包括用于促进摄像机功能(诸如,记录照片和视频片段)的光学传感器,诸如电荷耦合装置(CCD)或互补金属氧化物半导体(CMOS)光学传感器。某些传感器可经由传感器集线器(未示出)联接到互连件1510,而诸如键盘或热传感器的其它装置可根据系统1500的具体配置或设计由嵌入式控制器(未示出)控制。
为了提供对诸如数据、应用、一个或多个操作系统等信息的永久性存储,大容量存储装置(未示出)也可联接到处理器1501。在各种实施方式中,为了实现更薄且更轻的系统设计并且改进系统响应性,这种大容量存储装置可经由固态装置(SSD)来实施。然而,在其它实施方式中,大容量存储装置可主要使用硬盘驱动器(HDD)来实施,其中较小量的SSD存储装置充当SSD高速缓存以在断电事件期间实现上下文状态以及其它此类信息的非易失性存储,从而使得在系统活动重新启动时能够实现快速通电。另外,闪存装置可例如经由串行外围接口(SPI)联接到处理器1501。这种闪存装置可提供系统软件的非易失性存储,所述系统软件包括所述系统的BIOS以及其它固件。
存储装置1508可包括计算机可访问的存储介质1509(也称为机器可读存储介质或计算机可读介质),其上存储有体现本文所述的任何一种或多种方法或功能的一个或多个指令集或软件(例如,模块、单元和/或逻辑1528)。处理模块/单元/逻辑1528可表示上述部件中的任一个,例如训练控制器309。处理模块/单元/逻辑1528还可在其由数据处理系统1500、存储器1503和处理器1501执行期间完全地或至少部分地驻留在存储器1503内和/或处理器1501内,数据处理系统1500、存储器1503和处理器1501也构成机器可访问的存储介质。处理模块/单元/逻辑1528还可通过网络经由网络接口装置1505进行传输或接收。
计算机可读存储介质1509也可用来永久性地存储以上描述的一些软件功能。虽然计算机可读存储介质1509在示例性实施方式中被示为单个介质,但是术语“计算机可读存储介质”应当被认为包括存储所述一个或多个指令集的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。术语“计算机可读存储介质”还应当被认为包括能够存储或编码指令集的任何介质,所述指令集用于由机器执行并且使得所述机器执行本公开的任何一种或多种方法。因此,术语“计算机可读存储介质”应当被认为包括但不限于固态存储器以及光学介质和磁性介质,或者任何其它非暂时性机器可读介质。
本文所述的处理模块/单元/逻辑1528、部件以及其它特征可实施为分立硬件部件或集成在硬件部件(诸如,ASICS、FPGA、DSP或类似装置)的功能中。此外,处理模块/单元/逻辑1528可实施为硬件装置内的固件或功能电路。此外,处理模块/单元/逻辑1528可以以硬件装置和软件部件的任何组合来实施。
应注意,虽然系统1500示出为具有数据处理系统的各种部件,但是并不旨在表示使部件互连的任何特定架构或方式;因为此类细节和本公开的实施方式没有密切关系。还应当认识到,具有更少部件或可能具有更多部件的网络计算机、手持计算机、移动电话、服务器和/或其它数据处理系统也可与本公开的实施方式一起使用。
前述详细描述中的一些部分已经根据在计算机存储器内对数据位的运算的算法和符号表示而呈现。这些算法描述和表示是数据处理领域中的技术人员所使用的方式,以将他们的工作实质最有效地传达给本领域中的其他技术人员。本文中,算法通常被认为是导致所期望结果的自洽操作序列。这些操作是指需要对物理量进行物理操控的操作。
然而,应当牢记,所有这些和类似的术语均旨在与适当的物理量关联,并且仅仅是应用于这些量的方便标记。除非在以上讨论中以其它方式明确地指出,否则应当了解,在整个说明书中,利用术语(诸如所附权利要求书中所阐述的术语)进行的讨论是指计算机系统或类似电子计算装置的动作和处理,所述计算机系统或电子计算装置操控计算机系统的寄存器和存储器内的表示为物理(电子)量的数据,并将所述数据变换成计算机系统存储器或寄存器或者其它此类信息存储装置、传输或显示装置内类似地表示为物理量的其它数据。
本公开的实施方式还涉及用于执行本文中的操作的设备。这种计算机程序存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机构。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存存储器装置)。
前述附图中所描绘的过程或方法可由处理逻辑来执行,所述处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者的组合。尽管所述过程或方法在上文是依据一些顺序操作来描述的,但是应当了解,所述操作中的一些可按不同的顺序执行。此外,一些操作可并行地执行而不是顺序地执行。
本公开的实施方式并未参考任何特定的编程语言进行描述。应认识到,可使用多种编程语言来实施如本文描述的本公开的实施方式的教导。
在以上的说明书中,已经参考本公开的具体示例性实施方式对本公开的实施方式进行了描述。将显而易见的是,在不脱离所附权利要求书中阐述的本公开的更宽泛精神和范围的情况下,可对本发明作出各种修改。因此,应当在说明性意义而不是限制性意义上来理解本说明书和附图。
Claims (20)
1.一种训练自动驾驶车辆的动态模型的计算机实施的方法,包括:
从训练数据源接收第一组训练数据,所述第一组训练数据表示对于第一组特征的驾驶统计数据;
对于所述第一组特征,基于所述第一组训练数据训练动态模型;
基于评估所述动态模型,确定作为所述第一组特征的子集的第二组特征,所述第二组特征中的每个特征均表示其性能得分低于预定阈值的特征;以及
对于所述第二组特征中的每个特征,
检索与所述第二组特征的对应特征相关联的第二组训练数据,以及
使用所述第二组训练数据重新训练所述动态模型。
2.根据权利要求1所述的方法,还包括
迭代地执行检索所述第二组训练数据并重新训练所述动态模型,直到相应的性能得分高于所述预定阈值或迭代次数达到预定迭代值。
3.根据权利要求1所述的方法,其中,所述第一组特征中的每个特征均表示多个驾驶参数中的一个,包括速度、加速度、角速度、油门、制动和转向角、U形转弯、左转或右转。
4.根据权利要求1所述的方法,其中,从所述训练数据源提取所述第一组训练数据包括:
对于所述第一组特征中的每个特征确定多个等距值范围;以及
从对于该特征的多个值范围中的每一个中选择值。
5.根据权利要求4所述的方法,其中,所述第一组训练数据包括多个特征场景,每个特征场景均表示对于所述第一组特征的所选的值的组合。
6.根据权利要求4所述的方法,其中,所述动态模型基于在多个受控特征场景下、由所述动态模型已针对其被训练的自动驾驶车辆生成的驾驶统计数据进行评估,每个受控特征场景均表示所述第一组特征的所选的值的组合。
7.根据权利要求6所述的方法,还包括:
从所述多个受控特征场景确定与所述第一组特征的每个特征相关联的一组受控特征场景;
将所述一组受控特征场景中的每一个作为输入应用到所述动态模型;
将所述动态模型对于所述输入的输出与所述自动驾驶车辆响应于所述输入的groundtruth值进行比较;
计算所述第一组特征的每个特征的均方根误差;
计算所述第一组特征的每个特征的性能得分;以及
基于所述性能得分确定所述第二组特征。
8.根据权利要求1所述的方法,其中,所述动态模型是使用来自所述训练数据源的所述第一组训练数据训练的多个动态模型中的一个,并且其中,所述动态模型是基于推断性能获得最高分数的模型。
9.根据权利要求8所述的方法,其中,所述动态模型是由线性回归、多层感知器(MLP)或递归神经网络(RNN)之一表示的神经网络模型。
10.根据权利要求1所述的方法,其中,所述训练数据源存储从由人类驾驶员驾驶的多种车辆收集的驾驶统计数据,其中,所述驾驶统计数据包括指示由所述车辆的传感器在不同时间点发出的驾驶命令和捕获的所述车辆的响应的信息。
11.一种存储有指令的非暂时性机器可读介质,所述指令在由处理器执行时致使所述处理器执行训练自动驾驶车辆的动态模型的操作,所述操作包括:
从训练数据源接收第一组训练数据,所述第一组训练数据表示对于第一组特征的驾驶统计数据;
对于所述第一组特征,基于所述第一组训练数据训练动态模型;
基于评估所述动态模型,确定作为所述第一组特征的子集的第二组特征,所述第二组特征中的每个特征均表示其性能得分低于预定阈值的特征;以及
对于所述第二组特征中的每个特征,
检索与所述第二组特征的对应特征相关联的第二组训练数据,以及
使用所述第二组训练数据重新训练所述动态模型。
12.根据权利要求11所述的非暂时性机器可读介质,还包括
迭代地执行检索所述第二组训练数据并重新训练所述动态模型,直到相应的性能得分高于所述预定阈值或迭代次数达到预定迭代值。
13.根据权利要求11所述的非暂时性机器可读介质,其中,所述第一组特征中的每个特征均表示多个驾驶参数中的一个,包括速度、加速度、角速度、油门、制动和转向角、U形转弯、左转或右转。
14.根据权利要求11所述的非暂时性机器可读介质,其中,从所述训练数据源提取所述第一组训练数据包括:
对于所述第一组特征中的每个特征确定多个等距值范围;以及
从对于该特征的多个值范围中的每一个中选择值。
15.根据权利要求14所述的非暂时性机器可读介质,其中,所述第一组训练数据包括多个特征场景,每个特征场景均表示对于所述第一组特征的所选的值的组合。
16.根据权利要求14所述的非暂时性机器可读介质,其中,所述动态模型基于在多个受控特征场景下、由所述动态模型已针对其被训练的自动驾驶车辆生成的驾驶统计数据进行评估,每个受控特征场景均表示所述第一组特征的所选的值的组合。
17.根据权利要求16所述的非暂时性机器可读介质,还包括:
从所述多个受控特征场景确定与所述第一组特征的每个特征相关联的一组受控特征场景;
将所述一组受控特征场景中的每一个作为输入应用到所述动态模型;
将所述动态模型对于所述输入的输出与所述自动驾驶车辆响应于所述输入的groundtruth值进行比较;
计算所述第一组特征的每个特征的均方根误差;
计算所述第一组特征的每个特征的性能得分;以及
基于所述性能得分确定所述第二组特征。
18.根据权利要求11所述的非暂时性机器可读介质,其中,所述动态模型是使用来自所述训练数据源的所述第一组训练数据训练的多个动态模型中的一个,并且其中,所述动态模型是基于推断性能获得最高分数的模型。
19.根据权利要求18所述的非暂时性机器可读介质,其中,所述动态模型是由线性回归、多层感知器(MLP)或递归神经网络(RNN)之一表示的神经网络模型。
20.一种数据处理系统,包括:
处理器;以及
存储器,所述存储器联接至所述处理器,以存储指令,所述指令在由所述处理器执行时致使所述处理器执行训练自动驾驶车辆的动态模型的操作,所述操作包括:
从训练数据源接收第一组训练数据,所述第一组训练数据表示对于第一组特征的驾驶统计数据;
对于所述第一组特征,基于所述第一组训练数据训练动态模型;
基于评估所述动态模型,确定作为所述第一组特征的子集的第二组特征,所述第二组特征中的每个特征均表示其性能得分低于预定阈值的特征;以及
对于所述第二组特征中的每个特征,
检索与所述第二组特征的对应特征相关联的第二组训练数据,以及
使用所述第二组训练数据重新训练所述动态模型。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/404,733 US11704554B2 (en) | 2019-05-06 | 2019-05-06 | Automated training data extraction method for dynamic models for autonomous driving vehicles |
US16/404,733 | 2019-05-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111899594A true CN111899594A (zh) | 2020-11-06 |
CN111899594B CN111899594B (zh) | 2022-09-13 |
Family
ID=73046408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911277627.0A Active CN111899594B (zh) | 2019-05-06 | 2019-12-11 | 用于自动驾驶车辆的动态模型的自动化训练数据提取方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11704554B2 (zh) |
CN (1) | CN111899594B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114415672A (zh) * | 2021-01-19 | 2022-04-29 | 百度(美国)有限责任公司 | 用于自主驾驶车辆的动态模型评估 |
WO2023045936A1 (zh) * | 2021-09-22 | 2023-03-30 | 北京智行者科技股份有限公司 | 一种模型自动化迭代方法、设备及存储介质 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11893488B2 (en) * | 2017-03-22 | 2024-02-06 | Larsx | Continuously learning and optimizing artificial intelligence (AI) adaptive neural network (ANN) computer modeling methods and systems |
WO2018175698A1 (en) * | 2017-03-22 | 2018-09-27 | Larsx | Continuously learning and optimizing artificial intelligence (ai) adaptive neural network (ann) computer modeling methods and systems |
CN113119999B (zh) * | 2021-04-16 | 2024-03-12 | 阿波罗智联(北京)科技有限公司 | 自动驾驶特征的确定方法、装置、设备、介质及程序产品 |
US20220343153A1 (en) * | 2021-04-26 | 2022-10-27 | Micron Technology, Inc. | Artificial neural network retraining in memory |
CN113657488B (zh) * | 2021-08-16 | 2023-08-25 | 中国平安财产保险股份有限公司 | 基于驾驶行为的用户分级方法、装置、设备及存储介质 |
CN113741459B (zh) * | 2021-09-03 | 2024-06-21 | 阿波罗智能技术(北京)有限公司 | 确定训练样本的方法和自动驾驶模型的训练方法、装置 |
US12164404B2 (en) * | 2022-04-04 | 2024-12-10 | Palantir Technologies Inc. | Approaches of incident monitoring and resolution |
WO2024040099A1 (en) * | 2022-08-18 | 2024-02-22 | Motional Ad Llc | Control system testing utilizing rulebook scenario generation |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237656A (zh) * | 2008-03-10 | 2008-08-06 | 北京天碁科技有限公司 | 提高终端业务持续时间的方法及使用该方法的终端装置 |
CN107169567A (zh) * | 2017-03-30 | 2017-09-15 | 深圳先进技术研究院 | 一种用于车辆自动驾驶的决策网络模型的生成方法及装置 |
CN107783943A (zh) * | 2017-09-05 | 2018-03-09 | 百度在线网络技术(北京)有限公司 | 一种端到端自动驾驶系统的纵向控制模型的评估方法及装置 |
CN108897313A (zh) * | 2018-05-23 | 2018-11-27 | 清华大学 | 一种分层式端到端车辆自动驾驶系统构建方法 |
CN108972557A (zh) * | 2018-08-16 | 2018-12-11 | 中国科学院自动化研究所 | 微零件位姿自动对准装置及其方法 |
US20190065944A1 (en) * | 2017-08-25 | 2019-02-28 | Ford Global Technologies, Llc | Shared Processing with Deep Neural Networks |
US10254760B1 (en) * | 2017-12-29 | 2019-04-09 | Apex Artificial Intelligence Industries, Inc. | Self-correcting controller systems and methods of limiting the operation of neural networks to be within one or more conditions |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11651244B2 (en) * | 2018-10-04 | 2023-05-16 | Here Global B.V. | Method and apparatus for predicting sensor error |
-
2019
- 2019-05-06 US US16/404,733 patent/US11704554B2/en active Active
- 2019-12-11 CN CN201911277627.0A patent/CN111899594B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237656A (zh) * | 2008-03-10 | 2008-08-06 | 北京天碁科技有限公司 | 提高终端业务持续时间的方法及使用该方法的终端装置 |
CN107169567A (zh) * | 2017-03-30 | 2017-09-15 | 深圳先进技术研究院 | 一种用于车辆自动驾驶的决策网络模型的生成方法及装置 |
US20190065944A1 (en) * | 2017-08-25 | 2019-02-28 | Ford Global Technologies, Llc | Shared Processing with Deep Neural Networks |
CN107783943A (zh) * | 2017-09-05 | 2018-03-09 | 百度在线网络技术(北京)有限公司 | 一种端到端自动驾驶系统的纵向控制模型的评估方法及装置 |
US10254760B1 (en) * | 2017-12-29 | 2019-04-09 | Apex Artificial Intelligence Industries, Inc. | Self-correcting controller systems and methods of limiting the operation of neural networks to be within one or more conditions |
CN108897313A (zh) * | 2018-05-23 | 2018-11-27 | 清华大学 | 一种分层式端到端车辆自动驾驶系统构建方法 |
CN108972557A (zh) * | 2018-08-16 | 2018-12-11 | 中国科学院自动化研究所 | 微零件位姿自动对准装置及其方法 |
Non-Patent Citations (3)
Title |
---|
ANUSHA NAGABANDI: "Neural Network Dynamics for Model-Based Deep Reinforcement Learning with Model-Free Fine-Tuning", 《2018 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION》 * |
MARIUSZ BOJARSKI: "End to End Learning for Self-Driving Cars", 《ARXIVLABS》 * |
SEN WANG: "Deep Reinforcement Learning for Autonomous Driving", 《ARXIVLABS》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114415672A (zh) * | 2021-01-19 | 2022-04-29 | 百度(美国)有限责任公司 | 用于自主驾驶车辆的动态模型评估 |
WO2023045936A1 (zh) * | 2021-09-22 | 2023-03-30 | 北京智行者科技股份有限公司 | 一种模型自动化迭代方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11704554B2 (en) | 2023-07-18 |
CN111899594B (zh) | 2022-09-13 |
US20200356849A1 (en) | 2020-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111899594B (zh) | 用于自动驾驶车辆的动态模型的自动化训练数据提取方法 | |
CN111252061B (zh) | 用于自动驾驶车辆的实时决策制定 | |
CN111258217B (zh) | 实时对象行为预测 | |
CN112034834B (zh) | 使用强化学习来加速自动驾驶车辆的轨迹规划的离线代理 | |
CN112034833B (zh) | 规划用于自动驾驶车辆的开放空间轨迹的在线代理 | |
JP6738932B2 (ja) | シミュレーションプラットフォームに配置された、機械学習モデルを訓練するためのシステム及び方法 | |
CN111240312B (zh) | 用于自动驾驶车辆的基于学习的动态建模方法 | |
JP7060625B2 (ja) | 自動運転車において3dcnnネットワークを用いてソリューション推断を行うlidar測位 | |
CN108537326B (zh) | 用于自动驾驶车辆的方法、介质和系统 | |
CN111971574B (zh) | 用于自动驾驶车辆的lidar定位的基于深度学习的特征提取 | |
CN109937343B (zh) | 用于自动驾驶车辆交通预测中的预测轨迹的评估框架 | |
CN108604095B (zh) | 确定操作自动驾驶车辆的转向率的方法、介质及处理系统 | |
CN111771135B (zh) | 自动驾驶车辆中使用rnn和lstm进行时间平滑的lidar定位 | |
CN111948938B (zh) | 规划用于自动驾驶车辆的开放空间轨迹的松弛优化模型 | |
JP6578331B2 (ja) | 自律走行車のコマンド遅延を決定するための方法 | |
CN108334077B (zh) | 确定自动驾驶车辆的速度控制的单位增益的方法和系统 | |
KR102589587B1 (ko) | 자율 주행 차량용 동적 모델 평가 패키지 |
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 |