论文笔记:TrajGAT: A Graph-based Long-term Dependency ModelingApproach for Trajectory Similarity Computa

2022 KDD

1 intro

1.1 背景

  • 经典相似性度量(DTW,Hausdorff等)复杂度高,限制了它们在大规模轨迹分析中的应用,成为计算轨迹相似性的实际瓶颈。
    • 提出了各种近似相似性度量的策略
      • 用于Hausdorff的局部敏感哈希(LSH)
      • 用于DTW的约束Warping窗口
    • 这些技术是为一个特定的度量设计的,不适用于其他度量
  • 深度表示学习(DRL)方法近年来已成功应用于轨迹相似性计算
    • 用向量表示轨迹并学习一个向量的度量空间
    • 与传统的近似策略相比,DRL方法快而通用
    • 然而,在top-K相似性搜索上评估现有的DRL方法,发现它们在长轨迹上的性能显著下降
      • 论文笔记:TrajGAT: A Graph-based Long-term Dependency ModelingApproach for Trajectory Similarity Computa_第1张图片
      • 最先进的方法,即NeuTraj和Traj2SimVec,在长轨迹上至少下降了40%的前10命中率
  • 目前的DRL方法不能建模长期依赖性,这导致了在长轨迹上的性能下降。
    • 一方面,根据相似性度量的定义,两个轨迹的相似性通常由一些记录对齐来主导
      • 长短轨迹之间的对齐跨越不同的区域
      • 论文笔记:TrajGAT: A Graph-based Long-term Dependency ModelingApproach for Trajectory Similarity Computa_第2张图片
      • 当前的方法使用(RNN)来将轨迹编码成嵌入,同时保持相似性关系

      • 这些RNN模型只能捕获最近观察到的记录的短期依赖性,难以扩展到长序列

    • 另一方面,DRL方法通过学习等大小网格的共享表示来建模空间信息

      • 记录在空间中分布不均。一些网格单元缺乏足够的数据来训练它们的表示,这进一步恶化了长轨迹上的性能

  • 然而,为轨迹相似性计算建模长期依赖性并非易事

    • 现有的针对长序列建模的工作可以分为三类,都不能用于论文的任务

      • 基于RNN的方法——在优化中采用辅助损失

        • 这不仅使模型难以训练,而且还导致在度量近似上的次优性能

      • 基于记忆网络的方法——依赖于记忆结构的启发式设计

        • 通常无法捕获顺序关系

      • 基于Transformer的方法

        • 在捕获长期依赖性方面展示了其优越性

        • 然而,随着序列长度的增加,Transformer的GPU内存需求呈二次增加

        • 虽然提出了几种算法来提高自注意力的效率,但它们不能利用空间信息,因此不能直接用于轨迹相似性计算

1.2 论文思路

  • 论文提出TrajGAT来捕获轨迹相似性计算的长期依赖性
    • 将分层的空间结构整合到轨迹编码中
      • 不仅明确地模型化了长轨迹中的跨区域关系
      • 还限制了Transformer中自注意力的GPU内存需求
    • 具体来说,TrajGAT首先采用PR四叉树来构建分层结构。所有四叉树叶格中的位置记录都是平衡的,这确保了网格表示的等价训练。
    • 基于四叉树,我们为所有轨迹构建graph,通过原始记录及其相关网格之间的额外边。
    • 然后,设计了基于图注意力(GAT)的Transformer来将轨迹图编码成嵌入向量
      • 基于GAT的Transformer不计算所有成对记录的注意力,而只是沿着轨迹图中的边聚合信息,以减少GPU内存成本。
    • 最后,将嵌入向量输入到一个度量学习框架中,以近似相似性度量。

2 问题定义

  • 考虑一个包含N条轨迹的轨迹数据库T和一个轨迹相似性度量f(⋅,⋅)。
    • 每个轨迹T=[X1​,...,Xt​,...] 是一个元组序列,其中 Xt​=(latt​,lont​) 是对象的第t个位置
    • 对于任何两个轨迹 Ti​,Tj​ ∈ T,f(Ti​,Tj​) 衡量了Ti​ 和 Tj​ 之间的相似性。
      • 这里,f(⋅,⋅) 可以是DTW、Hausdorff、Fréchet距离,或任何其他轨迹相似性度量。
  • 任务是在相似性函数f(⋅,⋅) 下,计算来自 T 的一对特定轨迹的相似性。
    • 研究问题是:如何学习一个近似相似性函数 g(⋅,⋅),使得计算g(Ti​,Tj​) 是高效的,同时在长&短轨迹上的差异 ∣f(Ti​,Tj​)−g(Ti​,Tj​)∣ 最小

3 方法

3.1 总体方法

3.2 PR四叉树的建立

论文笔记:TrajGAT: A Graph-based Long-term Dependency ModelingApproach for Trajectory Similarity Computa_第3张图片

3.3 H中网格的学习

  • 为了整合轨迹编码的分层信息,对H进行预训练,以获得网格单元的嵌入M_H
    • 假设H中存在K个网格单元,将H视为一个图,对其进行Node2Vec操作,学习网格单元的嵌入向量。
    • 学到的嵌入矩阵 M_H \in d_h \times N_h捕获了H的层次信息
      • 其中 dh​ 是网格单元嵌入的维度
      • Nh没说,个人觉得就是K

3.4 构建图

论文笔记:TrajGAT: A Graph-based Long-term Dependency ModelingApproach for Trajectory Similarity Computa_第4张图片3.4.1 节点特征提取

  • 将轨迹图 Tg​=(N,E) 视为同质图,并平等地对待Nr​ 和Nh​ 中的节点
  • N中的节点特征包含三个方面
    • 坐标特征fl​
      • Tg中的每个节点代表区域A中的一个空间元素,它可以是一个位置或一个矩形区域。
        • 对于 Nh​ 中的节点(PR四叉树的网格),选择它们的中心位置
        • 对于 Nr​ 中的节点,直接使用它们原始轨迹的位置
      • 假设Xi​=(lati​,loni​) 是节点ni​∈N 的相关位置
        • 首先用最小-最大归一化函数归一化它们
        • 然后使用多层感知机(MLP)进行非线性变换
    • 区域特征fr
      • 模型化区域大小
      • 如果 ni​ 是 Nh​ 中的节点(网格节点),提取其相关网格单元的宽度 wi​ 和高度 hi​
      • 如果 ni​ 在 Nr​ 中,记wi​=0;hi​=0
      • 通过w和h获取区域特征
    • 层次结构特征fh​
      • 如果 ni​ 是 Nh​ 中的节点(网格节点),直接使用H的预训练嵌入矩阵
      • 对于 Nr​ 中的节点,使用如下方式获得层次结构特征
  • ——>对于一个特定的点ni,它最终的点特征是坐标特征、区域特征和层次结构特征的拼接结果

3.5  基于Graph和Graph attention的encoding

论文笔记:TrajGAT: A Graph-based Long-term Dependency ModelingApproach for Trajectory Similarity Computa_第5张图片

3.6 优化的目标函数

  • 遵循之前的方法,将 轨迹对成对距离矩阵D转化为相似度矩阵S
    • θ是可调参数,控制相似度分布
  • 以前的方法直接使用S中的相似度值作为真值。
    • 然而,Ta​(anchor 轨迹)的大多数相似度趋势在一个小区域内聚集,无法提供清晰的监督信息
    • ——>在计算损失之前,对Ta​的相似度列表进行高斯归一化
      • 论文笔记:TrajGAT: A Graph-based Long-term Dependency ModelingApproach for Trajectory Similarity Computa_第6张图片
      • 这里[1....N]/a表示在集合[1.....N]中但不等于a的元素
      • 经过归一化后,Ta​的相似度分布符合标准高斯分布。TrajGAT能更容易捕获监督信息
  • 假设为Ta​采样了n个轨迹以拟合相似度,计算Ta​的损失如下
      • g(T_i,T_j)=exp(-Euclidean(ei,ej))计算两个轨迹嵌入之间的相似度
      • r是由加权秩损失计算的样本权重
      • 总损失是所有锚轨迹损失的和L_T=\sum_{a \in T} L_a

3.7 复杂度

  • TrajGAT的计算包括两个部分,即层次结构构造和轨迹编码。
    • 第一部分是预处理过程,不影响相似度计算的效率。
    • 第二部分的复杂度是O(η⋅L+L⋅log(L)),这比基于RNN的模型的复杂度要高。
      • 然而,在实践中,TrajGAT的编码时间与这些方法相当,因为TrajGAT在GPU上更加高效。
      • TrajGAT中的所有操作都可以并行计算,而基于RNN的模型则不能。

4 实验

4.1 数据集

  • 使用两个公开的轨迹数据集来评估TrajGAT的性能。
    • 由滴滴提供的西安的出租车轨迹+波尔图出租车轨迹数据。
    • 预处理方法后,得到了西安数据集的525万条轨迹和波尔图数据集的超过60万条轨迹。
    • 对于每个数据集,构建了两个子数据集,分别记为Mix和Long,以验证TrajGAT在不同轨迹长度上的性能。
      • 两个数据集的Mix和Long都包含10,000条轨迹。

4.2 Top-K 轨迹相似度搜索

论文笔记:TrajGAT: A Graph-based Long-term Dependency ModelingApproach for Trajectory Similarity Computa_第7张图片

4.3 ablation study

论文笔记:TrajGAT: A Graph-based Long-term Dependency ModelingApproach for Trajectory Similarity Computa_第8张图片

你可能感兴趣的:(论文笔记,论文阅读)