掌桥专利:专业的专利平台
掌桥专利
首页

自主载具的条件行为预测

文献发布时间:2023-06-19 16:11:11



背景技术

本说明书涉及自主载具。

自主载具(autonomous vehicle)包括自驾驶汽车、船只和飞机。自主载具使用各种交通工具上(on-board)传感器和计算机系统来检测附近的对象,并使用这样的检测来做出控制和导航决策。

发明内容

本说明书描述了被实施为一个或多个位置的一个或多个计算机上的计算机程序的系统,该系统生成以自主载具的规划的轨迹为条件的自主载具附近的代理(agent)的行为预测数据。

可以实施本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。

传统的行为预测系统预测自主载具附近的载具和其他代理的未来轨迹。这些预测然后可以用于做出和更新自主载具的驾驶决策。然而,由这些传统系统做出的预测未能解释给定代理将如何对自主载具的规划的未来轨迹作出反应。例如,一些传统系统预测自主载具的未来行为,然后预测其他代理将如何对此预测的未来行为作出反应。然而,这些预测可能与自主载具的规划系统正在考虑的各种规划的轨迹中的任何一个都不匹配。

另一方面,所描述的系统有效地与行为预测系统交互,以使得由行为预测系统做出的预测解释自主载具的规划的轨迹。这产生更准确的轨迹预测,并进而由自主载具的控制和规划系统做出更准确的驾驶决策。此外,现有的行为预测系统可以用于做出条件行为预测,即使现有的系统没有被配置为在做出预测时考虑规划的轨迹。

可附加地,所描述的系统可以在自主载具的不同(替代)规划的轨迹下生成相同代理的多个条件预测。这使得自主载具的规划系统能够选择与其他代理更好地交互的更好的规划的轨迹。

本说明书的主题的一个或多个实施例的细节在附图和以下描述中阐述。从说明书、附图和权利要求中,本主题的其他特征、方面和优点将变得清楚。

附图说明

图1是示例交通工具上系统的框图。

图2是用于生成条件行为预测数据的示例过程的流程图。

图3是用于生成条件行为预测数据的另一示例过程的流程图。

各个附图中相同的附图标记和名称指示相同的元件。

具体实施方式

本说明书描述了自主载具的交通工具上(on-board)系统可以如何生成表征自主载具附近的目标代理的未来轨迹的条件行为预测数据。目标代理可以是例如行人、骑自行车的人或另一载具。为了生成条件行为预测数据,交通工具上系统使得行为预测系统生成以自主载具的规划的轨迹为条件的行为预测数据。与预测轨迹不同,规划的轨迹由自主载具的规划系统生成,并用于控制载具。换句话说,在任何给定时间,自主载具的控制系统控制载具遵循自主载具的当前的规划轨迹。

在一些情况下,系统可以获得(即,接收或生成)自主载具的多个不同的可能的规划轨迹,然后生成多个不同的可能轨迹中的每一个的相应的条件行为预测数据。这允许自主载具的规划系统在任何给定时间确定自主载具的最终的规划轨迹时,考虑如果自主载具采取不同轨迹,环境中的各种代理将如何改变行为。

交通工具上系统可以使用条件行为预测数据来执行动作,即控制载具,这使得载具更安全地操作。例如,如果行为预测数据表明汇入载具在以自主载具加速超过汇入载具的规划的轨迹为条件时不太可能舒适地避让,则交通工具上系统可以生成完全自主的控制输出,以应用载具的制动来避免与汇入载具的碰撞。

这些特征和其他特征将在下面更详细地描述。

图1是示例交通工具上系统100的框图。交通工具上系统100由硬件和软件组件组成,其中一些或全部物理上位于载具102上。在一些情况下,交通工具上系统100可以做出完全自主或部分自主的驾驶决策(即,独立于载具102的驾驶员采取的驾驶决策),向载具102的驾驶员呈现信息以帮助驾驶员安全地操作载具,或者两者兼有。例如,响应于确定另一载具不太可能避让载具102,交通工具上系统100可以自主地应用载具102的制动或以其他方式自主地改变载具102的轨迹,以防止载具102和另一载具之间的碰撞。

尽管图1中的载具102被描绘为机动车,并且参考机动车描述了本文档中的示例,但是通常载具102可以是任何种类的载具。例如,除了机动车之外,载具102可以是船舶或飞机。此外,交通工具上系统100可以包括除了图1中描绘的组件之外的组件(例如,碰撞检测系统或导航系统)。

