新公司怎么做网络推广,北京seo公司有哪些,门户建设网站多少钱,公司企业建设网站文 | 小戏当我们打开百度地图#xff0c;选定到达目的地#xff0c;导航软件里的小姐姐马上就用不紧不慢的语调告诉我们“准备出发#xff0c;全程12公里#xff0c;预计需要30分钟……”但一看手表上显示的不风驰电掣铁定迟到的时间#xff0c;肯定不允许我们和导航软件里… 文 | 小戏当我们打开百度地图选定到达目的地导航软件里的小姐姐马上就用不紧不慢的语调告诉我们“准备出发全程12公里预计需要30分钟……”但一看手表上显示的不风驰电掣铁定迟到的时间肯定不允许我们和导航软件里的小姐姐一样沉着冷静可当我们一路狂奔跑过几个路口大喘着气停下来看看导航发觉显示的预计到达时间并没有因为我们跑的大汗淋漓而有一点点改变依然是那个从现在的地方出发不紧不慢走过去的时间。这时候我们也许会想为什么我们的导航不能更智能一点根据我当下的情况和之前的速度重新计算到达时间呢今天介绍的这篇工作恰恰是百度地图团队基于这个问题首次对在途路线时长预估问题进行了研究。百度地图团队通过把在途路线时长预估建模成小样本学习问题充分利用全程中少量的我们已经行驶过的那段路程的驾驶行为使用自监督的元学习算法实现了在驾驶途中动态的、个性化的“多次”时长预估提升了在途时长预估任务的准确率。目前这篇论文——《 SSML: Self-Supervised Meta-Learner for En Route Travel Time Estimation at Baidu Maps 》已被数据挖掘顶级会议KDD 2021收录。现实问题在介绍这篇论文之前我们首先来明确一下面对的问题路线时长预估是当下地图类软件的基础功能我们使用地图软件自然不仅仅是需要一条展示在手机上的路线规划更需要尽可能准确的估计出从出发地到目的地的在途时长。而目前现有的路线时长预估都是所谓的“一次性”时长预估也就是说现有的路线时长预估都是在用户出发前根据一些诸如出发时间选择的路线等等信息估算用户的到达时间。但是这就产生出了一个问题也就是现有的路线时长预估没法根据用户自己实际在途的驾驶习惯、驾驶状况等信息改变对路线时长的估计。哪怕我前半程一路火花带闪电导航软件上的时长估计也是你快任你快。拿一个简单的例子来说在同样的一个路段秋名山车神夕师傅与新手上路的小瑶共同出发我们观察到在前一段路程中夕师傅展现了极高的车技只远远留给小瑶一个尾灯那么我们也有理由相信在后面的路程中夕师傅的速度也会比小瑶快因此我们期望一个足够智能的导航软件给夕师傅的预计到达时间会比给小瑶的更快。那么我们该如何利用已知的信息来推测用户个性化的驾驶习惯从而实现更好与更加智能的预测呢这里我们可以发现在用户的驾驶过程中导航软件并不是一劳永逸的给出一个路线就万事大吉而是每隔一段时间都会根据当前状态重新计算并更新路线时长这种在驾驶过程中进行的时长预估被称为在途路线时长预估(En-Route Travel Time Estimation)。▲百度地图路线时长预估对比在途路线时长预估目前针对在途时长预估这个任务场景其对在途时长所做的更新都是与从起点出发得到的路线时长预估一样进行一次性的预估显而易见这种预估方式放弃了之前一段用户已经驾驶过的路程中的有用信息因而将会很难以适应用户的驾驶习惯并推断用户的未来驾驶行为。解决方案让我们正式进入论文的工作论文基于在途路线时长预估这一路线时长预估在用户驾驶过程中的细分场景任务提出了一个基于自监督学习的元学习器(SSML)为了充分利用已行驶路线的少量用户驾驶行为论文把在途路线时长预估建模成了小样本学习问题。具体而言论文把已行驶路线中观察到的用户行为作为训练样本同时把剩余路线中未发生的行为作为测试样本。从而提出了一个新的基于模型的元学习器(Model-Based Meta-Learner)并把每一次的在途时长预估场景被看作是元学习设定中的一个学习任务(Learning Task)。如何理解这一元学习问题呢我们知道一条路线通常由几十到几百的首尾相连的路段组成。在用户的导航驾驶过程中导航系统会收到多次请求去重新计算剩余的通行时间。如上图所示论文将一次请求(即一个时长预测场景)当作一个学习任务。对于每一个学习任务把收集到的过去多次请求后到目前为止所观测到的已经过多个路段的用户行为(即上图中的蓝色格子)作为支持样本(Support Examples)把从当前时间预估的未经过所有路段的用户行为即上图中的红色格子作为查询样本(Query Examples)。基于模型的元学习器从收集到的大量的不同用户的在途时长预估场景中去学习快速适应用户驾驶偏好的能力并在新的在途时长预估场景中去评估其有效性。但是此时又会面对一个新的问题即如何对每一个样本进行表示这里论文使用了百度地图团队发表在 KDD 2020 的前序工作 ConSTGAT 完成对样本的表示这篇论文卖萌屋之前做过详细的解读感兴趣的朋友可以点这里工业解密百度地图背后的路线时长预估模型。简而言之论文首先使用 ConSTGAT 中提出3D时空图网络(3DGAT)完成对时空路况的建模然后与其他输入的样本特征进行拼接再使用多层感知机来获得样本的表示。这些支持样本和查询样本的表示 和 将作为基于自监督学习的元学习器的输入。得到了样本的表示之后论文将自监督学习与元学习器相结合进行数据增强进一步提升模型的预测效果。如下图所示论文同时进行监督学习和自监督学习去训练元学习器。其中监督学习方法直接学习元知识为了快速适应用户的驾驶偏好论文使用了注意力机制去捕捉支持样本和查询样本之间的联系旨在根据已经过的路段的行为推断剩余路段的行为。而自监督学习方法则使用数据增强的方式进一步提升元学习器的效果。论文通过人工构造大量学习任务使用被随机遮盖对应通行时长的部分支持样本作为这些人工学习任务的“查询样本”而剩下的支持样本作为人工学习任务的“支持样本”使用和监督学习同样的基于注意力机制的模型结构去预测人工的“查询样本”的时长从而达到进一步优化元学习器的效果添加了 SSML 模块的导航系统架构如下可以看到 SSML 模块把不考虑用户已经过路线驾驶行为的ConSTGAT模块以及静态数据动态数据和获取到的观测行为作为输入产出预测时长返回给用户。实验分析论文从百度地图收集了三个城市太原惠州和合肥从 19 年 09 月 01 日到 19 年 09 月 28 日的路线数据。其中前面3周数据用于模型训练最后1周数据用于评估。论文将将 SSML 和 4 个基线方法进行对比。其中1ConSTGAT论文前序工作即不考虑用户在已经过路线的驾驶行为而得到的在途时长2FT即微调(Fine-tuning)在 ConSTGAT 的基础上根据每个任务的支持样本微调模型参数3R- ML基于LSTM的元学习模型4A-ML基于注意力机制的元学习模型相比起SSML少了自监督学习。实验评估指标采用目前通行时长预估领域最为常用的标准均方根误差(RMSE)和平均误差(MAE)。▲表1SSML和基线方法在三个城市不同的请求时间的RMSE▲表2SSML和基线方法在三个城市不同的请求时间的MAE从表1和表2中可以看出基于元学习的方法 R-MLA-ML 和 SSML 比非元学习的方法 ConSTGAT 和 FT 的表现要更出色由于 SSML 使用了自监督学习增强数据因此相比没有使用自监督学习的 A-ML 取得更好的效果。最后论文基于一个案例展现了注意力机制矩阵以及支持样本和查询样本的特征。根据下图可以清楚的看到如果注意力机制矩阵中的元素的颜色越深也就是 SSML 模型认为相应的支持样本和查询样本越相关那么这个支持样本和查询样本的特征也会越相似。换言之SSML 能够使得每个查询样本从和它最相似的支持样本中抽取信息。总结这篇工作非常好的分析与利用了在途路线时长预估任务本身的特点从而颇为完美的将其建模为一个小样本学习的问题通过使用基于自监督学习的元学习方法充分的利用了用户自身在已经过路线的驾驶行为从而使得模型能在新的在途路线时长预估场景快速适应用户的驾驶偏好让路线时长预估变得更加个性化与智能化。完全可以想象在不远的将来导航与人工智能深度融合或许出行真会变成一种私人定制吧后台回复关键词【入群】加入卖萌屋NLP/IR/Rec与求职讨论群后台回复关键词【顶会】获取ACL、CIKM等各大顶会论文集
相关文章: