找回密码
 立即注册
搜索

谷歌地图:机器学习说您的公交将延迟三分钟到达

选自Googleblog

作者:Alex Fabrikant

机器之心编译

参与:王子嘉、张倩

听说,等公交有一个窍门:假如左等右等都等不到,只需点上一支烟它马上就到。这个段子似乎告诉我们,等公交是一门玄学。但在机器学习界,这类玄学成绩可以用迷信方式处理。




公共交通支撑着全球数亿人的日常通勤,其中一半以上都跟公共汽车有关。随着全球范围内城市的不断发展,通勤者们末尾希望知道公共交通的延误状况,尤其是极易因堵车而正点的公交车。虽然曾经有很多交通机构在向谷歌地图提供实时数据,但由于技术和资源的限制,很多机构是没办法提供这些信息的。

最近,谷歌地图引入了公交车实时交通延迟提示系统,这个系统可以预测全球包括亚特兰大、萨格勒布、伊斯坦布尔及马尼拉等数百个城市的公交车延迟,它让六千多万人能更准确地预估本人的通勤工夫。

经过这个系统,用户可以知道本人的公交能否会正点,正点多长工夫。系统还能根据沿途的实时交通状况更准确地预测出行工夫。此外,用户还可以在地图上准确地看到延误的地位。




这个系统上个月初末尾在印度试点,它将实时交通状况预测和道路、站点数据结合起来,组成了一个机器学习模型,可以更好地预测出乘坐公交到达目的地需求多长工夫。

模型的由来

在许多没有交通运输机构实时预测的城市,谷歌从被调查的用户那里了解到,他们将谷歌地图规划的行车道路作为参考,巧妙地预估了公交的延误状况。但是公共汽车不只是一个加大号汽车,它们到站要停;加速、减速和转弯会需求更长的工夫;有时还有特殊的道路特权,比如公共汽车公用道。

以周三下午的悉尼公交车为例,可以看到公共汽车的实践运转工夫(蓝色)比公布的工夫表(黑色)晚几分钟。汽车交通(car traffic)速度(红色)的确与公交车的速度有一定关系,如公交车在 2000 米时的减速,以及在 800 米标志处的长工夫停靠,都使得公交车的速度分明慢于汽车。




为了开发模型,研讨人员从公交机构提供的一段工夫内公交车的地位序列中(来自公交机构的实时反馈)提取训练数据,并将它们与公交行驶道路上的车辆行驶速度停止比对。他们根据公交时辰表中街区和站点的到达状况将模型划分为一系列工夫轴单元,每个单元对应预测的一段工夫。由于报告频率低、公交车移速快,以及街区及站点过短的状况,一对相邻观测点常常会跨越许多单元。

这种结构与最近在语音处理、机器翻译等方面都有良好表现的神经序列模型不谋而合。但谷歌的模型更简单,每个单元独立完成其对应的义务,最终的输入是每个单元预测工夫的总和。与其他的序列模型不同,该模型不需求学习组合单元输入,也不需求经过单元序列传递形状。但是序列结构让我们可以同时(1)训练单个单元持续工夫的模型,(2)优化「线性系统」,其中每个观察到的轨迹都将总持续工夫的值作为它所跨越的单元的工夫总和。




为了对从蓝点出发的公交车程(a)停止建模,模型(b)将对蓝色站点、三个路段、白色站点的工夫轴单元预测延迟工夫相加。

对地位建模

训练模型时,除了道路交通带来的延误,研讨者还思索了公交道路细节以及行程地位和工夫。即便是在一个小社区内,该模型也需求将汽车速度预测转化为不同街道上的公交车速度。在下面的左边面板中,研讨者用颜色编码了模型在一段车程中汽车速度和巴士速度之间的预测比率。较红、较慢的部分能够对应于公交车在车站附近的减速。至于高亮框中代表疾速的绿色带,研讨者从 StreetView(右图)中了解到,他们的模型发现了一条只允许公共汽车转弯的车道。特地说一下,这条道路是在澳大利亚,在那里右转弯比左转慢,假如模型不思索地理地位特殊性就会忽略这个方面。




为了获取详细街道、社区和城市的特点,研讨者让模型学习一种梯度式表示区域大小的方式,模型中工夫单元的地理信息(公路或站点的准确地位)由不同尺度上的地位嵌入的总和表示。他们在训练时对特定状况下的准确地位的惩罚会逐渐加重,并将结果用于特征选择。这样就可以确保思索到百米内复杂区域中影响公交行为的细节特征,而开放的乡村中这种细粒度特征很少。

在训练时,研讨者也思索了查询状况不在训练库内的能够性。在每个训练 batch 中,他们随机抽取一些实例,并以随机比例舍弃部分地理信息。最终他们有一部分实例保留准确的公交道路和街道信息,另一部分仅保留临近或城市级别的地位,剩下的则根本没有地理信息。这样可以使模型更好地应对后续查询不在训练数据中的状况。研讨者运用了谷歌地图在客流高峰期、停车困难等项目中运用的数据库,并对用户公交车程停止了匿名推断,以扩展训练语料库的覆盖范围。但是,世界上大多数的公车道路还是不在他们数据库中,因此模型必须可以稳健地泛化到新的区域。

学习当地特征

不同的城市和社区也有不同的特征,因此研讨者让模型将其地位表示与工夫信号相结合。公交车有一个复杂的工夫依赖性:例如周二下午 6:30 到下午 6:45 这个工夫段,某些街区能够正在结束高峰时段,部分地区处于用餐工夫,而有些安逸的小镇能够处于完全安静的状况。模型学习到当地工夫和日期的嵌入,并与地位表示相结合,以获得相似公交站高峰时段这样分明的部分特征,而这些特征是经过汽车交通观察不到的。

这种嵌入应用 4 维向量表示一天中的工夫。与大多数神经网络外部结构不同,四维空间很难可视化,所以让我们看看模型如何经过下面的艺术渲染在其中三个维度中表示工夫。该模型的确了解到工夫是周期性的,将工夫放在「循环」(loop)中。但这个循环不只仅是相似钟面的扁平圆圈,模型在学习中也加入了很大的弯曲度,让其他神经元组成简单的规则,以便轻松地区分「半夜」或「上午晚些时分」等概念,这些概念不会表现太多公交车行为的变化。同时,早晨的通勤形式在社区和城市之间的差异更大,模型在下午 4 点到早晨 9 点之间创造了愈加「皱巴巴」的复杂形式,这样就可以对每个城市的高峰工夫做出更复杂的推断。




模型的工夫表示(4 维中的 3 维)构成了一个循环,可以再把它想象成手表的周长。像下午 4 点到早晨 9 点和早上 7 点到 9 点这类与地理地位相关的工夫窗变得愈加复杂,而像清晨 2 点到 5 点这样的无特征大窗口则会因规则简单而极少弯曲。(来自威尔·卡斯拉 [Will Cassella] 的《艺术家的构想》[Artist's idea],运用了 textures.com 网站上的纹理和 hdrihaven 网站上的高动态范围图像。)

与其他信号一同,这个工夫表示即便在车速不变的状况下也可以预测复杂的形式。例如,在乘坐 10 公里长的公共汽车穿越新泽西州时,模型留意到了午餐工夫的人流量和工作日的高峰工夫:




思想整合

完成模型的训练后,来看看它对悉尼公交车的了解。假如在当天的汽车交通数据上运转模型,它会给出如绿色点所示的预测。它的预测并不是百分百正确的,例如,在 800 米处,公交至少停了 31 秒,但是预测的停留工夫仅有 10 秒。不过研讨者在公交车运动的 1.5 分钟内做了短暂的停留,比单独的工夫表或汽车驾驶工夫给我们带来的信息更多。




提早规划

如今模型好像还有一件事没做,那就是公交车时辰表本身。到目前为止,在官方代理的公交时辰表实验中,他们没有显着改善研讨者的预测。在一些城市,宏大的交通波动能够会扰乱对工夫表的预测。还有的公交时辰表能够是准确的,但这个准确是来源于公交机构对交通形式的了解。而谷歌希望从数据中推断出这些状况。

原文链接:

https://ai.googleblog.com/2019/06/predicting-bus-delays-with-machine.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评4

zhaowan03 2019-7-12 19:37:27 显示全部楼层
其实谷歌可以经过收买此类公司迅速获得交通讯息
回复

使用道具 举报

玉兰花下 2019-7-13 22:53:11 来自手机 显示全部楼层
小白一个 顶一下
回复

使用道具 举报

挚爱哄哄 2019-7-14 19:01:38 显示全部楼层
very good
回复

使用道具 举报

cuihualing 2019-7-15 11:37:12 显示全部楼层
这帖子写的不错
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies