深度学习如何感知跟踪位置变化
位置感知能力是基于位置的服务(LBS)的核心。但是,准确估计目标的位置有时候并不是一件容易的事。全球定位系统(GPS)是户外最好的位置感知计算使能者,能够直接输出地理空间坐标,但其误差可能会超出某些应用的容忍极限。在 GPS 无法使用的地方,位置可以通过来自惯性测量单元(IMU)和摄像头等传感器提供的原始数据间接推断出来。传统上,不管是直接测量地理空间坐标还是推理得到位置,数据都必须经过一个相当繁琐的人工设计的数据处理流程,之后才能被更高阶的 LBS 使用。本文将介绍两项近期的将深度学习模型引入位置感知计算的尝试,这两项研究能有效减少专家的参与。
通过部分可观测随机过程实现目标跟踪(Object Tracking via Partially-observable Stochastic Processes)
论文地址:https://arxiv.org/abs/1602.00991
演示视频:https://youtu.be/cdeWCpfUGWc
研究背景
这篇 AAAI16 论文提出了一种端到端的目标跟踪方法,其中一端是从模拟的 2D 激光扫描器收集到的原始数据,另一端是整个环境状态(甚至包含被遮挡的物体),如下图所示:
这个跟踪问题背后有一个值得提及的关键问题,即由于遮挡情况,原始数据只是来自环境的一部分。传统上一般是用贝叶斯滤波(类似于卡尔曼滤波器)来解决这样的部分可观测随机过程问题,而这又涉及到大量人工设计的状态表征,并且还隐含了对模型分布的特定假设或采样。这篇论文称:该论文提出了首个端到端的可训练解决方案,让机器人智能体可以无监督的方式学习信念状态表征以及相应的预测和更新操作;相比于传统方法,这种方法更有效且更省力。
模型
这个跟踪问题被放入了一个生成模型框架中,其有一个详细描述环境动态的隐马尔可夫过程 h。与此同时,其外观层 y 会获取各个目标的位置,并且可被另外一层(传感器测量层 x)部分观测,如下图所示:
该任务的目标就变成了:给定 x 的历史输入序列,估计 y 在时刻 t 的条件分布。注意 y 实际上并不是一个马尔可夫过程,因此隐马尔可夫模型等方法不能在这里应用。作为替代,这可以通过递归贝叶斯估计来处理,即给定 x 的历史输入序列(信念),递归式地计算 h 在时刻 t 的条件分布。这种方法不直接估计目标,而是给定信念,将目标作为 y 的条件分布来估计。该论文通过加权了 W_F 和 W_P 的两个神经网络来表示最终目标,其中第一个网络是指从历史输入序列到信念的模型,第二个网络是指从信念到位置(在 t 时的 y)的模型。两个网络链接在一起,从而整体上有效地使它们成为了一个前馈循环神经网络。信念的隐藏状态表征是从原始数据中学习的,并且可用作从一个时间步骤传递到下一个时间步骤的网络记忆。这个过滤过程如下图所示:
更具体而言,该论文使用了一个 4 层的前馈循环网络,其中使用了卷积运算,每一层之后都有 sigmoid 激活。该网络的架构如下所示:
无监督训练
上述模型可以通过最小化目标分布的负对数似然这种常用方式来训练。但是,由于遮挡,y 的基本真值(ground-truth)数据可能是无法获取的。该论文提出的网络训练方法是不仅要预测下一个时间步骤,还要预测未来更多几步(比如 n 步),具体做法是丢弃当前时间步骤与当前之后 n 步之间的所有观察结果(将它们设为 0)。为了避免过拟合,这种观察丢弃(observation dropout)必须在空间和时间上并且对所有数据集都执行。这让网络可以不使用基本真值数据进行训练,这是一种相对无监督的方式。
结果
训练集总共包含 10000 个长度为 2000 时间步骤的序列。进行了 50000 次迭代的随机梯度下降训练。得到了两个重要发现。第一,这种无监督训练得到了几乎和监督学习一样的结果,这说明观察丢弃是有效的。第二,信念层的激活表现出了对不同目标移动模式的适应性表征。训练过程参阅下图,或参看原论文附带的视频。
但是,也许由于这是该方向的首个研究,所以该论文没有提供任何性能表现的量化指标或与已有研究的比较。该论文最后提到,研究者正在将该研究成果延展到更接近现实的数据以及更有难度的机器人任务上。
基于地理空间轨迹的位置预测(Location Prediction based on Geospatial Trajectories)
研究介绍:https://launchpad.ai/blog/tracking
研究背景
Launchpad.AI 最近有篇文章介绍了将长短期记忆(LSTM)用在运输工作中的方法。对于很多工业和室外应用,GPS 和射频识别(RFID)跟踪技术现在已经得到了普遍应用,因为它们能以米级的精度获取实时的位置信息。但是,解译地理空间数据以改善操作流程的方法还是一个人们不太了解的主题。该论文提出了一种自动化地理空间异常检测系统,可通过评估被跟踪目标是否偏离了预期轨迹来检测异常。该研究使用了 LSTM 网络来学习历史数据以预测未来位置。他们还将该系统应用到了一个真实数据集上,其中包含北京市 28000 辆出租车一个月的轨迹数据。
模型
除了时间戳和出租车对应的位置(经度和纬度),速度、方向和是否载客的状态也在规范化之后被纳入了序列数据之中。然后使用 LSTM 网络处理这个序列数据。该研究还考虑了目标的身份信息。身份信息(这里是每位驾驶员独有的 ID)首先通过嵌入(embedding)进行预处理,然后与 LSTM 输出融合。在某种程度上讲,驾驶员 ID 的语义含义中有两辆出租车是否具有相似的移动模式的信息。在经过一个密集的全连接层之后,整个网络会以纬度和经度的形式输出一分钟的未来预测。该网络是用 Keras 实现的,下图给出了其网络架构:
结果
训练完成后的模型在留存的测试数据集上进行了评估。根据该论文的结果,出租车在一分钟后离起始位置平均 391 米远,这意味着如果该系统使用当前位置作为预期位置,那么就会造成 391 米的误差。使用 5 辆出租车作为训练集的 LSTM+embedding 的最终结果得到了 2076 米的误差。但是,随着出租车数量增长至 8000,误差显著下降到了 152 米,低于出租车的一分钟平均移动距离。
简评
这两个案例都表明位置感知计算可受益于深度学习:一个是根据原始传感器数据推断位置,另一个是直接使用位置数据检测运营异常。显然,处理序列数据的深度学习已经非常成熟了,但是其在位置感知计算上的应用还不普遍,可能的原因有:
- 评估困难。事实上,上述案例更像是概念验证研究,因为研究者都没能提出可比较和公平的评估指标来评估他们的研究。
- 缺乏可靠标注的数据集。位置感知计算的基本真值数据(通常是位置)一般难以获取。比如在第一篇论文中,可能没办法记录真实环境中所有目标的基本真值位置,这使得大规模学习难以实现。
- 时间复杂性。非常类似于语音识别,时间数据序列的最小长度让地理空间感知具有任意性,而且高度依赖当前状况。在语音识别和光学字符识别(OCR)领域,目前是通过连接主义时间分类器(CTC)来解决这个问题。这种方法能否延展到位置感知计算领域?还有待探索和研究。
总体而言,目前的位置感知计算的机器学习水平还非常有限;当涉及到数据挖掘和解释时,还需要大量领域专业知识。这两个研究案例表明自动学习数据能有效提升当前的位置感知计算,这是一个很有前景的研究方向。