图神经网络让谷歌地图更智能
对于公众出行领域而言,交通工具的到达时间是主要的影响因素,预估到达时间(ETA)准确率已经成为非常实际的研究课题。近日,英国人工智能公司DeepMind 与谷歌地图展开深度合作,利用图神经网络(Graph Neural Networks,GNN)等 ML 技术,极大了提升了柏林、东京、悉尼等大城市的实时 ETA 准确率。
很多人使用谷歌地图(Google Maps)获取精确的交通预测和预估到达时间(Estimated Time of Arrival,ETA),这是非常重要的工具,尤其是当你将途经交通拥堵路段或者需要按时参加重要的会议等。对于拼车服务公司等企业而言,它们可以使用 Google Maps 平台获取接送时间信息并基于乘车时间估计价格。 DeepMind 与 Google Maps研究团队展开合作,尝试通过图神经网络等高级机器学习技术,提升柏林、雅加达、圣保罗、悉尼、东京和华盛顿哥伦比亚特区等地的实时 ETA 准确率,最高提升了 50%。下图为这些城市的 ETA 提升率:
Google Maps 如何预测 ETA 为了计算 ETA,Google Maps 分析了世界各地不同路段的实时交通数据。这些数据为 Google Maps 提供了目前交通状况的精确图景,但是它却无法帮助司机预计车程时间是 10 分钟、20 分钟,还是 50 分钟。 所以,为了精确地预测未来交通状况,Google Maps 使用机器学习将全球道路的实时交通状况和历史交通模式结合起来。这一过程非常复杂,原因很多。例如,早晚高峰每天都会有,但每一天、每一月的高峰期确切时间有很大不同。道路质量、限速、交通事故等因素也增加了交通预测模型的复杂度。 DeepMind 团队与 Google Maps 合作尝试提升 ETA 准确率。Google Maps 对超过 97% 的行程有着精确的 ETA 预测,DeepMind 与 Google Maps 的合作目的是将剩下那些预测不准确的情况最小化,例如台中(Taichung)的 ETA 预测准确率提升了 50% 多。 为了在全球范围内实现这一目的,DeepMind 利用了一种通用机器学习架构——图神经网络(GNN),通过向模型添加关系学习偏置来进行时空推理,进而建模现实世界道路网络的连通性。具体步骤如下: 将世界上的道路分割为超级路段(Supersegment) 该团队将道路网络分割为包含多个邻近路段的「超级路段」,超级路段都具有极大的交通流量。目前,Google Maps 交通预测系统包括以下组件:
1)路线分析器:具备数 TB 的交通信息,可用于构建超级路段;
2)新型 GNN 模型:使用多个目标函数进行优化,能够预测每个超级路段的行程时间。
Google Maps 确定最优路线和行程时间的模型架构图示。 用新型机器学习架构进行交通预测 利用超级路段创建估计行程时间的机器学习系统,所面临的最大挑战是架构问题。如何以任意准确率表示连接路段的规模可变样本,进而保证单个模型也能预测成功? DeepMind 团队最初的概念证明始于一种简单明了的方法,该方法尽可能地利用现有的交通系统,特别是已有的路网分割和相关的实时数据 pipeline。这意味着超级路段覆盖了一组路段,其中每个路段都有特定的长度和相应的速度特征。 首先,该团队为每个超级路段训练了一个全连接神经网络模型。初步结果良好,表明神经网络在预测行程时间方面是很有潜力的。但是,鉴于超级路段的可变规模,该团队需要为每个超级路段单独训练神经网络模型。要想实现大规模部署,则必须训练数百万个这样的模型,这就对基础设施构成了巨大的挑战。 因此,该团队开始研究能够处理可变长度序列的模型,例如循环神经网络(RNN)。但是,向 RNN 添加来自道路网络的结构是很难的。于是,研究者决定使用图神经网络。在对交通情况进行建模时,车辆如何穿过道路网络是该研究的关注点,而图神经网络可以对网络动态和信息传播进行建模。 该团队提出的模型将局部道路网络视为一个图,其中每个路段对应一个节点,连接两个路段(节点)的边要么在同一条道路上,要么通过交叉点(路口)连接。在图神经网络中执行消息传递算法时,其传递的消息及其对边和节点状态的影响均由神经网络学得。从这个角度看,超级路段是根据交通密度随机采样的道路子图。因此,使用这些采样的子图能够训练单个模型,且单个模型可以进行大规模部署。
图神经网络通过泛化「相似度(proximity)」概念,扩展了卷积神经网络和循环神经网络所施加的学习偏置(learning bias),进而具备任意复杂度的连接,不仅可以处理道路前后方的交通情况,还可以处理相邻和相交道路的情况。在图神经网络中,相邻节点之间互相传递消息。在保持这种结构的情况下,研究者施加了局部偏置,节点将更容易依赖于相邻节点(这仅需要一个消息传递步)。这些机制使图神经网络可以更高效地利用道路网络的连通性结构。 实验表明,将考虑范围扩展到不属于主要道路的相邻道路能够提高预测能力。例如,考虑小路上的拥堵状况对大路交通情况的影响。通过跨越多个交叉路口,该模型能够预测转弯处的延误、并道引起的延误,以及走走停停交通状况的通行时间。图神经网络在组合空间上的泛化能力使得该研究的建模技术具备强大能力。每个超级路段的长度和复杂度可能各有不同(从简单的两段路到包含了数百个节点的较长路径),但它们都可以使用同一个图神经网络模型进行处理。
从基础研究到生产级机器学习模型 在学术研究中,生产级机器学习系统存在一个常常被忽视的巨大挑战,即同一模型在多次训练运行中会出现巨大的差异。虽然在很多学术研究中,细微的训练质量差别可以简单地作为 poor 初始化被丢弃,但数百万用户的细微不一致累加在一起就会产生极大的影响。 因此,在将该模型投入生产时,图神经网络对训练中这种变化的鲁棒性就成为了重中之重。研究者发现,图神经网络对训练过程中的变化特别敏感,造成这种不稳定性的原因是训练中使用的图结构之间存在巨大差异。单批次图可以涵盖从两节点小图到 100 节点以上的大图。 然而,在反复试错之后,研究者在有监督设置下采用了一种新型强化学习技术,解决了以上问题。 在训练机器学习系统的过程中,系统的学习率决定了自身对新信息的「可塑性」。
随着时间推移,研究人员常常会降低模型的学习率,这是因为学习新东西和忘记已经学得的重要特征之间存在着权衡,就像人类从儿童到成人的成长历程一样。所以,在预定义训练阶段之后,研究者首先采用一种指数衰减学习率计划来稳定参数。此外,研究者还探究和分析了以往研究中被证明有效的模型集成技术,从而观察是否可以减少训练运行中的模型差异。 最后,研究者发现,最成功的解决方案是使用 MetaGradient 来动态调整训练期间的学习率,从而可以有效地使系统学得自身最优的学习率计划。通过在训练期间自动地调整学习率,该模型不仅实现了较以往更高的质量,而且还学会了自动降低学习率。最终实现了更稳定的结果,使得该新型架构能够应用于生产。 通过自定义损失函数实现模型泛化 虽然建模系统的最终目标是减少行程预估中的误差,但是研究者发现,利用多个损失函数(适当加权)的线性组合极大地提升了模型的泛化能力。具体而言,研究者利用模型权重的正则化因子、全局遍历时间上的 L_2 和 L_1 损失、以及图中每个节点的 Huber 和负对数似然(negative-log likelihood, NLL)损失,制定了一个多损失目标。通过结合这些损失,研究者能够指导模型并避免训练数据集的过拟合。虽然对训练过程的质量衡量标准并没有变化,但是训练中出现的提升更直接地转化到留出(held-out)测试集和端到端实验中。 目前,研究者正在探究,在以减少行程估计误差为指导指标的情况下,MetaGradient 技术是否也可以用来改变训练过程中多成分损失函数的构成。这项研究受到先前在强化学习中取得成功的 MetaGradient 的启发,并且早期实验也显示出了不错的结果。
图神经网络让谷歌地图更智能相关推荐
- 2021世界人工智能大会AI Debate:图神经网络是否是实现认知智能的关键?
来源:学术头条 2021年7月10日,WAIC(2021世界人工智能大会)"图神经网络与认知智能前沿技术论坛"在上海世博中心成功举办.清华大学计算机科学与技术系教授李涓子,复旦大学 ...
- 2023奥维图源 免费谷歌地图 图源秒速加载!
三年长测,稳定可靠!废话不多说,上代码! <?xml version="1.0" encoding="utf-8"?> <customMapS ...
- 【报告】当“无线通信”遇到“图神经网络”——简单理解
转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 课程报告,随便做的,仅供参考~ B站视频:https://www.bilibili.com/video/BV1tM4y1v7t4/ 以 ...
- 为什么要进行图学习?谈一谈逆势而上的图神经网络
点击上方 蓝字关注我们 问一问近几年来逆势而上的技术有什么?相信你一定会说出来一个:图神经网络. 图神经网络将会在人工智能的各个领域起着非常重要的作用,虽然目前还没有完全成为各大顶会的焦点,但不可否认 ...
- 北大发布最新《图神经网络推荐系统》2020综述论文,27页pdf
来源:专知 随着网络信息的爆炸式增长,推荐系统在缓解信息过载方面发挥了重要作用.由于推荐系统具有重要的应用价值,这一领域的研究一直在不断涌现.近年来,图神经网络(GNN)技术得到了广泛的关注,它能将节 ...
- Google Map开发系列(六)——谷歌地图坐标定位
要在地图中定位一个点,最常见的就是使用一个地理坐标来定位.但是,谷歌地图 API 还提供了不同于地理坐标的多套坐标系统,方便我们在需要的时候使用不同的坐标来定位在地图上显示的信息.我在右边的地图中演示 ...
- 吴恩达神经网络1-2-2_图神经网络进行药物发现-第2部分
吴恩达神经网络1-2-2 预测毒性 (Predicting Toxicity) 相关资料 (Related Material) Jupyter Notebook for the article Jup ...
- android auto谷歌地图,如何在 Android Auto 中使用 Waze 而不是谷歌地图
玩懂手机网教程,随着有车一族的用户越来越庞大,Android 独家应用程序比 iOS 少的多,大部分用户依旧使用智能手机进行导航,对比起来 Android Auto 正在面临一个逐步两难的境界. An ...
- vue2.0/原生js使用谷歌地图并显示标记点(附两点间路径方法)
图1,谷歌地图初始化并实现显示点信息 图2 ,谷歌地图实现两点间路径 图3,高德地图实现搜索显示点,可点击地图取点并获取地址,也可以搜索出来 具体文章 前提 使用地图,都是需要获取开发者的key的,去 ...
最新文章
- 响应式 媒体查询 盒模型
- c++基础——程序流程结构之选择结构
- android ui布局适配,Android适配全面总结(一)----屏幕适配
- 软件测试流程进阶----两年软件测试总结[转]
- python中的所有功能_python – 是否可以列出模块中的所有功能?
- AlipaySDK Cocoapods支持
- node升级命令_Vue CLI 4 发布:自动化升级过程,支持自定义包管理器
- Django book 2.0
- IT之路,从迷茫“愤青”到团队项目经理,他是如何一步步走出来的?
- 7-7 词典 (15 分)
- ubuntu 8.04下安装yEd
- java扫码枪键盘_浅谈在react中如何实现扫码枪输入
- 查询onedrive空间大小
- hyperf——代码赏析
- 泊松图像编辑(Poisson image editing)
- 无约束优化和有约束优化原理
- 链栈的创建,入栈,出栈!
- 黑鱼资源完整模板分享 已本地化CSS JS
- 安川西格玛7驱动器手册_安川SGD7W-7R6A20A安装指南手册伺服驱动器手册 - 广州凌控...
- 抖音短视频庞大的流量池,新手小白如何杀出一条血路