首页> 中国专利> 利用第一原则和约束进行有效、连续和安全学习的系统和方法

利用第一原则和约束进行有效、连续和安全学习的系统和方法

摘要

一种用于控制系统的自学习的计算机实现的方法。该方法包括创建初始知识库。该方法使用该知识库学习第一原则。该方法创建从该知识库导出的初始控制命令。该方法生成用于该控制命令的约束。该方法通过执行具有该约束的该控制命令并观察反馈,执行约束强化学习以改善该控制命令。该方法基于该反馈来丰富该知识库。

著录项

  • 公开/公告号CN113015981A

    专利类型发明专利

  • 公开/公告日2021-06-22

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201980068079.2

  • 申请日2019-04-23

  • 分类号G06N3/08(20060101);G05B13/04(20060101);

  • 代理机构11329 北京龙双利达知识产权代理有限公司;

  • 代理人钞朝燕;王君

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-06-19 11:32:36

说明书

相关申请的交叉引用

本申请要求于2018年11月16日提交的申请号为62/768,467、发明名称为“利用第一原则和约束进行有效、连续和安全学习的系统和方法”的美国临时申请的优先权,其全部内容通过引用结合在本申请中。

技术领域

本公开的实施例涉及机器学习领域,并且具体地,涉及利用第一原则和约束进行有效、连续和安全学习的系统和方法。

背景技术

机器学习是一种计算机程序,其可以在没有人为干扰的情况下学习并适应新数据。深度学习是机器学习的子集。深度学习是一种人工智能(artificial intelligence,AI)功能,它模仿人脑在处理数据和创建模式用于决策方面的工作。例如,深度学习可以通过归纳解决方案来从新的、尚未被观察到的状态(或情境输入)中推断出结果。传统上,深度学习已用于图像和语音识别。

强化学习(reinforcement learning,RL)是通过反复试验进行学习的过程,以发现哪些动作可以产生最佳结果。与监督式机器学习基于已知正确答案来训练模型不同,在强化学习中,研究人员通过让代理与环境互动来训练模型。深度强化学习(deepreinforcement learning,DRL)是深度学习和强化学习的组合。DRL是建立在深度神经网络上的强化学习架构。它使用深度神经网络代替强化学习中的Q网络,从而实现深度学习,同时具有强化学习的特征—连续学习中的反复试验。DRL是AI研究的一个令人兴奋的领域,它可能适用于各种问题领域。但是,DRL仍然存在局限性,例如学习中的效率低下和安全性问题,模拟和现实环境中学习结果之间的差异等。

发明内容

本公开描述了利用第一原则和约束进行有效、连续和安全学习的各种实施例。作为示例,在一个实施例中,公开了一种用于控制系统的自学习的方法。该方法包括创建初始知识库。该方法使用该知识库学习第一原则。该方法创建从该知识库导出的初始控制命令。该方法生成用于该控制命令的约束。该方法通过执行具有该约束的该控制命令并观察反馈,执行约束强化学习以改善该控制命令。该方法基于该反馈来丰富该知识库。

在具体实施方式中进一步描述了上述方面的附加细节和其他实施例及其优点。

附图说明

为了更全面地理解本公开,结合附图和具体实施方式,现参考以下简要描述,其中相同的附图标记表示相同的部分。

图1是示出根据本公开的实施例的用于车辆学习如何遵循车道的方法的示意图。

图2是示出根据本公开的实施例的用于有效、连续和安全的基于第一原则的约束自学习的过程的流程图。

图3是示出根据本公开的实施例的运动学的图,该运动学可用于使用知识库来估计车辆的结构参数。

图4是示出根据本公开的实施例的分段线性拟合方法的图。

图5是示出根据本公开的实施例的用于创建初始命令的过程的流程图。

图6是示出根据本公开的实施例的用于生成约束的过程的流程图。

图7是示出根据本公开的实施例的用于执行约束强化学习的过程的流程图。

图8是其中可以实现说明性实施例的各方面的示例数据处理系统的框图。

所示出的附图仅是示例性的,并且无意于主张或暗示对可以实现不同实施例的环境、架构、设计或过程构成任何限制。在图示的图中使用虚线指示任何可选的组件或步骤。

