Loading... # 论文研读 #3: 轨迹表示学习技术研究进展 <button class="btn m-b-xs btn-info btn-addon" onclick='window.open("https://kns.cnki.net/kcms/detail/detail.aspx?dbcode=CJFD&dbname=CJFDLAST2021&filename=RJXB202105013&uniplatform=NZKPT&v=ed6oAmHPQrIyn9qwtkM33corTj%25mmd2F3usr3N9XqFak3gMPUBqXtcRfiLTa9qw1Vp50B","_blank")'><i><i data-feather="external-link"></i></i>CNKI</button> > **标题**: 轨迹表示学习技术研究进展 > **作者**: 曹翰林, 唐海娜, 王飞, 严瑾, 徐勇军 > **通讯作者**: 唐海娜 (hntang@ucas.ac.cn) > **单位**: 中国科学院大学, 中国科学院 ## Abstract 基于深度学习的从大规模数据中学习轨迹, 较于传统的人工设计特征将轨迹表示作为数据预处理的一部分, 新的方法赋予了轨道表示更多的可能性. 轨道领域按照研究对象的不同尺度, 可以归纳为轨迹单元的表示和整条轨迹的表示. ## Introduction ### 轨迹数据挖掘 轨迹数据拥有相当庞大的应用场景: - 景点推荐 (预测游客下一到达位置) - 智慧交通 (交通流量预测) - 公共安全 (预测台风轨迹) - 国防安全 (识别领海异常舰船轨迹) 通过这些轨迹数据挖掘数据能够进一步理解人类活动. 传统的轨迹数据挖掘主要集中在一下几个方面: - 轨迹相似性计算 - 轨迹聚类 - 交通模式分析 - 轨迹异常检测 而基于神经网络研究轨迹模式推动了一些技术的发展: - 轨迹预测 - 轨迹推荐 - 行人-轨迹匹配 ### 轨迹表示 轨迹数据是一项非常重要的任务. 原始轨迹数据上一般由 `经纬度坐标-时间戳` 三元组构成的有序数列, 但是常见的数据算法要求输入数据位于向量空间中, 原始数据无法直接用于算法, 因此轨迹数据表示是一项非常重要的工作. 原始数据可以看作是一种高维数据, 三元组的每一个元素表示了一种维度, 并且混合了时间和坐标, 经过降维处理, 可以对原始数据进行简化和规范, 提取出有价值的部分, 减少冗余. 好的轨迹表示能够保留数据原有的特征, 并且一定程度弥补原始轨迹数据的缺陷. ## 综述 ### 轨迹表示 #### 定义 1. **轨迹**: 在物理空间中移动的真实数据, 是从时间到空间的连续函数. 2. **轨迹的离散采样**: 最基本的轨迹数据类型, 是轨迹的离散采样. 3. **轨迹表示**: 给定轨迹的离散采样 $S$, 找到一个映射 $f$ 将轨迹数据转化为 $d$ 维空间中的向量 $v \in R^d$, 尽可能的保留原始数据的时空属性. #### 轨迹表示难点 1. 不同的轨迹有不同的属性, 对表示方法的稳健性提出挑战 2. 轨迹数据属于时空数据, 传统方法难以捕捉其相关性 **传统的轨迹表示**多是基于人工设计特征, 这类方法受限于特征提取的能力. 而**利用CNN和RNN**学习轨迹的方法虽然在特征提取能力有较大的提升, 但是收到训练框架的限制. #### 轨迹表示方法的分类 已有文献通常按照轨迹表示所使用的模型对轨迹表示方法进行分类: 比如CNN, RNN, LSTM, Seq2Seq. 而回归轨迹数据本身, 可以按照不同的划分尺度分为: 轨迹单元, 整条轨迹. - 轨迹序列单元表示 以轨迹序列单元为基础, 通过学习单元的表示, 进而得到轨迹序列的表示. 轨迹序列单元可以细分为轨迹点和轨迹段 - 整条轨迹序列表示 着眼于完整的轨迹序列, 直接学习整条轨迹的表示. ## 对轨迹序列单元的表示 直接使用带有时间信息的二位坐标序列 $S = \{(l_0, t_0),\ldots, (l_k, t_k)\}$ 存在一些缺陷: 1. 不同的轨迹离散序列分布差异可能十分巨大(有的轨迹采样密集, 而有的稀疏), 对稳健性有很高的要求; 同时在同一条轨迹内部采样密度也有差异. 2. 轨迹点的取值在数据控件中的分布规律没有规律可循. (虽然数据有次序, 但依旧不足以表现出时空关系) ### 方法: 序列-序列框架 目的是基于原始的轨迹序列得到新的序列: $\text{EMB}: S \to Z$. ($\text{EMB}$: 表示过程, $Z=\{z_1, z_2, \ldots, z_{k'}\}$: 经过表示得到新的序列) ### 基于轨迹点的表示 **轨迹点** 是原始轨迹序列数据中最基本的单元, 形式上由坐标点和时间戳组成. #### 基于划分 处理真是轨迹面临轨迹过长和轨迹分布稀疏: - 轨迹过长: 导致轨迹点过多, 处理时间增加 - 分布稀疏: 坐标值值域过大, 影响表示效果 划分主要思想: 将互相临近的轨迹点看作集合, 转用集合的表示来代表集合中的轨迹点, 进而用多个集合的标识所构成的序列来表示轨迹. 通常使用兴趣点和网格作为集合基本单元. ##### 兴趣点 是一种解决单条轨迹过长的方法. 在序列-序列框架中, 新序列的数据点就是轨迹中的兴趣点, 是部分原始轨迹点的集合: $$ S \to Z, z_i=\{(l_{h+1}, t_{h+1}),\ldots,(l_{h+w}, t_{h+w})\} $$ $z$: 兴趣点; $w$: 隶属于兴趣点的轨迹点数量. - 优点 1. 简化了轨迹数据的复杂程度. 2. 一定程度上得到轨迹的语义信息. - 缺点 1. 在大范围场景中, 会因为缺少额外信息而难以提起有效的兴趣点. 2. 上述场景中得到的兴趣点会显得非常稀疏. ##### 网格 是目前常用的方法. 将地图划分成等间距网格, 每个小网格有自己的标识, 落入网格的轨迹点都由该网格的标识确定: $$ S \to Z, z_i=g_i $$ $g_i$: 新序列中第 $i$ 个网格的标识. - 优点 1. 解决了原始轨迹数据分布稀疏的问题 2. 缓解轨迹采样率低的问题 - 不足 1. 需要选择合适的网格大小, 否则会影响轨迹表示的效果. 网格方法适用于缺少外部信息的自由空间场景. #### 基于人工设计特征 又称为轨迹特征提取. 利用已有的时空信息来挖掘新的特征, 将原始的轨迹点转化为特征序列. 比如通过轨迹得到移动主体的位移, 速度, 加速度. 缺陷: 1. 高度依赖专家知识, 应用难度高 2. 从轨迹数据抽象出来的特征种类是有限的, 随着特征工程的深入, 新特征获取会变得越来越难. #### 基于词袋 NLP领域的研究可以被轨迹表示领域借鉴. 两者拥有共通之处: 1. 轨迹 - 文本中的句子 2. 轨迹序列单元 - 构成句子的词语 3. 轨迹点服从幂律分布 将轨迹数据看作一堆词语组成的词袋, 再利用word embedding的方法进行词语的表示: $$ S \to Z, z_i=w_i $$ $w_i$: 词向量. 流程可以分为: 定义词语, 词嵌入. - 定义词语 有2种方法: 直接将轨迹点看成词语; 对轨迹进行划分, 将划分后的单元作为词语. 前者通常会导致词典体量过大. - 词嵌入 是词表示的子集, 指词语的分布式表示, 将高维空间中的单词映射到低维空间中. 主要方法有: word2vec, 利用前馈神经网络对轨迹单元进行嵌入. #### 基于图表示 除了序列形式外, 可以转化为其他的数据形式, 极大的延展了轨迹表示领域的深度和广度. 重点在于如何构建图, 对节点和边进行定义. 常用的构建如的方法按照场景可以分为两类: - 交通路网场景 - 自由空间场景 ### 基于轨迹段的表示 主要思想: 将轨迹段作为轨迹序列的基本单元进行表示. 轨迹段由若干连续轨迹点组成的集合, 形式上表现为轨迹序列的子序列. 使用轨迹段: 1. 降低计算复杂度; 2. 挖掘出更丰富的信息. 轨迹段可以看作是一个更大的轨迹点, 因此大多数居于轨迹点的方法也能用于轨迹段. 轨迹段与轨迹点的不同之处在于: 轨迹段本身就是轨迹点的集合, 拥有更丰富的表示方法. ### 轨迹单元的应用 轨迹单元(轨迹点, 轨迹段)进行标识, 可以得到更适合机器学习模型的序列. 目前通常应用有: 轨迹预测, 轨迹相似性运算, 轨迹聚类. ## 对整条轨迹的表示 从算法逻辑上, 基于**轨迹序列单元**的表示方法遵循的是分治的思想, 轨迹序列被分为若干单元, 在对轨迹单元进行表示, 整条轨道会用新形式的单元序列呈现出来. 而整条轨迹的表示方法是将整条轨迹作为一个单元所表示. ### 基于曲线拟合 该方法通常用于早期工作. 基本思想: 通过函数拟合轨迹形状, 如果形状近似就用拟合函数的参数来表示, 即 $\left< x_i, y_i \right> = f(t_i, \Theta)$. 函数的参数 $\Theta$ 能够代表轨迹的特征, 降低处理轨迹数据的计算复杂度. 局限: 1. 仅通过近似轨迹形状所挖掘的信息十分有限. 2. 在大范围场景的轨迹十分复杂, 通常需要多端曲线拼接合成, 较为复杂 3. 拟合曲线阶数不宜过高 ### 基于图像 将轨迹转化为图像: 将整个地图看作是一个二幅图像, 轨迹经过设置为1, 没有经过则为0. 形成图像后, 对轨迹进行标识的任务就进一步转化为了提取图像的特征, 因此可以使用深度神经网络, 卷积神经网络, 自动编码器等. ### 基于神经网络 神经网络是端到端(end-to-end)的方式学习轨迹表示: 一段接受输入, 一端产生输出, 通过考虑输入和输出来优化模型参数. - 优点 1. 模型的每一步优化以目标函数为导向, 效果明显. - 不足 1. 轨迹表示很难显式的表示出来 2. 轨迹表示向量是任务相关的, 而这导致不适用与其他类型的任务. ### 基于整条轨迹表示的应用 整条轨迹的应用较为少, 主要有几个因素: 1. 数据标签单一 2. 不同轨迹数据的轨迹点数目不同, 提升了神经网络等机器学习算法的难度 3. 缺乏一种有效度量的方法 目前应用主要有: 轨迹分类, 异常检测, 隐私保护 ## 未来轨迹表示研究方向 1. 多模态数据融合 2. 生成式轨迹表示 3. 语义轨迹表示 ## 总结 轨迹表示承担着将原始数据转化为模型输入的重要人物, 是轨迹数据挖掘的重要任务. 最后修改:2021 年 09 月 09 日 © 允许规范转载 赞 0 如果觉得我的文章对你有用,请随意赞赏