写点什么

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

  • 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:)。


原文链接


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


2020-09-29 10:062363

评论

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

开源直播源码平台处理卡顿问题技巧方案_山东布谷科技创作

山东布谷科技

开源 软件开发 直播 源码搭建 直播源码

下载|GitLab 2023 年 DevSecOps 全球调研报告:安全左移深入人心、AI/ML 蔚然成风

极狐GitLab

gitlab DevSecOps AI/ML 安全左移 安全实践

阿里商旅账单系统架构设计实践

阿里技术

账单 阿里商旅 账单系统 账单数据

一文讲透 Redis 事务 (事务模式 VS Lua 脚本)

不在线第一只蜗牛

Lua脚本 redis 底层原理 Redis 可视化工具

火山引擎DataTester:三类AB实验,让企业营销拥有灵敏“网感”

字节跳动数据平台

大数据 A/B测试 对比试验 企业号 7 月 PK 榜

极狐GitLab 3 步优化软件价值流,谨防偷走时间、制造瓶颈的“幕后黑手”

极狐GitLab

gitlab 可视化 软件研发 价值流管理 VSM

影响云安全的因素有哪些?如何保障云安全?

行云管家

云安全 企业上云 堡垒机 自动化运维 云管

全面构建AI能力,AIFS为AI产业发展按下“加速键”

九章云极DataCanvas

如何用极狐GitLab 为 Android App 创建自动化CI/CD?详细教程来了

极狐GitLab

自动化 CI/CD Android; keystore fastlane

大模型时代下的全新变革

九章云极DataCanvas

打造数据处理新范式,DataPilot畅游数据向量海

九章云极DataCanvas

什么是MES,MES系统有哪些功能模块?MES系统概述

优秀

MES系统 mes

MobPush 厂商通道申请指南

MobTech袤博科技

大数据 华为 程序员 前端 Android;

质押理财USDT系统搭建开发案例

薇電13242772558

在 K8S 中只会 CI 不会 CD ?3 种方式,让极狐GitLab 和 K8S 高效协同!

极狐GitLab

DevOps 云原生 k8s CI/CD 集成

《APaaS应用实施方法论》电子书正式发布

明道云

Spring高手之路3——揭秘Spring依赖注入和SpEL表达式

砖业洋__

spring 依赖注入 属性注入 SpEL表达式 Bean配置

单一可信源代码托管平台的构建之道

极狐GitLab

gitlab 安全 高效 便捷 源代码管理

REST 无状态与有状态的理解与应用

Apifox

gRPC RESTful 开发 Rest REST API

# **基于TiDB Binlog架构的主备集群切换操作手册**

TiDB 社区干货传送门

实践案例 管理与运维

【有奖互动】开发者版本新特性,你期待哪些更新?#HDC.Together2023#

HarmonyOS开发者

HarmonyOS

Apache Flink 在翼支付的实践应用

Apache Flink

大数据 flink 实时计算

模糊测试公布结果,大众漏洞被曝光

云起无垠

网络安全 模糊测试

Nautilus Chain 主网上线,创世 ZBC 质押即将开启

鳄鱼视界

AI与数据双向赋能,DingoDB成向量海时代超强引擎

九章云极DataCanvas

探索Reactor网络模型在当今应用领域的革新

华为云开发者联盟

开发 华为云 企业号 7 月 PK 榜 华为云开发者来联盟

你的极狐GitLab SaaS上开启这些设置了吗?代码安全,安心下班!

极狐GitLab

gitlab CI/CD DevSecOps 代码安全 软件供应链安全

九章元识大模型加速AI产业创新发展

九章云极DataCanvas

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