具体实施方式

首先应理解,虽然下文提供了一个或多个实施例的说明性实施方式,但是所公开的系统和/或方法可以使用无论是目前已知的或现有的多种技术来实施。所公开内容决不限于下文示出的说明性实施方式、附图和技术,包括文中说明和描述的示例性设计和实施方式,并且可以在所附权利要求的范围连同等效物的完整范围内修改。

如在书面公开内容和权利要求中使用的,术语“包括”和“包含”以开放式方式使用,因此应解释为表示“包括但不限于”。除非另外指示,否则如本文所使用的,“或”不要求相互排他,单数形式“一”、“一个”和“该”旨在还包括复数形式,除非上下文另有明确指示。

本文描述的方法和过程可以通过使用通用计算机来实现。例如,本文描述的过程和算法可以通过使用一个或多个处理器或处理单元执行的计算机存储器中的软件程序代码来实现。因此,当被编程为实现所公开的过程/算法时,说明书中公开的通用计算机或处理器被转换为专用计算机,其被编程为执行所公开的实施例。

本文公开了基于利用第一原则和约束的有效、连续和安全学习的自动化系统控制的各种实施例。所公开的实施例克服了与当前的自动系统控制相关联的若干挑战。例如,当前的自动系统控制使用“反复试验”的强化学习方法,这需要很长时间(几天到几个月)来学习。某些驾驶场景可能很危险,并且在现实环境中发生连续学习错误/事故是不可接受的。其次,当前的自动系统控制使用模仿学习(即模仿人类行为)。然而,向操作员/人员学习需要使用计算上昂贵的反强化学习。逆向强化学习中的计算量太大,且难以实现。此外,人们可能无法为某些任务/场景提供最佳策略。第三,基于精确物理模型的驾驶控制需要耗时且费力的系统控制参数的校准。第四,不完整的培训/学习会学习潜在的不安全策略,并且无法处理未学习或看不见的情况。

如将在本文中描述的,本公开提供了各种实施例,这些实施例通过收集简化的系统和环境信息、使用知识库来描述通过观察系统操作过程得到的第一原则的表现、并从知识库中导出初始系统控制命令,提供有效、连续和安全的基于第一原则的约束自学习。所公开的实施例缩短了学习时间并且避免了完整的系统控制参数的校准。所公开的实施例还使用第一原则和环境状态来生成与安全搜索空间相对应的约束。另外,所公开的实施例使用约束和原则上的估计来将机器学习(例如,强化学习)发展为原则上的学习。这样就能够在安全的在线学习环境中处理未学习或看不见的情况。

所公开的用于提供有效、连续和安全的基于第一原则的约束自学习的实施例可以应用于各种环境。例如,各种实施例可以应用于车辆中的自动驾驶的学习,其中可以使用传感器来确定对周围环境的感知。然后,系统可以学习如何根据确定的驾驶目标来生成适当的驾驶控制命令(例如方向盘角度、加速度/减速度等)。在一些实施例中,为了学习控制在遵循车道(例如高速巡航)时的方向盘角度和加速度/减速度的命令,初始转向角度的计算可以基于以下三个因素:主车辆到车道中心的距离、车道的曲率以及从主车辆的方位到车道方向的角度。在一些实施例中,初始加速度/减速度的计算可以基于:由车道曲率引起的转向约束、来自限速标志的限速以及乘客的舒适度。所公开的实施例还可用于学习控制其他自移动系统,例如无人机的运动控制,以使其更好地沿着预定路径行进。

现在参考附图,图1是示出根据本公开的实施例的用于车辆学习如何遵循车道的方法100的示意图。在框102处,方法100通过计算初始转向命令而开始。例如,在一个实施例中,初始转向命令的计算可以基于以下三个因素:从主车辆到车道中心的距离、车道的曲率以及从主车辆的方位到车道方向的角度。

