基于改进图神经网络的交通量预测

2020-09-06 10:32:13

通过与谷歌合作,DeepMind能够将AI的好处带给全球数十亿人,从让一位言语受损的用户与他的原声重聚,到帮助用户发现个性化的应用,我们可以在谷歌规模上将突破性研究应用到迫在眉睫的现实世界问题上。今天,我们很高兴分享我们最新合作的成果,为使用谷歌地图的10亿多人带来真正的全球影响。

人们依赖谷歌地图来获得准确的交通预测和估计的到达时间(ETA)。这些都是非常重要的工具,当您需要绕开交通堵塞绕行时,如果您需要通知朋友和家人您迟到了,或者您需要及时离开去参加一个重要会议,这些工具都特别有用。这些功能对拼车公司等企业也很有用,这些公司使用谷歌地图平台通过上下车时间的信息以及基于出行持续时间的估计价格来支持他们的服务。

DeepMind的研究人员与谷歌地图团队合作,通过使用包括图形神经网络在内的先进机器学习技术,在柏林、雅加达、圣保罗、悉尼、东京和华盛顿特区等地将实时ETA的准确性提高了高达50%,如下图所示:

为了计算ETA,谷歌地图分析了世界各地路段的实时交通数据。虽然这些数据为谷歌地图提供了当前交通的准确图景,但它并没有考虑到司机在开车10分钟、20分钟甚至50分钟后预计会看到的交通情况。为了准确预测未来的交通,谷歌地图使用机器学习将实时交通状况与世界各地道路的历史交通模式结合起来。这个过程很复杂,原因有很多。例如,尽管高峰时间不可避免地发生在每天早上和晚上,但高峰时间的确切时间可能会因日而月而有很大的不同。道路质量、限速、事故和封闭等其他因素也会增加预测模型的复杂性。

DeepMind与谷歌地图合作,帮助提高他们在世界各地的ETA的准确性。虽然谷歌地图的预测ETA在超过97%的行程中一直都是准确的,但我们与团队合作,进一步将剩余的不准确降至最低-在台中等城市,有时会达到50%以上。为了在全球范围内做到这一点,我们使用了一种名为图形神经网络的通用机器学习体系结构,它允许我们通过结合关系学习偏差来进行时空推理,以对现实世界道路网络的连通性结构进行建模。它是这样运作的:

我们将公路网划分为“超级路段”,这些路段由多个相邻路段组成,这些路段共享着巨大的交通量。目前,Google Maps交通预测系统由以下部分组成:(1)路径分析器,用于处理TB级的交通信息以构建超级路段;(2)新的图形神经网络模型,该模型进行多目标优化,预测每个超级路段的行程时间。

当创建一个机器学习系统来使用SuperSegments估计旅行时间时,需要解决的最大挑战是架构问题。我们如何以任意精度表示连接线段的动态大小示例,从而使单个模型能够取得成功?

我们最初的概念验证是从尽可能使用现有交通系统的直接方法开始的,特别是现有的道路网络分段和相关的实时数据管道。这意味着超级路段覆盖了一组路段,其中每个路段都有特定的长度和相应的速度特征。首先,我们为每个超分段训练一个单一的全连接神经网络模型。这些初步结果是有希望的,并证明了使用神经网络预测旅行时间的潜力。然而,考虑到超级段的动态大小,我们需要为每个超级段分别训练一个神经网络模型。要大规模部署它,我们必须培训数百万个这样的模型,这将构成相当大的基础设施挑战。这导致我们研究可以处理可变长度序列的模型,例如递归神经网络(RNNs)。然而,事实证明,从公路网中进一步融入结构是困难的。取而代之的是,我们决定使用图形神经网络。在交通建模中,我们感兴趣的是汽车如何在道路网络中流动,而图神经网络可以对网络动力学和信息传播进行建模。

我们的模型将局部路网视为一个图,其中每条路线段对应一个节点,在同一道路上连续或通过交叉口连接的路段之间存在边。在图神经网络中,执行消息传递算法,其中消息及其对边和节点状态的影响由神经网络学习。从这个角度来看,我们的超级路段是道路子图,是按照交通密度的比例随机抽样的。因此,单个模型可以使用这些采样的子图进行训练,并且可以按比例部署。

