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

估计到达时间的系统和方法

文献发布时间:2023-06-19 13:26:15


估计到达时间的系统和方法

分案说明

本申请是针对申请日为2017年11月23日,申请号为201780038508.2,发明名称为估计到达时间的系统和方法的中国申请,提出的分案申请。

技术领域

本申请涉及用于估计到达时间的方法和设备。

背景技术

车辆调度平台可以将运输请求分配给各个车辆,以分别提供运输服务。请求此类服务的用户可以为平台指示起点和目的地以确定一条或以上合适的路线。为了帮助估计服务费和/或为决定是否接受服务提供信息,准确预测到达目的地的到达时间是很重要的。

发明内容

本申请的各种实施例可以包括被配置为估计到达时间的系统、方法和非暂时性计算机可读介质。用于估计与乘车订单相关联的到达时间的方法可以包括将运输信息输入到训练后的机器学习模型。所述运输信息可以包括与所述乘车订单相关联的起点和目的地。所述训练后的机器学习模型可以包括的广度网络和深度神经网络。所述方法可以进一步包括,基于所述训练后的机器学习模型,获得通过连接所述起点和所述目的地的路线到达所述目的地的估计时间。

在一些实施例中,所述路线包括连接的链路序列,每个链路对应一个路段。所述运输信息进一步包括以下中的至少一个:司机标识、乘客标识、星期几、时间、天气、高峰时段确定、包含所述路线的形状、链路标识、链路速度限制、链路收费确定、链路道路宽度、链路道路等级、实时链路交通速度、链路长度或链路交通灯持续时间。

在一些实施例中,训练机器学习模型包括,对于至少两个历史车辆行程中的每一个历史车辆行程:获得与所述历史车辆行程相关的运输训练数据,所述运输训练数据包括连接历史起点和历史目的地的历史路线和真实历史行程时间;从所述运输训练数据获得一个或以上全局特征;将所述全局特征输入到所述广度网络以及将所述全局特征输入到所述深度神经网络,以分别获得输出基于所述广度网络以及所述深度神经网络的所述输出获得估计历史行程时间;以及至少基于所述估计历史行程时间和所述真实历史行程时间之间的差异的最小化,更新与所述广度网络和所述深度神经网络相关联的权重以获得所述训练后的机器学习模型。所述历史路线可以对应于连接的链路序列,每个链路对应一个路段。对于所述历史路线中所述链路,所述全局特征可以是统一的。所述局部特征可以分别与所述链路相关。

在一些实施例中,所述全局特征可以包括(1)稀疏特征,所述稀疏特征包括以下至少一个:司机标识、乘客标识、星期几、时间、天气或高峰时段确定;(2)第一密集特征,所述第一密集特征包括包含所述路线的形状。

在一些实施例中,将所述全局特征输入到所述广度网络,从所述广度网络获得所述输出,包括:获得至少两个特征乘积,所述每个特征乘积对应于所述全局特征中的每两个全局特征之间的乘积;以及基于所述全局特征和所述获得的特征乘积执行仿射变换,得到所述广度网络的输出。所述仿射变换可以将所述全局特征和所述获得的特征乘积映射到输出,并且所述全局特征和所述输出可以与所述权重中的一个或以上相关联。

在一些实施例中,所述深度神经网络可以包括前馈神经网络,所述前馈神经网络可以包括按照一定顺序排列的至少两个层,彼此相邻的每两个层可以与所述权重中的一个或以上相关联,所述至少两个层可以包括输入层、一个或以上隐藏层和输出层,所述全局特征可以包括稀疏特征和第一密集特征。将所述全局特征输入到所述深度神经网络,以从所述深度神经网络获得所述输出可包括:嵌入所述稀疏特征;连接所述第一密集特征和所述嵌入后的稀疏特征;以及将所述连接后的第一密集特征和稀疏特征馈送到所述前馈神经网络,以从所述前馈神经网络获得所述输出。

根据另一方面,本申请提供了一种用于估计与乘车订单相关联的到达时间的系统。所述系统可以在服务器上实现。所述系统可以包括处理器和存储指令的非暂时性计算机可读存储介质,所述指令在由所述处理器执行时使所述系统执行方法。所述方法可以包括将运输信息输入到训练后的机器学习模型。所述运输信息可以包括与所述乘车订单相关联的起点和目的地。所述训练后的机器学习模型包括耦合的广度网络、深度神经网络和递归神经网络。所述方法可以进一步包括,基于所述训练后的机器学习模型,获得通过连接所述起点和所述目的地的路线到达所述目的地的估计时间。

根据另一方面,本申请提供了一种用于估计与乘车订单相关联的到达时间的方法。所述方法可以在服务器上实现。所述方法可以包括从设备接收从起点运输到目的地的乘车订单,确定连接所述起点和所述目的地的路线,获取与所述路线相关的运输信息,将所述获得的运输信息输入训练后的机器学习模型,以获得通过所述路线到达所述目的地的估计时间,以及将所述估计时间在所述设备上播放,所述训练后的机器学习模型包括耦合的广度网络和深度神经网络。

根据另一方面,本申请提供了一种用于估计与乘车订单相关联的达到时间的系统,包括处理器和存储指令的非暂时性计算机可读存储介质,所述指令在由处理器执行时使得系统执行方法。所述方法可以包括:从设备接收从起点运输到目的地的乘车订单;确定连接所述起点和所述目的地的路线;获取与所述路线相关的运输信息;将所述获得的运输信息输入训练后的机器学习模型,以获得通过所述路线到达所述目的地的估计时间;以及将所述估计时间在所述设备上播放;所述训练后的机器学习模型包括耦合的广度网络和深度神经网络。

根据另一方面,本申请提供了一种存储指令的非暂时性计算机可读存储介质,当所述指令由处理器执行时,使所述处理器执行用于估计与乘车订单相关联的到达时间的方法。所述方法可以包括:从设备接收从起点运输到目的地的乘车订单;确定连接所述起点和所述目的地的路线;获取与所述路线相关的运输信息;将所述获得的运输信息输入训练后的机器学习模型,以获得通过所述路线到达所述目的地的估计时间;以及将所述估计时间在所述设备上播放;所述训练后的机器学习模型包括耦合的广度网络和深度神经网络。

当结合参考附图来考虑以下描述和所附权利要求时,本申请披露的系统、方法和非暂时性计算机可读介质的这些和其他特征,以及结构的相关元件的操作方法和功能,以及部件的组合和制造经济性将更加显而易见。本申请的所有附图均构成说明书的一部分,其中在各个附图中,相似的附图标记表示的相应部分。然而,应当理解的是,附图仅用于说明和描述的目的,并不旨在作为限制本申请的定义。

附图说明

本技术的各实施例的某些特征在所附权利要求中具体阐述。通过参考以下具体实施方式及其附图,将更好地理解本技术的特征和优点,其中具体实施方式详尽介绍了利用本申请原理的说明性实施例,所述附图包括:

图1示出了根据各种实施例的用于估计到达时间的示例环境。

图2示出了根据各种实施例的用于估计到达时间的示例系统。

图3A示出了根据各种实施例的用于估计到达时间的示例机器学习模型。

图3B示出了根据各种实施例的用于估计到达时间的示例性多层感知器结构。

图3C示出了根据各种实施例的用于估计到达时间的示例递归神经网络结构。

图4A示出了根据各种实施例的用于估计到达时间的示例方法的流程图。

图4B示出了根据各种实施例的用于估计到达时间的示例方法的流程图。

图4C示出了根据各种实施例的用于估计到达时间的示例方法的流程图。

图5示出了可以实现本申请描述的任何实施例的示例计算机系统的模块图。

具体实施方式

车辆平台可以被提供用于运输服务。这样的车辆平台也可以被称为车辆呼叫平台或车辆调度平台,可以通过安装有平台应用的诸如移动电话的设备进行访问。通过所述应用,用户(乘坐请求者)可以将运输请求(例如,目的地、诸如所识别的上车位置或用户的当前位置的起点)发送到车辆平台。基于诸如最小距离、用户的最低成本、司机的最低成本、车辆的可用性等各种因素,车辆平台可以确定从起点到目的地的一个或以上运输路线。车辆平台还可以基于诸如靠近请求者的位置或上车位置等各种因素,通过应用程序将请求发送给车辆司机。所述车辆司机可以从请求中进行选择,每个车辆司机可以选择一个请求接受。当运输请求与车辆匹配时,可以通过车辆平台的应用通知用户所确定的路线和/或到达的估计时间。所述到达的估计时间对于车辆平台确定运输服务的费用以及用户确定是否接受运输服务是重要的。此外,在车辆运输用户时,可以实时更新到达时间以帮助用户调整时间表。

在现有技术中,到达时间估计方法尚不成熟,准确性较低。示例性现有方法仅包括物理模型,其中行程时间是基于总距离和行进速度计算的。由于受到许多不同的因素的影响,行驶速度在同一路线中的不同路段可以是变化的。缺乏对所述变化的考虑至少是导致现有方法不准确的一个原因。

本申请公开的系统和方法可以至少克服现有技术中的上述不足并提供准确的到达时间估计。尽管本申请是参考车辆调度场景来描述的,但是所公开的系统和方法适用于各种用于估计车辆的到达时间的类似场景。本申请所公开的系统和方法可以基于历史数据,例如,历史行程,训练机器学习模型以获得训练后的机器学习模型。训练后的机器学习模型可以实时与用户和司机的设备通信以提供估计。

所公开的系统和方法使用的机器学习模型(或算法)可以包括耦合到多层感知器(MLP)网络的广度网络、深度神经网络(DNN)和递归神经网络(RNN)。四个网络中的每一个网络可以包括关联其输入、中间状态和输出的各种权重。在示例训练过程中,训练数据可以包括各种行程和相关信息,例如,起点、目的地、时间、位置、行驶时间等。可以从训练数据获得各种特征,并相应地输入到广度网络、DNN和RNN。广度网络、DNN和RNN的输出可以被组合或以其他方式输入到MLP,以获得训练数据中每次行程的估计到达时间。可以至少基于估计的到达时间和(历史)行驶时间之间的差异的最小化来更新与广度网络、DNN、RNN和MLP相关联的权重。因此,通过使用许多历史行程训练机器学习模型,可以获得达到阈值精度的训练后的机器学习模型。

本申请的各种实施例包括被配置为估计到达时间的系统、方法和非暂时性计算机可读介质。在一些实施例中,用于估计与乘车订单相关联的到达时间的方法可以在服务器上实现,并且可以包括从设备接收用于从起点运输到目的地的乘车订单,确定连接起点和目的地的路线,获得与路线相关的运输信息,将获得的运输信息输入到训练后的机器学习模型,以获得通过路线到达目的地的估计时间,以及将所述估计时间在设备上播放。

在一些实施例中,路线可包括连接的链路序列,每个链路对应一个路段。运输信息可以包括以下中的至少一个:司机标识、乘客标识、星期几、时间、天气、高峰时段确定、包含所述路线的形状、链路标识、链路速度限制、链路收费确定、链路道路宽度、链路道路等级、实时链路交通速度、链路长度或链路交通灯持续时间。

在一些实施例中,用于估计与乘车订单相关联的到达时间的方法可以包括将运输信息输入到训练后的机器学习模型。运输信息包括与乘车订单相关联的起点和目的地,以及训练后的机器学习模型包括耦合到多层感知器网络的广度网络、深度神经网络和递归神经网络。所述方法可以进一步包括,基于训练后的机器学习模型,获得通过连接起点和目的地的路线到达目的地的估计时间。所述方法可以由诸如服务器、移动电话等计算设备来执行。

图1示出了根据各种实施例的用于估计到达时间的示例环境100。如图1所示,示例环境100可以包括至少一个计算系统102。计算系统102包括一个或以上处理器104和存储器106。存储器106可以是非暂时性的和计算机可读的。存储器106可以存储指令,当所述指令由一个或以上处理器104执行时,使得一个或以上处理器104执行本申请描述的各种操作。系统102可以在诸如移动电话、平板电脑、服务器、计算机、可穿戴设备(智能手表)等各种设备上实现。上述系统102可以安装有适当的软件(例如,平台程序等)和/或硬件(例如,电线、无线连接等)以访问环境100的其他设备。

环境100可以包括一个或以上数据存储(例如,数据存储108)和可访问系统102的一个或以上计算设备(例如,计算设备109)。在一些实施例中,系统102可以被配置为从数据存储108(例如,历史运输行程的数据库或数据集)和/或计算设备109(例如,计算机、服务器、司机或乘客获取运输行程信息使用的移动电话)获得数据(例如,起点、目的地、时间、位置、行驶时间和过去车辆运输行程的其他数据)。系统102可以使用所获得的数据来训练用于估计到达时间的机器学习模型。所述起点、目的地和其他位置信息可以包括GPS(全球定位系统)坐标。

环境100可以进一步包括耦合到系统102的一个或以上计算设备(例如,计算设备110和111)。计算设备110和111可以包括诸如手机、平板电脑、计算机、可穿戴设备(智能手表)等设备。计算设备110和111可以向系统102发送数据或从系统102接收数据。

在一些实施例中,系统102可以实现在线信息或服务平台。所述服务可以与车辆(例如,汽车、自行车、船、飞机等)相关联,并且所述平台可以被称为车辆(打车服务或乘车订单调度)平台。所述平台可以接收运输请求、匹配车辆以完成请求、安排接取乘客以及处理交易。例如,用户可以使用计算设备110(例如,安装有与平台相关联的软件的应用程序的移动电话)从平台请求运输。系统102可以接收请求并将其发送到各种车辆司机(例如,通过将请求发布到司机携带的移动电话)。车辆司机可以使用计算设备111(例如,安装有与平台相关联的应用程序的另一个移动电话)来接收发布的运输请求并获得上车位置信息。费用(例如,运输费用)可以在系统102和计算设备110和111之间进行交易。一些平台数据可以存储在存储器106中或者可以从数据存储108和/或计算设备109、110和111中读取。例如,对于每次行程,起点和目的地的位置(例如,由计算设备111发送的位置)、费用和行程时间可以由系统102获得。这些行程数据可以合并到训练数据中。

在一些实施例中,系统102和一个或以上计算设备(例如,计算设备109)可以集成在一个单独的设备或系统中。可替换地,系统102和一个或以上计算设备可以作为单独的设备运行。数据存储可以位于系统102可访问的任何位置,例如,在存储器106中、在计算设备109中、在耦合到系统102的另一设备(例如,网络存储设备)中或其他存储位置(例如,基于云的存储系统、网络文件系统等)等。尽管在该图中系统102和计算设备109被示为独立的组件,但是应当理解,系统102和计算设备109可以由独立设备或耦合在一起的多个设备实现。系统102可以由一个独立系统或相互耦合的多个系统实现。通常,系统102、计算设备109、数据存储108和计算设备110和111可以通过一个或以上可以传输数据的有线或无线网络(例如,因特网)彼此通信。下面参考图2至图5描述环境100的各个方面。

图2示出了根据各种实施例的用于调度乘车订单的示例系统200。图2中所示和下述的操作旨在说明。

在各种实施例中,系统102可以从数据存储108和/或计算设备109、110和111获得数据202和/或数据206。计算设备111可以与(例如,由其使用)服务车辆的司机相关联,所述服务车辆包括,例如,出租车、打车服务车辆等。计算设备110可以与(例如,由其使用)请求车辆服务的用户相关联。数据202和数据206可以包括用于训练机器学习模型的训练数据和/或在应用训练后的机器学习模型时用于估计到达时间的计算数据。例如,训练数据和计算数据可以包括与行程有关的信息(例如,起点、目的地)和/或与行程无关的信息(例如,道路宽度、道路等级)。训练数据可以预先收集以训练机器模型,计算数据可以实时地或响应查询204获得。一些计算设备可以包括各种传感器以记录用于训练或计算的数据。例如,GPS(全球定位系统)可以记录车辆的实时位置。GPS或结合时钟的速度计可以记录相对于位置和时间的车辆速度。下面参考图4A描述训练数据的进一步细节。获得的数据202和/或206可以存储在存储器106中。系统102可以用获得的数据202和/或数据206(训练数据)训练机器学习模型以估计到达时间。

在一些实施例中,准备下乘车订单的用户可以使用计算设备110将查询204发送到系统102。查询204可以从计算设备110有意或无意地传输。查询204可以包括用于估计到达时间的请求。可替换地,计算设备110可以与正在请求或已请求车辆服务的用户相关联。也就是说,所述用户可以已经接受或还未接受车辆服务。在前一种情况下,查询204可以进一步包括诸如起点(例如,上车位置)、目的地等的信息。因此,系统102可以应用训练后的机器学习模型来估计到达时间并将数据207发送到计算设备110或一个或以上其他设备,例如计算设备111。数据207可以包括到达目的地的估计时间。如果用户尚未接受车辆服务,则所述用户可以基于估计的到达时间来提出或取消车辆服务。如果用户已经接受了车辆服务(例如,当与车辆一起行驶时),则用户可以基于估计的到达时间来调整时间表。由于估计的到达时间可以与计划的路线相关联,因此车辆司机可以基于估计的到达时间来调整计划的路线。例如,如果实时更新估计的到达时间,并且由于诸如计划路线上的事故等原因出现堵车,则司机可以相应地切换替代路线。如果系统102确定当前行驶路线偏离最初计划的路线(例如,基于车辆的实时位置跟踪),则系统102可以更新计划的路线并相应地更新估计的行驶时间。

所述到达时间估计可以由诸如服务器、移动电话等的计算设备触发。在各种实施例中,用于估计与乘车订单相关联的到达时间的方法可包括将运输信息输入到训练后的机器学习模型。所述运输信息可包括起点(例如,上车位置)和与乘车订单相关联的目的地(即,从起点到目的地的运输)。所述方法可以进一步包括,基于训练后的机器学习模型,获得通过连接起点和目的地的路线到达目的地的估计时间。所述路线可以包括连接的链路序列,每个链路对应一个路段。根据道路等级、限速、路灯等各种因素,街道可以包括许多链路(路段)。在一些实施例中,可以在这些因素中的一个或以上改变的位置处确定链路末端。所述运输信息可以进一步包括以下中的至少一个:司机标识、乘客标识、星期几、时间、天气、高峰时段确定、包含所述路线的形状、链路标识、链路速度限制、链路收费确定、链路道路宽度、链路道路等级、实时链路交通速度、链路长度或链路交通灯持续时间。如参考下面图3A-3C所述,训练后的机器学习模型可以包括耦合到多层感知器网络的广度网络、深度神经网络和递归神经网络。

图3A示出了根据各种实施例的用于估计到达时间的示例机器学习模型305及其训练过程310。图3A中所示和下述的操作旨在说明。机器学习模型305可包括耦合到多层感知器网络308的广度网络302、深度神经网络304和递归神经网络306。

在一些实施例中,可以基于至少两个历史车辆行程中的每一个历史车辆行程来执行训练。训练机器学习模型可以包括:(步骤301)获取与历史车辆行程相关的运输训练数据,所述运输训练数据包括连接历史起点和历史目的地的历史路线和真实历史行程时间;(步骤303a和303b)从运输训练数据获得一个或以上全局特征和局部特征;将全局特征输入到广度网络302、将全局特征输入到深度神经网络304以及将局部特征输入到递归神经网络306以分别获得输出;将广度网络、深度神经网络和递归神经网络的输出输入到多层感知器网络308,以获得估计历史行程时间(步骤307);以及(步骤309)至少基于估计历史行程时间与真实历史行程时间之间的差异的最小化,更新与广度网络、深度神经网络、递归神经网络和多层感知器网络相关联的一个或以上权重。

在一些实施例中,所述运输训练数据可以从各种系统、设备(例如,移动电话上的传感器)、数据存储(例如,在线地图数据存储)等获得。例如,运输训练数据可包括地图数据、道路数据、乘车订单数据等。运输数据可以被预处理。例如,各种阈值处理和过滤技术可用于从原始数据中去除噪声。

在一些实施例中,可以从运输数据获得全局特征和局部特征。所述全局特征可包括稀疏特征和第一密集特征。所述局部特征(或者被称为序列特征)可以包括名义特征和第二密集特征。在一些情况下,与密集特征相反,稀疏特征作为数据表示包含大比例的零。此外,在一个示例中,运输训练数据可以对应于各种历史行程。每个历史行程可以与历史路线相关联,过去的运输已经通过所述历史路线从历史起点到历史目的地执行。所述历史路线可以对应于连接的链路序列,每个链路对应于一个路段。对于历史路线中的链路,全局特征可以是统一的,以及局部特征可以分别与链路相关(即,可以不同于链路到链路)。街道可分为一个或以上链路。在某些情况下,路灯或路口划分两个或以上相邻的链路。

在一些实施例中,参考但不限于全局特征,稀疏特征可以包括以下至少一个:司机标识(例如,存储在系统102中的数据库中的司机ID,该数据库还存储与该司机ID相关联的其他信息)、乘客标识(例如,存储的与司机ID类似的乘客ID)、星期几、时间(例如,时间戳,当一天被分成等时间片(例如5分钟)时的时间片)、天气(例如,行程期间的天气)或高峰时段确定(例如,过去的行程是否与预设的高峰交通时间重叠)。第一密集特征(或者被称为第一实数特征)可以包括包含路线的形状(例如,最小的正方形)。

在一些实施例中,参考但不限于局部特征,与链路相对应的名义特征可以包括以下中的至少一个:链路标识(例如,存储在系统102中的数据库中的链路ID,所述数据库也存储与链路ID相关的其他信息)、链路速度限制(例如,每个路段的车速限制)、链路收费确定(例如,每个路段是否有收费)、链路道路宽度或链路道路等级(例如,公路等级、地方道路等级)。相应地与链路相关联的第二密集特征(或者可选地被称为第二实数特征)可以包括以下中的至少一个:实时链路交通速度(例如,每个路段上的实时交通流速度)、链路长度、或链路交通灯持续时间(例如,每个路段的路灯的红灯或绿灯持续多长时间)。

全局和局部特征中的每一个特征都可能影响到达时间。例如,恶劣天气和收费站可能会减慢行驶速度并延迟到达时间。又例如,链路速度限制可以设定通过该链路的行驶速度的理论上限。再例如,包含路线的最小方块可以与其两个相对角的坐标位置相关联,这可以用于确定两个方块是否邻近。如果两个方块在地理上邻近,则其对应的路线可以确定位于相同区域中并且在估计的到达时间中具有一定的相似性。

参考但不限于广度网络302,在一些实施例中,将全局特征(稀疏特征和第一密集特征)输入到广度网络,以从广度网络获得输出可以包括:(步骤312)获得至少两个特征乘积,每个特征乘积对应于全局特征中的每两个全局特征之间的乘积(例如,交叉);以及(步骤322)基于全局特征和所获得的特征乘积进行仿射变换,得到广度网络的输出。所述仿射变换将全局特征和所获得的特征乘积映射到输出,并且所述全局特征(输入)和输出与一个或以上权重相关联。例如,如果两个全局特征是x和y,则它们的乘积xy可以是特征乘积,并且可以对(x,y,xy)执行仿射变换以获得w

参考但不限于深度神经网络304,在一些实施例中,深度神经网络可以包括前馈神经网络(FNN)。参考下面图3B描述的多层感知器(MLP)网络是FNN的示例。前馈神经网络可以包括按一定顺序排列的至少两个层。所述至少两个层包括输入层,一个或以上隐藏层和输出层。彼此相邻的每两个层可以与一个或以上权重相关联。全局特征可包括稀疏特征和第一密集特征。将全局特征输入到深度神经网络以获得来自深度神经网络的输出可以包括:(步骤314)嵌入稀疏特征(例如,应用sigmoid函数、应用局部线性嵌入),(步骤324)连接第一密集特征和嵌入式稀疏特征(例如,将特征进行结合);以及(步骤334)将连接的第一密集特征和稀疏特征馈送到前馈神经网络,以获得前馈神经网络的输出层的输出。

参考但不限于递归神经网络306,在一些实施例中,递归神经网络可以包括按照一定顺序排列的至少两个层,所述顺序与链路序列向对应。彼此相邻的每两个层可以与权重中的一个或以上相关联。除了第一层之外的每个层可以从先前层接收输入和先前隐藏状态,并且生成输出和当前隐藏状态。将局部特征(名义特征和第二密集特征)输入到递归神经网络以获得来自递归神经网络的输出可以包括对于每个历史行程,相应地将局部特征作为输入馈送到这些层中以获取层序列中最后一层的当前隐藏状态。下面参考图3C描述示例性递归神经网络。

可替换地,递归神经网络包括耦合到长短期记忆网络(LSTM)的多层感知器(MLP)网络,另一个多层感知器网络和长短期记忆网络各自与一个或以上权重相关联。例如,MLP和LSTM可以包括与递归神经网络306的输入和输出相关联的一个或以上权重。在一些实施例中,将局部特征输入到递归神经网络,以从递归神经网络获得输出可以包括:(步骤316)将局部特征馈送到另一个多层感知器网络,以获得与链路相对应的第一结果;以及(步骤326)将第一结果相应地作为输入馈送到长短期记忆网络的各层,以获得各层的最后一层的当前隐藏状态。

参考但不限于多层感知器网络308,在一些实施例中,多层感知器网络可包括按照一定顺序排列的至少两个层。所述至少两个层包括输入层、一个或以上隐藏层和输出层。彼此相邻的每两个层与一个或以上权重相关联。输入层可以包括来自广度网络302的输出、来自深度神经网络304的输出、以及来自递归神经网络306的输出(例如,隐藏状态)。下面参考图3B描述示例性多层感知器网络。

在一些实施例中,在步骤307,可以从多层感知器网络308输出估计历史行程时间。在步骤309,如上所述,与机器学习模型305相关联的权重(即,与广度网络302、深度神经网络304和递归神经网络306、以及多层感知器网络308相关联的权重)可以至少基于来自步骤307的估计历史行程时间与来自历史数据的真实历史行程时间之间的差异的最小化来更新。历史行程时间可以被独立地验证、手动获得、交叉检查或以其他方式保持准确。在一个示例中,可以通过使用损失函数来计算估计历史行程时间与真实历史行程时间之间的误差。所述误差可以通过机器学习模型305传播回来,例如,使用反向传播算法,根据随机梯度下降一次一层更新每层的权重,这可以称为倒推法。

在一些实施例中,在训练结束时,权重已经被训练,使得估计的到达时间的准确度高于阈值。所述准确度可以使用历史行程数据来验证。在一些实施例中,当应用训练后的机器学习模型来按需估计到达时间时,可以将运输数据馈送到与上述运输训练数据类似的模型。所述运输数据可以包括诸如起点和目的地之类的信息。诸如上述各种特征的其他数据可以包含在运输数据中或者可以从诸如在线数据存储、云设备之类的其他源获取。