在所描绘的实施例中,在框104处,方法100使用基于第一原则的自学习(firstprinciples based self learning,FPSL)来基于来自框112的反馈/奖励和约束来完善初始转向命令。FPSL是基于知识库实施的。反馈/奖励是执行命令的结果。约束是控制命令遵守的限制、边界、阈值或条件。FPSL在框106处生成完善的转向命令。然后,在框108处,将FPSL与初始的制动/油门命令114一起应用于完善的转向命令106。FPSL再次使用来自块112的反馈/奖励和约束,以在块110生成完善的制动/油门命令。

类似的方法可以应用于学习如何跟随另一车辆。例如,在一个实施例中,该过程可以在跟随另一车辆(例如低速跟随)时学习加速度/减速度控制命令,以便维持期望的距离。在一些实施例中,该过程根据以下状态元素进行学习:当前距离与理想距离之差;两个车辆之间的速度差异;以及两个车辆之间的加速度差异。

图2是示出根据本公开的实施例的用于有效、连续和安全的基于第一原则的约束自学习的过程200的流程图。如上所述,在现实环境(例如自动驾驶)中,无法承受来自连续学习的错误/事故。另外,反复试验强化学习方法需要花费很长时间(几天到几个月)来学习。不完整的培训/学习会导致潜在的不安全策略,并且无法处理未学习或看不见的场景。因此,所公开的实施例使用约束强化学习来改善控制命令。

在所描绘的实施例中,过程200在步骤202处创建初始知识库。知识库是系统可用于从中提取信息的信息或数据的存储库。知识库包含计算机系统可用来解决问题的事实、假设和规则的集合。下表1中示出了可以包括在知识库中的数据表的示例。

表1

在以上实施例中,数据表包括用于速度、转向角度、车道曲率半径和车辆方位变化率的列。可以通过在停车场或培训地点驾驶车辆来安全地获取初始知识库的内容。例如,可以将车辆设置为预期速度,然后发送相应的减速命令。然后,该过程可以测量停止的距离和时间。例如,如表1所示,在每小时50公里(km/h)的速度下,转向角度为2度,车道曲率半径为100米(m),车辆方位变化率为0.2度/秒。另外,该过程可以将车辆设置为期望速度,发送适当的方向盘角度命令,并测量车辆通过的路径的曲率。

在步骤204,过程200通过知识库积累和推断学习第一原则。知识库提供推理、拟合和查询的功能。例如,图3是示出根据本公开的实施例的运动学的图,该运动学可用于使用知识库来估计车辆的结构参数(质量、轴距、重心)。在一个实施例中,可以参考图3使用以下转向方程,用于在不同的环境条件下相应的车轮角度(δ

其中

并且

例如,当以不同的速度行驶时,过程200可以查询不同道路的不同曲率下的适当转向角度(例如,expectedSteeringAngle=QuerySteeringAngleFromKB(roadCurvature,currentSpeed))。其中,expectedSteeringAngle表示期望的转向角度,QuerySteeringAngleFromKB表示来自KB的查询转向角度,roadCurvature表示道路曲率,currentSpeed表示当前速度。

在另一个实施例中,通过KB中的数据挖掘,系统可以建立动力学/运动学参数与车辆控制参数之间的关系。基于数据累积,使用简化的动力学/运动学公式来计算动力学/运动学参数,并将其用于生成控制命令。例如,在一些实施例中,为了学习加速度控制,所考虑的加速度因素可以包括滚动阻力(Fr)、空气阻力(F

下表比较了根据一些实施例的简化公式与可用于确定滚动阻力(Fr)、空气阻力(F

在一个实施例中,用于车辆加速度的简化公式为a=(Fw-Fr-Fd)/m。要学习的未知数:c1,c2,c3,和m。a和v是观察值,而未知数可以从足够多的样本(利用最小二乘法)中计算出。

在一些实施例中,以下公式可以用于学习制动控制。对于恒定减速,停止时间为t=v/a。停止距离(与速度的平方成线性关系)的公式为

其中:

T=制动扭矩(Nm)

BF

R=轮胎的静态满载半径(m)

r=车轮和制动器之间的速度比

在一些实施例中,简化的转向控制公式为:δ

在一些实施例中,可以通过少量数据收集来估计要学习的上述推导知识/未知数。然后可以将其用于在线学习和完善其表示。

返回参考图2,在步骤206,过程200基于从知识库中学习的第一原则来创建初始控制命令。例如,在一些实施例中,从知识库、或获取的第一原则的表现、以及预期目标中学习的动力/运动学模型被用于创建初始控制命令。因此,不需要像当前使用的那样精确的物理模型,其需要耗时且费力的系统控制参数的校准。相反,可以根据上述学习的参数(例如,根据道路的曲率(弯曲率))生成初始控制命令,可以计算出所需的δ

例如,在示例实施例中,过程200可以通过基于道路曲率估计和知识库计算方向盘的转向指令,基于车辆相对于期望的行进方向的偏离来计算校正控制命令,并基于到下一个目标的行进距离/时间计算速度/加速度,来生成车辆控制命令。然后,该过程可以使用知识库来计算油门/制动命令。这些基于知识库提供的推理、拟合和查询功能。一个简单的例子是图4所示的分段线性拟合方法。在图5中进一步描述了用于基于来自知识库的第一原则来创建初始控制命令的示例算法。

在图2的步骤208处,过程200生成用于控制命令的约束。如上所述,约束是控制命令遵守的限制、边界、阈值或条件。约束用于避免危险情况,例如现实环境(例如自动驾驶)中的错误/事故。根据所公开的实施例,存在两种类型的约束:硬约束和软约束。硬约束具有严格的限制(即必须条件),而软约束具有灵活的限制(即优选条件)。硬约束的非限制性示例可以包括与环境中的障碍物或其他移动物体保持安全距离/安全响应时间,防止打滑和脱轨以及将操作命令保持在系统的操作范围内(加速度/制动限制,转向角度和速度之间的匹配等)。软约束的非限制性示例可以包括保持舒适性、保持稳定性以及提供燃料效率。

在一些实施例中,约束可以表示为控制命令的边界,并且可以容易地用于限制强化学习中的探索空间。例如,如下所示,表2提供了基于状态的约束的表示示例,而表3提供了基于速度的约束的表示示例。

表2

表3

在一些实施例中,约束的产生可以独立于学习算法,并且可以根据环境和状态的变化实时更新。因此,所公开的实施例就灵活性和可伸缩性而言避免了预定约束和损失函数的限制。在图6中进一步描述了用于生成约束的算法的示例。

在图2的步骤210,过程200执行约束强化学习以改善控制命令。约束强化学习使得过程200能够在避免现实环境(例如自动驾驶)中的错误/事故的同时进行学习,并减少了正常的学习时间。在一些实施例中,约束强化学习包括分解学习任务,例如学习速度控制和转向控制。例如,转向控制可以包括跟随弯道的转向控制、横向速度的转向控制(以从当前位置接近下一个目标)以及车辆方位的转向控制(以保持车辆方位与车道方向相同)。这些转向控制可以单独学习并以适当的组合使用。因此,过程200可以被配置为在学习组合任务之前首先学习基本任务;然后在学习复杂任务之前先学习简单任务;以及在学习任务本身之前,先学习任务的先决条件。

在一些实施例中,约束强化学习可以包括约束探索,其中使用约束来减少探索空间。例如,对动作或命令的选择必须在约束(软约束和硬约束)表示的边界内。通过使用FPSL,待尝试的新操作命令必须满足约束(基于操作范围和可靠性/安全性),并且还必须遵循从学习的知识库中导出的知识(基于曲线拟合或内插或外推)。

基于知识库中收集的驾驶经验,对于操作命令候选,过程200可以在下一步骤中预览主车辆的状态/效果,并优化操作命令(例如,估计的奖励(estimatedReward)基于计算下一汽车姿态(KB,当前动作,当前状态)(computeNextCarPose(KB,currentActions,currentState)))的结果。基于尝试的操作命令和观察到的效果,过程200可以计算梯度方向以生成更好的操作命令候选。在一个实施例中,操作命令的选择是基于来自先前选择的动作的反馈/观察,因此不是随机选择,而是基于过去的经验和知识库的智能选择。根据操作命令/效果反馈,则过程200可以计算改善命令的调整方向,以防止再次遇到相同状态。例如,如果所选择的转向角度导致过冲,则下一次调整将减少(反之亦然)。

另外,过程200可以通过从先前状态中学习来适应新环境,以帮助选择新状态中的操作命令(避免随机命令选择)。作为示例,在一些实施例中,过程200可以将低速学习结果应用于高速命令生成,或者通过在平滑曲线转弯的经验来应用在陡峭曲线转弯时进行的调整。在图8中进一步描述了用于执行约束强化学习的算法的详细示例。

返回参考图2,在步骤212,过程200基于反馈来丰富知识库。术语丰富是指更新或修改知识库(例如,调整现有数据或添加新数据),从而改善知识库中包含的信息。例如,通过基于反馈来丰富知识库,可以一致地使用观察到的动作/效果来提高知识库的推理能力。另外,过程200可以基于从过去行为中学到的经验来选择新的控制命令,探索状态/动作空间,并逐步改善知识库(学习期间,状态/动作不会突然跳跃)。在一些实施例中,在丰富知识库之后,过程200可以用作用于监督式深度学习的“教师”策略或基于“教师”式的自学强化学习(以替代或进一步优化知识库的拟合功能:从线性拟合到非线性拟合)。

图5是示出根据本公开的实施例的用于创建初始命令的过程500的流程图。在步骤502,过程500通过接收当前状态(S)、目标(T)和对知识库(knowledge base,KB)的引用作为输入参数而开始。当前状态代表当前条件。目标代表下一个期望状态(例如,目标可以遵循车道或道路的曲率)。

在步骤504,过程500根据当前状态和目标,将学习任务分解为各个组成部分,并为每个任务创建相应的查询项(查询1(query1)、查询2(query2)、……)。例如,当在弯道上行驶时,方向盘控制可以细分为以下组成部分:(1)跟随弯曲车道的转向控制;(2)基于距车道中心线的横向距离进行的调整;以及(3)基于车辆方位相对于车道方向的方向偏差进行的调整。

在步骤506,过程500从知识库检索查询结果。例如,对于每个查询项,过程500在知识库中找到相应的表或模块,并检索相应的查询结果(子命令1(subCommand

在步骤508,过程500根据相应的权重组合查询结果以生成初始控制命令

图6是示出根据本公开的实施例的用于生成约束的过程600的流程图。在步骤602,过程600通过接收主机系统的状态、目标和环境的状态作为输入参数而开始。例如,环境状态可以包括道路、障碍物和其他移动物体的状态/状况。

在步骤604,基于环境的状态,过程600生成约束项的子集(Sr)。例如,基于道路曲率,过程600可以生成转弯速度的上限(MaxSpeed)以及转向角度的范围(SteeringAngle_Low,SteeringAngle_High)。基于道路摩擦系数的估计,过程600可以生成加速度和减速度的上限(MaxAcceleration)。

在步骤606,过程600生成用于移动物体的约束项的第二子集(So)。例如,在一些实施例中,基于主车辆的状态和下一行驶目标/路径,过程600可以过滤其他移动物体,并且对于其余的移动物体,生成约束项的第二子集(So)。作为示例,如果当前行驶路径沿车道而行,则过程600仅将前方车辆和后方车辆保持在同一车道中;如果改变车道,则过程600将车辆/移动物体保持在目标车道的距离范围内(出于安全目的);如果经过交叉路口,则过程600将乘客/车辆保持在目标行驶路径附近。对于通过过滤的每个物体,过程600可以生成约束项以避免碰撞,约束项可以包括物体的大小、速度、移动方向等。过程600将生成的约束项包括在约束项的第二子集中(So)。

在步骤608,过程600生成用于固定物体的约束项的第三子集(Ss)。例如,在一些实施例中,过程600可以过滤检测到的固定物体/障碍物。例如,如果当前行驶路径沿车道而行,则过程600仅将前方的障碍物保持在同一车道中;如果经过交叉路口,则过程600将路边石信息保持在目标路径附近。对于通过过滤的每个固定障碍物,过程600可以生成用于轨迹规划的约束项,其使虚拟驾驶车道或预期/目标驾驶轨迹远离这些物体。过程600将生成的约束项包括在用于固定物体的约束项的第三子集(Ss)中。

在步骤610,过程600组合约束项的子集。在步骤612,过程600输出约束项的集合:Sr+So+Ss。

图7是示出根据本公开的实施例的用于执行智能约束强化学习(智能约束RL)的过程700的流程图。在步骤702,过程700通过接收当前状态(状态)、初始控制命令(InitialCommand)、约束和对KB的引用作为输入参数而开始。基于初始控制命令(来自KB.findInitialCommand(state)),过程700在步骤704生成一组命令候选(Scommands)。例如,在一个实施例中,过程700可以使用一组缩放因子(例如0.8、0.85、0.9、……、1.2)来缩放InitialCommand以生成该组命令候选。

在步骤706,过程700消除不满足约束的命令候选。例如,过程700可以检查命令候选组(Scommands)中的每个命令候选,并且仅保持满足约束的命令候选。在一些实施例中,过程700可以通过预览接下来的几个时间戳的状态(例如,主车辆的当前位置、约束中的障碍物位置等)并确定命令候选是否通过安全检查来确定命令候选是否满足约束。

在步骤708,过程700从满足约束的命令候选中确定/选择命令候选。在一些实施例中,命令候选的选择可以基于当前状态是已学习状态(即,已经学习/先前遇到的状态)还是新状态。例如,在一个实施例中,如果当前状态是已学习状态,则过程700可以找到具有最佳估计奖励的命令候选,并检查其是否被标记有如何完善该命令以供进一步试验(参见步骤712)。如果未标记,则过程700在步骤714输出该命令。如果被标记,则过程700可以在步骤712沿梯度方向调整命令,并在步骤714输出调整后的命令。

然而,如果当前状态是新状态而不是已学习状态,则过程700可以浏览附近的状态(在状态的不同维度方向上)以查看附近是否存在已学习状态。如果过程700在附近找到了已学习状态,则过程700可以识别与附近的已学习状态相关联的最佳命令候选,并使附近的已学习状态的最佳命令候选适应于当前状态作为命令候选。替代地,在一些实施例中,如果当前状态是新状态,则当KB累积到一定程度时,过程700可以基于KB预览命令的状态和奖励。例如,过程700可以循环通过命令候选组(Scommands)中的每个命令并基于KB计算它们的奖励,如果基于KB的命令的奖励比命令候选组中其他命令的奖励更好/更大,则保留该命令。

在步骤710,过程700可以观察所选择的命令的执行结果。另外,过程700可以更新与命令有关的相应奖励(例如,更新Q学习表或SARSA表)。例如,基于观察结果,如果结果是下冲(例如,奖励为负),则过程700可以标记所选择的动作以在下一次试验中增加。类似地,如果结果是过冲的(例如,状态中的一维符号改变),则过程700可以标记所选择的动作以在下一次试验中减小。在一些实施例中,过程700可以基于序列<动作,结果>检查过冲/下冲,从而降低控制命令延迟执行的影响,加快学习速度,提高驾驶平稳性。例如,在学习遵循指定速度的车道时,对于在具有相同曲率的车道上的序列<转向角度,下一状态>,过程700可以找到转向角度的方差,并且如果方差大于方差阈值,则过程700可以计算转向角度的中值(或平均值)(即,期望值)。对于序列中的每个转向角度,如果转向角度小于期望值,则该过程可以将动作标记为下一次试验增加。类似地,如果转向角度大于期望值,则该过程可以将动作标记为下一次试验减小。

在步骤712,如果需要,过程700可以基于对所选择的命令的结果的观察来调整或完善所选择的命令的生成。例如,过程700可以平移候选命令的相应系数,以使最佳命令(或用于下一次试验的候选命令)居中;或减小候选命令之间的间隔。在步骤714,过程700输出具有最佳奖励的命令。

如本文所述,所公开的实施例能够使用第一原则和约束进行有效、连续和安全的学习。根据各种实施例,可以分解学习任务,可以生成学习过程以逐渐扩展知识库,并且该过程可以从简单到复杂,从慢到快学习,以建立/改善知识库。外推和数据拟合可用于适应新场景,并将学到的技能转移到新车辆或新场景中。所公开的实施例的其他方面包括收集简化的系统和环境信息,使用知识库描述来自系统的操作过程的第一原则的表现,以及使用KB导出初始系统控制命令。第一原则和环境状态可以用于生成与减小的搜索空间相对应的约束。在各种实施例中,可以基于安全性要求、操作边界的经验积累、第一运动原则的表现、相应的环境状态以及各种影响因素的平衡来生成约束。所公开的实施例可以使用智能约束RL和推理来优化运动控制命令。例如,基于所尝试的控制命令和来自观察的效果,所公开的实施例可以计算用于生成/完善控制命令候选的梯度方向(以便下次尝试)。如上所述,所公开的实施例可以使用已学习状态来帮助适应新环境以及在新状态下选择控制命令。所公开的实施例可以通过连续学习来改善模型。

另外,如以上示例实施例中所示,智能约束RL可用于优化车辆的控制命令,补偿估计车辆运动的第一原则时的不准确性,并通过引导式探索进行约束强化学习。所公开的实施例也可以应用于其他应用,例如但不限于学习机器人运动/行走控制命令、运动计划学习以及学习医疗手术机器人的操作。

所公开的实施例提供了相对于当前技术的若干技术优势,包括在新场景中提高技能的准确性和适应性,支持连续在线学习,消除对诸如DRL的大数据技术的依赖,减少使用约束的强化学习中的探索空间,增强学习鲁棒性,显著提高学习效率,并确保学习的安全性,同时需要更少的参数和更少的样本。另外,知识表示和增强基于动力/运动学模型,并且有利于在不同车辆之间以及在不同场景之间传递知识/技能。

虽然在本公开中已经提供了若干实施例,但是应理解,在不脱离本公开的精神或范围的情况下,所公开的系统和方法可以以许多其它具体形式来体现。本示例被认为是说明性的而不是限制性的,并且其意图不在于限定本文给出的细节。例如,不同元件或部件可以被组合或集成到另一系统中,或者某些特性可以被省略或不实施。

此外,在不脱离本公开的范围的前提下,可以将在各种实施例中描述且说明为离散或独立的技术、系统、子系统和方法与其它系统、模块、技术或方法进行组合或集成。示出或讨论为耦合、直接耦合或相互通信的其它项目可采用电气、机械或其它方式通过某些接口、设备或中间组件间接耦合或通信。本领域技术人员可以确定改变、替代和变更的其他示例,并且可以在不脱离本文公开的精神和范围的情况下进行。

所公开的实施例可以是处于任何可能的技术细节集成水平的系统、装置、方法和/或计算机程序产品。该计算机程序产品可以包括具有使处理器执行本公开各个方面的计算机可读程序指令的一个(或多个)计算机可读存储介质。

该计算机可读存储介质可以是能够保留和存储供指令执行设备使用的指令的有形设备。该计算机可读存储介质可以是,例如,但不限于,电子存储设备、磁性存储设备、光学存储设备、电磁存储设备、半导体存储设备、或上述的任意合适的组合。计算机可读存储介质的更具体的示例的非穷尽列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦可编程只读存储器(erasable programmable read-only memory,EPROM,或闪存)、静态随机存取存储器(static random access memory,SRAM)、便携式光盘只读存储器(compact disc read-only memory,CD-ROM)、数字通用光盘(digital versatile disk,DVD)、记忆棒、软盘、其上记录有指令的凹槽中的诸如穿孔卡或凸起结构的机械编码设备、或上述的任意合适的组合。本文中使用的计算机可读存储介质不应被解释为瞬时信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)或通过导线传输的电信号。

本文所描述的计算机可读程序指令可以经由网络(例如,因特网、局域网、广域网和/或无线网)从计算机可读存储介质下载到相应的计算/处理设备或下载到外部计算机或外部存储设备上。该网络可以包括铜传输缆线、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并将该计算机可读程序指令转发以存储在相应计算/处理设备内的计算机可读存储介质中。

用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(instruction-set-architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或用一种或多种编程语言的任意组合编写的源代码或目标代码,该编程语言包括诸如Smalltalk、C++之类的面向对象的编程语言、以及诸如“C”编程语言或类似的编程语言的常规过程式编程语言。该计算机可读程序指令可以完全在用户的计算机上执行、部分地在用户的计算机上执行,作为独立的软件包,部分地在用户的计算机上且部分地在远程计算机上执行,或完全在远程计算机或服务器上执行。在后一种场景中,该远程计算机可以通过包括局域网(local area network,LAN)或广域网(wide area network,WAN)的任何类型的网络连接到用户的计算机,或者可以连接到外部计算机(例如,通过因特网使用因特网服务供应商)。为了执行本发明的各个方面,在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(field-programmable gate array,FPGA)或可编程逻辑阵列(programmable logic arrays,PLA)的电子电路可以利用计算机可读程序指令的状态信息来执行该计算机可读程序指令,以便个性化该电子电路。

本文参考根据本公开的实施例的方法、装置(系统)以及计算机程序产品的流程图和/或框图来描述本公开的各方面。应理解,该流程图和/或框图的每一个框,以及该流程图和/或框图中的框的组合可以由计算机可读程序指令实现。

这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,以生产机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图框中指定的功能/动作的方法。这些计算机可读程序指令也可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定的方式运行,从而使得其中存储有指令的计算机可读存储介质包括制成品,该制成品包括实现流程图和/或框图的一个或多个框中所指定的功能/动作的各方面的指令。

该计算机可读程序指令还可以加载到计算机、其他可编程数据处理装置或其他设备上,以使一系列操作步骤在计算机、其他可编程装置或其他设备上执行以产生计算机实现的方法,从而使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中所指定的功能/动作。

图8是其中可以实现说明性实施例的各方面的示例数据处理系统800的框图。在所描绘的示例中,数据处理系统800包括一个或多个硬件处理单元/处理器802、一个或多个存储器单元804、一个或多个数据存储单元806、一个或多个显示端口808、一个或多个输入/输出(I/O)端口810和一个或多个网络接口812。数据处理系统800的组件耦合到母板/主电路板,该母板/主电路板包括使得数据处理系统800的各个组件之间能够通信的计算机总线。计算机总线可以使用任何类型的通信结构或体系结构来实现,该通信结构或体系结构提供连接到该结构或体系结构的不同组件或设备之间的数据传输。

存储器单元804可以是能够存储数据和计算机可执行指令的任何类型的存储器。在一个实施例中,存储器单元804是易失性存储器,例如但不限于RAM。易失性存储器是仅在数据处理系统800通电时才维护其数据的计算机存储器。易失性存储器通常比非易失性存储器提供更快的读取/写入操作。例如,数据存储单元806可以是非易失性存储器,例如硬盘驱动器。可以使用不同类型的硬盘驱动器,例如固态驱动器(solid state drives,SSD)或传统硬盘驱动器(hard disk drives,HDD)。数据存储单元806还可以存储数据和计算机可执行指令。例如,数据存储单元806可以存储被配置为管理数据处理系统800的硬件和软件资源的操作系统(operating system,OS)。OS还可以为计算机程序提供通用服务,例如计划任务、执行应用程序和控制外围设备。在一些实施例中,数据存储单元806可以用于存储与所公开的实施例相对应的KB和计算机可执行指令。

处理器802可以是能够执行计算机可执行指令的任何类型的处理器。在一些实施例中,一个或多个处理器802还可以包括其自己的板载存储器或高速缓存,以用于快速检索数据/指令。显示端口808提供用于将显示设备连接到数据处理系统800的接口,以使得能够向用户显示信息。I/O端口810提供用于将输入/输出设备连接到数据处理系统800的接口。例如,I/O端口810可以使键盘和鼠标能够连接到数据处理系统800,以允许用户输入。网络接口812使数据处理系统800能够耦合到通信网络,以使得能够与另一设备通信。例如,网络接口812可以是网络接口控制器、Wi-Fi适配器、电缆调制解调器或以太网卡。

在一些实施例中,附加指令或数据可以存储在一个或多个外部设备上。可以使用任何类型的编程语言将用于本公开的说明性实施例的过程编程为计算机可执行指令。计算机可执行指令可以存储在数据存储单元806或存储器单元804中。一个或多个处理器802可以执行存储在数据存储单元806或存储器单元804中的计算机可执行指令,以执行与所公开的实施例相关联的一个或多个任务。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号