图形神经网络扩展了卷积神经网络和递归神经网络施加的学习偏差,推广了“邻近”的概念,允许我们具有任意复杂的连接,不仅可以处理前面或后面的交通,而且还可以处理相邻和交叉道路上的交通。在图形神经网络中,相邻节点相互传递消息。通过保持这种结构,我们施加了局部性偏向,节点将发现更容易依赖相邻节点(这只需要一个消息传递步骤)。这些机制使图形神经网络能够更有效地利用道路网络的连通性结构。我们的实验已经证明,通过扩展到包括不属于主干道的相邻道路,可以提高预测能力。例如,想一想小街上的拥堵如何溢出到影响较大道路上的交通。通过跨越多个交叉口,该模型能够自然地预测轮流延误、合并造成的延误以及走走停停交通中的总穿越时间。图形神经网络在组合空间上的这种泛化能力是我们的建模技术的强大之处。从简单的两段路由到包含数百个节点的较长路由,每个超级段可以具有不同的长度和不同的复杂性,但是仍然可以由相同的图形神经网络模型进行处理。

对于在学术环境中经常被忽视的产生式机器学习系统来说,一个很大的挑战涉及到同一模型的多个训练运行之间可能存在的巨大可变性。虽然在更多的学术设置中,质量上的微小差异可以简单地作为糟糕的初始化被丢弃,但当这些微小的不一致加在一起时,可能会对数百万用户产生很大的影响。因此,当我们将模型推向生产时,使我们的图形神经网络在训练中对这种可变性具有健壮性成为中心舞台。我们发现,图形神经网络对训练课程的变化特别敏感-这种不稳定性的主要原因是在训练过程中使用的图形结构具有很大的可变性。一批图可以包含从小的两个节点的图到大的100多个节点的图的任何地方。

然而,在经过多次试验和错误之后,我们开发了一种方法,通过采用一种新的强化学习技术来解决这个问题,该技术用于有监督的设置。

在训练机器学习系统时,系统的学习率规定了它的“可塑性”--或对新信息的易变性。随着时间的推移,研究人员通常会降低他们模型的学习速度,因为在学习新事物和忘记已经学到的重要特征之间存在权衡-就像从童年到成年的过程一样。我们最初使用的是指数递减的学习率时间表,在经过一段预定的训练时间后稳定我们的参数。我们还探索和分析了在以前的工作中被证明有效的模型集成技术,看看我们是否可以减少训练运行之间的模型方差。

最后,解决这个问题的最成功的方法是使用MetaGradients在训练期间动态调整学习速率-有效地让系统学习自己的最优学习速率时间表。通过在训练过程中自动调整学习率,我们的模型不仅获得了比以前更高的质量,而且还学会了自动降低学习率。这导致了更稳定的结果,使我们能够在生产中使用我们新颖的架构。

虽然我们的建模系统的最终目标是减少旅行估计中的错误,但我们发现,利用多个损失函数的线性组合(适当加权)极大地提高了模型的泛化能力。具体地说,我们利用模型权重的正则化因子,全局遍历时间上的L2和L1损失,以及图中每个节点的单个Huber损失和负对数似然损失(NLL),制定了一个多损失目标。通过组合这些损失,我们能够指导我们的模型,并避免在训练数据集上过度拟合。虽然我们在培训中对质量的测量没有改变,但在培训过程中看到的改进更直接地转化为坚持测试集和我们的EN

由于我们与Google Maps团队密切而富有成效的合作,我们能够大规模应用这些新开发的技术。我们一起克服了研究挑战以及生产和可伸缩性问题。最终,最终的模型和技术导致了一次成功的发布,提高了全球谷歌地图和谷歌地图平台API上的ETA的准确性。

在谷歌规模上从事尖端研究代表着一系列独特的挑战。如果您对应用尖端技术(如图形神经网络)来解决实际问题感兴趣,请在此处了解更多有关处理这些问题的团队的信息。

合作伙伴:Marc Nunkesser,李承载,郭雪英,Austin Derrow-Pinion,David Wong,Peter Battaglia,Todd Hester,Petar VeličKović‎,Vishal Gupta,Ang Li,徐忠文,Geoff Hulten,Jeffrey HighTower,Luis C.Cobo,Praveen Srinivasan&Amp;Harish Chandran。