图3B示出了根据各种实施例的用于估计到达时间的示例性多层感知器结构。图3B中所示和下述的操作旨在说明。

在诸如多层感知器网络的神经网络中,神经元可以用作基本构建块。神经元可以接收输入信号(例如,输入数据),使用逻辑计算功能对输入信号进行处理,并根据计算结果发送输出信号(例如,输出数据)。当这些神经元被排列成神经元网络时,被称为神经网络。网络中的每列神经元称为一层,网络可以有多层,每层有多个神经元。具有单个神经元的网络称为感知器,具有多层神经元的网络称为多层感知器(MLP)。例如,图3B中示出了两个隐藏层MLP(层A

A

A

其中,f是将权重(例如,W

图3C示出了根据各种实施例的用于估计到达时间的示例递归神经网络(RNN)结构。图3C中所示和下述的操作旨在说明。

由于路线可以被划分为链路,而且由于车辆可能经由链路从起点行进到目的地,因此链路之间可以是呈序列的。递归神经网络可以利用序列信息来估计到达时间。也就是说,输入(和输出)可以彼此依赖。RNN被称为递归,因为它们对序列的每个元素执行相同的任务,输出取决于先前的计算。RNN可以利用任意长序列中的信息,例如,几步之后的信息。

图3C示出了RNN的一部分(层t-1、层t、层t+1)。层t-1对应于路线的链路t-1、层t对应于路线的链路t、层t+1对应于路线的链路t+1。每个层(除第一层之外)可以从先前层接收输入和隐藏状态。例如,对于层t,它接收输入t和隐藏状态t-1。所述输入可以用向量表示。隐藏状态可以被称为网络的“存储器”。隐藏状态t可以基于,例如,输入t的非线性函数和每个与权值相关联的隐藏状态t-1来获得。输出t可以是与权值相关联的隐藏状态t的函数。

如上所示,所公开的系统和方法可以显著提高到达时间估计的准确性。广度网络和深度神经网络可以模拟路线的整体特征。例如,通过交叉乘积,稀疏特征可以被高精度地建模。此外,RNN可以模拟各种链路的特征及其在到达时间估计中的差异。因此,所公开的系统和方法显著改进了现有技术。

图4A示出了根据本申请的各种实施例所示的示例方法400的流程图。方法400可以在各种环境,包括例如图1的环境100中实现。示例方法400可以通过系统102(例如,处理器104、存储器106)、计算设备110(例如,与用户相关联的移动电话)或计算设备111(例如,与车辆司机相关联的移动电话)的一个或以上组件实现。示例方法400可以由类似于系统102的多个系统实现。下述方法400的操作旨在说明。取决于实施方式,示例方法400可以包括附加的、减少的、或替代性的步骤,所述步骤可以以各种顺序执行或并行执行。

在步骤402处,可以将运输信息输入到训练后的机器学习模型。所述运输信息可以包括与乘车订单相关联的起点和目标地,所述训练后的机器学习模型包括耦合到多层感知器网络的广度算法、深度神经网络和递归神经网络。在步骤404,基于训练后的机器学习模型,可以获得通过连接起点和目的地的路线到达目的地的估计时间。

图4B示出了根据本申请的各种实施例所示的示例方法450的流程图。方法450可以在各种环境,包括例如图1的环境100中实现。示例方法450可以由系统102的一个或以上组件(例如,处理器104、存储器106)实现。示例方法450可以由类似于系统102的多个系统实现。下述方法450的操作旨在说明。取决于实施方式,示例方法450可以包括附加的、减少的、或替代性的步骤,所述步骤可以以各种顺序执行或并行执行。下面描述的各种模块可以,例如,通过上面讨论的方法训练。

在步骤452,可以获得与历史车辆行程相关的运输训练数据,所述运输训练数据包括连接历史起点和历史目的地的历史路线和真实历史行程时间。在步骤454,可以从运输训练数据获得一个或以上全局特征和局部特征。在步骤456,可以将全局特征输入到广度算法、将全局特征输入到深度神经网络以及将局部特征输入到递归神经网络,以分别获得输出。在步骤458,可以将广度算法、深度神经网络和递归神经网络的输出输入到多层感知器网络,以获得估计历史行程时间。在步骤460处,可以至少基于估计历史行程时间和实际历史行程时间之间的差异的最小化来更新与广度算法、深度神经网络、递归神经网络相关联的一个或多个权重和多层感知器网络。历史路线可以对应于连接的链路序列,每个链路对应于一个路段。对于历史路线中的链路,全局特征可以是统一的,并且局部特征可以分别与链路相关(即,可以因链路不同而不同)。

图4C示出了根据本申请的各种实施例所示的示例方法480的流程图。方法480可以在各种环境,包括例如图1的环境100中实现。示例方法480可以由系统102的一个或以上组件(例如,处理器104、存储器106)实现。示例方法480可以由类似于系统102的多个系统实现。下述方法480的操作旨在说明。取决于实施方式,示例方法480可以包括附加的、减少的、或替代性的步骤,所述步骤可以以各种顺序执行或并行执行。下面描述的各种模块可以,例如,通过上面讨论的方法训练。

在步骤482,可以从设备(例如,诸如移动电话之类的计算设备)接收从起点运输到目的地的乘车订单。在步骤484,可以确定连接起点和目的地的路线。例如,可以确定连接起点和距离的最短距离的路线或最常行驶的路线。在步骤486,可以获得与路线相关联的运输信息。在步骤488,可以将获得的运输信息输入训练后的机器学习模型,以获得通过所述路线到达目的地的估计时间。在步骤490,可以将估计时间在设备上播放(例如,在屏幕上显示、作为语音播放)。

可替换地,可以从设备(例如,诸如移动电话之类的计算设备)接收从起点运输到目的地的乘车订单。可以确定连接起点和目的地的一个或以上路线。可以获得与所述路线相关联的运输信息,并将所述运输信息输入训练后的机器学习模型,以获得通过所述路线到达目的地的各种行程持续时间(不同于估计时间)。路线中的一个或以上,例如最快的路线,可以被确定以及和相应的估计到达时间一起在设备上播放(例如,在屏幕上显示、作为语音播放)。

本申请描述的技术由一个或以上专用计算设备实现。所述专用计算设备可以是执行所述技术的硬连线,或者可以包括电路或数字电子设备,例如一个或以上专用集成电路(ASIC)或被持久地编程以执行这些技术的现场可编程门阵列(FPGA),或者可以包括一个或以上硬件处理器,所述硬件处理器根据固件、存储器、其他存储器或组合中的程序指令编程来执行技术。这种专用计算设备还可以将定制的硬连线逻辑、ASIC或FPGA与定制编程相结合以实现这些技术。所述专用计算设备可以是台式计算机系统、服务器计算机系统、便携式计算机系统、手持设备、网络设备或任何其他设备或包含硬连线和/或程序逻辑以实现该技术的设备的组合。计算设备通常由操作系统软件控制和协调。传统的操作系统控制和计划计算机的执行进程、执行存储器管理、提供文件系统、网络、输入/输出服务、以及提供用户界面功能,例如图形用户界面(“GUI”)等。

图5是示出计算机系统500的模块图,在该计算机系统500上可以实现本申请描述的任何实施例。系统500可以对应于上述系统102。计算机系统500包括总线502或用于交流信息的其他通信机制、一个或以上与总线502耦合用于处理信息的硬件处理器504。硬件处理器504可以是,例如,一个或以上通用微处理器。处理器504可以对应于上述处理器104。

计算机系统500还包括与总线502耦合用于存储由处理器504执行的信息和指令的主存储器506,例如,随机存取存储器(RAM)、缓存和/或其他动态存储设备。主存储器506还可以用于在处理器504执行待执行指令期间存储临时变量或其他中间信息。当这些指令存储在处理器504可访问的存储介质中时,可使计算机系统500成为被定制为执行指令中指定的操作的专用机器。计算机系统500进一步包括只读存储器(ROM)508或耦合到总线502的用于存储处理器504的静态信息和指令的其他静态存储设备。存储设备510,例如磁盘、光盘或USB拇指驱动器(闪存驱动器)等,被提供和耦合到总线502,用于存储信息和指令。主存储器506、ROM508和/或存储器510可以对应于上述存储器106。

计算机系统500可以使用定制的硬连线逻辑、一个或以上ASIC或FPGA、固件和/或程序逻辑来实现本申请描述的技术,所述程序逻辑与计算机系统组合使计算机系统500成为或被编程为特殊用途机器。根据一个实施例,响应于处理器504执行主存储器506中包含的一个或以上指令中的一个或以上序列,计算机系统500执行本申请中的技术。这些指令可以从另一存储介质,例如存储设备510读入主存储器506。主存储器506中包含的指令的序列的执行使得处理器504执行本申请描述的处理步骤。在替代性实施例中,可以使用硬连线电路代替软件指令或与软件指令组合。

主存储器506、ROM 508和/或存储器510可以包括非暂时性存储介质。这里使用的术语“非暂时性介质”和类似术语是指存储使机器以特定方式操作的数据和/或指令的任何介质。这种非暂时性介质可以包括非易失性介质和/或易失性介质。非易失性介质包括,例如光盘或磁盘,如存储设备510。易失性介质包括动态存储器,例如主存储器506。非暂时性介质的常见形式包括,例如,软盘、软性磁盘、硬盘、固态驱动器、磁带、或任何其他磁性数据存储介质、CD-ROM、任何其他光学数据存储介质、具有孔图案的任何物理介质、RAM、PROM、EPROM、FLASH-EPROM、NVRAM、任何其他存储器芯片或盒式磁带、以及相同的网络版本。

计算机系统500还包括耦合到总线502的通信接口518。通信接口518提供耦合到一个或以上网络链路的双向数据通信,所述网络链路连接到一个或以上本地网络。例如,网络接口518可以是综合业务数字网(ISDN)卡、线缆调制解调器、卫星调制解调器或用于提供与相应类型的电话线路进行数据通信连接的调制解调器。又例如,网络接口518可以是提供与兼容的LAN(或与WAN通信的WAN组件)之间的数据通信连接的局部区域网络(LAN)卡。也可以实现无线链路。在任何此类实施方式中,网络接口518发送和接收携带代表各类信息的数字数据流的电信号、电磁信号或光信号。

计算机系统500可以通过网络、网络链路和网络接口518发送消息并接收包括程序代码的数据。以因特网为例,服务器可以通过因特网、ISP、本地网络和网络接口518为应用程序发送请求代码。

所接收的代码可以在收到后由处理器504执行、和/或存储在存储设备510或其他非易失性存储器中以供后续执行。

在前面部分中描述的过程、方法和算法中的每一个可以由代码模块实现,并且通过该代码模块实现完全自动化或半自动化。所述代码模块通过一个或以上包括计算机硬件的计算机系统或计算机处理器执行。所述过程和算法可由应用特定电路部分地或完全地实现。

上述各种特征和过程可以彼此独立地使用,或者可以以各种方式组合。所有可能的组合和子组合落入本申请的范围内。另外,在一些实施中可以省略某些方法或过程块。本申请描述的方法和过程也不限于任何特定顺序,并且与其相关的步骤或状态可以以其他合适顺序执行。例如,所描述的步骤或状态可以以不同于具体公开的顺序执行,或者多个步骤或状态可以组合为单个步骤或状态。示例性步骤或状态可以串行、并行或以其他方式执行。可以向所公开的示例实施例添加步骤或状态或从其中移除步骤或状态。本申请描述的示例系统和组件可以与描述不同地配置。例如,相比于与所披露的示例实施例,可以添加、移除或重新布置组件。

可以至少部分地通过算法来执行本申请描述的示例方法的各种操作。所述算法可以被包含在存储在存储器(例如,上述的非暂时性计算机可读存储介质)中的程序代码或指令中。这种算法可以包括机器学习算法或模型。在一些实施例中,机器学习算法或模型可以不明确地对计算机进行编程以执行功能,但是可以从训练数据中学习以建立执行该功能的预测模型(训练后的机器学习模型)。

本申请描述的示例方法的各种操作可以至少部分地由一个或以上处理器执行,所述一个或以上处理器可以临时配置(例如,通过软件)或永久配置为执行相关操作。无论是临时配置还是永久配置,所述处理器都可以构成由处理器实现的运行以执行本申请描述的一个或以上操作或功能的引擎。

类似地,本申请描述的方法可以至少部分地由特定处理器或作为硬件示例的处理器实现。例如,方法的操作的至少一部分可以由一个或以上处理器或处理器实现的引擎来执行。此外,一个或以上处理器还可以运行以支持“云计算”环境中的相关操作的性能或实现“软件即服务”(SaaS)。例如,所述操作的至少一部分可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可以通过网络(例如,因特网)和一个或以上适当的接口(例如,应用程序接口(API))访问。

某些操作的执行可以在处理器之间分配,不仅驻留在单个机器内,而且部署在多个机器上。在一些示例实施例中,处理器或处理器实现的引擎可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施例中,处理器或处理器实现的引擎可以分布在多个地理位置。

在整个说明书中,多个实例可以实现为单个实例描述的组件、操作或结构。尽管一个或以上方法的各个操作被示出并描述为单独的操作,但是可以同时执行各个操作的一个或以上操作,并且不需要以所示的顺序执行操作。在示例配置中作为单独组件呈现的结构和功能可以实现为组合结构或组件。类似地,作为单个组件呈现的结构和功能可以实现为单独的组件。这些和其他变化、修改、添加和改进都落入本申请主题的范围内。

尽管已经参考特定示例性实施例描述了本申请主题,但是可以在不脱离本申请的实施例的较宽范围的情况下对这些实施例进行各种修改和改变。本申请主题的这些实施例可单独地或共同地由术语“发明”指代,此举仅为描述方便,而不旨在当实际有多于一个披露或概念被披露时主动将本申请的范围限制于任何单个的披露或概念。

本申请所示的实施例已被描述的足够详尽,使得本领域技术人员能够实施所披露的内容。其他实施例也可以从所披露的内容中推出并使用,使得可以在不脱离本申请的范围的情况下,对本申请实施例作出结构和逻辑上的替换和改变。因此,具体实施方式不应被视为具有限制意义,并且各种实施例的范围仅由所附权利要求以及这些权利要求所赋予的等价物的全部范围来限定。

本申请所述流程图和/或附图中描绘的任何过程描述、元素或步骤应理解为潜在地表示模块、部件、或代码中的部分,这些模块、部件、或代码中的部分包括用于实现特定逻辑功能或过程步骤的一个或以上可执行指令。本领域技术人员可以理解的是,本申请描述的实施例的范围内还包括备选实施方式。在这些备选实施方式中,元件或功能可以被删除,或取决于所涉及的功能而不由所示出的或论述的顺序来执行,包括实质上同时执行或以相反的顺序执行。

如本申请所用,术语“或”可以解释为包含性或排他性含义。此外,可以为在此描述为单个实例的资源、操作或结构提供多个实例。另外,各种资源、操作、引擎和数据存储之间的边界在某种程度上是任意的,并且在特定说明性配置的上下文中示出了特定操作。设想的其他功能的分配可以落入本申请的各种实施例的范围内。通常,在示例配置中作为单独资源呈现的结构和功能可以以组合结构或组合资源实现。类似地,作为单独资源呈现的结构和功能可以以多个分离的资源实现。这些以及其他变化、修改、添加和改进均落入由所附权利要求表示的本申请的实施例的范围内。相应地,说明书和附图应被视为说明性的而非限制性的。

条件语言,例如,除其他之外、“可以”、“可以”、“可能”或“可以”,除非另有明确说明,或者在使用的上下文中另有理解,通常旨在表达某些实施例包括,而其他实施例不包括某些特征、元素和/或步骤。因此,这种条件语言并非旨在暗示特征、元素和/或步骤以任何要求的方式在一个或多个实施例中存在,或者暗示一个或多个实施例必然包含用于判断的逻辑,有或没有用户输入或提示,这些特征、元素和/或步骤是否包括在任何特定实施例中或是在任何特定实施例中执行。

相关技术
  • 用于估计和补偿到达时间差估计中的NLOS偏差的方法
  • 用于估计到达时间的系统和方法
技术分类

06120113677603