CN110850861B - 基于注意的分层变道深度强化学习 - Google Patents

基于注意的分层变道深度强化学习 Download PDF

Info

Publication number
CN110850861B
CN110850861B CN201910443618.8A CN201910443618A CN110850861B CN 110850861 B CN110850861 B CN 110850861B CN 201910443618 A CN201910443618 A CN 201910443618A CN 110850861 B CN110850861 B CN 110850861B
Authority
CN
China
Prior art keywords
driving
learning
strategy
module
action
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910443618.8A
Other languages
English (en)
Other versions
CN110850861A (zh
Inventor
P·帕拉尼萨梅
U·P·穆达里格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of CN110850861A publication Critical patent/CN110850861A/zh
Application granted granted Critical
Publication of CN110850861B publication Critical patent/CN110850861B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial 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]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0234Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
    • G05D1/0236Control 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Estimation 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/08Estimation 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 drivers or passengers
    • B60W40/09Driving style or behaviour
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Drive control systems specially adapted for autonomous road vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control 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/0251Control 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0259Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0278Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0285Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using signals transmitted via a public communication network, e.g. GSM network
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • G05D1/0295Fleet control by at least one leading vehicle of the fleet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/30Driving style
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/50External transmission of data to or from the vehicle of positioning data, e.g. GPS [Global Positioning System] data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Electromagnetism (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Abstract

一种基于注意的分层变道深度强化学习。提供了生成自动驾驶策略的系统和方法。该系统可包括成组的自动驾驶员代理,以及驾驶策略生成模块,其包括成组的驾驶策略学习模块,用于基于驾驶员代理收集的集体体验生成和改进策略。驾驶员代理可收集驾驶体验以创建知识库。驾驶策略学习模块能够处理集体驾驶体验以提取驾驶策略。驾驶员代理可以经由驾驶策略学习模块以并行和分布的方式进行训练,以便更快更高效地找到新型的高效驾驶策略和行为。并行和分布式学习能够加快多个自动智能驾驶员代理的训练。

Description

基于注意的分层变道深度强化学习
技术领域
本发明一般涉及自动车辆,更具体地涉及用于控制自动驾驶汽车的自动驾驶汽车控制器、自动驾驶汽车控制系统和相关方法。该自动驾驶汽车系统、方法和控制器实现收集驾驶体验的自动驾驶员代理以及生成并改进提供给自动驾驶员代理并由自动驾驶员代理用于控制自动驾驶汽车的策略的驾驶策略学习器。
背景技术
自动驾驶汽车是一种能够感知其环境并在用户输入很少或没有的情况下导航的汽车。自动驾驶汽车包括智能控制自动驾驶汽车的自动驾驶系统(ADS)。传感器系统使用诸如雷达、激光雷达、图像传感器等传感装置来感知其环境。ADS还可以处理来自全球定位系统(GPS)技术、导航系统、车间通信、汽车对基础设施技术和/或线控驾驶系统的信息,以便汽车导航。
汽车自动化已被分类为从零到五的数字等级,零对应于无自动化,完全人为控制,五对应于完全自动化,无人为控制。各种自动驾驶辅助系统,例如巡航控制、自适应巡航控制和停车辅助系统,对应于较低的自动化等级,而真正的“无人驾驶”汽车对应于较高的自动化等级。目前,有许多不同的自动驾驶汽车控制方法,但都存在缺点。
现在提出的许多能够提供更高自动化等级的自动驾驶汽车需要外部监督和/或标记数据。而且,许多自动驾驶汽车系统在没有监督或外部标记数据的情况下是不可扩展的。例如,自动驾驶汽车系统的深度学习系统不可扩展,因为它们依赖于标记数据,标记数据的创建过于耗时耗力。对实现这种自动驾驶汽车的神经网络在所有环境或用例中实现汽车可靠性的训练和验证是一项艰巨的工程任务。
因此,希望提供可靠、易于训练和验证等的自动驾驶汽车的控制系统和方法。此外,结合附图及上述技术领域和背景技术,本发明的其他期望特征和特性将从后续具体实施方式和所附权利要求中变得显而易见。
发明内容
提供了控制自动驾驶汽车的系统、方法和控制器。在一实施例中,提供了一种方法,包括:经由一个或多个驾驶员代理以及一个或多个对应的一个或多个驾驶环境处理器捕获在不同驾驶环境中的不同驾驶场景期间的驾驶体验,其中每个驾驶体验包括表示特定时间的特定驾驶环境的数据;经由驾驶策略生成模块的一个或多个驾驶策略学习器,检索至少一些驾驶体验;在一个或多个驾驶策略学习模块处理至少一些驾驶体验以学习和生成描述一个或多个策略的参数,其中每个策略规定了对于任何给定状态的动作空间中的分布,并且其中每个策略包括成组的参数,这些参数描述策略并且可由至少一个驾驶员代理处理以产生用于控制汽车的动作;在该一个或多个驾驶员代理中处理接收的至少一个候选策略的参数,并执行该至少一个候选策略以产生相应的驾驶环境处理器观察到的在特定驾驶环境中控制汽车的一个或多个动作;以及在低级控制器中处理每个动作以产生在该特定驾驶环境中运行时控制汽车的控制信号。
在一实施例中,每个驾驶体验的数据(表示特定时间的特定驾驶环境)包括:由相应的驾驶环境处理器观察到的特定驾驶环境的状态;使用至少部分可观察状态进行的观察;由驾驶员代理产生的动作;奖励包括:表示在特定环境条件下的特定时间由驾驶员代理执行的动作的期望程度的信号,其中基于从人类驾驶数据提取的道路规则和驾驶原则来自动计算该奖励或基于交通和道路规则使用其他适当的方法来定义该奖励;驾驶员代理要实现的目标;实例信息包括:指示在获取特定驾驶体验时由该驾驶员代理确定的驾驶体验的影响或优先级的信息;以及关于该特定驾驶体验的其他元信息;以及在驾驶员代理在驾驶环境中执行动作之后产生的特定驾驶环境的下一状态;以及使用至少部分可观察的下一状态进行的下一观察。
在一实施例中,每个驾驶环境处理器能够处理来自车载传感器的传感器信息,该传感器信息描述特定的驾驶环境以产生特定驾驶环境的状态,然后,一个或多个驾驶员代理中的每一个都能够根据策略处理该状态以产生相应的动作。然后,低级控制器能够转换每个动作以产生控制信号,用于控制汽车在该特定驾驶环境中的该状态下运行时自动控制汽车。
在一实施例中,每个驾驶策略学习模块包括深度强化学习(DRL)算法,其能够处理来自至少一些驾驶体验的输入信息,以学习和生成输出,该输出包括:表示通过DRL开发的策略的成组的参数,并且其中每个策略可由至少一个驾驶员代理处理以产生用于控制汽车的动作。
在一实施例中,每个DRL算法包括以下中的一个或多个:由状态/动作/优势值函数确定的状态/动作/优势的估计值;和策略分布,每个DRL算法包括:基于策略梯度的强化学习算法;或基于值的强化学习算法;或基于行动者评价的强化学习算法。
在一实施例中,每个驾驶策略学习模块还包括学习目标模块,其中每个学习目标模块配置为处理驾驶环境内驾驶员代理的轨迹步骤,以计算期望实现的期望学习目标。每个轨迹步骤包括:状态、观察、动作、奖励、下一状态和下一观察,并且每个学习目标表示给定的驾驶体验所期望的动作的结果。在一实施例中,每个学习目标包括以下中的至少一个:值目标,其包括:需要实现的状态/动作/优势的估计值;以及需要实现的策略目标。
在一实施例中,每个DRL算法配置为使用随机梯度更新来处理与驾驶体验相关的数据,以训练在其输入和输出之间包括一层以上隐藏单元的神经网络。每个驾驶策略学习模块还包括:损失模块,包括损失函数,配置为处理由相应学习目标模块输出的学习目标以及相应DRL算法的输出,以计算总输出损失;以及自动微分模块,配置为处理总输出损失以生成每个参数的梯度数据。自动微分模块配置为相对于每个参数(例如使用计算图和链规则)对损失函数计算的总输出损失求微分而执行自动微分来处理损失数据的每个实例(来自总输出损失),以获得每个参数相对于总输出损失的梯度数据。每个参数的梯度数据表示每个参数相对于由损失函数计算的总输出损失的贡献。梯度数据表示每个DRL算法使用的每个神经网络中的每个神经元的梯度,其中梯度定量地定义每个神经元产生的贡献量,其导致由于该神经网络的输出而造成损失。每个驾驶策略学习模块还包括梯度下降优化器,配置为处理每个参数的梯度数据以计算表示策略的更新参数(例如,每个参数的更新)。更新的参数共同补偿总输出损失。更新的参数可供驾驶员代理使用,并且可由驾驶学习模块用于重新训练和优化DRL算法的神经网络参数。
在一实施例中,每个策略指定成组的参数,当由特定驾驶员代理执行时,该组参数通过控制汽车的致动器根据给定的成组的传感器输入来运行从而定义需要由汽车实施的行为。
在另一实施例中,提供了一种系统,其包括驾驶员代理模块、驾驶策略生成模块和低级控制器。驾驶员代理模块包括一个或多个驾驶环境处理器,分别配置为观察驾驶环境;以及分别对应于驾驶环境处理器的一个或多个驾驶员代理。一个或多个驾驶员代理中的每一个配置为:执行控制特定驾驶环境中的汽车的策略,如由该驾驶员代理模块的相应驾驶环境处理器所观察到的;以及在不同驾驶环境中的不同驾驶场景期间捕获驾驶体验。每个驾驶体验包括表示特定时间的特定驾驶环境的数据。驾驶策略生成模块,包括:一个或多个驾驶策略学习模块,分别配置为:检索至少一些驾驶体验;处理至少一些驾驶体验以学习和生成描述一个或多个策略的参数。每个策略规定了对于任何给定状态的动作空间中的分布,并包括成组的参数,这些参数描述策略并且可由至少一个驾驶员代理处理以产生用于控制汽车的动作。低级控制器配置为处理每个动作以产生在该特定驾驶环境中运行时控制汽车的控制信号。
在一实施例中,每个驾驶环境处理器配置为处理来自车载传感器的传感器信息,该传感器信息描述特定的驾驶环境以生成特定驾驶环境的状态,其中该一个或多个驾驶员代理中的每一个还配置为:根据策略处理该状态,以生成相应的动作。每个策略都规定了任何给定状态的动作空间上的分配。低级控制器配置为转换每个动作以生成控制信号,用于控制汽车在该特定驾驶环境中的该状态下运行时自动控制汽车。
在一实施例中,每个驾驶策略学习模块包括:深度强化学习(DRL)算法,配置为:处理来自至少一些驾驶体验的输入信息,以学习和生成输出,该输出包括:表示通过DRL开发的策略的成组的参数。每个策略可由至少一个驾驶员代理处理以产生用于控制汽车的动作。每个DRL算法包括:基于策略梯度的强化学习算法;或基于值的强化学习算法;或基于行动者评价的强化学习算法。DRL算法的输出包括以下中的一个或多个:(1)由状态/动作/优势值函数确定的状态/动作/优势的估计值;以及(2)策略分布。
在一实施例中,每个驾驶策略学习模块还包括学习目标模块,配置为:处理驾驶环境内驾驶员代理的轨迹步骤,以计算期望实现的期望学习目标,其中每个轨迹步骤包括:状态、观察、动作、奖励、下一状态和下一观察,并且其中每个学习目标表示给定的驾驶体验所期望的动作的结果。在一实施例中,每个学习目标包括以下中的至少一个:值目标,其包括:需要实现的状态/动作/优势的估计值;以及需要实现的策略目标。
在一实施例中,每个DRL算法配置为使用随机梯度更新来处理与驾驶体验相关的数据,以训练在其输入和输出之间包括一层以上隐藏单元的神经网络。每个驾驶策略学习模块还包括:损失模块,包括损失函数,配置为处理由相应学习目标模块输出的学习目标以及相应DRL算法的输出,以计算总输出损失;以及自动微分模块,配置为处理总输出损失以生成每个参数的梯度数据。自动微分模块配置为相对于每个参数(例如使用计算图和链规则)对损失函数计算的总输出损失求微分而执行自动微分来处理损失数据的每个实例(来自总输出损失),以获得每个参数相对于总输出损失的梯度数据。每个参数的梯度数据表示每个参数相对于由损失函数计算的总输出损失的贡献。梯度数据表示每个DRL算法使用的每个神经网络中的每个神经元的梯度,其中梯度定量地定义每个神经元产生的贡献量,其导致由于该神经网络的输出而造成损失。每个驾驶策略学习模块还包括梯度下降优化器,配置为处理每个参数的梯度数据以计算表示策略的更新参数(例如,每个参数的更新)。更新的参数共同补偿总输出损失。更新的参数可供驾驶员代理使用,并且可由驾驶学习模块用于重新训练和优化DRL算法的神经网络参数。
在另一实施例中,提供了一种系统(例如,用于自动驾驶汽车的控制器),包括:包含指令的非暂时性存储器;以及与存储器通信的一个或多个处理器。该一个或多个处理器执行指令以:经由一个或多个驾驶员代理以及一个或多个对应的一个或多个驾驶环境处理器捕获在不同驾驶环境中的不同驾驶场景期间的驾驶体验,其中每个驾驶体验包括表示特定时间的特定驾驶环境的数据;经由驾驶策略生成模块的一个或多个驾驶策略学习模块检索至少一些驾驶体验;在一个或多个驾驶策略学习模块处理至少一些驾驶体验以学习和生成描述一个或多个策略的参数,其中每个策略规定了对于任何给定状态的动作空间中的分布,并且其中每个策略包括成组的参数,这些参数描述策略并且可由至少一个驾驶员代理处理以产生用于控制汽车的动作;在该一个或多个驾驶员代理中处理接收的至少一个候选策略的参数,并执行该至少一个候选策略以产生相应的驾驶环境处理器观察到的在特定驾驶环境中控制汽车的一个或多个动作;以及在低级控制器中处理每个动作以产生在该特定驾驶环境中运行时控制汽车的控制信号。
附图说明
下文将结合以下附图描述示例性实施例,其中相同的数字表示相同的元件,并且其中:
图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产生的集体驾驶体验在图8中共同表示为驾驶体验数据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=bjiyiwij
可以在卷积层执行CNN中的卷积,以从前一层的特征提取局部结构特征。此时,可以应用附加偏置,然后进行局部池化步骤。非线性映射(例如,S形)可以在卷积或池化层之后应用,并且可以根据实施而变化。可迭代地重复卷积和池化步骤。
在示例DRL过程400中,可使用体验的每个步骤来更新权重,从而允许更高的数据效率。随机化样本可破坏样本之间的强相关性,从而减少权重更新的差异。馈送到训练阶段的下成组的参数由当前参数集和预定义策略确定。体验回放可在其先前的许多状态中平均行为分布,从而顺利地进行学习并避免参数中的振荡/发散。
可使用能够表示任何行为而没有大量手工工程的策略类来执行强化学习。学习控制和强化学习中的等级结构可改善泛化和转移。诸如自动编码器(例如,CAE)和CNN的多层神经网络可应用于许多感知任务。策略搜索方法可允许系统学习各种任务的控制策略。引导式策略搜索方法将策略搜索转换为监督学习问题,其中通过以轨迹为中心的算法生成训练集(其将策略搜索引导到高回报区域)。策略自身的状态分布中的训练数据有助于减少复合错误的风险。可使用迭代程序使轨迹适应策略,在优化策略匹配轨迹之间交替,并且优化轨迹以最小化成本并匹配策略,使得在收敛时实现相同的状态分布。
再次参照图9,DRL算法132可使用,例如,任何类型的基于策略梯度的强化学习算法(例如,近端策略优化(PPO)、行动者评价算法的任何变体、确定性策略梯度等)或任何类型的基于值的强化学习算法(例如,Q学习、优势学习等)来实施。例如,在以下出版物中描述了DRL算法:Richard S.Sutton和Andrew G.Barto。《强化学习》:简介(第2版)。2016.1998.麻省理工学院出版社,乔鲍·塞派什瓦里。强化学习的算法。2010.Morgan和ClaypoolPulishers;以及KaiArulkumaran,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,BarakA.Pearlmutter,AlexeyAndreyevich Radul,Jeffrey MarkSiskind中描述了自动微分。机器学习中的自动微分:一项调查。《机器学习研究杂志》,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所述的方法,其中每个驾驶策略学习模块包括深度强化学习DRL算法,其中在一个或多个驾驶策略学习模块处理至少一些驾驶体验包括:
在每个DRL算法中处理来自至少一些驾驶体验的输入信息以学习和生成输出包括:表示通过DRL开发的策略的成组的参数,并且其中每个策略可由至少一个驾驶员代理处理以产生用于控制汽车的动作。
5.根据权利要求4所述的方法,其中每个DRL算法包括:
基于策略梯度的强化学习算法;或基于值的强化学习算法;或基于行动者评价的强化学习算法,其中DRL算法的输出包括以下中的一个或多个:
(1)由状态/动作/优势值函数确定的状态/动作/优势的估计值;以及
(2)策略分布。
6.根据权利要求4所述的方法,其中每个驾驶策略学习模块还包括学习目标模块,其中在一个或多个驾驶策略学习模块处理至少一些驾驶体验还包括:
在每个学习目标模块上处理驾驶环境内驾驶员代理的轨迹步骤,以计算期望实现的期望学习目标,其中每个轨迹步骤包括:状态、观察、动作、奖励、下一状态和下一次观察,并且其中每个学习目标表示给定的驾驶体验所期望的动作的结果,其中每个学习目标包括以下中的至少一个:
值目标,其包括:需要实现的状态/动作/优势的估计值;以及
需要实现的策略目标。
7.根据权利要求6所述的方法,其中每个DRL算法配置为使用随机梯度更新来处理与驾驶体验相关的数据,以训练在其输入和输出之间包括一层以上隐藏单元的神经网络,其中每个驾驶策略学习模块还包括:损失模块和梯度下降优化器,其中每个损失模块包括损失函数和自动微分模块,其中在一个或多个驾驶策略学习模块处理至少一些驾驶体验还包括:
经由每个损失函数处理由相应学习目标模块输出的学习目标以及相应DRL算法的输出,以计算总输出损失;
在每个自动微分模块中处理总输出损失以生成每个参数的梯度数据;
在每个梯度下降优化器中处理每个参数的梯度数据以计算表示策略的更新参数,
其中梯度数据表示每个DRL算法使用的每个神经网络中的每个神经元的梯度,其中梯度定量地定义每个神经元产生的贡献量,其导致由于该神经网络的输出而造成损失。
8.一种控制自动驾驶汽车的系统,其包括:
驾驶员代理模块,包括一个或多个驾驶环境处理器,各自配置为:观察驾驶环境;以及分别对应于一个驾驶环境处理器的一个或多个驾驶员代理,各自配置为:
执行控制特定驾驶环境中的汽车的策略,如由所述驾驶员代理模块的相应驾驶环境处理器所观察到的;以及
在不同驾驶环境中的不同驾驶场景期间捕获驾驶体验,其中每个驾驶体验包括表示特定时间的特定驾驶环境的数据;
驾驶策略生成模块,包括:一个或多个驾驶策略学习模块,分别配置为:检索至少一些驾驶体验;处理至少一些驾驶体验以学习和生成描述一个或多个策略的参数,其中每个策略规定了对于任何给定状态的动作空间中的分布,其中每个策略包括成组的参数,这些参数描述策略并且可由至少一个驾驶员代理处理以产生用于控制汽车的动作;以及
低级控制器,配置为处理每个动作以产生在该特定驾驶环境中运行时控制汽车的控制信号。
9.根据权利要求8所述的系统,其中每个驾驶环境处理器配置为处理来自车载传感器的传感器信息,该传感器信息描述特定的驾驶环境以生成特定驾驶环境的状态,其中所述一个或多个驾驶员代理中的每一个还配置为:
根据策略处理所述状态,以生成相应的动作,其中每个策略都规定了任何给定状态的动作空间上的分配;以及
其中,低级控制器配置为转换每个动作以生成控制信号,用于控制汽车在所述特定驾驶环境中的所述状态下运行时自动控制汽车。
10.根据权利要求8所述的系统,其中每个驾驶策略学习模块包括:
深度强化学习DRL算法,配置为:处理来自至少一些驾驶体验的输入信息,以学习和生成输出,所述输出包括:表示通过DRL开发的策略的成组的参数,并且其中,每个策略可由至少一个驾驶员代理处理以产生用于控制汽车的动作;
学习目标模块,配置为:处理驾驶环境内驾驶员代理的轨迹步骤,以计算期望实现的期望学习目标,其中每个轨迹步骤包括:状态、观察、动作、奖励、下一状态和下一观察,并且其中每个学习目标表示给定的驾驶体验所期望的动作的结果;
其中每个DRL算法配置为使用随机梯度更新来处理与驾驶体验相关的数据,以训练在其输入和输出之间包括一层以上隐藏单元的神经网络,并且其中,每个驾驶策略学习模块还包括:
损失模块,包括:
损失函数,配置为处理由相应学习目标模块输出的学习目标以及相应DRL算法的输出,以计算总输出损失;以及
自动微分模块,配置为处理总输出损失以生成每个参数的梯度数据;以及
梯度下降优化器,配置为处理每个参数的梯度数据以计算表示策略的更新参数,
其中,梯度数据表示每个DRL算法使用的每个神经网络中的每个神经元的梯度,其中梯度定量地定义每个神经元产生的贡献量,其导致由于该神经网络的输出而造成损失。
CN201910443618.8A 2018-07-27 2019-05-24 基于注意的分层变道深度强化学习 Active CN110850861B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/048,144 US10845815B2 (en) 2018-07-27 2018-07-27 Systems, methods and controllers for an autonomous vehicle that implement autonomous driver agents and driving policy learners for generating and improving policies based on collective driving experiences of the autonomous driver agents
US16/048144 2018-07-27

Publications (2)

Publication Number Publication Date
CN110850861A CN110850861A (zh) 2020-02-28
CN110850861B true CN110850861B (zh) 2023-05-23

Family

ID=69149015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910443618.8A Active CN110850861B (zh) 2018-07-27 2019-05-24 基于注意的分层变道深度强化学习

Country Status (3)

Country Link
US (1) US10845815B2 (zh)
CN (1) CN110850861B (zh)
DE (1) DE102019113856A1 (zh)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190185012A1 (en) 2017-12-18 2019-06-20 PlusAI Corp Method and system for personalized motion planning in autonomous driving vehicles
US11130497B2 (en) 2017-12-18 2021-09-28 Plusai Limited Method and system for ensemble vehicle control prediction in autonomous driving vehicles
US10802489B1 (en) 2017-12-29 2020-10-13 Apex Artificial Intelligence Industries, Inc. Apparatus and method for monitoring and controlling of a neural network using another neural network implemented on one or more solid-state chips
EP3820753B1 (en) 2018-07-14 2023-08-02 Moove.AI Vehicle-data analytics
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
WO2020098226A1 (en) * 2018-11-16 2020-05-22 Huawei Technologies Co., Ltd. System and methods of efficient, continuous, and safe learning using first principles and constraints
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
US11287523B2 (en) * 2018-12-03 2022-03-29 CMMB Vision USA Inc. Method and apparatus for enhanced camera and radar sensor fusion
US11627165B2 (en) * 2019-01-24 2023-04-11 Deepmind Technologies Limited Multi-agent reinforcement learning with matchmaking policies
US20200241542A1 (en) * 2019-01-25 2020-07-30 Bayerische Motoren Werke Aktiengesellschaft Vehicle Equipped with Accelerated Actor-Critic Reinforcement Learning and Method for Accelerating Actor-Critic Reinforcement Learning
WO2020160276A1 (en) * 2019-01-30 2020-08-06 Perceptive Automata, Inc. Neural network based navigation of autonomous vehicles through traffic entities
US10728461B1 (en) * 2019-01-31 2020-07-28 StradVision, Inc. Method for correcting misalignment of camera by selectively using information generated by itself and information generated by other entities and device using the same
US10668930B1 (en) * 2019-02-04 2020-06-02 State Farm Mutual Automobile Insurance Company Determining acceptable driving behavior based on vehicle specific characteristics
EP3693243A1 (en) * 2019-02-06 2020-08-12 Zenuity AB Method and system for controlling an automated driving system of a vehicle
US11393341B2 (en) * 2019-02-26 2022-07-19 Beijing Didi Infinity Technology And Development Co., Ltd. Joint order dispatching and fleet management for online ride-sharing platforms
JP7046262B2 (ja) * 2019-03-12 2022-04-01 三菱電機株式会社 移動体制御装置および移動体制御方法
US11069161B2 (en) * 2019-09-30 2021-07-20 Ford Global Technologies, Llc Adaptive sensor fusion
JP6744597B1 (ja) * 2019-10-18 2020-08-19 トヨタ自動車株式会社 車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置
US10691133B1 (en) * 2019-11-26 2020-06-23 Apex Artificial Intelligence Industries, Inc. Adaptive and interchangeable neural networks
US11367290B2 (en) 2019-11-26 2022-06-21 Apex Artificial Intelligence Industries, Inc. Group of neural networks ensuring integrity
US11366434B2 (en) 2019-11-26 2022-06-21 Apex Artificial Intelligence Industries, Inc. Adaptive and interchangeable neural networks
US10956807B1 (en) 2019-11-26 2021-03-23 Apex Artificial Intelligence Industries, Inc. Adaptive and interchangeable neural networks utilizing predicting information
CN111401458A (zh) * 2020-03-23 2020-07-10 清华大学 一种基于深度强化学习的多模型目标状态预测方法及系统
EP4126619A4 (en) * 2020-03-30 2024-04-17 Moove Ai ANALYTICAL PROCESSING OF VEHICLE DATA
EP3895950B1 (en) * 2020-04-16 2024-01-17 Zenuity AB Methods and systems for automated driving system monitoring and management
CA3180999A1 (en) 2020-06-05 2021-12-09 Gatik Ai Inc. Method and system for deterministic trajectory selection based on uncertainty estimation for an autonomous agent
WO2021247075A1 (en) 2020-06-05 2021-12-09 Gatik Ai Inc. Method and system for context-aware decision making of an autonomous agent
US11124204B1 (en) 2020-06-05 2021-09-21 Gatik Ai Inc. Method and system for data-driven and modular decision making and trajectory generation of an autonomous agent
US20210383200A1 (en) 2020-06-05 2021-12-09 PassiveLogic, Inc. Neural Network Methods for Defining System Topology
EP4155856A4 (en) * 2020-06-09 2023-07-12 Huawei Technologies Co., Ltd. SELF-LEARNING METHOD AND APPARATUS FOR AUTONOMOUS DRIVING SYSTEM, DEVICE AND STORAGE MEDIA
DE102020003738A1 (de) 2020-06-22 2021-12-23 Daimler Ag Verfahren zur Bildung von Datensätzen für ein überwachtes maschinelles Lernen und mit derartigen Datensätzen trainierter Klassifikator
US11080602B1 (en) 2020-06-27 2021-08-03 Sas Institute Inc. Universal attention-based reinforcement learning model for control systems
CN113968242B (zh) * 2020-07-22 2023-10-20 华为技术有限公司 自动驾驶场景生成方法、装置及系统
CN111985614B (zh) * 2020-07-23 2023-03-24 中国科学院计算技术研究所 一种构建自动驾驶决策系统的方法、系统和介质
US11458983B2 (en) 2020-07-28 2022-10-04 Huawei Technologies Co., Ltd. System and method for managing flexible control of vehicles by diverse agents in autonomous driving simulation
TWI799967B (zh) * 2020-08-26 2023-04-21 新加坡商億美人工智慧私人有限公司 控制舊有機器的代理直譯器系統及訓練該代理直譯器系統的方法
WO2022101825A1 (en) * 2020-11-11 2022-05-19 C.R.F. Societa' Consortile Per Azioni Optimization of performance in automotive autonomous driving of recurrent low speed manoeuvres in digital road maps-free areas
EP4264498A1 (en) 2020-12-17 2023-10-25 Umnai Limited Explainable transducer transformers
DE102021200030A1 (de) 2021-01-05 2022-07-07 Volkswagen Aktiengesellschaft Verfahren, Computerprogramm und Vorrichtung zum Betreiben eines KI-Moduls
CN113173170B (zh) * 2021-01-08 2023-03-17 海南华天科创软件开发有限公司 基于人员画像个性化算法
CN112904864B (zh) * 2021-01-28 2023-01-03 的卢技术有限公司 基于深度强化学习的自动驾驶方法和系统
CN112861442B (zh) * 2021-03-10 2021-12-03 中国人民解放军国防科技大学 基于深度强化学习的多机协同空战规划方法及系统
CN112861269B (zh) * 2021-03-11 2022-08-30 合肥工业大学 一种基于深度强化学习优先提取的汽车纵向多态控制方法
CN112954651B (zh) * 2021-03-12 2022-04-08 南京航空航天大学 一种基于深度强化学习的低时延高可靠性v2v资源分配方法
CN112671499B (zh) * 2021-03-16 2022-04-01 深圳安途智行科技有限公司 多传感器同步方法及系统、以及主控制设备
WO2022197252A1 (en) * 2021-03-17 2022-09-22 Nanyang Technological University Autonomous driving methods and systems
DE102021107523A1 (de) * 2021-03-25 2022-09-29 Valeo Schalter Und Sensoren Gmbh Verfahren zum betreiben eines parkassistenzsystems, computerprogrammprodukt, parkassistenzsystem sowie fahrzeug
CN113335277A (zh) * 2021-04-27 2021-09-03 北京工业大学 智能巡航控制方法、装置、电子设备和存储介质
CN113258988B (zh) * 2021-05-13 2022-05-20 重庆邮电大学 一种基于dqn的多业务低轨卫星资源分配方法
CN113353102B (zh) * 2021-07-08 2022-11-25 重庆大学 一种基于深度强化学习的无保护左转弯驾驶控制方法
CN113705802B (zh) * 2021-07-26 2023-09-08 深圳市易成自动驾驶技术有限公司 自动驾驶的同步计算方法、装置、系统、程序产品及介质
CN113335291B (zh) * 2021-07-27 2022-07-08 燕山大学 一种基于人车风险状态的人机共驾控制权决策方法
CN113645702B (zh) * 2021-07-30 2022-06-03 同济大学 一种利用策略梯度技术优化的支持区块链的物联网系统
CN113743469B (zh) * 2021-08-04 2024-05-28 北京理工大学 一种融合多源数据及综合多维指标的自动驾驶决策方法
CN117980972A (zh) * 2021-09-10 2024-05-03 华为技术有限公司 用于获取地理围栏驾驶策略的基于仿真的方法和数据中心
CN114228690B (zh) * 2021-11-16 2023-05-23 扬州大学 一种基于ddpg和迭代控制的自动驾驶车辆侧倾控制方法
CN113978259B (zh) * 2021-11-19 2022-10-18 张展浩 一种基于驾驶场景及驾驶习惯的电动汽车制动控制方法
CN114104005B (zh) * 2022-01-26 2022-04-19 苏州浪潮智能科技有限公司 自动驾驶设备的决策方法、装置、设备及可读存储介质
CN114492782B (zh) * 2022-04-19 2022-09-16 之江实验室 基于强化学习的神经网络的片上核心编译映射方法及装置
US20230358640A1 (en) * 2022-05-04 2023-11-09 The Regents Of The University Of Michigan System and method for simulating autonomous vehicle testing environments
CN114708568B (zh) * 2022-06-07 2022-10-04 东北大学 基于改进RTFNet的纯视觉自动驾驶控制系统、方法、介质
CN115083175B (zh) * 2022-06-23 2023-11-03 北京百度网讯科技有限公司 基于车路协同的信号管控方法、相关装置及程序产品
CN115439510B (zh) * 2022-11-08 2023-02-28 山东大学 一种基于专家策略指导的主动目标跟踪方法及系统
CN116052412B (zh) * 2022-11-23 2023-08-18 兰州大学 融合物理信息和深度强化学习的自动驾驶车辆控制方法
CN115951587B (zh) * 2023-03-10 2023-07-14 苏州浪潮智能科技有限公司 自动驾驶控制方法、装置、设备、介质及自动驾驶车辆
CN118071119A (zh) * 2024-04-18 2024-05-24 中国电子科技集团公司第十研究所 一种异构传感器混合协同调度决策方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105894379A (zh) * 2016-03-30 2016-08-24 上海坤士合生信息科技有限公司 金融产品交易策略的生成系统和生成方法
CN106970615A (zh) * 2017-03-21 2017-07-21 西北工业大学 一种深度强化学习的实时在线路径规划方法
CN107145387A (zh) * 2017-05-23 2017-09-08 南京大学 一种车载网环境下基于深度强化学习的任务调度方法
CN107169567A (zh) * 2017-03-30 2017-09-15 深圳先进技术研究院 一种用于车辆自动驾驶的决策网络模型的生成方法及装置
CN107168303A (zh) * 2017-03-16 2017-09-15 中国科学院深圳先进技术研究院 一种汽车的自动驾驶方法及装置
CN107544516A (zh) * 2017-10-11 2018-01-05 苏州大学 基于相对熵深度逆强化学习的自动驾驶系统及方法
CN107862346A (zh) * 2017-12-01 2018-03-30 驭势科技(北京)有限公司 一种进行驾驶策略模型训练的方法与设备
CN107924190A (zh) * 2015-06-23 2018-04-17 阿肯技术公司 用于由再充电站支持以执行服务的多个混合无人飞行器的自主操作的系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9180783B1 (en) * 2011-04-22 2015-11-10 Penilla Angel A Methods and systems for electric vehicle (EV) charge location color-coded charge state indicators, cloud applications and user notifications
US9371007B1 (en) * 2011-04-22 2016-06-21 Angel A. Penilla Methods and systems for automatic electric vehicle identification and charging via wireless charging pads
US20140309872A1 (en) * 2013-04-15 2014-10-16 Flextronics Ap, Llc Customization of vehicle user interfaces based on user intelligence
WO2014172323A1 (en) * 2013-04-15 2014-10-23 Flextronics Ap, Llc Driver facts behavior information storage system
US11048832B2 (en) * 2018-01-12 2021-06-29 Intel Corporation Simulated vehicle operation modeling with real vehicle profiles

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107924190A (zh) * 2015-06-23 2018-04-17 阿肯技术公司 用于由再充电站支持以执行服务的多个混合无人飞行器的自主操作的系统
CN105894379A (zh) * 2016-03-30 2016-08-24 上海坤士合生信息科技有限公司 金融产品交易策略的生成系统和生成方法
CN107168303A (zh) * 2017-03-16 2017-09-15 中国科学院深圳先进技术研究院 一种汽车的自动驾驶方法及装置
CN106970615A (zh) * 2017-03-21 2017-07-21 西北工业大学 一种深度强化学习的实时在线路径规划方法
CN107169567A (zh) * 2017-03-30 2017-09-15 深圳先进技术研究院 一种用于车辆自动驾驶的决策网络模型的生成方法及装置
CN107145387A (zh) * 2017-05-23 2017-09-08 南京大学 一种车载网环境下基于深度强化学习的任务调度方法
CN107544516A (zh) * 2017-10-11 2018-01-05 苏州大学 基于相对熵深度逆强化学习的自动驾驶系统及方法
CN107862346A (zh) * 2017-12-01 2018-03-30 驭势科技(北京)有限公司 一种进行驾驶策略模型训练的方法与设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
深度学习驱动的场景分析和语义目标解析;赵杉杉;《中国优秀硕士学位论文全文数据库信息科技辑》;20180115;第I138-1175页 *

Also Published As

Publication number Publication date
US10845815B2 (en) 2020-11-24
US20200033868A1 (en) 2020-01-30
DE102019113856A1 (de) 2020-01-30
CN110850861A (zh) 2020-02-28

Similar Documents

Publication Publication Date Title
CN110850861B (zh) 基于注意的分层变道深度强化学习
CN110850854A (zh) 自动驾驶员代理和为自动驾驶员代理提供策略的策略服务器
CN111137292B (zh) 经执行器-评价网络架构学习车道变换策略的方法和系统
CN110588653B (zh) 自主车辆的控制系统、控制方法以及控制器
CN110531753B (zh) 自主车辆的控制系统、控制方法和控制器
Khayyam et al. Artificial intelligence and internet of things for autonomous vehicles
CN109460015B (zh) 用于自主驾驶应用的无监督学习代理
CN111907527B (zh) 用于自主驾驶的可解释学习系统和方法
US20210276587A1 (en) Systems and Methods for Autonomous Vehicle Systems Simulation
US11537127B2 (en) Systems and methods for vehicle motion planning based on uncertainty
US20200089245A1 (en) System and method for hierarchical planning in autonomous vehicles
CN110356412B (zh) 用于自主驾驶的自动规则学习的方法和设备
US11934191B2 (en) Method and system for predictive control of vehicle using digital images
US11891087B2 (en) Systems and methods for generating behavioral predictions in reaction to autonomous vehicle movement
CN110758399B (zh) 用于预测实体行为的系统和方法
CN112698645A (zh) 具有基于学习的定位校正系统的动态模型
US11657591B2 (en) Autonomous vehicle system for intelligent on-board selection of data for building a remote machine learning model
US20210278852A1 (en) Systems and Methods for Using Attention Masks to Improve Motion Planning
CN116348938A (zh) 用于预测动态对象行为的方法和系统
CN109841080A (zh) 用于交通对象的检测、分类及地理定位的系统和方法
CN113548032A (zh) 改善车辆控制系统的控制子系统的性能的方法和系统
DE112021005708T5 (de) Verfahren und Systeme zur Verfolgung einer Fahrspur über die Zeit
WO2022251766A1 (en) Trajectory consistency measurement for autonomous vehicle operation
US20220300851A1 (en) System and method for training a multi-task model
JP2021008258A (ja) スマートオブジェクトの知識の共有

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