CN110850854A - 自动驾驶员代理和为自动驾驶员代理提供策略的策略服务器 - Google Patents
自动驾驶员代理和为自动驾驶员代理提供策略的策略服务器 Download PDFInfo
- Publication number
- CN110850854A CN110850854A CN201910482888.XA CN201910482888A CN110850854A CN 110850854 A CN110850854 A CN 110850854A CN 201910482888 A CN201910482888 A CN 201910482888A CN 110850854 A CN110850854 A CN 110850854A
- Authority
- CN
- China
- Prior art keywords
- driving
- experience
- strategy
- driver
- learning
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 170
- 230000015654 memory Effects 0.000 claims abstract description 80
- 230000008569 process Effects 0.000 claims abstract description 65
- 230000009471 action Effects 0.000 claims description 122
- 238000004422 calculation algorithm Methods 0.000 claims description 110
- 230000006870 function Effects 0.000 claims description 49
- 238000012545 processing Methods 0.000 claims description 47
- 230000002787 reinforcement Effects 0.000 claims description 41
- 238000004891 communication Methods 0.000 claims description 39
- 230000000875 corresponding effect Effects 0.000 claims description 36
- 230000001276 controlling effect Effects 0.000 claims description 26
- 238000012913 prioritisation Methods 0.000 claims description 18
- 230000008901 benefit Effects 0.000 claims description 17
- 238000009826 distribution Methods 0.000 claims description 16
- 230000007613 environmental effect Effects 0.000 claims description 5
- 230000006399 behavior Effects 0.000 abstract description 11
- 239000003795 chemical substances by application Substances 0.000 description 215
- 238000013528 artificial neural network Methods 0.000 description 32
- 238000003860 storage Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 21
- 238000013527 convolutional neural network Methods 0.000 description 19
- 238000013473 artificial intelligence Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 12
- 210000004027 cell Anatomy 0.000 description 11
- 230000003993 interaction Effects 0.000 description 11
- 210000002569 neuron Anatomy 0.000 description 9
- 238000012549 training Methods 0.000 description 8
- 230000004069 differentiation Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000003672 processing method Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000011176 pooling Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013329 compounding Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/0088—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- 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
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/02—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
- B60W40/04—Traffic conditions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- 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
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/10—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
-
- 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 or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0234—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
- G05D1/0236—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons in combination with a laser
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
- G05D1/024—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0251—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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/0255—Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- 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/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
-
- 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/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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/045—Combinations of networks
-
- 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
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/043—Distributed expert systems; Blackboards
-
- 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/0001—Details of the control system
- B60W2050/0002—Automatic control, details of type of controller or control system architecture
- B60W2050/0018—Method for the design of a control system
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Medical Informatics (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Optics & Photonics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Traffic Control Systems (AREA)
Abstract
提供了用于控制自动驾驶汽车的系统、方法和控制器。系统、方法和控制器实现自动驾驶员代理以及用于向自动驾驶员代理提供策略以控制自动驾驶汽车的策略服务器。该系统可包括成组的自动驾驶员代理,存储由驾驶员代理捕获的体验的体验存储器,成组的驾驶策略学习模块,用于基于存储在体验存储器中的集体体验生成和改进策略,以及为驾驶员代理提供策略参数的策略服务器。驾驶员代理可收集驾驶体验以创建存储在体验存储器中的知识库。驾驶策略学习模块能够处理集体驾驶体验以提取驾驶策略。驾驶员代理可以经由驾驶策略学习模块以并行和分布的方式进行训练,以便更快更高效地找到新型的高效驾驶策略和行为。
Description
引言
本发明一般涉及自动车辆,更具体地涉及用于控制自动驾驶汽车的自 动驾驶汽车控制器、自动驾驶汽车控制系统和相关方法。该系统、方法和 控制器实现自动驾驶员代理和为自动驾驶员代理提供控制自动驾驶汽车 的策略的策略服务器。
自动驾驶汽车是一种能够感知其环境并在用户输入很少或没有的情 况下导航的汽车。自动驾驶汽车包括智能控制自动驾驶汽车的自动驾驶系 统(ADS)。传感器系统使用诸如雷达、激光雷达、图像传感器等传感装 置来感知其环境。ADS还可以处理来自全球定位系统(GPS)技术、导航 系统、车间通信、汽车对基础设施技术和/或线控驾驶系统的信息,以便汽 车导航。
汽车自动化已被分类为从零到五的数字等级,零对应于无自动化,完 全人为控制,五对应于完全自动化,无人为控制。各种自动驾驶辅助系统, 例如巡航控制、自适应巡航控制和停车辅助系统,对应于较低的自动化等 级,而真正的“无人驾驶”汽车对应于较高的自动化等级。目前,有许多 不同的自动驾驶汽车控制方法,但都存在缺点。
现在提出的许多能够提供更高自动化等级的自动驾驶汽车需要外部 监督和/或标记数据。而且,许多自动驾驶汽车系统在没有监督或外部标记 数据的情况下是不可扩展的。例如,自动驾驶汽车系统的深度学习系统不 可扩展,因为它们依赖于标记数据,标记数据的创建过于耗时耗力。对实 现这种自动驾驶汽车的神经网络在所有环境或用例中实现汽车可靠性的 训练和验证是一项艰巨的工程任务。
因此,希望提供可靠、易于训练和验证等的自动驾驶汽车的控制系统 和方法。此外,结合附图及上述技术领域和背景技术,本发明的其他期望 特征和特性将从后续具体实施方式和所附权利要求中变得显而易见。
发明内容
提供了控制自动驾驶汽车的系统、方法和控制器。在一实施例中,提 供了一种方法,包括:经由一个或多个驾驶员代理以及一个或多个对应的 一个或多个驾驶环境处理器捕获在不同驾驶环境中的不同驾驶场景期间 的驾驶体验,其中每个驾驶体验包括表示特定时间的特定驾驶环境的数 据;经由策略服务器向一个或多个驾驶员代理提供一个或多个候选策略的 参数,其中每个策略规定了对于任何给定状态的动作空间中的分布;在该一个或多个驾驶员代理中处理接收的至少一个候选策略的参数,并执行该 至少一个候选策略以产生相应的驾驶环境处理器观察到的在特定驾驶环 境中控制汽车的一个或多个动作n;以及在低级控制器中处理每个动作以 产生在该特定驾驶环境中运行时控制汽车的控制信号。
在一实施例中,每个驾驶体验的数据(表示特定时间的特定驾驶环境) 包括:由相应的驾驶环境处理器观察到的特定驾驶环境的状态;使用至少 部分可观察状态进行的观察;由驾驶员代理产生的动作;奖励包括:表示 在特定环境条件下的特定时间由驾驶员代理执行的动作的期望程度的信 号,其中基于从人类驾驶数据提取的道路规则和驾驶原则来自动计算该奖 励或基于交通和道路规则使用其他适当的方法来定义该奖励;驾驶员代理 要实现的目标;实例信息包括:指示在获取特定驾驶体验时由该驾驶员代 理确定的驾驶体验的影响或优先级的信息;以及关于该特定驾驶体验的其 他元信息;以及在驾驶员代理在驾驶环境中执行动作之后产生的特定驾驶 环境的下一状态;以及使用至少部分可观察的下一状态进行的下一观察。
在一实施例中,每个对应的驾驶环境处理器能够处理来自车载传感器 的传感器信息,该传感器信息描述特定的驾驶环境以产生特定驾驶环境的 状态。然后,一个或多个驾驶员代理中的每一个都能够根据策略处理该状 态以产生相应的动作。低级控制器能够转换每个动作以产生控制信号,用 于控制汽车在该特定驾驶环境中的该状态下运行时自动控制汽车。
在一实施例中,该方法还可包括:在策略服务器处基于从每个特定驾 驶员代理接收的元信息确定哪些策略是该特定驾驶员代理的候选策略,其 中元信息是编码信息,其至少描述:该特定驾驶员代理的一个或多个目标、 该特定驾驶员代理的偏好以及针对特定驾驶环境和感知到的驾驶状况所 观察到的感知信息。
在一实施例中,每个策略指定成组的参数,当由特定驾驶员代理执行 时,该组参数通过控制汽车的致动器根据给定的成组的传感器输入来运行 从而定义需要由汽车实施的行为。
在一实施例中,该方法还可包括:在体验存储器中存储包括由一个或 多个驾驶员代理捕获的驾驶体验的驾驶体验数据;当该一个或多个驾驶员 代理获取新的驾驶体验时,更新驾驶体验数据;根据该驾驶体验相对于其 他驾驶体验的相对优先级,经由优先级排序算法对存储在体验存储器中的 每个驾驶体验进行排序,以便按照优先顺序对驾驶体验进行优先排序;当 新的驾驶体验由驾驶员代理随时间获取并存储在体验存储器中时,经由优先级排序算法定期更新存储在体验存储器中的每个驾驶体验的相对优先 级;以及在体验存储器中存储具有每种驾驶体验的元信息,该元信息包括: 该驾驶体验相对于由优先级排序算法确定的其他驾驶体验的优先级;驾驶 员代理标识符;以及环境标识符。
在一实施例中,该方法还可包括:经由驾驶策略生成模块的一个或多 个驾驶策略学习模块,检索存储在体验存储器中的至少一些驾驶体验;在 一个或多个驾驶策略学习模块处理至少一些驾驶体验以学习和生成描述 一个或多个策略的参数,其中每个策略包括成组的参数,这些参数描述策 略并且可由至少一个驾驶员代理处理以产生用于控制汽车的动作;以及在 策略服务器处接收来自该一个或多个驾驶策略学习模块的策略的参数,并存储每个策略的接收参数。
在一实施例中,每个驾驶策略学习模块包括深度强化学习(DRL)算 法,该方法还可包括:在每个DRL算法中处理来自至少一些驾驶体验的 输入信息,以学习和生成输出,该输出包括:表示通过DRL开发的策略 的成组的参数,并且其中每个策略可由至少一个驾驶员代理处理以产生用 于控制汽车的动作。
在一实施例中,DRL算法的输出包括以下中的一个或多个:由状态/ 动作/优势值函数确定的状态/动作/优势的估计值;和策略分布,每个DRL 算法包括:基于策略梯度的强化学习算法;或基于值的强化学习算法;或 基于行动者评价的强化学习算法。
在一实施例中,每个驾驶策略学习模块还包括学习目标模块,该方法 还可包括:在每个学习目标模块上处理驾驶环境内驾驶员代理的轨迹步 骤,以计算期望实现的期望学习目标,其中每个轨迹步骤包括:状态、观 察、动作、奖励、下一状态和下一观察,并且其中每个学习目标表示给定 的驾驶体验所期望的动作的结果。每个学习目标包括以下中的至少一个: 值目标,其包括:需要实现的状态/动作/优势的估计值;以及需要实现的 策略目标。
在另一实施例中,提供了一种系统,其包括策略服务器、驾驶员代理 模块和低级控制器。驾驶员代理模块包括一个或多个驾驶环境处理器,以 及分别对应于一个驾驶环境处理器的一个或多个驾驶员代理。一个或多个 驾驶环境处理器中的每一个被配置为观察驾驶环境。一个或多个驾驶员代 理中的每一个被配置为在不同驾驶环境中的不同驾驶场景期间捕获驾驶 体验。每个驾驶体验包括表示特定时间的特定驾驶环境的数据。策略服务器配置为接收策略的参数并存储每个策略的接收参数。策略服务器配置为 向该一个或多个驾驶员代理提供一个或多个候选策略的参数。一个或多个 驾驶员代理中的每一个配置为:执行控制特定驾驶环境中的汽车的策略, 如由该驾驶员代理模块的相应驾驶环境处理器所观察到的。一个或多个驾 驶员代理中的每一个配置为处理至少一个候选策略的接收参数并执行该 至少一个候选策略以生成一个或多个动作以便在相应的驾驶环境处理器所观察的特定驾驶环境中控制汽车。低级控制器配置为处理每个动作以生 成控制汽车的控制信号,用于在该特定驾驶环境中运行时控制汽车。
在一实施例中,每个驾驶环境处理器配置为处理来自车载传感器的传 感器信息,该传感器信息描述特定的驾驶环境以生成特定驾驶环境的状 态,其中该一个或多个驾驶员代理中的每一个还配置为:根据策略处理该 状态,以生成相应的动作,其中每个策略都规定了任何给定状态的动作空 间上的分配。低级控制器配置为转换每个动作以生成控制信号,用于控制 汽车在该特定驾驶环境中的该状态下运行时自动控制汽车。
在一实施例中,策略服务器配置为基于从每个特定驾驶员代理接收的 元信息确定哪些策略是该特定驾驶员代理的候选策略,其中元信息是编码 信息,其至少描述:该特定驾驶员代理的一个或多个目标、该特定驾驶员 代理的偏好以及针对特定驾驶环境和感知到的驾驶状况所观察到的感知 信息。
在一实施例中,每个策略指定成组的参数,当由特定驾驶员代理执行 时,该组参数通过控制汽车的致动器根据给定的成组的传感器输入来运行 从而定义需要由汽车实施的行为。
在一实施例中,系统还包括:体验存储器,配置为存储:包括由一个 或多个驾驶员代理捕获的驾驶体验的驾驶体验数据;当该一个或多个驾驶 员代理获取新的驾驶体验时,更新驾驶体验数据。
在一实施例中,系统还包括优先级排序算法,配置为:定期执行采样 操作以从体验存储器中检索至少一些驾驶体验,并确定每个检索到的驾驶 体验的相应实例信息;处理每个检索到的驾驶体验的实例信息,以确定检 索到的驾驶体验相对于所有其他驾驶体验的相对优先级,以及根据该驾驶 体验相对于其他驾驶体验的相对优先级,对存储在体验存储器中的每个驾 驶体验进行排序,以按照优先级顺序对驾驶体验进行优先排序;当新的驾驶体验由驾驶员代理随时间获取并存储在体验存储器中时,定期更新存储 在体验存储器中的每个驾驶体验的相对优先级。体验存储器还配置为:存 储具有每种驾驶体验的元信息,该元信息包括:该驾驶体验相对于由优先 级排序算法确定的其他驾驶体验的优先级;驾驶员代理标识符;以及环境 标识符。
在一实施例中,系统还包括:驾驶策略生成模块,包括:一个或多个 驾驶策略学习模块,分别配置为:检索存储在体验存储器中的至少一些驾 驶体验;处理至少一些驾驶体验以学习和生成描述一个或多个策略的参 数,其中每个策略包括成组的参数,这些参数描述策略并且可由至少一个 驾驶员代理处理以产生用于控制汽车的动作;以及向策略服务器发送至少 一个策略的参数。
在一实施例中,每个驾驶策略学习模块包括:深度强化学习(DRL) 算法,配置为:处理来自至少一些驾驶体验的输入信息,以学习和生成输 出,该输出包括:表示通过DRL开发的策略的成组的参数,其中每个策 略可由至少一个驾驶员代理处理以产生用于控制汽车的动作。每个DRL 算法配置为使用随机梯度更新来处理与驾驶体验相关的数据,以训练在其 输入和输出之间包括一层以上隐藏单元的神经网络。每个DRL算法包括: 基于策略梯度的强化学习算法;或基于值的强化学习算法;或基于行动者 评价的强化学习算法,DRL算法的输出包括以下中的一个或多个:由状态 /动作/优势值函数确定的状态/动作/优势的估计值;以及策略分布。每个驾 驶策略学习模块还包括学习目标模块,配置为:处理驾驶环境内驾驶员代 理的轨迹步骤,以计算期望实现的期望学习目标,其中每个轨迹步骤包括:状态、观察、动作、奖励、下一状态和下一观察,并且其中每个学习目标 表示给定的驾驶体验所期望的动作的结果。每个驾驶策略学习模块还包 括:丢失模块,包括:损失函数,配置为处理相应学习目标模块输出的学 习目标和相应DRL算法的输出,以计算总输出损失;以及自动微分模块, 配置为处理整体输出损失,以便为每个参数生成梯度数据。自动微分模块 配置为通过相对于每个参数微分由损失函数计算的总输出损失(例如,使 用计算图和链规则)执行自动微分来处理损失数据的每个实例(来自总输 出损失),以获得每个参数相对于总输出损失的梯度数据。每个参数的梯 度数据表示每个参数相对于由损失函数计算的总输出损失的贡献。梯度数 据表示每个DRL算法使用的每个神经网络中的每个神经元的梯度,其中 梯度定量地定义每个神经元产生的贡献量,导致由于该神经网络的输出而 造成的损失。每个驾驶策略学习模块还包括梯度下降优化器,配置为处理 每个参数的梯度数据以计算表示策略的更新参数(例如,每个参数的更 新)。更新的参数共同补偿总输出损失。更新的参数可供驾驶员代理使用, 并且可由驾驶学习模块用于重新训练和优化DRL算法的神经网络参数。
在另一实施例中,提供了一种系统(例如,用于自动驾驶汽车的控制 器),包括:包含指令的非暂时性存储器;以及与存储器通信的一个或多 个处理器。该一个或多个处理器执行指令以:经由一个或多个驾驶员代理 以及一个或多个对应的一个或多个驾驶环境处理器捕获在不同驾驶环境 中的不同驾驶场景期间的驾驶体验,其中每个驾驶体验包括表示特定时间 的特定驾驶环境的数据;经由策略服务器向一个或多个驾驶员代理提供一 个或多个候选策略的参数,其中每个策略规定了对于任何给定状态的动作 空间中的分布;在该一个或多个驾驶员代理中处理接收的至少一个候选策 略的参数,并执行该至少一个候选策略以产生相应的驾驶环境处理器观察 到的在特定驾驶环境中控制汽车的一个或多个动作n;以及在低级控制器 中处理每个动作以产生在该特定驾驶环境中运行时控制汽车的控制信号。
附图说明
下文将结合以下附图描述示例性实施例,其中相同的数字表示相同的 元件,并且其中:
图1是示出根据公开实施例的自动驾驶汽车的功能框图;
图2是示出根据公开实施例的具有图1中一个或多个自动驾驶汽车的 运输系统的功能框图;
图3是示出根据公开实施例的自动驾驶汽车的自动驾驶系统的数据流 图;
图4A是示出根据公开实施例的用于自动驾驶员代理的自动驾驶策略 生成和服务器系统的框图;
图4B是示出根据公开实施例的分布式自动驾驶策略生成和服务器系 统的框图;
图4C是示出根据公开实施例的综合自动驾驶策略生成和服务器系统 的框图;
图5是框图,示出包括成组的n个驾驶环境处理器,成组的n个基于 人工智能(AI)的自动驾驶员代理模块,并且示出基于根据公开实施例的 驾驶环境处理器观察到的驾驶环境在各种驾驶环境处理器与其对应的基 于AI的自动驾驶员代理模块之间的交互;
图6是示出根据公开实施例的由在不同驾驶环境(1...n)中运行的驾 驶员代理所执行的处理方法的流程图;
图7是示出根据公开实施例的体验存储器与AI驾驶员代理模块和驾 驶策略生成模块之间交互的框图;
图8是示出根据公开实施例的由驾驶员代理和驾驶策略学习模块执行 以更新体验存储器的处理方法的流程图;
图9是示出根据公开实施例的驾驶策略生成模块的元件以及驾驶策略 生成模块和策略服务器之间交互的框图;
图10是示出具有DNN的DRL过程的框图,该DNN担任代理相对于 环境的角色;
图11是示出根据公开实施例的由驾驶策略生成模块的特定驾驶策略 学习模块执行的用于更新驾驶策略生成模块的体验存储器和策略存储器 的处理方法的流程图;以及
图12是示出根据公开实施例的策略服务器与驾驶策略生成模块和AI 驾驶员代理模块之间交互的框图。
具体实施方式
以下详细描述本质上仅是示例性的,并不旨在限制应用和用途。此外, 并不旨在受前述技术领域、背景技术、发明内容或以下具体实施方式中提 出的任何明示或暗示理论的约束。如本文所使用的,术语模块单独地或以 任何组合指代任何硬件、软件、固件、电子控制部件、处理逻辑和/或处理 器设备,包括但不限于:专用集成电路(ASIC)、电子电路、处理器(共 享、专用或分组)和执行一个或多个软件或固件程序的存储器、组合逻辑 电路和/或提供所述功能的其他适用部件。
可以在功能和/或逻辑块部件和各种处理步骤方面描述本发明的实施 例。应理解,可通过被配置为执行指定功能的任何数量的硬件、软件和/ 或固件部件来实现这种块部件。例如,本发明的实施例可采用各种集成电 路部件,例如,存储器元件、数字信号处理元件、逻辑元件、查找表等, 其可以在一个或多个微处理器或其他控制设备的控制下执行各种功能。此 外,本领域技术人员将理解,本发明的实施例可以结合任何数量的系统来 实践,并且本文描述的系统仅是本发明的示例性实施例。
为简洁起见,本文可能没有详细描述与信号处理、数据传输、信令、 控制和系统的其他功能方面(以及系统的各个操作部件)有关的传统技术。 此外,本文包含的各种图所示的连接线旨在表示各种元件之间的示例功能 关系和/或物理耦合。应指出,本发明的实施例中可存在许多替代或附加的 功能关系或物理连接。
图1是示出根据公开实施例的自动驾驶汽车的功能框图。如图1所示, 汽车10通常包括底盘12、车身14、前轮16和后轮18。车身14设置在底 盘12上并且基本上包围汽车10的部件。车身14和底盘12可共同形成一 个架。轮子16-18各自在车身14的相应拐角附近可旋转地耦接到底盘12。
在各种实施例中,汽车10是自动驾驶汽车,并且自动驾驶系统(ADS) 纳入到智能控制汽车10的自动驾驶汽车10(下文称为自动驾驶汽车10) 中。例如,自动驾驶汽车10是自动控制以将乘员从一个位置运送到另一 个位置的汽车。在示出实施例中,汽车10被描绘为乘用车,但是应理解, 也可以使用包括摩托车、卡车、运动型多用途车(SUV)、休闲车(RV)、船舶、飞机等的任何其他汽车。在示例性实施例中,自动驾驶汽车10可 以是,例如,四级或五级自动化系统。四级系统表示“高度自动化”,指 的是动态驾驶任务的所有方面的自动驾驶系统的驾驶模式特定性能,即使 人类驾驶员没有对干预请求做出适当响应。五级系统表示“完全自动化”, 指的是自动驾驶系统在可由人类驾驶员管理的所有道路和环境条件下的 动态驾驶任务的所有方面的全时性能。
如图所示,自动驾驶汽车10通常包括推进系统20、传动系统22、转 向系统24、制动系统26、传感器系统28、至少一个数据存储装置32、至 少一个控制器34、通信系统36和致动器系统90。在各种实施例中,推进 系统20可包括内燃发动机、诸如牵引电动机的电机和/或燃料电池推进系 统。传动系统22配置成根据可选速比将动力从推进系统20传递到车轮16-18。根据各种实施例,传动系统22可包括步进比自动变速器、无级变 速器或其他适当的变速器。制动系统26配置成向车轮16-18提供制动扭矩。 在各种实施例中,制动系统26可包括摩擦制动器、线控制动器、再生制 动系统,例如电机,和/或其他适当的制动系统。转向系统24影响车轮16-18 的位置。尽管被描绘为包括用于说明性目的的方向盘,但是在本发明范围 内预期的一些实施例中,转向系统24可以不包括方向盘。
传感器系统28配置为提供传感器数据29。传感器系统28可包括一个 或多个传感装置40a-40n,其感测自动驾驶汽车10的外部环境和/或内部环 境的可观察状况。传感装置40a-40n可包括但不限于雷达、激光雷达、光 学相机、热相机、成像传感器、超声传感器、惯性测量单元、全球定位系 统、导航系统和/或其他传感器。
例如,雷达设备可处理从物体反射的电磁波,以生成指示视场内物体 的存在、方向、距离和速度的雷达数据。雷达滤波和预处理模块能够预处 理雷达数据,以去除诸如以下东西:静止物体、不可驱动区域中的物体(例 如来自建筑物的雷达回波)和噪声测量/干扰(例如,由于速度),以生成 预处理的雷达数据。然后,雷达跟踪能够进一步处理预处理的雷达数据, 以生成雷达跟踪信息,然后可以使用雷达跟踪信息来跟踪物体。
相机(或图像传感器)可以间隔开,以提供汽车10周围环境的三百 六十(360)度图像覆盖。相机捕获图像(例如,图像帧)和输出图像数 据(例如,失真的YUV格式图像),然后可以对其进行处理以生成校正的 (或未失真的)相机图像。图像预处理模块能够通过对图像数据进行去失 真/校正来处理图像数据,对经校正的图像数据进行预处理(例如,图像尺寸调整和平均减法),并将经过校正的预处理图像数据转换为图像分类模 块的神经网络能够分类的经过校正的相机图像(例如,具有正常的RGB 格式)。可以校正图像数据,以校正图像中的失真,使得直线(实际上) 的线条看起来是弯曲的,例如,如果3D空间中的点云投影到未校正的图 像数据上,由于扭曲,它们实际上可能位于图像中的错误位置。通过校正 图像,来自3D空间的投影对应于图像的正确部分。然后,经校正的像机 图像可以与包括来自对象跟踪模块的对象的三维位置在内的其他输入一 起被发送到图像分类模块,并被处理以生成可以提供给对象分类模块并用 于生成对象分类数据的图像分类数据,然后可以将对象分类数据发送到处 理对象的对象跟踪模块,雷达跟踪信息和对象分类数据,以生成对象跟踪 信息。
激光雷达装置通过用激光脉冲照射目标来执行扫描,并通过接收回反 射脉冲来测量到目标的距离。激光雷达装置可共同使用反射脉冲的强度来 产生激光雷达点云,其表示视场内物体的空间结构/特性。例如,激光雷达 装置能够使用旋转的激光束,激光束旋转以在汽车周围扫描三百六十 (360)度。或者,激光雷达装置能够以一定的扫描频率(即,它们振荡 的速度)来回振荡并以重复率发射脉冲。
每个激光雷达装置接收激光雷达数据并处理激光雷达数据(例如,激 光雷达返回信息包)以生成激光雷达点云(例如,汽车周围三百六十(360) 度区域中的三维点集)。除了三维XYZ位置外,每个点还具有强度数据。 例如,在一种实现中,点云包括从每个激光脉冲返回的第一个,中间的和 最后一个。激光雷达装置可以同步在一起(或相位锁定)。
相机能够以最大帧速率运行,并且相机的刷新率通常远高于激光雷达 装置。当激光雷达从汽车后部顺时针旋转时,每个相机在激光雷达装置旋 转期间以顺时针顺序捕获图像。外部校准程序能够提供有关相机指向位置 的信息。激光雷达装置是锁相的(即,预定在某些时间处于某些旋转位置), 因此知道激光雷达装置何时扫描其周期的某些部分。为了分析场景,系统 能够确定在获取某些激光雷达数据的时间点哪个成像器/相机已对准。系统 能够选择最接近获取激光雷达数据的时间点的采样/获得的任何图像,使得 仅处理在某一目标时间附近捕获的图像(即,当激光雷达装置观察相机指 向的相同区域时)。因此,可以确定具有良好对准的相机-激光对。这给出 了某个航向/方向的激光雷达数据以及该航向/方向上的场景/环境的相应图 像数据。
由激光雷达装置获取的激光雷达点云的激光雷达数据能够融合到单 个激光雷达点云中。然后,可以执行三维点采样,以预处理(单个激光雷 达点云的)激光雷达数据以便生成成组的三维点,然后可以通过对象分割 模块将其分割成可以分类和跟踪的对象。例如,对象分类模块可以包括多 个分类器,其将对象进行分类以生成对象分类数据。对象跟踪模块可以跟 踪对象。然后,跟踪信息可以与雷达跟踪信息和对象分类数据一起使用, 以生成对象跟踪信息(例如,对象的时间跟踪信息,例如环境中对象的位 置、几何形状、速度等)。
控制信号72(例如,用于产生相应的转向扭矩或角度命令的转向扭矩 或角度信号,以及用于产生加速度命令的制动/油门控制信号)被发送到致 动器系统90,致动器系统90处理控制信号72以产生适当的命令来控制各 种汽车系统和子系统。在一实施例中,致动器系统90包括汽车的低级控 制器和多个致动器(例如,转向扭矩或角度控制器、制动系统、油门系统 等)。低级控制器处理控制信号72以产生命令,该命令根据控制信号72 控制致动器以调度和执行要执行的一个或多个控制动作以便自动化驾驶 任务。控制信号72指定或映射控制用于调度要执行的该一个或多个调度 动作以自动化驾驶任务的动作和参数。该一个或多个控制动作自动控制自 动驾驶汽车以便自动化在特定驾驶场景中遇到的自动驾驶任务并实现特 定的汽车轨迹和速度曲线。
在本示例中,致动器系统90包括一个或多个致动器装置42a-42n,其 控制一个或多个汽车特征,例如但不限于推进系统20、传动系统22、油 门系统(未示出)、转向系统24和制动系统26。致动器系统90接收由高 级控制器33产生的控制信号72,并且低级控制器处理控制信号以产生根 据控制信号72控制这些致动器装置42a-42n中的一个或多个的命令,以调 度并执行要执行的一个或多个控制动作以自动控制自动驾驶汽车并使在 特定驾驶场景中遇到的自动驾驶任务自动化(例如,以实现一个或多个特 定汽车轨迹和速度曲线)。遇到的特定驾驶场景或情景(例如,由导航路 线数据、GPS数据和基于来自诸如相机、雷达,激光雷达等技术的信息生 成的世界表示来表示)能够通过将该特定驾驶场景分解为序列控制动作来 处理。每个控制动作控制汽车的轨迹和速度,以完成特定的子任务。序列 控制动作共同控制汽车在一段时间内实现期望的路径。每个汽车轨迹和速 度曲线能够定义汽车可以潜在地行进的路径(如遵循该路径)。每个汽车 轨迹和速度曲线包括指定将在未来时刻中行进的汽车的纵向距离(),横 向距离(),航向()和期望速度()的信息。另外,在一些实施例中, 汽车特征还可包括内部和/或外部汽车特征,例如但不限于门、行李箱和诸 如空气、音乐、照明等的舱室特征(未编号)。
通信系统36配置为与其他实体48无线通信信息,例如但不限于其他 汽车(“V2V”通信)、基础设施(“V2I”通信)、远程系统和/或个人设备 (图2中进行更详细描述)。在示例性实施例中,通信系统36是无线通信 系统,配置为使用IEEE 802.11标准或通过使用蜂窝数据通信经由无线局 域网(WLAN)进行通信。然而,诸如专用短程通信(DSRC)信道的附 加或替代通信方法也被认为在本发明范围内。DSRC信道是指专为汽车应 用以及相应的协议和标准集而设计的单向或双向短距离到中距离无线通 信信道。
数据存储设备32存储用于自动控制自动驾驶汽车10的数据。在各种 实施例中,数据存储设备32存储可导航环境的定义地图。在各种实施例 中,定义地图可由远程系统预定义并从远程系统获得(图2中进行更详细 描述)。例如,定义地图可由远程系统组装并且(以无线方式和/或以有线 方式)连通到自动驾驶汽车10并存储在数据存储设备32中。可以理解, 数据存储设备32可以是控制器34的一部分,与控制器34分开,或者是 控制器34的一部分和单独系统的一部分。
控制器34包括至少一个处理器44和计算机可读存储设备或介质46。 处理器44可以是任何定制的或商业上可用的处理器、中央处理器(CPU)、 图形处理器(GPU)、与控制器34相关联的若干处理器中的辅助处理器、 基于半导体的微处理器(以微芯片或芯片组的形式)、宏处理器、其任何 组合,或通常为用于执行指令的任何装置。计算机可读存储设备或介质46 可包括,例如,只读存储器(ROM)、随机存取存储器(RAM)和磨损修 正系数存储器(KAM)中的易失性和非易失性存储器。KAM是持久性或 非易失性存储器,其可用于在处理器44断电时存储各种运行变量。计算 机可读存储设备或介质46可使用许多已知存储器设备中的任何一种来实 现,例如PROM(可编程只读存储器)、EPROM(电PROM)、EEPROM (电可擦除PROM)、闪存或能够存储数据的任何其他电、磁、光或组合 存储器设备,其中一些表示可执行指令,由控制器34用于控制自动驾驶 汽车10。
指令可包括一个或多个单独程序,每个程序包括用于实现逻辑功能的 可执行指令的有序列表。当由处理器44执行时,指令接收并处理来自传 感器系统28的信号,执行用于自动控制自动驾驶汽车10的部件的逻辑、 计算、方法和/或算法,并且向致动器系统90产生控制信号,以便基于逻 辑、计算、方法和/或算法自动控制自动驾驶汽车10的部件。尽管图1中 仅示出了一个控制器34,自动驾驶汽车10的实施例可包括任何数量的控 制器34,其通过任何合适的通信介质或通信介质的组合进行通信,并且协 作处理传感器信号,执行逻辑、计算、方法和/或算法,并产生控制信号以 自动控制用于控制自动驾驶汽车10一个或多个汽车特征的一个或多个致 动器装置42a-42n。
在各种实施例中,控制器34的一个或多个指令体现在自动驾驶系统 (ADS)的高级控制器中,并且当由处理器44执行时,生成由低级控制 器处理的控制信号,以生成控制自动驾驶汽车一个或多个致动器的命令, 以执行一个或多个控制动作,自动控制自动驾驶汽车(例如,使特定驾驶 场景中遇到的自动驾驶任务自动化)。
现在参考图2,在各种实施例中,图1描述的自动驾驶汽车10可适用 于特定地理区域(例如,城市、学校或商业园区、购物中心、游乐园、活 动中心等)中的出租车或穿梭系统的环境中,或者可以仅由远程系统管理。 例如,自动驾驶汽车10可与基于自动驾驶汽车的远程运输系统相关联。 图2示出了一般以50示出的运行环境的示例性实施例,其包括基于自动 驾驶汽车的远程运输系统52,其与图1描述的一个或多个自动驾驶汽车 10a-10n相关联。在各种实施例中,运行环境50还包括经由通信网络56 与自动驾驶汽车10和/或远程运输系统52通信的一个或多个用户设备54。
通信网络56根据需要支持由运行环境50支持的设备、系统和部件之 间的通信(例如,经由有形通信链路和/或无线通信链路)。例如,通信网 络56可包括无线载波系统60,例如蜂窝电话系统,其包括多个手机信号 塔(未示出)、一个或多个移动交换中心(MSC)(未示出)以及任何其他 将无线载波系统60与陆地通信系统连接所需的网络部件。每个手机信号塔包括发送和接收天线以及基站,来自不同手机信号塔的基站直接或经由 诸如基站控制器的中间设备连接到MSC。无线载波系统60可实现任何合 适的通信技术,包括例如数字技术,例如CDMA(例如,CDMA2000)、 LTE(例如,4G LTE或5G LTE)、GSM/GPRS或其他当前或新兴的无线技 术。其他手机信号塔/基站/MSC设置是可能的,并且可以与无线载波系统 60一起使用。例如,基站和手机信号塔可以共同位于同一站点或者它们可 以彼此远程定位,每个基站可以负责单个手机信号塔,或者单个基站可以 服务于各个手机信号塔,或者各个基站可以耦合到单个MSC,仅举几种可 能的设置。
除了包括无线载波系统60之外,还可以包括卫星通信系统64形式的 第二无线载波系统,以提供与自动驾驶汽车10a-10n的单向或双向通信。 这可以使用一个或多个通信卫星(未示出)和上行链路发送站(未示出) 来完成。单向通信可以包括例如,卫星广播服务,其中节目内容(新闻、 音乐等)由发送站接收,打包上载,然后发送到卫星,卫星将节目广播给 用户。双向通信可包括例如,使用卫星来中继汽车10和站之间的电话通 信的卫星电话服务。除了无线载波系统60之外或代替无线载波系统60, 还可以使用卫星电话。
还可以包括陆地通信系统62,它是连接到一个或多个固定电话的传统 陆基电信网络,并且将无线载波系统60连接到远程传输系统52。例如, 陆地通信系统62可包括公共交换电话网(PSTN),例如用于提供硬连线电 话、分组交换数据通信和因特网基础设施的公共交换电话网。陆地通信系 统62的一个或多个分段可以通过使用标准有线网络、光纤或其他光网络、 电缆网络、电力线,诸如无线局域网(WLAN)的其他无线网络或者提供 宽带无线接入(BWA)或其任何组合的来实现。此外,远程传输系统52 不需要经由陆地通信系统62连接,但是可包括无线电话设备,使得它可 以直接与无线网络通信,例如无线载波系统60。
尽管图2中仅示出了一个用户设备54,运行环境50的实施例可以支 持任何数量的用户设备54,包括由一个人拥有,操作或以其他方式使用的 多个用户设备54。可以使用任何合适的硬件平台来实现由运行环境50支 持的每个用户设备54。在这方面,用户设备54可以以任何常见的形状因 数实现,包括但不限于:台式计算机;移动计算机(例如平板电脑、笔记 本电脑或上网本);智能手机;视频游戏设备;数字媒体播放器;一件家 庭娱乐设备;数码相机或摄像机;可穿戴计算设备(例如,智能手表、智 能眼镜、智能服装);等。由运行环境50支持的每个用户设备54实现为 计算机实现的或基于计算机的设备,其具有执行本文所述的各种技术和方 法所需的硬件、软件、固件和/或处理逻辑。例如,用户设备54包括可编 程设备形式的微处理器,其包括存储在内部存储器结构中的一个或多个指 令,并用于接收二进制输入以创建二进制输出。在一些实施例中,用户设 备54包括能够接收GPS卫星信号并基于那些信号生成GPS坐标的GPS 模块。在其他实施例中,用户设备54包括蜂窝通信功能,使得设备使用 一个或多个蜂窝通信协议在通信网络56上执行语音和/或数据通信,如本 文所述。在各种实施例中,用户设备54包括视频显示器,例如触摸屏图 形显示器或其他显示器。
远程运输系统52包括一个或多个后端服务器系统,其可以是基于云 的,基于网络的,或者位于由远程运输系统52提供服务的特定园区或地 理位置。远程运输系统52可以由现场顾问或自动顾问分别或共同操作。 远程运输系统52可以与用户设备54和自动驾驶汽车10a-10n通信以安排 乘坐,调度自动驾驶汽车10a-10n等。在各种实施例中,远程运输系统52 存储账户信息,例如用户认证信息、汽车标识符、曲线记录、行为模式和 其他相关用户信息。
根据典型的用例工作流,远程运输系统52的注册用户能够经由用户 设备54创建乘车请求。乘车请求通常将指示乘员期望的搭乘位置(或当 前GPS位置)、期望的目的地位置(其可以标识预定义的汽车停靠点和/或 用户指定的乘员目的地)和搭乘时间。远程运输系统52接收搭乘请求, 处理该请求,并且调度所选择的其中一个自动驾驶汽车10a-10n(当且如 果一个自动驾驶汽车可用时)以在指定的搭乘地点和适当的时间接载乘 员。远程运输系统52还可以生成适当配置的确认消息或通知,并发送给 用户设备54,以使乘员知道汽车在路上。
可以理解,本文所公开的主题为可被视为标准或基线自动驾驶汽车10 和/或基于自动驾驶汽车的远程运输系统52提供某些增强特征和功能。为 此,自动驾驶汽车和基于自动驾驶汽车的远程运输系统可以修改,增强或 以其他方式补充,以提供下面更详细描述的附加特征。
根据各种实施例,控制器34实现如图3所示的自动驾驶系统(ADS) 33的高级控制器。即,控制器34的适用软件和/或硬件部件(例如,处理 器44和计算机可读存储设备46)用于提供结合汽车10使用的自动驾驶系 统33的高级控制器。
在各种实施例中,用于自动驾驶系统33的高级控制器的指令可以由 功能、模块或系统组织。例如,如图3所示,自动驾驶系统33的高级控 制器可包括计算机视觉系统74、定位系统76、引导系统78和汽车控制系 统80。可以理解,在各种实施例中,指令可以组织成任何数量的系统(例 如,组合,进一步分区等),因为本发明不限于本示例。
在各种实施例中,计算机视觉系统74综合并处理传感器数据并预测 汽车10的环境的对象和特征的存在、位置、分类和/或路径。在各种实施 例中,计算机视觉系统74能够纳入来自多个传感器的信息,包括但不限 于相机、激光雷达、雷达和/或任何数量的其他类型传感器。定位系统76 处理传感器数据以及其他数据,以确定汽车10相对于环境的位置(例如, 相对于地图的本地位置、相对于道路车道的精确位置、车辆航向、速度等)。 引导系统78处理传感器数据以及其他数据,以确定汽车10遵循的路径。 汽车控制系统80根据确定的路径产生用于控制汽车10的控制信号72。
在各种实施例中,控制器34实现机器学习技术,以辅助控制器34的 功能,例如特征检测/分类、障碍物减轻、路线遍历、映射、传感器集成、 地面实况确定等。
概述
在一实施例中,提供了一种自动驾驶策略生成和服务器系统。该系统 可包括成组的自动驾驶员代理,存储由驾驶员代理捕获的体验的体验存储 器,驾驶策略生成模块,其包括成组的驾驶策略学习模块,用于基于存储 在体验存储器中的集体体验生成和改进策略,以及为驾驶员代理提供策略 参数的策略服务器。驾驶员代理可收集驾驶体验以创建存储在体验存储器 中的知识库。驾驶策略学习模块能够处理集体驾驶体验以提取驾驶策略(或规则)和/或引导新的学习范例。驾驶员代理可以经由驾驶策略学习模 块以并行和分布的方式进行训练,不必依赖于标记数据或外部监督。自动 驾驶策略生成和服务器系统的并行和分布式架构允许驾驶员代理和驾驶 策略学习模块更快更有效地找到新型驾驶策略和行为。由于驾驶策略学习 模块不需要依赖于创建起来耗时耗力的标记数据或监督,可提高系统的可 扩展性。并行和分布式学习能够加速多个自动智能驾驶员代理的训练,并 允许更快的开发,测试和大规模AV行为验证周期(例如,城市或国家范 围的验证)。由驾驶策略学习模块学习的策略可转移到其他驾驶任务和/或 领域。
图4A是示出根据公开实施例的用于自动驾驶员代理116-1......116-n的 自动驾驶策略生成和服务器系统100的框图。通常,自动驾驶策略生成和 服务器系统100包括成组的或多个自动驾驶员代理116-1......116-n、体验存 储器120、驾驶策略生成模块130和策略服务器150。在一实施例中,AI 驾驶员代理系统110包括成组的驾驶环境处理器114-1......114-n和成组的 相应的n个驾驶员代理116-1......116-n,其中n大于或等于1。驾驶策略生 成模块130包括成组的k个驾驶策略学习模块131-1...131-k,其中k大于 或等于1。
根据实施方式,自动驾驶策略生成和服务器系统100可以在如图4B 所示的分布式架构100-A中实施,或完全在图4C所示的AV内实施。如 下面参照图4B和图4C所述,该组驾驶环境处理器114和相应的成组的自 动驾驶员代理116-1......116-n始终在AV(或可能在AV模拟器内)中实现, 而体验存储器120、驾驶策略生成模块130和策略服务器150可根据实施例在汽车内实现,或者在计算云/服务器系统内实现。
图4B是示出根据公开实施例的分布式自动驾驶策略生成和服务器系 统100-A的框图。在图4B所示的非限制性实施例中,驾驶员代理在不同 的AV 10上实现,而体验存储器120、驾驶策略生成模块130和策略服务 器150可以在计算云或类似服务器系统内实现。在本实施例中,自动驾驶 策略生成和服务器系统100-A的部件是分布式的,这意味着驾驶员代理 116-1......116-n可以在多个不同的AV上实现,而其他AV(例如,体验存 储器120、驾驶策略生成模块130和策略服务器150)在远程服务器或云 计算平台(例如,高性能计算集群)中实现。另外,当与图4C所示的实 施例相比时,在图4B所示的实施例中,该组驾驶环境处理器114和相应 的成组的自动驾驶员代理116和体验存储器120如何运行也存在差异。例如,在图4B中,许多不同的驾驶环境处理器114和来自许多AV的相应的 自动驾驶员代理116收集体验并将它们发送到可集中访问的基于云的体验 存储器。在本实施例中,每个驾驶环境处理器114和相应的自动驾驶员代 理116-1......116-n可部署在不同环境114中驾驶的不同AV中。此外,每个 驾驶员代理116-1......116-n收集的驾驶体验可发送到可由许多AV访问的可 集中访问存储器(例如,在计算云内实现),在本文中称为共享体验存储 器120-A。
图4C是示出根据公开实施例的综合自动驾驶策略生成和服务器系统 100-B的框图。在图4C所示的非限制性实施例中,驾驶环境处理器114 和相应的自动驾驶员代理116-1......116-n、体验存储器120、驾驶策略生成 模块130和策略服务器150都可以在单个汽车10内实施或体现,使得所 有处理器在该汽车10上运行。综合自动驾驶策略生成和服务器系统100-B 的各种部件的功能类似于图4B中的部件,但有一些差异。在本实施例中, 在单个AV处实现的一个或多个自动驾驶员代理116通过该AV收集来自 不同行程的体验并将它们发送到AV内的机载或本地体验存储器。为了进 一步解释,每个驾驶环境处理器114和相应的自动驾驶员代理 116-1......116-n可部署在特定的自动驾驶汽车10中。每个驾驶员代理 116-1......116-n可以通过该自动驾驶汽车10收集来自不同行程的不同驾驶 体验。每个驾驶员代理116-1......116-n收集的驾驶体验可以池化且存储在 本地存储器中(例如,车载AV),这里称为体验存储器120。
现在将在下面继续参照图4A并参照图5至11更详细地描述图4A至 4C的各种元件。
驾驶环境处理器和自动驾驶员代理
每个驾驶环境处理器114-1至114-n可以处理描述特定驾驶环境的传 感器信息。可以使用汽车的车载传感器获取传感器信息,包括但不限于相 机、雷达、激光雷达、V2X通信和本文所述的其他传感器。驾驶员代理 116-1......116-n是基于人工智能的自动驾驶员代理。每个驾驶员代理 116-1......116-n可以从驾驶环境处理器114-1到114-n观察到的不同驾驶环 境中收集不同的驾驶体验。在一实施例中,每个驾驶体验可以在大的多维张量中表示,该张量包括在特定时间来自特定驾驶环境的信息。每个体验 包括:状态(S)、观察(O)、动作(A)、奖励(R)、下一状态(S^')、下 一观察(O^')、目标(G)和实例信息(I)。如本文所使用的,术语“状态 (S)”当参考驾驶体验使用时,可以指代驾驶环境处理器和驾驶员代理通 过汽车车载传感器或通过一些其他方式,如汽车与基础设施(V2I)或汽 车与汽车(V2V)通信,或在模拟驾驶环境的情况下从模拟发动机中可以 感知/观察到的环境的状态。如本文所使用的,术语“观察(O)”当参照 驾驶体验使用时,可以指代包含在状态(S)中的全部或部分信息。在某 些情况下,驾驶员代理/环境处理器可能无法完全观察到驾驶环境。例如, 驾驶环境中发生的一切可能都是不可观察的。例如,可能不知道其他汽车 或行人的意图等。汽车上的驾驶环境处理器接收使用汽车上的各种传感器 获取的环境有关的信息以及关于环境的其他基于基础设施的信息(例如, 来自卫星/V2X等),处理该信息并将其作为“观察”输入提供给驾驶员代 理处理器。在驾驶环境(例如,在模拟驾驶环境中)完全可观察的情况下, 或者假设驾驶环境完全可观察的情况下提高了驾驶代理的性能,可以将环 境的信息作为“状态”输入提供给代理。如本文所使用的,术语“动作(A)” 当参照驾驶体验使用时,可以指代由自动驾驶员代理执行的动作,可包括 像转向、油门、制动值这样的较低级控制信号,或像“按x.y加速”、“向 左变更车道”、“停在z米处”这样的较高级驾驶决策。如本文所使用的, 术语“奖励(R)”当参照驾驶体验使用时,可以指代表示自动驾驶员代理执行的动作(A)在某些给定时间和环境条件下的期望程度的信号。这可 以基于道路规则和良好的驾驶原则自动计算,又可以从人类驾驶数据中提 取或者基于规定的交通和道路规则使用其他适当的方法来定义。如本文所 使用的,术语“下一状态(S^')”当参照驾驶体验使用时,可以指代在自 动驾驶员代理/汽车在驾驶环境中执行动作(A)之后产生的驾驶环境的状 态。如本文所使用的,术语“下一观察(O^')”当参照驾驶体验使用时, 可以指代包含在下一状态(S^)中的全部或部分信息。如本文所使用的, 术语“目标(G)”当参照驾驶体验使用时,可以指代自动驾驶员代理旨在 实现/到达的目标或目的地。如本文所使用的,术语“实例信息(I)”当参 照驾驶体验使用时,可以指代在收集体验时从代理的角度包含体验的影响 /优先级的信息,以及关于该特定体验的其他元信息(若存在),例如代理 对采取动作(A)的价值的信念、决定采取动作(A)的信心等。
图5是示出根据公开实施例的AI驾驶员代理系统110的框图,该AI 驱驾驶员代理系统110包括成组的n个驾驶环境处理器114和成组的n个 基于人工智能(AI)的自动驾驶员代理模块116。图5示出了基于驾驶环 境处理器114所观察到的驾驶环境的各种驾驶环境处理器114与其对应的 基于AI的自动驾驶员代理模块116之间的交互112。如图5所示,每个驾驶员代理116-1...116-n遵循策略118-1...118-n,以在特定驾驶环境中驾驶汽 车,如相应的驾驶环境处理器114-1...114-n所观察到的。每个策略118能 够处理驾驶环境的状态(S)(如相应的驾驶环境处理器114所观察到的), 并生成用于控制在驾驶环境该状态(S)中运行的特定AV的动作(A)。 驾驶环境的变化可包括,例如,不同的开始/目标位置、不同的交通配置、 不同的道路配置、不同的照明/天气/能见度条件等。在一实施例中,每个 策略118都是通过深度强化学习(DRL)开发的策略,因此可以称为DRL 策略。在一实施例中,策略118(标记为DRL-策略1到n)可以最初从能 够从人类驾驶数据获得的策略池中采样。然后,可以使用驾驶策略学习器 131随时间改进策略118。在一实施例中,由驾驶员代理116-1...116-n产生 的动作(A)发送到低级控制器120-1...120-N。根据实施方式,低级控制 器能够表示单个汽车中的单个低级控制器,或不同汽车中的不同低级控制 器。每个低级控制器120-1...120-n能够根据安排和执行要进行的一个或多 个控制动作的动作来处理动作,以生成控制一个或多个致动器设备的命 令,以自动控制自动驾驶汽车并使在特定驾驶场景中遇到的自动驾驶任务 自动化(例如,实现一个或多个特定汽车轨迹和速度曲线)。为进一步参照图1和图3进行解释,图5的动作相当于图3的控制信号72。如上面参 照图3所述,在一实施例中,致动器系统90包括汽车的低级控制器和多 个致动器(例如,转向扭矩或角度控制器、制动系统、油门系统等)。图5 的每个低级控制器120-1...120-n根据安排和执行要进行的一个或多个控制 动作的动作(或图3的控制信号72)来处理动作(或图3的控制信号72) 以生成控制致动器(图1的致动器装置42a-42n)的信号或命令,以便使 驾驶任务自动化。动作(或图3的控制信号72)指定或映射到用于安排要 执行的该一个或多个安排的动作的控制动作和参数,以使驾驶任务自动 化。该一个或多个控制动作自动控制自动驾驶汽车,以使在特定驾驶场景 中遇到的自动驾驶任务自动化(例如,实现特定汽车轨迹和速度曲线)。关于驾驶员代理116-1...116-n的运行的进一步细节将在下面参照图6进行 描述。
图6是示出根据公开实施例由相应的驾驶环境处理器114-1...114-n观 察到的在不同驾驶环境中运行的驾驶员代理116-1......116-n执行的处理方 法200的流程图。将继续参照图4A-5来描述图6。参照图6,所示方法的 步骤不一定是限制性的。在不脱离所附权利要求的范围的情况下,可以添 加,省略和/或同时执行步骤。方法200可包括任何数量的附加或替代任务, 所示的任务不需要以所示顺序执行。方法200可纳入更全面的程序或过程 中,该程序或过程具有本文未详细说明的附加功能。而且,只要预期的整 体功能保持完整,就可以从方法200的实施例中省略所示的一个或多个任 务。方法200内的操作顺序不限于如图6所示的顺序执行,而是可以根据 本发明适用的一个或多个变化顺序执行。在各种实施例中,方法200可设 置为基于一个或多个预定事件运行,和/或可以在自动驾驶汽车10的运行 期间连续运行。进一步地,方法200是计算机实现的,因为结合该方法执 行的各种任务或步骤可通过软件、硬件、固件或其任何组合执行。出于说 明的目的,每个方法的以下描述可参照结合图1、图3和图4A-5中的上述 元件。在某些实施例中,通过执行存储或包括在处理器可读介质上的处理 器可读指令来执行这些方法的一些或所有步骤和/或基本等同的步骤。例 如,在接下来的图6的描述中,各种模块可以被描述为执行各种动作、任 务或步骤,但是应理解,这指的是这些模块的处理系统执行指令以执行所 述各种动作、任务或步骤。根据实施方式,一些处理系统可以集中定位, 或者分布在一起工作的多个处理器或控制器之间。
方法200-1开始于202,其中对AI驾驶员代理系统110进行初始化。 在初始化阶段(202),基于用户、乘员、良好交付、移动服务或其他传输 请求的偏好生成目标(G)。方法200包括可由不同驾驶员代理116-1...116-n 执行的处理序列的几种实例。出于说明的目的,由于页面约束,方法200 示出了由驾驶员代理执行的两个处理实例,驾驶员代理执行类似的处理步 骤204-1至218-1和步骤204-2至218-2,但是应理解,任何数量的驾驶员 代理116-1......116-n都可以在202初始化并根据实施方式执行。由于驾驶 环境处理器114和驾驶员代理116的每个组合执行的处理步骤204至218 是相同的,因此仅由驾驶环境处理器114-1和驾驶员代理116-1在驾驶环 境1中执行的处理步骤204-1至218-1被描述为方法200-1,作为方法200 的一部分。然而,应理解,在202初始化的驾驶员代理的每个其他实例能 够相对于其对应环境执行类似的处理步骤。
在步骤204-1,驾驶环境处理器114-1执行描述驾驶环境1的传感器信 息的处理。描述驾驶环境的传感器信息可包括能够使用汽车的车载传感器 获取的信息,包括但不限于本文描述的相机、雷达、激光雷达、V2X通信 和其他传感器。
在步骤206-1,驾驶环境处理器114-1确定是否已经发生了重置条件。 如本文所使用的,“重置条件”可以指代需要重新启动或重新初始化该过 程的条件。重置条件的示例可包括,例如,指示(1)新行程的开始,(2) 新路线的开始,(3)已到达目的地,(4)已更改目标/目的地的信息。
当驾驶环境处理器114-1确定(在206-1)已经发生重置条件时,方法 200-1进行到208-1,其中驾驶环境处理器114-1产生状态(S)和观察(O), 然后进行到116-1,其中驾驶员代理116-1处理在208-1产生的信息以采取 动作(A),并且还产生能够发送到体验存储器120、驾驶策略生成模块130 和/或策略服务器150中的一个或多个的驾驶体验实例(如上所述)。相反, 当驾驶环境处理器114-1确定(在206-1)没有发生重置条件时,方法200-1 进行到210-1,其中驾驶环境处理器114-1产生奖励(R)、下一状态(S^') 和下一观察(O^'),然后进行到116-1,其中驾驶员代理116-1处理在210-1 产生的信息以产生表示体验优先级的实例信息(I),并采取动作(A)。另 外,驾驶员代理116-1还可产生能够发送到体验存储器120、驾驶策略生 成模块130和/或策略服务器150中的一个或多个的驾驶体验实例(如上所述)。
在214-1,驾驶员代理116-1确定是否已达到,实现或完成目标(G)。 目标可根据特定情况的驾驶场景而变化。达到目标的示例可包括,例如, (1)完成或结束行程、路线、轨迹或路径,(2)到达目标或目的地等。 当驾驶员代理116-1确定已达到,实现或完成目标(G)时,方法200-1进 行到218-1,其中方法200-1结束。
当驾驶员代理116-1确定尚未达到,实现或完成目标(G)时,方法 200-1进行到216-1,其中驾驶员代理116-1确定并采取待采取的下一动作 (A^'),并执行下一动作(A^')。
体验存储器
如上面参照图6的步骤212所述,每个驾驶员代理116-1...116-n收集 或采集的驾驶体验可发送到体验存储器120并存储在体验存储器120中。 这允许从每个驾驶员代理116-1...116-n提供的驾驶体验在体验存储器120 中池化在一起。由来自不同驾驶环境114的不同驾驶员代理116-1...116-n 收集的驾驶体验122表示越来越多的有关驾驶场景的事实和知识。驾驶体 验122可以与一些可选的元信息一起存储在体验存储器120中(例如,由代理116-1...116-n确定的优先级,代理标识符(AgentID),环境标识符 (envID))。根据实施方式,体验存储器120可通过多个不同的AV(如图 4B)或通过单个AV(如图4C)设置有驾驶体验。
根据实施方式,可使用队列、优先级队列、可微分神经计算机或其他 合适的动态存储器系统来实现体验存储器120。体验存储器120的特征和 特性以及其他部件如何与体验存储器120交互,将在下面更详细地描述, 例如,参照图7-10。
图7是示出根据公开实施例的体验存储器120与AI驾驶员代理系统 110和驾驶策略生成模块130之间交互的框图。如上所述,AI驾驶员代理 系统110包括多个驾驶员代理116-1...116-n,其可在体验存储器120中收 集和存储不同的驾驶体验122。驾驶策略生成模块130包括多个驾驶策略 学习模块131,其可从体验存储器120中检索驾驶体验124并使用策略学 习算法处理驾驶体验124,以改进策略。在一实施例中,由每个驾驶员代 理116-1...116-n收集的驾驶体验可以按优先级顺序存储(例如,基于由驾 驶策略生成模块130的优先级排序算法134确定的每个驾驶体验的新颖性 /优先级进行排序的顺序)。例如,驾驶策略生成模块130可更新体验存储 器120中的驾驶体验124的相对优先级/新颖性/影响/有效性126,然后按 照优先级顺序对驾驶体验进行排序。在一实施例中,当驾驶员代理116获取驾驶体验时,将其自己的优先级估计值添加为所述实例信息(I)。通过 池化的体验存储器120访问更多信息的驾驶策略学习模块131可更新优先 级/新颖性/影响/有效性的值,使得具有更高新颖性/影响/有效性/优先级的 驾驶体验在从体验存储器120中采样时被更频繁地检索。这基于它们在学 习实现期望目标时的重要性/新颖性/影响/有效性而增加了驾驶体验的一些 “权重”。此外,这样可以基于由驾驶策略生成模块130更新的新近度和/ 或影响/优先级值126来回收/处理驾驶体验122。例如,可丢弃低优先级和 通常发生的驾驶体验,以减少存储的驾驶体验的体积。这允许体验存储器 120管理存储在体验存储器中的策略及其优先顺序,以便在体验存储器的 容量限制内保留尽可能多的信息。下面将参照图8描述为更新体验存储器 120而执行的处理有关的进一步细节。
图8是示出根据公开实施例的由驾驶员代理116-1...116-n和驾驶策略 学习模块131执行以更新体验存储器120的处理方法300的流程图。将继 续参照图4A-7描述图8。参照图8,所示方法的步骤不一定是限制性的。 在不脱离所附权利要求的范围的情况下,可以添加,省略和/或同时执行步 骤。方法300可包括任何数量的附加或替代任务,所示的任务不需要以所 示顺序执行。方法300可纳入更全面的程序或过程中,该程序或过程具有 本文未详细说明的附加功能。而且,只要预期的整体功能保持完整,就可 以从方法300的实施例中省略所示的一个或多个任务。方法300内的操作 顺序不限于如图8所示的顺序执行,而是可以根据本发明适用的一个或多 个变化顺序执行。在各种实施例中,方法300可设置为基于一个或多个预 定事件运行,和/或可以在自动驾驶汽车10的运行期间连续运行。进一步地,方法300是计算机实现的,因为结合该方法执行的各种任务或步骤可 通过软件、硬件、固件或其任何组合执行。出于说明的目的,每个方法的 以下描述可参照结合图1、图3和图4A-5中的上述元件。在某些实施例中, 通过执行存储或包括在处理器可读介质上的处理器可读指令来执行这些 方法的一些或所有步骤和/或基本等同的步骤。例如,在接下来的图8的描 述中,各种模块可以被描述为执行各种动作、任务或步骤,但是应理解, 这指的是这些模块的处理系统执行指令以执行所述各种动作、任务或步 骤。根据实施方式,一些处理系统可以集中定位,或者分布在一起工作的 多个处理器或控制器之间。出于说明的目的,方法300示出了被实例化的 n个驾驶员代理116-1...116-n的实例,但是应理解,可以在302的初始化 期间实例化任何数量的驾驶员代理116-1...116-n,并根据实施方式执行。 同样,方法300示出了被实例化的驾驶策略学习模块131-1...131-n的n个 实例,但是应理解,可以在302的初始化期间实例化任何数量的驾驶策略 学习模块131-1...131-n,并根据实施方式执行。进一步地,应指出,实例 化的驾驶员代理116-1...116-n和驾驶策略学习模块131-1...131-n的数量不 一定必须相等。
方法300开始于302,其中系统被初始化,导致不同的驾驶员代理 116-1...116-n和驾驶策略学习模块131-1......131-n被实例化。每个驾驶员代 理116-1...116-n可处理由策略服务器150提供的策略参数,以执行一个或 多个策略并产生一个或多个驾驶体验。由不同驾驶员代理116-1...116-n产 生的集体驾驶体验在图28中共同表示为驾驶体验数据304。驾驶体验数据 304存储在体验存储器120中。如下面将参照图11更详细解释的,驾驶策 略学习模块131-1...131-n中的每一个可执行采样操作,以便从体验存储器120中检索驾驶体验,并且对检索到的驾驶体验(由特定学习模块检索) 执行处理,以生成用于更新存储在体验存储器120中的驾驶体验的相应实 例信息(I)。实例信息(I)可包括对每个驾驶体验的优先级和影响的更新。
驾驶策略学习模块
驾驶策略生成模块130可包括任何数量的驾驶策略学习模块131。驾 驶策略生成模块130试图学习可在所有不同情景下良好驾驶的全局最优策 略。换句话说,驾驶策略生成模块130和驾驶策略学习模块131的最终目 标是在给定了驾驶员代理116从几个不同驾驶环境收集的所有体验的情况 下共同学习最优策略。在任何给定时间,驾驶策略学习模块131试图从体 验中学习并在给定所有体验的情况下将策略优化为全局最优。驾驶策略学习模块131可并行执行/运行以处理驾驶体验并生成能够在策略存储器136 本地存储的策略,并且提供给策略服务器150。可以使用成组的策略参数 来表示每个策略。每个策略都将状态映射到动作。每个驾驶策略学习模块 131能够生成新策略和参数更新,以便基于从体验存储器120或另一来源 (例如,驾驶员代理116-1......116-n)提供的驾驶体验随时间改进这些策略。 例如,每个驾驶策略学习模块131能够访问来自体验存储器120的集体驾 驶体验,并处理这些集体驾驶体验以学习和改进可以在策略存储器136维 护并且与策略服务器150共享的策略。
此外,驾驶策略生成模块130包括优先级排序算法134,其负责对驾 驶体验进行优先级排序并更新驾驶体验的影响/优先级,因为驾驶员代理 116-1...116-n获取的且存储在体验存储器120中的驾驶体验随时间变化。 为了进一步解释,由于一些驾驶体验比其他驾驶体验更有价值,因此驾驶 策略生成模块130的优先级排序算法134能够对驾驶体验进行优先级排序 并更新驾驶体验的影响/优先级。例如,在一实施例中,驾驶策略生成模块130包括DRL算法132,其从所有池化的驾驶体验中学习,并且能够对驾 驶体验进行优先级排序并更新驾驶体验的影响/优先级。在一实施例中,优 先级排序算法134能够实时分析由驾驶员代理116-1...116-n提供的驾驶体 验。在另一实施例中,优先级排序算法134能够周期性地从体验存储器120 中采样驾驶体验124,并确定它们相对于所有其他驾驶体验的相对优先级。
由驾驶策略生成模块130更新的驾驶体验可根据实施方式而变化。例 如,在图4B所示的实施例中,驾驶策略生成模块130能够访问存储在体 验存储器120中的集体驾驶体验,并处理这些集体驾驶体验以学习并生成 新策略或改进可以在策略存储器136中维护的现有策略,然后与策略服务 器150共享和/或直接与驾驶员代理116-1...116-n中的一个或多个共享。在 本实施例中,驾驶策略学习模块131包括学习算法132,可以是深度强化 学习(DRL)算法,其从在几个不同环境中驾驶的几个自动驾驶汽车收集 的所有池化驾驶体验中学习。相反,在图4C中,驾驶策略生成模块130 处理和学习这些池化的驾驶体验,以基于这些驾驶体验来改进策略(存储 在策略存储器136中)。在本实施例中,每个驾驶策略学习模块131可包 括学习算法132,其可以是深度强化学习(DRL)算法,从在几个不同环 境中驾驶的特定AV在几个不同行程期间收集的所有池化驾驶体验中学 习。
图9是示出根据公开实施例的驾驶策略生成模块130的元件以及驾驶 策略生成模块130和策略服务器150之间的交互的框图。如图9所示,驾 驶策略生成模块130包括至少一个驾驶策略学习模块131-1..131-n,优先级 策略134(例如,用于实施对在体验存储器120内保存的驾驶体验进行排 名/优先级排序的排名或优先级排序方法)和策略存储器136,其存储由驾 驶策略学习模块131生成的每个策略的参数。尽管图9中仅示出了驾驶策 略学习模块131的一个实例,应理解,驾驶策略生成模块130可包括任何 数量的驾驶策略学习模块131,其可以彼此独立地并且并行地执行以处理 从体验存储器120检索的驾驶体验。在图9中,框131-1示出了构成驾驶 策略学习模块131-1的一个实例的各种子框132,138,140,142。然而, 在一些实施方式中,驾驶策略生成模块130包括在图9中由一个块共同表 示的附加驾驶策略学习模块131-2..131-n。驾驶策略学习模块131-2..131-n 中的每一个都可包括类似于驾驶策略学习模块131-1中的附加块。根据实 施方式,每个驾驶策略学习模块131可包括构成该驾驶策略学习模块131 的实例的相同子块132,138,140,142,或者可包括构成该驾驶策略学习 模块131的实例的不同子块132,138,140,142。例如,在驾驶策略学习模块131的两个不同实例中使用的DRL算法132可以是相同的DRL算法, 或者可以是不同的DRL算法。
每个驾驶策略学习模块131能够处理其检索的驾驶体验以生成策略。 当前评估和更新的任何策略都存储在策略存储器136中。这样,策略存储 器136用作驾驶策略学习模块131的工作存储器,其中可以临时存储正在 主动工作的任何策略。然后,在任何给定的时间点,由其中一个驾驶策略 学习模块131发现最优的任何策略可发送到策略服务器150(144处)并 存储在策略服务器150。此外,每个驾驶策略学习模块131还可从策略服 务器150检索(146处)先前生成/学习的策略,然后基于新的驾驶体验对 其进行更新。然后,可以将任何新策略或更新策略的参数作为候选策略发 送给驾驶员代理116-1...116-n。在一实施例中,每个驾驶策略学习模块131 包括深度强化学习(DRL)算法132、学习目标模块138和损失模块142。
深度强化学习
强化学习是与学习控制系统有关的学习范例,以便最大化表达长期目 标的数值性能指标。强化学习与监督学习的区别在于,仅向学习者提供关 于学习者预测和/或控制动作的部分反馈。进一步地,预测和/或控制动作 可通过影响受控系统的未来状态产生长期影响。因此,时间起着特殊的作 用。强化学习的目标是开发高效学习算法。强化学习代理通过接收表征环 境当前状态的观察来与环境交互,并且作为响应,执行动作。代理可使用强化学习(RL)来学习从传感器输出中控制汽车。强化学习与监督学习的 不同之处在于没有正确的输入-输出对,而是机器(软件代理)学习在某一 环境中采取动作以最大化某种形式的奖励或最小化成本。采取动作使环境 /系统从一个状态移动到另一个状态。
深度强化学习(DRL)是指任何数量的机器学习技术,其使用深度学 习技术将强化学习方法扩展到学习整个过程。深度强化学习(DRL)可用 于积极面对与环境相互作用的问题,并通过最大化标量奖励信号来学习。 深度强化学习(DRL)算法的代理使用神经网络(例如,用于识别代理状 态的卷积神经网络)来选择响应于接收任何给定观察而要执行的动作。神 经网络是机器学习模型,其采用一层或多层非线性单元来预测接收输入的 输出。“深度神经网络”用于指代除了输出层之外具有一个或多个隐藏层 的神经网络。每个隐藏层的输出用作网络中下一层的输入,即下一个隐藏 层或输出层。网络的每一层根据相应参数集的当前值从接收的输入中生成 输出。
为了进一步解释,在DRL中,代理使用深度神经网络学习状态/动作 的长期值。基于DRL的代理还可使用深度神经网络学习状态和动作之间 的映射。通过执行动作,代理在状态之间转换。在特定状态下执行动作为 代理提供奖励(数值分数)。神经网络使用系数接近函数,使输入与输出 相关联,并通过沿着保证较少误差的梯度迭代地调整权重来学习找到正确 的系数或权重。代理的目标是最大化其总(未来)奖励。通过将未来状态 可获得的最大奖励添加到当前状态的奖励来实现该目标,从而有效地影响 未来潜在奖励的当前动作。状态值是从当前状态开始的所有未来步骤的奖 励的预期值加权和。
深度学习算法可能需要大量标记的训练数据,以生成可用于推断测试 数据的鲁棒模型。RL算法从标量奖励信号中学习,该信号通常是稀疏的、 嘈杂的和延迟的。基于DRL的代理可使用深度神经网络(DNN),例如卷 积神经网络(CNN)、深度自动编码器(例如卷积自动编码器(CAE))或 其他此类神经网络来表示其策略和/或其状态和动作值函数。特定DNN的 选择可基于传感器类型,其中CNN可用于成像/测距传感器数据,并且CAE 可用于,例如,时间序列的传感器数据。在一实施例中,可使用Q学习算 法的变体来训练DNN,其中使用随机梯度下降来更新权重。将诸如CNN 的DNN与作为强化学习形式的Q学习相结合可以被称为深度Q网络 (DQN)。体验回放是用于在数据集D=e1,...,eN中的每个时间步et=(st,at,rt, st+1)存储代理体验的另一种技术。该数据集D可在许多事件中池化到回放 存储器中。这里,s表示序列,a表示动作,r表示特定时间步的奖励。
图10是示出DRL过程400的框图,其中DNN 402担任代理的值预测 心理模型404相对于环境406的角色。环境406可向代理404提供观察408, 例如传感器数据,以及奖励410。在体验回放后,代理404根据预定义的 贪心策略选择并执行动作412。环境406可以是各种环境,例如道路环境 或可以在自动驾驶任务期间进行观察408的任何其他环境。
作为一个示例,DNN 402可被实现为CNN,其包括前馈人工神经网 络,在其输入和输出之间具有一层以上隐藏单元。每个隐藏单元j使用非 线性映射函数(通常是逻辑函数)将其总输入从下面的层xj映射到其发送 到上面的层的标量状态yj,其中bj是单元j的偏置,i是下层中单元的索引, wij是下层中单元i对单位j的权重。yj和xj的值可计算为:yj=1/1+e-xj
其中xj=bj+Σiyiwij。
可以在卷积层执行CNN中的卷积,以从前一层的特征提取局部结构 特征。此时,可以应用附加偏置,然后进行局部池化步骤。非线性映射(例 如,S形)可以在卷积或池化层之后应用,并且可以根据实施而变化。可 迭代地重复卷积和池化步骤。
在示例DRL过程400中,可使用体验的每个步骤来更新权重,从而 允许更高的数据效率。随机化样本可破坏样本之间的强相关性,从而减少 权重更新的差异。馈送到训练阶段的下成组的参数由当前参数集和预定义 策略确定。体验回放可在其先前的许多状态中平均行为分布,从而顺利地 进行学习并避免参数中的振荡/发散。
可使用能够表示任何行为而没有大量手工工程的策略类来执行强化 学习。学习控制和强化学习中的等级结构可改善泛化和转移。诸如自动编 码器(例如,CAE)和CNN的多层神经网络可应用于许多感知任务。策 略搜索方法可允许系统学习各种任务的控制策略。引导式策略搜索方法将 策略搜索转换为监督学习问题,其中通过以轨迹为中心的算法生成训练集 (其将策略搜索引导到高回报区域)。策略自身的状态分布中的训练数据 有助于减少复合错误的风险。可使用迭代程序使轨迹适应策略,在优化策 略匹配轨迹之间交替,并且优化轨迹以最小化成本并匹配策略,使得在收 敛时实现相同的状态分布。
再次参照图9,DRL算法132可使用,例如,任何类型的基于策略梯 度的强化学习算法(例如,近端策略优化(PPO)、行动者评价算法的任何 变体、确定性策略梯度等)或任何类型的基于值的强化学习算法(例如, Q学习、优势学习等)来实施。例如,在以下出版物中描述了DRL算法: Richard S.Sutton和Andrew G.Barto。《强化学习》:简介(第2版)。2016.1998.麻省理工学院出版社,乔鲍·塞派什瓦里。强化学习的算法。2010. Morgan和Claypool Pulishers;以及Kai Arulkumaran,Marc P.Deisenroth, Miles Brundage,AnilA.Barath,深度强化学习的简要综述,IEEE信号处理 杂志,2017,其全部内容通过引用并入本文。本文引用的所有专利申请、 专利和印刷出版物的全部内容均通过引用并入本文,任何定义、主题免责 声明或否定除外,以及所引入材料与本文的明确公开内容不一致的情况除 外,这种情况以本发明中的内容为准。
DRL算法132可使用随机梯度更新来处理与驾驶体验有关的数据,以 训练深度神经网络(DNN),例如卷积神经网络(CNN)。卷积神经网络 (CNN)是一类深度前馈人工神经网络,基于它们的共享权重架构和移位 不变特性,也被称为移位不变或空间不变人工神经网络(SIANN)。CNN 架构由层叠的不同层形成,这些层通过可微函数将输入量转换为输出量。通常使用一些不同类型的层,称为卷积层和最大池化层。卷积层的参数由 成组的可学习的滤波器(或内核)组成,这些滤波器具有较小的感知场, 但延伸到输入量的全部深度。在正推期间,每个滤波器在输入量的宽度和 高度上卷积,从而计算滤波器的条目和输入之间的点积并产生该滤波器的 二维激活图。由此,网络学习当输入中的某个空间位置处检测到某种特定 类型的特征时激活的滤波器。沿深度维度层叠所有滤波器的激活图形成了 卷积层的完整输出量。因此,输出量中的每个条目也可以解释为神经元的 输出,其观察输入中的小区域并与同一激活图中的神经元共享参数。最大 池化通常经由福岛的卷积架构进行结构化。Fukushima,K.(1980). 《Neocognitron:一种不受位置偏移影响的模式识别机制的自组织神经网 络模型》.生物学。Cybern。36(4):193-202。该架构允许CNN利用输入 数据的二维结构。因此,CNN适用于处理视觉和其他二维数据。CNN可 通过标准的反向传播进行训练。CNN比其他常规的深度前馈神经网络更容 易训练,并且需要估计的参数更少。
每个策略都规定了任何给定状态的动作空间上的分布。DRL算法132 处理来自驾驶体验122的输入信息(由驾驶员代理116-1...116-n从几个驾 驶环境114中收集)以生成输出,该输出优化每个驾驶员代理116-1...116-N 的预期未来的折扣奖励。DRL算法132输出表示策略的参数(例如,新策 略的新策略参数或现有策略的更新策略参数)。根据实施方式,策略参数 可以是以下中的一个或多个:(1)由状态/行动/优势值函数确定的状态/行动/优势的估计(或预测)值(即,估计这种状态的好处;估计该状态下某 一动作的好处;或估计该状态下采取某一动作的好处);或(2)策略分布。 DRL算法132使用状态/动作/优势值函数产生最终由驾驶代理116使用的 策略(或策略的参数)。价值函数更像是学习者从很长一段时间内驾驶代 理从几个不同环境中收集的丰富体验中学到的东西。价值函数就像对世界 的理解(驾驶环境)。这样,可以为每个驾驶员代理116生成唯一策略118, 以便在特定驾驶环境和驾驶场景中运行并遵循该特定策略的同时优化该 驾驶员代理116的性能。
基于驾驶员代理与驾驶环境的交互,学习目标模块138处理由驾驶员 代理与驾驶环境的交互产生的驾驶员代理的轨迹,以计算应当实现的期望 学习目标。轨迹中的每一步包括:{状态/观察、动作、奖励,下一状态/下 一观察}。步数是变量“n”。根据实施方式,由学习目标模块138确定的学 习目标可包括(1)应实现的价值目标(状态/动作/优势的估计值);和/或 (2)应实现的策略目标。例如,如果DRL算法132学习并产生状态/动作 /优势的估计值,则学习目标模块138应生成值目标。如果DRL算法132 学习并产生策略分布,则学习目标模块138应生成策略目标。学习目标有 助于驱动学习目标模块138使用的内部估计值,以驱动学习目标模块138 的内部学习过程。当驾驶员代理观察/访问环境的新状态时,如果之前没有 经历过这种场景/情况,则在该状态下采取特定动作的估计值变得不那么可 靠。
损失模块142处理由学习目标模块138输出的学习目标和DRL算法 132的输出(例如,状态/动作/优势或策略分布的估计值),以生成“损失”, 该“损失”反映在期望(或试图实现)的学习目标与当前正在实现的DRL 算法132的输出之间的差异。在一实施例中,损失模块142包括损失函数 (未示出)和自动微分模块(未示出)。
损失函数是将一个或多个变量的事件或值映射到直觉上表示与事件 相关联的一些“成本”的实数的函数。损失函数用于测量预测值和实际值 之间的不一致性,或者预测值与目标值之间的不一致性。基于使用损失函 数实施的测量,损失函数处理一批输入(例如,来自学习目标模块138的 所有学习目标,以及来自DRL算法132的所有预测)以计算总输出损失。 因此,总输出损失结合了DRL算法132的所有输出的损失。当DRL算法 是基于行动者评价的强化学习算法时,其中评价者预测状态/动作/优势值 函数,行动者产生策略分布,损失是行动者和评价者(对于一批投入)的 总体综合损失。
可使用任何已知类型的损失函数来实现损失函数,例如均方误差 (MSE)(或二次)损失函数;均方对数误差(MSLE)损失函数;平均绝 对误差(MAE)损失函数;平均绝对百分比误差(MAPE)损失函数;KL 散度发散损失函数;交叉熵或多级交叉熵损失函数;负对数似然损失函数; 余弦接近损失函数;铰链损失或最大边际目标损失函数。
在一实施例中,损失函数配置为处理由对应的学习目标模块138输出 的学习目标和对应的DRL算法132的输出,以计算总输出损失。总输出 损失包括损失数据的实例,其中每个损失数据实例反映了期望的学习目标 与DRL算法输出的相应预测或策略参数之间的差异。
自动微分模块配置为处理总输出损失以生成每个参数的梯度数据。自 动微分模块通过相对于每个参数(例如,使用计算图和链规则)对损失函 数计算的总输出损失求微分来执行自动微分,以获得关于总输出损失的每 个参数的梯度数据。应理解,损失函数基于来自最后一层神经网络的输出 来计算总损失,并且由自动微分模块计算的梯度数据被反向传播到同一神 经网络的前一层(即,隐藏层和输入层),以重新训练神经元。
在一实施例中,自动微分模块可通过对每个损失数据实例执行自动微 分来处理损失数据的每个实例(来自总输出损失),以相对于由损失函数 计算的总输出损失来生成DRL算法132的每个神经网络的每个参数的梯 度数据。(例如,使用通常与神经网络中基于反向传播的学习一起使用的 微分和链规则)。自动微分(AD),也称为算法微分,是一类类似于反向传 播但比反向传播更通用的技术,用于高效和准确地评估被表示为计算机程 序的数值函数的导数。每个参数的梯度数据表示每个参数相对于由损失函 数计算的总输出损失的贡献。梯度数据表示每个DRL算法132使用的每 个神经网络中的每个神经元的梯度,其中梯度定量地定义每个神经元产生 多少贡献,产生由于该神经网络的输出而导致的损失。例如,在Atilim Gunes Baydin,Barak A.Pearlmutter,Alexey Andreyevich Radul,Jeffrey Mark Siskind中描述了自动微分。机器学习中的自动微分:一项调查。《机器学习研究杂志》,18(153):1--43,2018,其全部内容通过引用并入本文。
每个驾驶策略学习模块还包括梯度下降优化器140。梯度下降优化器 140配置为处理每个参数的梯度数据,以计算DRL算法132使用的每个神 经网络的更新参数(例如,表示策略的每个参数的更新。更新参数可用于 重新训练和优化DRL算法132的神经网络参数并补偿总输出损失。然后, 更新参数可供驾驶员代理使用,例如,由策略服务器150提供给驾驶员代 理。梯度下降优化器140可以是,例如,自适应学习速率法(例如, RMSprop),或计算每个参数的自适应学习速率的自适应矩估计(ADAM) 算法。例如,在以下出版物中描述了梯度下降优化算法:Sebastian Ruder (2016)。《梯度下降优化算法概述》。arXiv预印本arXiv:1609.04747(2016 年9月15日提交(第一版),最后修订日期为2017年6月15日(第二版), 其全部内容通过引用并入本文。
当DRL算法132是基于值的强化学习或基于行动者评价的强化学习 算法时,DRL算法使用状态/动作/优势值的预测来计算损失和梯度,然后 使用梯度下降优化器更新策略参数,然后将策略参数输出到系统的其他主 要部件。DRL算法132在内部(取决于DRL算法)使用预测来驱动学习 并更新策略参数。这样,在这些实施方式中,来自DRL算法132的损失模块的输入是预测或值(而不是基于策略梯度的强化学习算法情况下的策 略参数)。在一实施例中,当DRL算法是基于策略梯度的强化学习算法时, 不存在值函数预测。相反,DRL算法132产生由成组的参数表示的策略分 布,这些参数使用策略损失函数直接优化(通过梯度下降优化器)。
每当其中一个驾驶策略学习模块131生成新策略时,驾驶策略生成模 块130能够将表示该新策略的新参数144发送到策略服务器150。类似地, 每当策略参数由其中一个驾驶策略学习模块131更新时,驾驶策略生成模 块130能够将表示该策略的更新参数发送到策略服务器150。然后,策略 服务器150能够使用新的/更新的策略参数144来改进发送给驾驶员代理 116-1...116-n并由其使用的任何策略的策略参数。
如上所述,驾驶策略生成模块130的目标是基于体验学习并改进策略。 若要开始学习过程,驾驶策略生成模块130需要从策略服务器150检索(在 146)策略以便进行评估和更新。为此,驾驶策略生成模块130能够周期 性地从策略服务器150获取或检索(在146)策略/参数。在一个非限制性 实施例中,驾驶策略生成模块130可确定驾驶员代理116-1...116-n当前正 在使用或需要哪些策略,然后获取/检索其中的一个或多个策略。另外,在 策略服务器150更新策略/参数时,策略服务器150能够周期性地(在146) 将同步信息发送到驾驶策略生成模块130,使得最近已经由其中一个驾驶 策略学习模块131-1...131-n更新的策略/参数可提供给其他驾驶策略学习模 块131-1...131-n。
以下将参照图11描述驾驶策略生成模块130的特定驾驶策略学习模块 131的运行有关的进一步细节。
图11是示出根据公开实施例由驾驶策略生成模块130的特定驾驶策略 学习模块131-1执行的用于更新驾驶策略生成模块130的体验存储器120 和策略存储器136的处理方法500的流程图。将继续参照图4A-10描述图 11。参照图11,所示方法500的步骤不一定是限制性的。在不脱离所附权 利要求的范围的情况下,可以添加,省略和/或同时执行步骤。方法500可 包括任何数量的附加或替代任务,所示的任务不需要以所示顺序执行。方 法500可纳入更全面的程序或过程中,该程序或过程具有本文未详细说明 的附加功能。而且,只要预期的整体功能保持完整,就可以从方法500的 实施例中省略所示的一个或多个任务。方法500内的操作顺序不限于如图 11所示的顺序执行,而是可以根据本发明适用的一个或多个变化顺序执 行。在各种实施例中,方法500可设置为基于一个或多个预定事件运行,和/或可以在自动驾驶汽车10的运行期间连续运行。进一步地,方法500 是计算机实现的,因为结合该方法执行的各种任务或步骤可通过软件、硬 件、固件或其任何组合执行。出于说明的目的,每个方法的以下描述可参 照结合图1、图3和图4A-10中的上述元件。在某些实施例中,通过执行 存储或包括在处理器可读介质上的处理器可读指令来执行这些方法的一 些或所有步骤和/或基本等同的步骤。例如,在接下来的图11的描述中, 各种模块可以被描述为执行各种动作、任务或步骤,但是应理解,这指的 是这些模块的处理系统执行指令以执行所述各种动作、任务或步骤。根据 实施方式,一些处理系统可以集中定位,或者分布在一起工作的多个处理 器或控制器之间。出于说明的目的,方法500示出了已经被实例化的特定 驾驶策略学习模块131-1的一个实例所执行的处理,但是应理解,可根据 实施方式并行地实例化和执行任何数量的驾驶策略学习模块131。
方法500开始于501,其中启用/激活驾驶学习模块131-1并开始执行。 然后,方法500进行到502,其中驾驶学习模块131-1从体验存储器120 采样和检索驾驶体验,或者直接从一个或多个驾驶员代理116-1...116-n接 收驾驶体验。在504,驾驶学习模块131-1确定是否需要与策略服务器150 同步。
当不需要与策略服务器150同步时(在504),方法500进行到508。 如上所述,DRL算法132确定以下输出:(1)估计的(或预测的)状态/ 动作/优势值;或(2)策略分布。学习目标模块138确定学习目标,可以 是(1)价值目标;或(2)策略目标。在508,驾驶学习模块131-1基于 学习目标(例如,价值目标或策略目标)与DRL算法132确定的输出(例 如,状态/动作/优势值的估计值或策略分布)之间的差异来计算学习误差 或更正。相反,当需要与策略服务器150同步时(在504),方法进行到 506,其中驾驶学习模块131-1选择参数并将所选择的参数与策略服务器 150同步,然后,方法500进行到508,其中如上所述计算学习误差。然后,方法500进行到510,其中学习目标模块138计算学习目标,然后进 行到512,其中通过反向传播计算梯度数据。在514,梯度数据和学习误 差(在208计算)被反向传播,以重新训练用于表示DRL算法132的策 略和/或状态/动作/优势值函数的神经网络。在516,梯度下降优化器更新 策略参数。在518,DRL算法132确定策略的更新参数是否与策略服务器150同步。
在计算学习目标之后(在510),驾驶学习模块131-1的优先级排序算 法134在520确定是否需要在体验存储器120更新驾驶体验的影响/优先 级。当优先级排序算法134确定(在520)不需要更新驾驶体验的影响/优 先级时,方法500循环到512,其中如上所述计算梯度数据。当优先级排 序算法134确定(在520)需要更新驾驶体验的影响/优先级时,方法500进行到522,其中优先级排序算法134在体验存储器120更新驾驶体验的 影响/优先级。
当DRL算法132确定(在518)策略的更新参数需要与策略服务器 150同步时,方法500进行到506,其中DRL算法132将策略的更新参数 发送到策略服务器150。然后,策略服务器150可以使用新的/更新的策略 参数144来改进发送给一个或多个驾驶员代理116-1...116-n并由其使用的 策略参数。
当DRL算法132确定(在518)策略的更新参数不需要与策略服务器 150同步时,方法500进行到524,其中DRL算法132确定策略的参数是 否需要存储在策略存储器136中。
当DRL算法132确定(在524)不需要将策略的参数存储在策略存储 器136中时,方法500进行到501,其中重新执行驾驶学习模块131-1。当 DRL算法132确定(在524)策略的参数需要存储在策略存储器136中时, 方法500进行到526,其中DRL算法132存储需要在策略存储器136中存 储的策略参数。
策略服务器
图12是示出根据公开实施例的策略服务器150与驾驶策略生成模块 130和AI驾驶员代理系统110(包括成组的n个驾驶员代理116-1......116-n) 之间交互的框图。
驾驶策略生成模块130的驾驶策略学习模块131均可以生成描述策略 的成组的参数。每当其中一个驾驶策略学习模块131生成新策略时,驾驶 策略生成模块130可将用于该新策略的新参数发送到策略服务器150。定 义每个策略的参数可由驾驶策略学习模块131随时间更新,因为该参数从 驾驶员代理116捕获的新体验中学习。每当其中一个驾驶策略学习模块131 更新策略的梯度和/或参数时,驾驶策略生成模块130可将更新的参数发送到策略服务器150。在图12中,策略参数经由箭头144共同表示。策略参 数144改进了存储在策略服务器150的任何策略的策略参数。
作为学习过程的一部分,驾驶策略生成模块130能够从策略服务器150 检索(在146)策略以便进行评估和更新。为此,驾驶策略生成模块130 能够周期性地从策略服务器150获取或检索(在146)策略/参数。在一实 施例中,每个驾驶策略学习模块131能够从策略服务器150检索(在146) 先前生成/学习的策略,然后基于新的驾驶体验对其进行更新。另外,当在 策略服务器150更新策略/参数时,策略服务器150能够同步(在146)存 储在策略存储器156的策略的参数,使得学习过程更稳定。在一实施例中, 策略服务器150能够周期性地(在146)将同步信息发送到驾驶策略生成 模块130,使得最近由其中一个驾驶策略学习模块131-1...131-n更新的任 何策略/参数可以提供给其他驾驶策略学习模块131-1...131-n。
新的/更新的策略各自存储在策略服务器150的策略存储器156中作为 成组的策略参数。每个策略118指定了对汽车制定的行为进行定义的参数。 例如,特定驾驶员代理116可以使用每个策略来指示和控制AV的致动器 如何响应于给定的成组的传感器输入而运行。由汽车执行的每个行为/动作 能够追溯到导致执行该行为或动作的参数集。在一个示例性实施例中,其 中神经网络用于表示驾驶代理的策略和/或状态/动作/优势值,所使用的参 数是神经元的权重。参数信息(每个神经元的信息输入/权重)可被看作类 似于计算机程序中的代码行。对系统内部工作/代码的可追溯性实现了汽车 的白盒式验证和测试。
策略服务器150能够将一个或多个候选策略158的参数(在图12中 由一个标记为158的箭头表示)提供给AI驾驶员代理系统110的驾驶员 代理116-1......116-n。特定驾驶员代理116-1......116-n能够使用其中一个候 选策略的参数来执行特定策略,以在特定环境中运行时控制AV。用于将 一个或多个候选策略158的参数发送到特定驾驶员代理116-1......116-n的 触发器根据实施方式以及特定驾驶员代理116-1....116-n的自动级别而变 化。在一实施例中,特定驾驶员代理116-1......116-n能够向策略服务器150 发送包括元信息的策略请求。元信息是描述驾驶代理的目标、用户/代理偏 好、主动感知的驾驶条件、路线复杂性等的编码信息,并且策略服务器150 能够基于该元信息确定哪些策略是该特定驾驶员代理116-1....116-n合适 的,然后将相应的参数发送给该特定驾驶员代理116-1....116-n。在另一实 施例中,在特定驾驶员代理116-1......116-n缺乏能力/复杂性或自动水平来 确定请求特定策略所需的这种元信息的情况下,策略服务器150能够确定哪些策略是特定驾驶员代理116-1......116-n的特定一个的“候选”,然后将 相应的参数发送给该特定的驾驶员代理116-1......116-n。
例如,在一实施例中,基于观察到的驾驶环境特定的感知信息和从特 定驾驶员代理116-1......116-n提供的驾驶代理的目标,策略服务器150能 够确定一个或多个候选策略提供给该特定驾驶员代理。对于每个候选策 略,策略服务器150接着能够实例化策略服务器实例154-1...154-N,该实 例将其中一个候选策略提供给该特定驾驶员代理116-1......116-n。例如,每 个策略服务器实例154-1...154-N将为特定候选策略检索对应的成组的参数 152-1...152-n,并将该组参数提供给该特定驾驶员代理116-1....116-N。然后, 驾驶员代理116-1...116-n能够执行策略以控制AV 10(例如,控制加速度、 减速度、转向角的控制致动器)以查看感知的观察。
公开实施例能够提供可伸缩的系统和方法,用于以并行和分布式方式 训练和开发多个自动驾驶员代理,而无需任何外部监督或标记数据。驾驶 员代理的收集体验可用作知识库,以提取驾驶规则和/或引导新的学习范 例。学到的技能可以转移到其他驾驶任务和/或领域。并行和分布式架构使 驾驶代理能够找到新型的驾驶策略和行为。探索的行为空间可用作AD域 覆盖率的指示符。公开实施例可允许并行和分布式学习,使开发,测试和验证更快。这可以加速多个自动智能驾驶员代理的培训。驾驶员代理能够 学习各种负担得起的策略,这些策略可以转移到相关问题。这可以实现大 规模(例如,城市/全国范围的)AV行为验证。
应理解,虽然自动驾驶策略生成和服务器系统100可包括驾驶环境处 理器114,自动驾驶员代理116、体验存储器120、驾驶学习模块130和策 略服务器150,但在其他实施例中,不需要所有这些元件。
例如,在一实施例中,提供了一种包括自动驾驶员代理116和策略服 务器150的系统。该系统将使售后AV系统能够更新/升级其通过策略服务 器150获得的驾驶决策制定策略。策略服务器150上的策略可以通过任何 手段(不一定使用驾驶学习模块和/或体验存储器)来更新。可采用严格的 测试和验证方法验证和确认一次策略服务器上策略的安全级别和其他性 能特征,并且可以大规模部署到数百万辆汽车。该系统可以改进当前大多 数AV系统(其中决策系统在生产时固定并在相当长的一段时间内保持不 变,直到在AV系统上执行主要系统/软件更新)。该系统可以使AV系统通 过策略服务器不断使用改进的决策策略。AV系统不需要实现体验存储器 120或驾驶学习模块130。消除体验存储器120可消除对体验的存储需求。 然而,该系统还可包括体验存储器120。该系统还可消除对驾驶学习模块 130或学习部件的需求。例如,一旦针对几个用例和驾驶环境等对系统进 行了完整训练,并且训练的策略存储在策略服务器150中,则自动驾驶员 代理116(用于AV或通过成组的AV)能够访问这些存储在策略服务器150 的策略存储器中的策略;代理不再需要在体验存储器120中收集和存储体 验或参与学习。
在另一实施例中,提供了一种包括至少一个自动驾驶员代理116和至 少一个驾驶学习模块130的系统。自动驾驶员代理116仅将体验直接发送 给驾驶学习模块130,驾驶学习模块130能够基于从自动驾驶员代理116 提供的信息来学习,并且自动驾驶员代理116能够从驾驶学习模块130接 收反馈以更新自动驾驶员代理116。这是有利的,因为自动驾驶员代理116 和驾驶学习模块130的组合是应用强化学习(RL)整体解决自动驾驶问题 的一种更简单(具有最少数量的部件)方法。该系统可使用强化学习(RL) 解决自动驾驶决策问题(例如,计划和控制)。该系统的一个优点是不需 要包括体验存储器120或策略服务器150(不需要存储任何类型)。然而, 该系统可选地还可包括体验存储器120,但不需要策略服务器150。包括 自动驾驶员代理116、体验存储器120和驾驶学习模块130的组合的系统(没有策略服务器150)可视为允许不同的自动驾驶员代理116收集体验 并将其集体体验存储在体验存储器120中存储的体验数据库中的系统(即, 存储由所有自动驾驶员代理116观察到的体验)的系统。)。然后,驾驶学 习模块130可使用集体体验来基于从所有自动驾驶员代理116提供的体验 信息进行学习,并且不依赖于策略服务器150而直接连续地更新所有自动驾驶员代理116。
在另一实施例中,提供了一种包括自动驾驶员代理116和体验存储器 120的系统。具有体验存储器120和一个或多个自动驾驶员代理116的系 统(没有驾驶学习模块130和相关的学习过程)是一种体验收集系统,可 达到收集驾驶体验的目的。在任何数据驱动的学习系统中,数据是能够商 品化和单独销售的关键元素。可选地,该系统还可包括驾驶学习模块130 (如上所述),同时消除对策略服务器150的需求。
在另一实施例中,提供了一种包括驾驶学习器模块130和策略服务器150的系统。当在策略服务器150中可获得训练的策略列表时,可使用该系统。在没有新加入体验时,一个或多个驾驶学习模块130可使用元学习/无监督学习方法来“想象”并基于它们可以从策略服务器150中可用的各种不同策略推断出的内容来更新策略。“想象”方法可以是在驾驶学习模块130中实现的学习算法的一部分。该系统不需要体验存储器120,或者需要自动驾驶员代理116来收集体验。这样的系统可用于通过置换和组合策略服务器150中可用的策略存储器中的现有策略来推导出用于自定义场景的定制策略。这可能导致产品的策略有助于解决联合驾驶领域中的类似问题(例如,使用这种系统推导出的策略可能变得对工厂场地自动控制叉车或货物推车很有用)。可选地,该系统还可包括体验存储器120,但仍然不需要自动驾驶员代理116收集体验。结合体验存储器120对驾驶学习模块130和策略服务器150的组合是有用的,因为存储在体验存储器120中的体验可利用体验存储器120提供的真实世界的体验来增强自我监督/无监督/元学习(“想象”)。例如,一个或多个驾驶学习模块130可仅访问具有关于体验的一些信息的体验存储器120,并将学习算法应用于这些体验并生成可存储在策略服务器150中的策略的参数(例如,出售给某一终端用户)。此外,由于存在体验存储器120,除了驾驶学习模块130能够重建的富有想象力的体验(“想象”)之外,该组合还将允许基于真实世界的体验进一步调整/改进策略服务器150中的现有策略。在任一实施例中,该系统可在没有汽车参与的情况下实施。本实施例也可能在相关行业中有用。对于某些应用而言(例如,能够使用自我监督/无监督/元学习来推广到无法预料的场景的AI系统),本实施例可能变化。
尽管在前面的详细描述中已经呈现了至少一个示例性实施例,应理解 还存在着大量的变型。还应理解,一个或多个示例性实施例仅是示例,并 不旨在以任何方式限制本发明的范围、适用性或配置。相反,前面的详细 描述将为本领域技术人员提供实施一个或多个示例性实施例的方便的路 线图。应理解,在不脱离所附权利要求及其合法等同物提出的本发明范围 的情况下,可对元件的功能和设置做出各种变化。
Claims (10)
1.一种方法,其包括:
经由一个或多个驾驶员代理以及一个或多个对应的一个或多个驾驶环境处理器捕获在不同驾驶环境中的不同驾驶场景期间的驾驶体验,其中每个驾驶体验包括表示特定时间的特定驾驶环境的数据;
经由策略服务器向所述一个或多个驾驶员代理提供一个或多个候选策略的参数,其中每个策略规定了对于任何给定状态的动作空间中的分布;
在所述一个或多个驾驶员代理中处理接收的至少一个候选策略的参数,并执行所述至少一个候选策略以产生相应的驾驶环境处理器观察到的在特定驾驶环境中控制汽车的一个或多个动作;以及
在低级控制器中处理每个动作以产生在所述特定驾驶环境中运行时控制汽车的控制信号。
2.根据权利要求1所述的方法,其中表示特定时间的特定驾驶环境的每个驾驶体验的数据包括:
由相应的驾驶环境处理器观察到的特定驾驶环境的状态;
使用至少部分可观察状态进行的观察;
由驾驶员代理产生的动作;
奖励包括:表示在特定环境条件下的特定时间由驾驶员代理执行的动作的期望程度的信号,其中基于从人类驾驶数据提取的道路规则和驾驶原则来自动计算该奖励或基于交通和道路规则使用其他适当的方法来定义该奖励;
驾驶员代理要实现的目标;
实例信息包括:指示在获取特定驾驶体验时由该驾驶员代理确定的驾驶体验的影响或优先级的信息;以及关于该特定驾驶体验的其他元信息;以及
在驾驶员代理在驾驶环境中执行动作之后产生的特定驾驶环境的下一状态;以及使用至少部分可观察的下一状态进行的下一次观察。
3.根据权利要求1所述的方法,其中经由一个或多个驾驶员代理处理至少一个候选策略的接收参数并执行所述至少一个候选策略以产生相应的驾驶环境处理器观察到的在特定驾驶环境中控制汽车的一个或多个动作包括:
在每个对应的驾驶环境处理器处理来自车载传感器的传感器信息,所述传感器信息描述特定的驾驶环境以产生特定驾驶环境的状态;
在所述一个或多个驾驶员代理中的每一个根据策略处理所述状态以产生相应的动作;以及
其中在低级控制器处理每个动作以产生控制信号,包括:
在低级控制器转换每个动作以产生控制信号,用于控制汽车在该特定驾驶环境中的该状态下运行时自动控制汽车。
4.根据权利要求1所述的方法,还包括:
在策略服务器处基于从每个特定驾驶员代理接收的元信息确定哪些策略是所述特定驾驶员代理的候选策略,其中所述元信息是编码信息,其至少描述:所述特定驾驶员代理的一个或多个目标、所述特定驾驶员代理的偏好以及针对特定驾驶环境和感知到的驾驶状况所观察到的感知信息。
5.根据权利要求1所述的方法,还包括:
在体验存储器中存储包括由一个或多个驾驶员代理捕获的驾驶体验的驾驶体验数据;当所述一个或多个驾驶员代理获取新的驾驶体验时,更新驾驶体验数据;
根据所述驾驶体验相对于其他驾驶体验的相对优先级,经由优先级排序算法对存储在体验存储器中的每个驾驶体验进行排序,以便按照优先顺序对驾驶体验进行优先排序;
当新的驾驶体验由驾驶员代理随时间获取并存储在体验存储器中时,经由优先级排序算法定期更新存储在体验存储器中的每个驾驶体验的相对优先级;以及
在体验存储器中存储具有每种驾驶体验的元信息,元信息包括:所述驾驶体验相对于由优先级排序算法确定的其他驾驶体验的优先级;驾驶员代理标识符;以及环境标识符。
6.根据权利要求1所述的方法,还包括:
经由驾驶策略生成模块的一个或多个驾驶策略学习模块,检索存储在体验存储器中的至少一些驾驶体验;
在一个或多个驾驶策略学习模块处理至少一些驾驶体验以学习和生成描述一个或多个策略的参数,其中每个策略包括成组的参数,这些参数描述策略并且可由至少一个驾驶员代理处理以产生用于控制汽车的动作;以及
在策略服务器处接收来自所述一个或多个驾驶策略学习模块的策略的参数,并存储每个策略的接收参数。
7.根据权利要求6所述的方法,其中每个驾驶策略学习模块包括深度强化学习(DRL)算法,其中在一个或多个驾驶策略学习模块处理至少一些驾驶体验包括:
在每个DRL算法中处理来自至少一些驾驶体验的输入信息以学习和生成输出包括:表示通过DRL开发的策略的成组的参数,并且其中每个策略可由至少一个驾驶员代理处理以产生用于控制汽车的动作,其中DRL算法的输出包括以下中的一个或多个:
由状态/动作/优势值函数确定的状态/动作/优势的估计值;和策略分布,其中每个DRL算法包括:基于策略梯度的强化学习算法;或基于值的强化学习算法;或基于行动者评价的强化学习算法。
8.根据权利要求7所述的方法,其中每个驾驶策略学习模块还包括学习目标模块,其中在一个或多个驾驶策略学习模块处理至少一些驾驶体验还包括:
在每个学习目标模块上处理驾驶环境内驾驶员代理的轨迹步骤,以计算期望实现的期望学习目标,其中每个轨迹步骤包括:状态、观察、动作、奖励、下一状态和下一次观察,并且其中每个学习目标表示给定的驾驶体验所期望的动作的结果,其中每个学习目标包括以下中的至少一个:值目标,其包括:需要实现的状态/动作/优势的估计值;以及需要实现的策略目标。
9.一种系统,其包括:
驾驶员代理模块,包括一个或多个驾驶环境处理器,各自配置为:观察驾驶环境;以及分别对应于一个驾驶环境处理器的一个或多个驾驶员代理,各自配置为:
执行控制特定驾驶环境中的汽车的策略,如由所述驾驶员代理模块的相应驾驶环境处理器所观察到的;以及
在不同驾驶环境中的不同驾驶场景期间捕获驾驶体验,其中每个驾驶体验包括表示特定时间的特定驾驶环境的数据;
策略服务器,配置为接收策略的参数并存储每个策略的接收参数;向所述一个或多个驾驶员代理提供一个或多个候选策略的参数,其中一个或多个驾驶员代理中的每一个配置为处理至少一个候选策略的接收参数并执行所述至少一个候选策略以生成一个或多个动作以便在相应的驾驶环境处理器所观察的特定驾驶环境中控制汽车;以及
低级控制器,配置为处理每个动作以生成控制汽车的控制信号,用于在所述特定驾驶环境中运行时控制汽车。
10.一种系统,包括:
包含指令的非暂时性存储器;以及
与存储器通信的一个或多个处理器,其中所述一个或多个处理器执行指令以:
经由一个或多个驾驶员代理以及一个或多个对应的一个或多个驾驶环境处理器捕获在不同驾驶环境中的不同驾驶场景期间的驾驶体验,其中每个驾驶体验包括表示特定时间的特定驾驶环境的数据;
经由策略服务器向所述一个或多个驾驶员代理提供一个或多个候选策略的参数,其中每个策略规定了对于任何给定状态的动作空间中的分布;
在所述一个或多个驾驶员代理中处理接收的至少一个候选策略的参数,并执行所述至少一个候选策略以产生相应的驾驶环境处理器观察到的在特定驾驶环境中控制汽车的一个或多个动作;以及
在低级控制器中处理每个动作以产生在所述特定驾驶环境中运行时控制汽车的控制信号。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/048,157 US20200033869A1 (en) | 2018-07-27 | 2018-07-27 | Systems, methods and controllers that implement autonomous driver agents and a policy server for serving policies to autonomous driver agents for controlling an autonomous vehicle |
US16/048157 | 2018-07-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110850854A true CN110850854A (zh) | 2020-02-28 |
Family
ID=69148775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910482888.XA Pending CN110850854A (zh) | 2018-07-27 | 2019-06-04 | 自动驾驶员代理和为自动驾驶员代理提供策略的策略服务器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200033869A1 (zh) |
CN (1) | CN110850854A (zh) |
DE (1) | DE102019113880A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111679660A (zh) * | 2020-06-16 | 2020-09-18 | 中国科学院深圳先进技术研究院 | 一种融合类人驾驶行为的无人驾驶深度强化学习方法 |
CN112180921A (zh) * | 2020-09-22 | 2021-01-05 | 安徽江淮汽车集团股份有限公司 | 自动驾驶算法训练系统及方法 |
CN113552867A (zh) * | 2020-04-20 | 2021-10-26 | 华为技术有限公司 | 一种运动轨迹的规划方法及轮式移动设备 |
CN113561995A (zh) * | 2021-08-19 | 2021-10-29 | 崔建勋 | 一种基于多维奖励架构深度q学习的自动驾驶决策方法 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110574048B (zh) * | 2017-06-09 | 2023-07-07 | 渊慧科技有限公司 | 训练动作选择神经网络 |
US11130497B2 (en) | 2017-12-18 | 2021-09-28 | Plusai Limited | Method and system for ensemble vehicle control prediction in autonomous driving vehicles |
US20190185012A1 (en) | 2017-12-18 | 2019-06-20 | PlusAI Corp | Method and system for personalized motion planning in autonomous driving vehicles |
DE112019004662T5 (de) * | 2018-09-18 | 2021-06-17 | Tactual Labs Co. | Biometrische frequenz |
CN111045422A (zh) * | 2018-10-11 | 2020-04-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 |
US11295174B2 (en) * | 2018-11-05 | 2022-04-05 | Royal Bank Of Canada | Opponent modeling with asynchronous methods in deep RL |
US11574148B2 (en) | 2018-11-05 | 2023-02-07 | Royal Bank Of Canada | System and method for deep reinforcement learning |
US11657251B2 (en) * | 2018-11-12 | 2023-05-23 | Honda Motor Co., Ltd. | System and method for multi-agent reinforcement learning with periodic parameter sharing |
US11131992B2 (en) * | 2018-11-30 | 2021-09-28 | Denso International America, Inc. | Multi-level collaborative control system with dual neural network planning for autonomous vehicle control in a noisy environment |
DE102018222720B4 (de) * | 2018-12-21 | 2022-01-05 | Continental Teves Ag & Co. Ohg | Überwachung von auf neuronalen Netzwerken basierten Fahrfunktionen |
US10762393B2 (en) * | 2019-01-31 | 2020-09-01 | StradVision, Inc. | Learning method and learning device for learning automatic labeling device capable of auto-labeling image of base vehicle using images of nearby vehicles, and testing method and testing device using the same |
EP3693243A1 (en) * | 2019-02-06 | 2020-08-12 | Zenuity AB | Method and system for controlling an automated driving system of a vehicle |
CN110069064B (zh) * | 2019-03-19 | 2021-01-29 | 驭势科技(北京)有限公司 | 一种自动驾驶系统升级的方法、自动驾驶系统及车载设备 |
US20210064983A1 (en) * | 2019-08-28 | 2021-03-04 | Canvass Analytics | Machine learning for industrial processes |
EP3824419A1 (en) * | 2019-09-23 | 2021-05-26 | Advanced New Technologies Co., Ltd. | System and method for routing optimization |
US11900244B1 (en) * | 2019-09-30 | 2024-02-13 | Amazon Technologies, Inc. | Attention-based deep reinforcement learning for autonomous agents |
JP6744597B1 (ja) * | 2019-10-18 | 2020-08-19 | トヨタ自動車株式会社 | 車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置 |
US11733353B2 (en) | 2019-11-14 | 2023-08-22 | Nio Technology (Anhui) Co., Ltd. | Object detection using local (ground-aware) adaptive region proposals on point clouds |
US11755014B2 (en) * | 2019-12-31 | 2023-09-12 | Uatc, Llc | Jointly learnable behavior and trajectory planning for autonomous vehicles |
CN111314934B (zh) * | 2020-02-14 | 2021-08-10 | 西北工业大学 | 一种统一最优判决的网络协同探测方法 |
EP3920103A1 (en) * | 2020-06-05 | 2021-12-08 | Robert Bosch GmbH | Device and method for planning an operation of a technical system |
CN113835421B (zh) * | 2020-06-06 | 2023-12-15 | 华为技术有限公司 | 训练驾驶行为决策模型的方法及装置 |
US11080602B1 (en) | 2020-06-27 | 2021-08-03 | Sas Institute Inc. | Universal attention-based reinforcement learning model for control systems |
EP3951673A1 (en) * | 2020-08-04 | 2022-02-09 | Aptiv Technologies Limited | Method and system of collecting training data suitable for training an autonomous driving system of a vehicle |
US11938957B2 (en) * | 2020-08-24 | 2024-03-26 | Motional Ad Llc | Driving scenario sampling for training/tuning machine learning models for vehicles |
US11301269B1 (en) | 2020-10-14 | 2022-04-12 | UiPath, Inc. | Determining sequences of interactions, process extraction, and robot generation using artificial intelligence / machine learning models |
EP4006784A1 (en) * | 2020-11-26 | 2022-06-01 | Zenuity AB | Methods and systems for automated driving system experience monitoring and/or management |
JP2022099571A (ja) * | 2020-12-23 | 2022-07-05 | 株式会社明電舎 | 自動操縦ロボットの制御装置及び制御方法 |
DE102021201698A1 (de) | 2021-02-23 | 2022-08-25 | Volkswagen Aktiengesellschaft | Verfahren zum Bewerten einer Bekanntheit einer Fahrstrecke und elektronische Recheneinrichtung |
CN113291142B (zh) * | 2021-05-13 | 2022-11-11 | 广西大学 | 一种智能行驶系统及其控制方法 |
CN113511215B (zh) * | 2021-05-31 | 2022-10-04 | 西安电子科技大学 | 一种混合自动驾驶决策方法、设备及计算机存储介质 |
CN113253612B (zh) * | 2021-06-01 | 2021-09-17 | 苏州浪潮智能科技有限公司 | 一种自动驾驶控制方法、装置、设备及可读存储介质 |
CN113460085B (zh) * | 2021-06-28 | 2022-11-18 | 东风汽车集团股份有限公司 | 面向服务的自动驾驶网络设计和通信方法及计算机设备 |
CN113627434A (zh) * | 2021-07-07 | 2021-11-09 | 中国科学院自动化研究所 | 一种应用于自然图像的处理模型的搭建方法及装置 |
CN116091894B (zh) * | 2023-03-03 | 2023-07-14 | 小米汽车科技有限公司 | 模型训练方法、车辆控制方法、装置、设备、车辆及介质 |
CN117360552B (zh) * | 2023-12-06 | 2024-03-26 | 苏州元脑智能科技有限公司 | 一种车辆控制方法、装置、设备及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8660734B2 (en) * | 2010-10-05 | 2014-02-25 | Google Inc. | System and method for predicting behaviors of detected objects |
CN107168303A (zh) * | 2017-03-16 | 2017-09-15 | 中国科学院深圳先进技术研究院 | 一种汽车的自动驾驶方法及装置 |
CN107229973A (zh) * | 2017-05-12 | 2017-10-03 | 中国科学院深圳先进技术研究院 | 一种用于车辆自动驾驶的策略网络模型的生成方法及装置 |
CN108009587A (zh) * | 2017-12-01 | 2018-05-08 | 驭势科技(北京)有限公司 | 一种基于强化学习和规则确定驾驶策略的方法与设备 |
CN108196535A (zh) * | 2017-12-12 | 2018-06-22 | 清华大学苏州汽车研究院(吴江) | 基于增强学习和多传感器融合的自动驾驶系统 |
CN108205830A (zh) * | 2016-12-20 | 2018-06-26 | 百度(美国)有限责任公司 | 识别对于无人驾驶车辆的个人驾驶偏好的方法和系统 |
US20180203453A1 (en) * | 2017-01-19 | 2018-07-19 | Robert Bosch Gmbh | System and Method of Using Crowd-Sourced Driving Path Data in an Autonomous or Semi-Autonomous Driving System |
-
2018
- 2018-07-27 US US16/048,157 patent/US20200033869A1/en not_active Abandoned
-
2019
- 2019-05-23 DE DE102019113880.9A patent/DE102019113880A1/de not_active Withdrawn
- 2019-06-04 CN CN201910482888.XA patent/CN110850854A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8660734B2 (en) * | 2010-10-05 | 2014-02-25 | Google Inc. | System and method for predicting behaviors of detected objects |
CN108205830A (zh) * | 2016-12-20 | 2018-06-26 | 百度(美国)有限责任公司 | 识别对于无人驾驶车辆的个人驾驶偏好的方法和系统 |
US20180203453A1 (en) * | 2017-01-19 | 2018-07-19 | Robert Bosch Gmbh | System and Method of Using Crowd-Sourced Driving Path Data in an Autonomous or Semi-Autonomous Driving System |
CN107168303A (zh) * | 2017-03-16 | 2017-09-15 | 中国科学院深圳先进技术研究院 | 一种汽车的自动驾驶方法及装置 |
CN107229973A (zh) * | 2017-05-12 | 2017-10-03 | 中国科学院深圳先进技术研究院 | 一种用于车辆自动驾驶的策略网络模型的生成方法及装置 |
CN108009587A (zh) * | 2017-12-01 | 2018-05-08 | 驭势科技(北京)有限公司 | 一种基于强化学习和规则确定驾驶策略的方法与设备 |
CN108196535A (zh) * | 2017-12-12 | 2018-06-22 | 清华大学苏州汽车研究院(吴江) | 基于增强学习和多传感器融合的自动驾驶系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113552867A (zh) * | 2020-04-20 | 2021-10-26 | 华为技术有限公司 | 一种运动轨迹的规划方法及轮式移动设备 |
CN111679660A (zh) * | 2020-06-16 | 2020-09-18 | 中国科学院深圳先进技术研究院 | 一种融合类人驾驶行为的无人驾驶深度强化学习方法 |
CN111679660B (zh) * | 2020-06-16 | 2022-08-05 | 中国科学院深圳先进技术研究院 | 一种融合类人驾驶行为的无人驾驶深度强化学习方法 |
CN112180921A (zh) * | 2020-09-22 | 2021-01-05 | 安徽江淮汽车集团股份有限公司 | 自动驾驶算法训练系统及方法 |
CN113561995A (zh) * | 2021-08-19 | 2021-10-29 | 崔建勋 | 一种基于多维奖励架构深度q学习的自动驾驶决策方法 |
CN113561995B (zh) * | 2021-08-19 | 2022-06-21 | 崔建勋 | 一种基于多维奖励架构深度q学习的自动驾驶决策方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200033869A1 (en) | 2020-01-30 |
DE102019113880A1 (de) | 2020-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110850861B (zh) | 基于注意的分层变道深度强化学习 | |
CN110850854A (zh) | 自动驾驶员代理和为自动驾驶员代理提供策略的策略服务器 | |
CN111137292B (zh) | 经执行器-评价网络架构学习车道变换策略的方法和系统 | |
CN108528458B (zh) | 用于车辆尺寸预测的系统和方法 | |
CN110588653B (zh) | 自主车辆的控制系统、控制方法以及控制器 | |
CN109460015B (zh) | 用于自主驾驶应用的无监督学习代理 | |
CN110531753B (zh) | 自主车辆的控制系统、控制方法和控制器 | |
CN109131346B (zh) | 用于预测自主车辆中的交通模式的系统和方法 | |
US20210276587A1 (en) | Systems and Methods for Autonomous Vehicle Systems Simulation | |
US11537127B2 (en) | Systems and methods for vehicle motion planning based on uncertainty | |
US11760386B2 (en) | Systems and methods for vehicle-to-vehicle communications for improved autonomous vehicle operations | |
US20210149404A1 (en) | Systems and Methods for Jointly Performing Perception, Perception, and Motion Planning for an Autonomous System | |
CN110758399B (zh) | 用于预测实体行为的系统和方法 | |
CN110356412B (zh) | 用于自主驾驶的自动规则学习的方法和设备 | |
US11891087B2 (en) | Systems and methods for generating behavioral predictions in reaction to autonomous vehicle movement | |
CN111098862A (zh) | 用于预测传感器信息的系统和方法 | |
WO2021004437A1 (en) | Method and system for predictive control of vehicle using digital images | |
US20210278852A1 (en) | Systems and Methods for Using Attention Masks to Improve Motion Planning | |
US20220032970A1 (en) | Systems and Methods for Mitigating Vehicle Pose Error Across an Aggregated Feature Map | |
CN116348938A (zh) | 用于预测动态对象行为的方法和系统 | |
US11975742B2 (en) | Trajectory consistency measurement for autonomous vehicle operation | |
WO2022115216A2 (en) | Method and system for determining a mover model for motion forecasting in autonomous vehicle control | |
CN113424209A (zh) | 使用深度学习多预测器融合和贝叶斯优化的轨迹预测 | |
CN115909706A (zh) | 用于动态车队优先化管理的方法和系统 | |
US20230227061A1 (en) | Systems and Methods for Pareto Domination-Based Learning |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200228 |