【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

机器学习在滴滴网络定位中的探索和实践

  • 2020-09-29
  • 本文字数:2935 字

    阅读完需:约 10 分钟

机器学习在滴滴网络定位中的探索和实践


今天给大家分享的是机器学习在滴滴网络定位中的实践工作,会重点介绍三阶段的演进:无监督模型、有监督回归模型、端到端 CNN 模型。

1. 什么是网络定位

目前定位技术主要包括 GPS、网络定位、惯性航位推算、MM(地图匹配)、视觉定位等。GPS 是最为人熟知的定位技术,是依靠设备与卫星交互来获取经纬度的方式。GPS 精度高,但有冷启动耗时长、耗电大、遮挡场景不可用等缺点。在滴滴场景下,乘客和司机在有遮挡的场景下,例如室内、高架下等,GPS 通常处于不可用状态。这时就需要有其他定位技术作为 GPS 的补充,使得乘客发单、司机导航等服务依然可用。其中最主要的补充便是网络定位。


室内类场景虽然有遮挡,但设备通常可以扫描到 Cell(基站)和 Wifi 列表,而且 Cell 和 Wifi 设备位置相对稳定,连接其上的设备可以借其定位,这就产生了网络定位。网络定位包括 wifi 定位和基站定位,是指基于终端扫描到的 wifi 或基站列表进行的定位技术。Wifi 的接入设备通常称为 AP(Acess Point),方便起见,下文将 AP 和基站统称为 AP。


网络定位通常采用的是指纹定位技术,是一个根据 query 匹配指纹库信息,并计算得到坐标位置的过程。如下图所示,网络定位系统主要包括离线建库和在线定位两个阶段。



离线建库主要是基于有 GPS 时的采集数据,建指纹库的过程。指纹库中记录 AP 的各类信息在不同地理网格内的采集数据分布,如下图所示。



在线阶段,根据线上 query 匹配指纹库信息,并计算得到坐标位置。


本文介绍的主要是在线定位部分,即 query 匹配指纹库、计算坐标位置。

2. 网络定位匹配算法迭代

在线定位算法共经历了无监督概率模型、有监督回归模型、端到端 CNN 模型三次大的迭代。前两个阶段的网络定位主要包括网格召回、网格排序、网格平滑三步,如下图图一所示。端到端 CNN 模型去除了网格排序和网格平滑,基于一个召回中心点,直接回归位置坐标,如下图图二所示。



图一



图二

2.1 无监督概率模型

网络定位要完成在线 AP 与离线 AP 指纹库的匹配,是联合概率计算的过程。


以 AP 指纹库的信号强度分布为例,看下网格概率计算过程。



纵轴为采集数据中的 AP 编号,横轴为空间网格编码,相交点表示每个 AP 在对应网格中的采集信号强度分布。空值表示 AP 在对应的位置无采集数据。


以一个实时定位 query 信息:(AP1:RSSI=1,AP3:RSSI=0)为例,介绍网格召回、排序、平滑的过程。


召回阶段,基于扫描到的 AP1 和 AP3,可以召回 Grid1、Grid2、Grid4;


排序阶段,结合离线 AP 库,基于独立性假设和贝叶斯公式,计算各网格的权重:



表示观测到的 APj 的信息。以信号强度 RSSI 单一特征为例,上例中,



网格平滑阶段,基于上述的统计概率,排序获取 TopK 个网格,采用爬山法求解最优坐标:



其中, 为预测位置到 的距离。

2.2 有监督回归模型

无监督概率模型的方法,思路清晰易懂,易实现,是早期网络定位的主要方式。但有以下问题:


  • 联合概率的方式对采集信息不充分的位置不友好,例如上例

  • 难以拟合多维特征,尾部 badcase 较严重

  • 技术目标无法得到直接优化,天花板较低


出于对以上问题的思考,整体流程仍保持网格召回、排序、平滑三阶段,我们将网格排序升级为有监督回归模型,通过引入多元特征和显式的优化目标,实现对网格的更精准打分。


Label:待预测网格与真实位置的位置偏差,回归任务。


特征工程:构建近百维特征,主要包含 AP 特征,网格特征,前文信息等。


模型选择:一期上线 GBDT 模型;二期对比了 GBDT、FM、DeepFM、FM+GBDT 等,最终线上最优融合模型结构如下。



原始特征中的稠密特征和低维稀疏特征经过 GBDT 进行特征组合、交叉;GBDT 输出的叶子节点编号与高维稀疏特征经过 DeepFM 网络,最终输出网格与真值的位置偏差。


TopK 网格平滑:预测偏差距离从小到大排序,截取 TopK 网格;爬山法,梯度下降求解最优坐标。

2.3 端到端 CNN 模型

有监督模型在特征利用、模型结构、优化目标等方面提供了更大的操作空间,可以极大地打开天花板。上线后定位精度等指标取得了显著的收益。


但该方法仍有以下问题:


  • 每个网格孤立刻画,信息采集时的不均衡、有偏的问题无法有效解决

  • TopK 平滑层与排序层割裂,无法联合优化,且引入部分人工超参


对于以上问题,考虑以下解决方案:


  • CNN 网络:充分利用空间信息的局部相关性,增强特征的提取能力

  • 端到端网络:合并排序与平滑层,改为直接回归位置坐标,目标更统一,减少人工超参


最终,整体网络结构如下:



下面以基站定位为例,介绍该结构的实现细节。


首先介绍下输入特征的构建:


  • Wide 网络特征:表达 Query 信息的 Wide 特征共十几维

  • CNN 特征图的构建:

  • 召回中心:采集热度较高的 TopN 网格的经纬度中位数作为图的中心点。

  • 特征图构建:选取 C 维图特征,每一维特征为一个 channel;基于召回中心,构建 M*M 分辨率的特征图。



CNN 特征类别



网格上各个 channel 的特征计算



输入特征图的示例


网络结构:在 CNN 网络部分,采用多尺度卷积核提取特征后,经过两个卷积+池化层后,将特征图打平。Wide 部分稀疏特征经过 embedding 后,与稠密特征级联。两部分 tensor 级联后经过全连接层,最终输出与召回中心点的位置偏差。


Label 与 Loss:label 为真实位置与召回中心位置的偏移 dx 和 dy,召回中心点+预测偏移即得预测位置。loss 最初使用的是经纬度的 L2 loss:



考虑到经纬度在球面上表达距离的差异,我们改为了使用球面距离偏差作为 label,也获得了稳定的收益:



dx 和 dy 表示真实空间距离


CNN 模型在线上 AB 实验取得了显著的收益,已全量上线。


CNN 端到端模型升级了信息的表达方式,由单网格、结构化的信息表达改为了 Image 的表达方式,配合 cnn 网络结构,获取了效果的显著提升;并且将几十甚至几百个网格的预测问题改为了单次位置回归问题,虽然模型复杂度有所增加,但整体性能基本持平。

2.4 线上效果

网络定位三阶段的模型先后上线进行了 AB 对比实验。以基站定位三个主要技术指标为例,对比结果如下表所示:


3. 总结与展望

本文总结了定位策略团队在网络定位算法侧的工作,介绍了无监督概率模型、有监督回归模型、端到端 CNN 的演进及其中的思考。


无 GPS 时的定位仍面临着很多困难,未来我们将在以下方面持续探索:


  • 模型效果优化:

  • 目前 CNN 模型在基础信息利用、召回等方面仍有较大优化空间。

  • 性能问题:

  • 考虑线上性能,在基础信息和网络结构上做了很多删减。期望通过更优的召回策略、蒸馏剪枝等平衡效果与性能。

  • 5G 技术:

  • 5G 的天然优势(高频率、高密度、低延时)也必定会带来定位精度的显著提升,相关调研工作正在进行。

  • 复杂场景定位:

  • 对于室内、地下停车场等典型复杂场景,网络定位面临着真值获取难、移动 ap 等难点。细分场景也逐渐向模型化方向演进。


以上就是滴滴网络定位近期工作的实践介绍,欢迎随时交流。


作者介绍


刘磊,滴滴专家算法工程师


2017 年加入滴滴,目前从事地图定位算法方向,多年 LBS 领域算法研究工作,在滴滴先后从事猜你想去、上下车点推荐、定位算法等方向的开发工作。


尹卜一,滴滴高级算法工程师


2018 年加入滴滴,主要从事网络定位、惯导推算等方向的算法开发工作。


林宇,滴滴高级算法工程师


2018 年加入滴滴,主要从事网络定位、融合定位等方向的算法开发工作。


本文转载自公众号(ID:)。


原文链接


机器学习在滴滴网络定位中的探索和实践


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2020-09-29 10:061492

评论

发布
暂无评论
发现更多内容

香港VPS配置与应用:专家级建议与实践指南

一只扑棱蛾子

香港VPS

DAPP合约区块链技术项目系统开发

l8l259l3365

上海统一运维管理平台推荐-行云管家

行云管家

IT运维 运维管理 统一运维

全力备战中国大学生计算机设计大赛!历年获奖作品正式上线和鲸社区

ModelWhale

Python 云计算 算法 数据分析 中国大学生计算机设计大赛

BetterMouse for Mac中文激活版下载(鼠标增强软件)

iMac小白

iZotope RX 10 for mac v10.4.2 激活版

Geek_幻墨成诗

iZotope RX 10下载 iZotope RX 10破解版 iZotope RX 10 mac iZotope RX 10

3d模型的中心原点有偏移怎么办?

3D建模设计

3d建模 模型原点设置

Footprint 的批量下载方案使交易回测更轻松

Footprint Analytics

区块链 回测

「智造」第10期:浅谈工业互联网加速企业服务化转型

用友BIP

智能制造

Redis Desktop Manager for Mac(Redis桌面管理工具)中文激活版

Geek_幻墨成诗

RESP

3D场景建模工具

3D建模设计

在线工具 3D场景建模 数字孪生场景

JavaScript中的异步处理方法,

互联网工科生

JavaScript 异步处理

Last Week in Milvus

Zilliz

非结构化数据 Milvus Zilliz AIGC 向量数据库

用行云管家实现IT统一运维管理,提高运维效率

行云管家

IT运维 行云管家 运维管理 统一运维

通过1688店铺所有商品API接口一键获取店铺所有商品信息

Noah

次世代建模纹理贴图怎么做?

3D建模设计

3D渲染 材质贴图 模型纹理

uniapp开发App从开发到上架全过程

雪奈椰子

MindNode 5 for Mac(思维导图) v5.0.1中文激活版

mac

思维导图软件 苹果mac Windows软件 MindNode 5

NUKE 14 for mac(电影特效合成软件) v14.0v5中文激活版

mac

苹果mac Windows软件 NUKE 14 电影特效合成软件

Java 实现 MySQL 数据锁定策略

秃头小帅oi

异常追踪与 JIRA 实现双向联动最佳实践

心有千千结

可观测性 Jira

如何使用1688店铺所有商品API接口

Noah

生成式AI与预测式AI的主要区别与实际应用

高端章鱼哥

生成式AI 预测式AI

速速报名!请查收 2023 龙蜥操作系统大会超全指南

OpenAnolis小助手

开源 龙蜥社区 北京 2023龙蜥操作系统大会

Android 实现APP可切换多语言

EquatorCoco

APP开发 Andriod开发

软件测试/人工智能|一文告诉你LangChain核心模块chains原理

霍格沃兹测试开发学社

软件测试/人工智能|LangChain核心模块Agents详解

霍格沃兹测试开发学社

WiFi7 IPQ9574-IPQ9554-QCN9274-QCN6274-space-time Block Code technology

wifi6-yiyi

ipq9574

都2023年了,你还不会 CI/CD 吗?

伤感汤姆布利柏

ci CD

软件测试/人工智能|为什么Python在人工智能时代异军突起

霍格沃兹测试开发学社

低代码开发可以解决哪些问题?

代码生成器研究

机器学习在滴滴网络定位中的探索和实践_移动_滴滴技术_InfoQ精选文章