交通工具上系统100包括传感器系统104,其使得交通工具上系统100能够″看到″载具102附近的环境。更具体地,传感器系统104包括一个或多个传感器,其中一些被配置为接收来自载具102附近的环境的电磁辐射的反射。例如,传感器系统104可以包括被配置为检测激光反射的一个或多个激光传感器(例如,LIDAR激光传感器)。作为另一示例,传感器系统104可以包括被配置为检测无线电波反射的一个或多个雷达传感器。作为另一示例,传感器系统104可以包括被配置为检测可见光反射的一个或多个相机传感器。

传感器系统104连续地(即,在多个时间点中的每一个处)捕捉可以指示反射辐射行进的方向、强度和距离的原始传感器数据。例如,传感器系统104中的传感器可以在特定方向上发射一个或多个电磁辐射脉冲,并且可以测量任何反射的强度以及反射被接收的时间。距离可以通过确定发射脉冲和接收其反射之间过去的时间来计算。每个传感器可以在角度、方位或两者上连续地扫描特定空间。方位上的扫描例如可允许传感器沿相同视线检测多个对象。

交通工具上系统100可以使用由传感器系统104连续生成的传感器数据来跟踪载具102附近的环境中的代理(例如,行人、骑自行车的人、其他载具等)的轨迹。代理的轨迹是指针对多个时间点中的每一个定义由环境中的代理在该时间点占据的空间位置以及代理在该时间点的运动特性的数据。代理在时间点的运动特性可以包括例如代理的速度(例如,以英里每小时mph度量)、代理的加速度(例如,以英尺每秒平方度量)、以及代理的走向(例如,以度度量)。代理的走向是指代理的行进方向,并且可以被表达为相对于环境中的给定参考系(例如,北-南-东-西参考系)定义的角度数据(例如,在0度至360度的范围内)。

为了跟踪载具102附近的环境中的代理的轨迹,交通工具上系统100可以(例如,在物理数据存储设备中)维护定义代理直到当前时间点的轨迹的历史数据106。交通工具上系统100可以使用由传感器系统104连续生成的传感器数据来连续地更新(例如,每0.1秒)定义代理的轨迹的历史数据106。通常,在给定时间点,历史数据106包括定义直到给定时间点的以下内容的数据:(i)载具102附近的代理的相应轨迹,以及(ii)载具102本身的轨迹。

表征代理的轨迹的历史数据可以包括与代理的过去轨迹和当前位置有关的任何适当信息。例如,历史数据可以针对多个时间点中的每一个包括定义由代理在该时间点占据的环境中的空间位置的数据。对于每个时间点,历史数据可以进一步定义预定的运动参数集合中的每个运动参数的相应值。每个运动参数的值表征代理在该时间点的运动的相应特征。运动参数的示例包括:速度、加速度和走向。在一些实施方式中,系统进一步获得表征目标代理的候选未来轨迹以及一个或多个其他代理的预测的未来轨迹的数据。其他代理的预测的未来轨迹可以由系统先前为其他代理生成的行为预测输出来定义。

交通工具上系统100可以使用历史数据106为载具102附近的代理中的一个或多个生成预测代理的未来轨迹的相应的条件行为预测数据108。

交通工具上系统100可以例如以规则的时间间隔(例如,每0.1秒)连续地生成载具102附近的代理的条件行为预测数据108。具体地,任何给定代理的条件行为预测数据108标识代理被预测在不久的将来(例如,在当前时间点之后的接下来的五秒或十秒内)遵循的未来轨迹。

为了生成载具102附近的目标代理的条件行为预测数据108,交通工具上系统100使用行为预测系统110。

行为预测系统110接收包括表征环境中的当前场景中的代理的历史数据106的场景数据,并且生成场景中的一些或所有代理的轨迹预测。除了历史数据106之外,场景数据还可以包括系统100可用的并且可能影响环境中的代理的未来行为的其他信息。这样的信息的示例可以包括标识场景的固定特征的道路图信息(例如,交叉路口、交通标志和车道标记)、以及实时场景信息(例如,场景中的任何交通灯的当前状态)。

为了生成场景中的代理的行为预测数据108,行为预测系统110例如通过将似然模型、运动规划算法或两者至少应用于历史数据106,使用场景数据来生成场景中的代理的未来运动的初始表示。行为预测系统110然后基于未来运动的初始表示为每个代理生成该代理的轨迹预测,即,以解释未来时间段内的场景中的代理之间的可能交互。例如,行为预测系统100可以针对场景中的每个代理预测多个候选未来轨迹和每个候选未来轨迹的相应似然分数,该相应似然分数表示候选未来轨迹将是代理遵循的实际未来轨迹的似然性。各种多代理行为预测系统中的任何一种都可以用作行为预测系统110。这样的系统的一个示例在Rhinehart等人的PRECOG:PREdiction Conditioned On Goals in Visual Multi-AgentSettings(在可视多代理设置中以目标为条件的预测),arXiv:1905.01296中描述。

传统上,交通工具上系统100将向规划系统116提供由行为预测神经网络114为载具附近的代理生成的行为预测数据。

当规划系统116接收到行为预测数据108时,规划系统116可以使用行为预测数据108来做出完全自主驾驶决策,即,以更新载具102的规划的轨迹。

例如,规划系统116可以生成完全自主规划以导航载具102,以通过改变载具102的未来轨迹以避开另一代理来避免与该代理的碰撞。在特定示例中,交通工具上系统100可以向规划系统116提供行为预测数据108,该行为预测数据108指示试图汇入载具102正在行进的道路的另一载具不太可能避让载具102。在该示例中,规划系统116可以生成完全自主的控制输出,以应用载具102的制动来避免与汇入载具的碰撞。

由规划系统116生成的完全自主驾驶决策可以由载具102的控制系统实施。例如,响应于接收到由规划系统116生成的指示应该应用载具的制动的完全自主驾驶决策,控制系统可以向载具的制动控制单元发送电子信号。响应于接收到电子信号,制动控制单元可以机械地应用载具的制动。

因此,在载具102的操作期间,规划系统116维护并重复更新载具102的规划的轨迹。该规划的轨迹用于控制载具,即,规划的轨迹定义由控制系统实施以便控制载具102的驾驶决策。

传统上,行为预测系统110在生成行为预测数据108时不会考虑载具102的任何规划的轨迹,即,因为环境中的其他代理无法访问载具102的规划的轨迹。然而,不使用规划的轨迹防止了由行为预测系统110生成的行为预测数据反映其他代理在代理观察遵循规划的轨迹的载具102时可能如何作出反应,或者其他代理可能如何对载具102的不同规划的轨迹作出反应。另一方面,本说明书中描述的技术允许系统有效地利用一个或多个规划的轨迹来修改系统110做出的行为预测。

具体地,使用本说明书中描述的技术,规划系统116可以生成载具102的规划的轨迹112或多个候选规划轨迹112,并且响应于每个轨迹112,获得表征在载具102跟随轨迹112的情况下场景中其他代理的预测的未来轨迹的对应的条件行为预测108。因此,规划系统116可以评估多个不同的可能规划轨迹112对场景中其他代理的行为的影响,作为确定在任何给定时间哪个规划的轨迹用作载具102的最终规划轨迹的一部分。

作为特定示例,规划系统116可以在特定时间点考虑两个规划的轨迹:一个是其中载具留在当前车道,并且另一个是其中载具将车道改变到相邻车道。交通工具上系统可以通过使用两个规划的轨迹查询行为预测系统来生成候选规划轨迹中的每一个的相应的条件行为预测数据108,如下所述。如果条件行为预测数据108指示留在当前车道将导致另一载具切出(cut off)该载具102,则规划系统更有可能采用其中载具102改变车道的候选轨迹。

图2是用于生成目标代理的条件行为预测数据的示例过程200的流程图。为了方便起见,过程200将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的交通工具上系统(例如,图1的交通工具上系统100)可以执行过程200。

系统获得表征当前时间点的环境中的场景的场景数据(202)。环境中的场景包括导航穿过环境的自主载具和包括目标代理的一个或多个其他代理。目标代理可以是例如环境中的另一载具、骑自行车的人、行人或任何其他动态对象,其未来轨迹可能影响自主载具的驾驶决策。

场景数据通常包括表征环境中的代理直到当前时间的先前轨迹的历史数据。表征代理的轨迹的该历史数据针对多个时间点中的每一个包括定义代理在该时间点占据的环境中的空间位置的数据。在一些情况下,对于每个时间点,历史数据进一步定义预定的运动参数集合中的每个运动参数的相应值。每个运动参数的值表征代理在该时间点的运动的相应特征。运动参数的示例包括:速度、加速度和走向。在一些实施方式中,系统进一步获得表征目标代理的候选未来轨迹以及一个或多个其他代理的预测的未来轨迹的数据。

场景数据还可以包括其他信息,例如道路图信息或关于环境的其他信息。

系统然后可以对由规划系统生成以便允许规划系统评估采用轨迹中的每一个的潜在影响的多个候选轨迹中的每一个重复步骤204和206。

系统获得标识自主载具的规划的轨迹的数据(步骤204)。具体地,规划的轨迹由自主轨迹的规划系统生成,并且标识自主载具在当前时间点之后穿过环境的规划的路径,即,标识自主载具在当前时间点开始的时间窗口中的多个未来时间点在环境中的规划的位置。例如,规划的轨迹可以在多个未来时间点中的每一个处标识将由载具在未来时间点占据的环境中的规划的空间位置。

系统使用行为预测系统来生成目标代理的条件轨迹预测(步骤206)。例如,条件轨迹预测可以包括多个候选未来轨迹和每个候选未来轨迹的相应似然分数,该相应似然分数表示假设载具遵循规划的轨迹、候选未来轨迹将是目标代理遵循的实际未来轨迹的似然性。

每个候选预测轨迹标识目标代理在当前时间点开始的时间窗口中的多个未来时间点在环境中的预测位置。预测轨迹的时间窗口可以与规划的轨迹的时间窗口一样长,或者可以比规划的轨迹的时间窗口短。

具体地,系统生成以(i)表征当前时间点的场景的场景数据和(ii)自主载具的规划的轨迹为条件的轨迹预测。

在一些实施方式中,系统通过使得行为预测系统基于自主载具的规划的轨迹而不是基于由行为预测系统生成的自主载具的预测的轨迹生成第一代理的轨迹预测,生成条件轨迹预测。

如上所述,行为预测系统可以为场景中的每个代理预测多个候选未来轨迹和每个候选未来轨迹的相应似然分数,该相应似然分数表示候选未来轨迹将是代理遵循的实际未来轨迹的似然性。行为预测系统可以通过例如基于应用于代理的当前轨迹的运动规划算法、给定代理的当前轨迹的代理的未来运动的似然模型等生成每个代理(包括自主载具)的未来运动的初始表示并然后基于初始表示生成轨迹预测来做出该预测。

为了使得行为预测系统生成条件行为预测,系统用指示自主载具将遵循规划未来轨迹的似然性为100%的初始表示代替自主载具的初始表示。

换句话说,当生成目标代理的轨迹预测时,系统使得行为预测系统用自主载具的规划的轨迹代替自主载具的轨迹预测。

通过以这种方式生成预测,系统有效地将轨迹预测以整个规划的轨迹为条件,而不增加生成预测的计算复杂度和资源消耗。然而,以这种方式生成轨迹预测假设目标代理可以访问自主载具的整个规划的轨迹,而实际上,目标代理仅可以在规划的轨迹出现时才能观察它。

图3是用于生成目标代理的条件行为预测数据的另一示例过程300的流程图。为了方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的交通工具上系统(例如,图1的交通工具上系统100)可以执行过程300。

系统可以针对由自主载具的规划系统生成的多个候选规划轨迹中的每一个执行过程300,以生成多个候选规划轨迹中的每一个的相应的条件行为预测数据。规划系统然后可以使用不同候选轨迹的条件行为预测数据来选择最终的规划轨迹,即,通过选择候选中的一个或者通过确定不选择任何候选规划轨迹。

系统可以针对预测的轨迹内的多个连续时间间隔中的每一个执行过程300,以迭代地生成目标代理的条件行为预测数据。具体地,第一时间间隔在当前时间点开始,并且最后一个时间间隔在预测的轨迹的末尾结束。

如上所述,需要生成的轨迹预测定义自主载具在当前时间点开始的时间窗口中的多个未来时间点在环境中的预测的位置。例如,轨迹预测中的每个预测的轨迹可以是坐标序列,其中序列中的每个坐标对应于未来时间点中的一个,并且表示载具在对应未来时间点的预测的位置。

在一些情况下,时间间隔中的每一个对应于这些未来时间点中不同的一个。在其他情况下,为了减少为了生成轨迹预测而需要执行的过程300的迭代次数,每个时间间隔对应于未来时间点中的多个。

系统识别表征自当前时间间隔的起点起的当前场景的场景数据(步骤302)。

对于第一时间间隔,当前场景是当前时间点的场景。

对于在第一时间间隔之后的每个时间间隔,当前场景是过程300的在前迭代之后的场景,即,通过模拟自先前时间间隔的起点起的场景而生成的场景,如下所述。

系统将表征当前场景的场景数据作为输入提供给行为预测系统(步骤304)。行为预测系统然后生成从当前时间间隔的起点开始的场景中的所有代理(包括目标代理)的轨迹预测。

在这些情况下,系统不修改行为预测系统的操作,即,不修改行为预测系统,以直接考虑自主载具的规划的轨迹。

在一些实施方式中,行为预测系统在每个时间间隔重新生成场景中的所有代理的预测。在一些其他实施方式中,为了提高过程的计算效率,行为预测系统仅重新生成目标代理的轨迹,并且重用来自先前时间间隔的其他代理的轨迹预测。

如上所述,每个代理的轨迹预测可以包括多个候选未来轨迹和每个候选未来轨迹的相应似然分数,该相应似然分数表示候选未来轨迹将是代理遵循的实际未来轨迹的似然性。

系统更新目标代理的当前轨迹预测(步骤306)。具体地,系统用目标代理的新轨迹预测的对应部分代替在当前时间间隔的起点开始的当前轨迹预测的部分。

对于过程300除了对应于最终时间间隔的迭代之外的每次迭代,系统生成表征自当前时间间隔的末尾(即,下一时间间隔的起点)起的场景的场景数据(步骤308)。

具体地,对于场景中除了自主载具之外的每个代理,系统扩展该代理的历史数据(即,在表征自当前时间点的起点起的场景的场景数据中的历史数据),以指示代理在当前时间间隔内遵循代理的轨迹预测。具体地,对于每个代理,系统可以从代理的最近生成的轨迹预测中选择具有最高似然分数的轨迹,然后扩展该代理的历史数据以指示代理在当前时间间隔内遵循代理的所选轨迹。

对于自主载具,代替使用预测轨迹,系统扩展自主载具的历史数据以指示载具在当前时间间隔内遵循规划的轨迹。因此,系统模拟除了自主载具之外的每个代理遵循代理的(最近)预测轨迹,然后用每个代理的对应模拟未来状态来扩展历史数据。

因此,当在任何给定点模拟当前场景时,系统使用由行为预测系统为除了自主载具之外的代理生成的预测的轨迹,同时使用由规划系统生成的规划的轨迹来模拟自主载具的轨迹。

在一些实施方式中,在针对任何时间间隔执行过程300之前,系统可以确定最近预测轨迹(例如,自主载具的最近轨迹预测中具有最高分数的轨迹,即,在过程300的在前迭代生成的轨迹预测)是否与从当前时间间隔的起点开始的规划的轨迹显著不同。如果预测的轨迹和规划的轨迹显著不同,则系统可以执行过程300的迭代,以便更新目标代理的轨迹预测(并生成自主载具的新预测轨迹)。如果预测的轨迹和规划的轨迹没有显著不同,则系统可以抑制执行过程300的任何更多的迭代,并且使用目标代理的轨迹预测作为当前时间间隔和在当前时间间隔之后的未来时间段内的任何剩余时间间隔的目标代理的最终的轨迹预测。

当两个轨迹之间的距离度量超过阈值时,系统可以确定两个轨迹显著不同。例如,距离度量可以基于(例如,等于或正比于)两个轨迹中对应时间点的坐标之间的距离之和。

本说明书结合系统和计算机程序组件使用术语″配置″。对于被配置为执行特定操作或动作的一个或多个计算机的系统,意味着该系统已经在其上安装了软件、固件、硬件或它们的组合,其在操作中使得该系统执行操作或动作。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括指令,该指令在由数据处理装置执行时使得该装置执行操作或动作。

在本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形体现的计算机软件或固件中、在计算机硬件(包括在本说明书中公开的结构及其结构等同物)中或者在它们中的一个或多个的组合中被实施。在本说明书中描述的主题的实施例可以被实施为一个或多个计算机程序,即编码在有形非暂时性存储介质上的计算机程序指令的一个或多个模块,以用于由数据处理装置运行或者控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基底、随机或串行存取存储器设备或者它们中的一个或多个的组合。替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电信号、光信号或电磁信号,其中该人工生成的传播信号被生成以对信息进行编码,用于发送给适合的接收器装置以用于由数据处理装置运行。

术语″数据处理装置″是指数据处理硬件,并且包括用于处理数据的所有种类的装置、设备和机器(包括例如可编程处理器、计算机、或者多个处理器或计算机)。该装置也可以是或者还包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以可选地包括创建计算机程序的运行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或者它们中的一个或多个的组合的代码。

计算机程序,也可以被称为或描述为程序、软件、软件应用、应用、模块、软件模块、脚本或代码,可以以任何形式的编程语言(包括编译或解释语言、或者声明性或过程性语言)进行编写;它可以以任何形式被部署,包括作为独立程序或者作为模块、组件、子例程或适用于计算环境的其他单元。程序可以但不一定对应于文件系统中的文件。程序可以被存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、存储在专用于所讨论的程序的单个文件中、或者存储在多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可以被部署为在一个计算机或者位于一个站点或跨多个站点分布并通过数据通信网络互连的多个计算机上被运行。

在本说明书中,术语″引擎″被广泛用于指代基于软件的系统、子系统或者被编程为执行一个或多个特定功能的过程。通常,引擎将被实施为安装在一个或多个位置的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,多个引擎可以被安装在相同的(多个)计算机上并在其上运行。

在本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机执行,其中该一个或多个可编程计算机运行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如,FPGA或ASIC)或者由专用逻辑电路和一个或多个编程计算机的组合执行。

适合于运行计算机程序的计算机可以基于通用或专用微处理器或两者、或者任何其他种类的中央处理单元。通常,中央处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或被并入专用逻辑电路。通常,计算机也将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)或者被可操作地耦合为从该一个或多个大容量存储设备接收数据或向其传递数据,或者两者。然而,计算机不需要具有这样的设备。此外,计算机可以被嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),仅举几个例子。

适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器器件,包括例如半导体存储器器件(例如,EPROM、EEPROM和快闪存储器器件);磁盘(例如,内部硬盘或可移动磁盘);磁光盘;以及CD ROM和DVD-ROM磁盘。

为了提供与用户的交互,在本说明书中描述的主题的实施例可以在计算机上被实施,其中该计算机具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器),以及用户可以通过其向计算机提供输入的键盘和定点设备(例如,鼠标或轨迹球)。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入可以以任何形式被接收,包括声音输入、语音输入或触觉输入。此外,计算机可以通过向由用户使用的设备发送文档以及从其接收文档来与用户进行交互;例如,通过响应于从网络浏览器接收的请求而向用户设备上的网络浏览器发送网页。此外,计算机可以通过向个人设备(例如,运行消息传递应用的智能电话)发送文本消息或其他形式的消息以及作为交换从用户接收响应消息来与用户进行交互。

用于实施机器学习模型的数据处理装置也可以包括例如用于处理机器学习训练或生产的普通和计算密集部分(即推理、工作负荷)的专用硬件加速器单元。

机器学习模型可以使用机器学习框架(例如,TensorFlow框架、MicrosoftCognitive Toolkit框架、Apache Singa框架或Apache MXNet框架)来实施和部署。

在本说明书中描述的主题的实施例可以在计算系统中被实施,其中该计算系统包括后端组件(例如,作为数据服务器)、或者包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,具有用户可以通过其与在本说明书中描述的主题的实施方式进行交互的图形用户界面、网络浏览器或应用的客户端计算机)、或者包括一个或多个这样的后端组件、中间件组件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)进行互连。通信网络的示例包括局域网(LAN)和广域网(WAN)(例如,互联网)。

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且一般通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而出现。在一些实施例中,服务器将数据(例如,HTML页面)发送给用户设备,例如,出于向与充当客户端的设备交互的用户显示数据以及从该用户接收用户输入的目的。可以在服务器处从设备接收在用户设备处生成的数据,例如用户交互的结果。

虽然本说明书包含许多具体的实施方式细节,但这些不应被解释为对任何发明的范围或可能要求保护的内容的范围的限制,而是可以特定于特定发明的特定实施例的特征的描述。单独的实施例的上下文中的在本说明书中描述的某些特征也可以在单个实施例中被组合实施。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中被实施。此外,尽管特征可以在上面被描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从所要求保护的组合删除所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。

类似地,虽然以特定顺序在附图中描绘并在权利要求中阐述了操作,但是这不应该被理解为要求以所示的特定顺序或以先后顺序执行这些操作或者执行所有示出的操作来实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这样的分离,并且应该理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或打包为多个软件产品。

已经描述了主题的特定实施例。其他实施例落在以下权利要求的范围内。例如,在权利要求中阐述的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,在附图中描绘的过程不一定需要所示的特定顺序或先后顺序来实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。

技术分类

06120114732423