标题 一种用于轨迹建模与应用的深度生成模型
摘要 现代基于位置的系统推动了城市轨迹数据的爆炸式增长,并促进了许多现实世界的应用(例如,轨迹预测)。然而,大数据处理开销和隐私问题阻碍了轨迹的获取与利用。受交通路网中规律轨迹分布的启发,我们提出使用深度生成模型对轨迹数据进行私有建模,并利用该模型生成代表性轨迹以支持下游任务或直接支撑这些任务(如流行度排序),而非获取和处理原始大数据量的轨迹数据。然而,对高维且具有时变偏态分布的轨迹进行建模仍颇具挑战性。为解决此问题,我们通过利用文献中被忽视的重要因素——底层道路属性(例如道路类型和方向)来建模和生成轨迹序列。这些属性与轨迹分布密切相关。具体而言,我们将轨迹分解为包含时间信息的地图匹配道路序列,并将其嵌入以编码时空特征。随后,我们通过编码底层道路属性中的路线规划模式来增强轨迹表示。接着,我们对边之间的空间相关性以及日常和周度的时间周期性信息进行编码。之后,我们使用元学习模块,基于良好的预编码轨迹前缀,逐步生成轨迹序列,并从偏态轨迹数据中学习通用的轨迹分布模式。最后,通过梯度裁剪学习模型微分隐私以保护轨迹隐私。在真实世界数据集上的实验表明,我们的方法显著优于现有方法。
1 引言 车辆嵌入式传感器和移动位置服务的进步生成了大规模轨迹数据,并推动了城市轨迹数据分析的应用 [13, 47]。
城市规划师等数据分析师依赖可访问的轨迹数据(例如在线网约车平台发布的数据)来为战略规划提供洞察。然而,轨迹维护和处理开销过大以及隐私问题阻碍了这些应用的实施。
具体而言,数据分析师缺乏足够的计算资源来维护和处理大规模轨迹数据,因此他们希望进行轻量级分析。压缩技术和抽样技术常被用来缓解这一问题 [7, 30, 53, 58]。然而,前者仍需耗费大量解压和处理开销,而后者在大抽样比例下耗时过长,在小抽样比例下性能较差。此外,这些方法会引发隐私担忧,因为城市轨迹包含敏感的个人信息(例如独特的移动模式),且不适合公开发布。虽然已有保护隐私的轨迹数据发布方法 [18, 19],但其轨迹建模和隐私保护方法存在实际局限性。 首先,它们将原始轨迹建模为地理网格序列,忽视了轨迹在道路网络上的约束;其次,通过向轨迹前缀添加噪声来保护隐私,但由于轨迹长度可变(尤其是长轨迹累积噪声更多),会显著降低数据效用。此外,匿名化方法对拥有背景知识的攻击者易受攻击 [45]。
受到轨迹在道路网络上遵循底层移动模式规律生成这一事实的启发,我们提出使用深度生成模型建模轨迹数据,以实现:(a) 模型轻量;(b) 模型具有高效用性以支持下游轨迹应用;(c) 保护个体隐私。这将解决上述局限性。然而,对地图匹配轨迹进行建模存在两个挑战。(C1) 实际轨迹的建模困难在于其空间路线分布是时变的。外部时空特征如道路网络兴趣点(POIs)和天气信息常用于增强轨迹建模 [47]。然而,在现有轨迹研究中,底层道路网络属性(例如道路类型和方向)这一对捕捉轨迹路由模式至关重要的因素被忽视了。我们在图1中通过不同道路类型的轨迹空间分布示例表明,道路属性与轨迹分布密切相关且至关重要。(C2) 实际轨迹的建模困难在于其相对于路线边数量具有高维性,在道路网络上的分布极为偏态 [60]。尽管主流时空图卷积模型 [39] 被证明在建模常见图节点或边属性方面有效,但它们对高维且偏态轨迹的建模效果仍不足(实验结果将展示这一点)。
图1: 轨迹空间分布与道路类型密切相关。轨迹起点和终点更可能位于住宅区或次级道路上,而轨迹路线则更多通过高级道路,例如主干道。
为解决上述挑战,我们提出了一种名为MTNet 的深度生成模型,通过充分利用底层道路属性来有效建模高维且偏态的轨迹数据。首先,在提取轨迹的空间路线边和时间出发及旅行时间特征之外,我们还从 OpenStreetMap 中收集重要道路属性,并将其编码为道路元知识以增强时空轨迹表示(应对挑战C1)。具体而言,MTNet 将一条轨迹分解为包含每条经过道路的对应出发时间和旅行时间的地图匹配道路序列。我们 (i) 嵌入道路、时间分段和时间不变影响因素到隐藏特征向量中;(ii) 将底层道路属性编码为道路元知识以捕捉内在路线规划模式;(iii) 使用图嵌入技术 [17] 编码边之间的空间相关性;以及 (iv) 使用时间图 [52] 编码日常和周度的时间周期性信息。其次,MTNet 采用基于知识的元学习模块,通过从偏态轨迹中学习通用轨迹分布模式来逐步生成高维轨迹(应对挑战C2)。具体而言,在给定编码后的轨迹前缀及其对应的道路元知识后,MTNet 根据选择概率生成一条可能的后续道路及其旅行时间。通过递归输入前一条道路,MTNet 扩展编码后的轨迹前缀并输出后续道路,直到最终生成完整的轨迹。最后但同样重要的是,我们采用差分隐私训练技术(结合梯度裁剪 [1])来保护轨迹隐私,在此过程中控制单条轨迹的梯度整体规模以提高效用。
基于上述设计中充分编码的时空轨迹特征和内在道路元知识,MTNet 不仅能生成符合实际数据统计且具有目标粒度的代表性轨迹,还能直接支持多种现实世界轨迹应用 [5, 48],而无需进一步维护和处理大规模轨迹数据。具体而言,我们支持以下应用:(i) 轨迹流行度排序 [8, 49]。给定一个候选轨迹集合,MTNet 可以估计每条轨迹的时间依赖出现概率(或流行度)。(ii) 轨迹后缀预测 [28]。给定输入的轨迹前缀,MTNet 可以预测最可能的轨迹后缀。(iii) 时间依赖旅行时长估计 [57]。给定一条轨迹和出发时间,MTNet 可以预测每条经过道路段的旅行时长。需注意的是,MTNet 是为隐私保护性和周期性发布轨迹而设计的,旨在方便且高效地支持历史轨迹的下游应用。当遭遇突然剧烈变化(如新冠疫情)时,我们需要重新训练模型以适应新出现的模式。
总结 通过 MTNet,我们做出了以下贡献:
(1) 我们形式化了融合时空信息的地图匹配轨迹建模问题,并提出了用于支撑轨迹应用的轨迹生成模型(第2节)。
(2) 我们通过编码时空特征、底层道路元知识、道路边之间的空间相关性以及时间周期性信息来增强轨迹建模能力(第3.1和3.2节)。
(3) 我们提出了一种名为 MTNet 的深度生成模型,基于上述良好编码的轨迹特征对偏态轨迹数据进行建模(第3.3节)。我们利用 MTNet 为下游应用生成合成但逼真的轨迹,并直接支持多种轨迹应用(第3.4节)。
(4) 我们展示了如何通过梯度裁剪学习 MTNet 的差分隐私特性(第4节)。
(5) 我们在两个真实世界数据集上进行了全面实验。结果表明,MTNet 显著优于现有方法(第5节)。
表1: 符号说明
2 预备知识
2.1 背景
原始轨迹
一条原始轨迹是包含对应时间戳的一系列GPS点,记为⟨𝑙𝑎𝑡,𝑙𝑛𝑔, 𝑡𝑠𝑡𝑎𝑚𝑝⟩1:𝐿𝑟 = (⟨𝑙𝑎𝑡,𝑙𝑛𝑔, 𝑡𝑠𝑡𝑎𝑚𝑝⟩1, ⟨𝑙𝑎𝑡,𝑙𝑛𝑔, 𝑡𝑠𝑡𝑎𝑚𝑝⟩2, · · · , ⟨𝑙𝑎𝑡,𝑙𝑛𝑔, 𝑡𝑠𝑡𝑎𝑚𝑝⟩𝐿𝑟 ),,其中𝐿𝑟为轨迹长度。我们分别用𝑙𝑎𝑡1:𝐿𝑟 , 𝑙𝑛𝑔1:𝐿𝑟 , 𝑡𝑠𝑡𝑎𝑚𝑝1:𝐿𝑟表示纬度、经度和时间戳序列。
图2:基于卫星GPS的原始轨迹与地图匹配轨迹
示例1(原始轨迹):
考虑图2(a)中从起点到终点的轨迹(⟨30.6751, 104.0597, 1477998947⟩, ···, ⟨30.6708, 104.0620, 1477999132⟩)。每个 ⟨𝑙𝑎𝑡,𝑙𝑛𝑔, 𝑡𝑠𝑡𝑎𝑚𝑝⟩𝑖 是一个坐标点,记录了车辆经过时的时间戳。从s到d的行驶时间为d处时间戳减去s处时间戳,即185秒。
道路网络
道路网络是定向图G= ⟨V, E⟩,其中V表示顶点集合,E表示边集合。每条x ∈ E是一条有向边(即一条道路段)。此处为简化说明使用无向边作为示例,但我们的方法和实验基于有向边。
地图匹配轨迹
由时间戳GPS序列表示的原始轨迹可以与道路网络进行匹配,称为地图匹配轨迹。地图匹配轨迹可表示为⟨𝑥, 𝑡𝑑, 𝑡𝑐⟩1:𝐿 = (⟨𝑥, 𝑡𝑑, 𝑡𝑐⟩1, · · · , ⟨𝑥, 𝑡𝑑, 𝑡𝑐⟩𝐿),其中xᵢ是一条道路段,tdᵢ为该路段起点的出发时间,tcᵢ表示行驶时间(即𝑡𝑐𝑖 = 𝑡𝑑𝑖+1 − 𝑡𝑑𝑖 ),L是轨迹序列长度。我们用𝑥1:𝐿, 𝑡𝑑1:𝐿 和 𝑡𝑐1:L分别表示轨迹路径序列、出发时间和行驶时间。
示例2(地图匹配轨迹):
考虑图2(b)中的地图匹配轨迹。道路网络包含四条相连的边。图2(b)中每条经过边的出发时间和行驶时间是通过线性插值计算得出,基于图2(a)中的坐标与时间戳对齐轨迹起点和终点,并根据偏移量offsets和offsetd调整到对应边的接合点。
差分隐私
差分隐私(DP)是一种随机算法的数学属性,用于描述输入数据集对个体隐私保护的程度。直观上,DP确保用户仅能获取输入数据的聚合信息,而无法了解任何特定个体的信息。假设存在两个仅有一条轨迹不同的邻近轨迹数据集D和D′,如果对于所有输出子集A(D) ∈S(A为随机算法)及任意两个邻近轨迹数据集,满足:
Pr[A(D)∈S]≤eϵ⋅Pr[A(D′)∈S]+δ (1)
其中隐私等级由ϵ和δ衡量:ϵ和δ越小,隐私保护越强。高斯机制被广泛用于实现DP。(部分公式此处被省略)
2.2 轨迹建模与应用
我们研究使用具有差分隐私(DP)保证的深度生成模型进行轨迹建模与应用的问题。首先通过建模轨迹分布量化生成数据的效用;然后提出轨迹生成模型以支持轨迹生成;最后讨论如何实现DP保障。
建模轨迹分布
由于多种混合影响因素(隐变量),城市轨迹具有复杂的内在模式。直观上,轨迹从起点边逐步生成到终点边,并附带对应的时间信息,其中每条边依赖于其前缀轨迹。因此,给定一个轨迹数据集
,其联合概率密度函数(PDF)可表示为:
其中,𝑃𝑟(𝑥1)是第一条边的概率分布;𝑓 (𝑡𝑑1 |𝑥1) 是在𝑥₁处出发时间𝑡𝑑₁的PDF。直接建模上述未知的联合分布非常困难,因为随着L增大,分布空间呈指数级增长。因此,我们提出通过深度生成模型隐式近似真实轨迹分布。形式化地,我们学习一个可处理的生成模型以拟合真实城市轨迹生成,使得最小化真实轨迹和生成轨迹之间的分布距离。特别地,我们使用对称且平滑的度量——杰森-香农散度(JSD)计算分布距离:
其中X是真实数据集或生成的轨迹。该距离将在第5.1节中分解为路径边和终点边缘分布的距离。图3展示了轨迹建模与应用问题。
图3:轨迹建模与应用
构造生成模型
直观上,现实世界中的轨迹数据从特定出发时间的多起点生成。基于这一观察,为灵活支持不同粒度的合成轨迹生成并同时支持多种轨迹应用,我们将构造一个条件生成模型,输入条件包括起始边和下一条边的出发时间。我们将轨迹序列生成分解为逐步的路径边和行驶时间生成过程。具体地:
注意:生成轨迹的长度无需严格等于L(即路径边生成过程可能在某些步骤提前终止并以停止标志填充序列)。此外,生成过程中随机偏差通过多项式采样模拟。
示例3(轨迹生成):
考虑从𝑥0 = 𝑥 (1)出发,在����₁时间到达终点的轨迹(见图2)。假设模型输出G(𝑥ˆ1 = 𝑥 (3)|(𝑥 (1)), (𝑡𝑑1)) = 83%,对应的𝑡𝑐ˆ 1 = 52秒;以及G(𝑥ˆ1 = −|(𝑥 (1)), (𝑡𝑑1)) = 17%,对应𝑡𝑐ˆ 1 = 0秒(其中“−”表示停止标志,且G的输出具有随机性)。通过多项式采样进行选择,例如生成⟨𝑥 (3),𝑡𝑐ˆ 1 = 52秒⟩。
实现差分隐私
我们通过训练模型G并采用差分隐私(DP)保证,在模型训练期间对每条轨迹的访问进行私有化处理:通过裁剪和扰动模型梯度(添加随机噪声),具体细节将在第4节中详细描述。
3 MTNet
轨迹因其高维度、道路边之间复杂的关联性以及随时间变化却高度偏态的分布而难以建模。然而,在底层道路网络中存在影响轨迹生成的固有路线规划模式(隐变量),例如住宅区与工作区之间的移动模式,或基于道路容量和地理方向的路线规划模式。基于这一观察,我们提出了一种名为MTNet 的深度生成模型,该模型利用时空特征嵌入以及基于元学习的轨迹生成中内在的道路知识。图4展示了 MTNet 的整体架构,它由以下四个模块组成:
(1) 轨迹表示模块(图4(b)):用于嵌入空间路线边和时间特征,以有效表示轨迹序列;
(2) 道路知识编码模块(图4(c)):用于对道路边属性进行编码,引入固有的路线规划特征以增强轨迹前缀编码与后缀生成能力;
(3) 轨迹前缀编码模块(图4(a)的一部分):用于对轨迹前缀进行编码,旨在从高维轨迹前缀中提取长期时空依赖关系;
(4) 元生成器模块(图4(d)):用于生成轨迹路线边及其行驶时间,旨在有效支持偏态轨迹数据的建模与生成。此外,输出结果在图4(e)中受到道路网络拓扑约束的掩码处理,以提高生成效率和质量。
图4:MTNet 概览
3.1 轨迹表示
对于轨迹建模,首要问题是如何用时空特征(即路线边、出发时间和行驶时间信息)表示轨迹序列。具体而言,我们将每条离散标记的道路边嵌入低维向量以捕捉道路边的地理分布特征;将出发时间离散化为时间段并进一步编码以捕捉轨迹数据的时间分布特性;同时对每条边的行驶时间不变隐变量进行编码。这些嵌入结果与编码后的道路知识拼接作为统一输入(见图4(a))。
边嵌入
轨迹路线序列最初表示为道路边标签的离散序列,无法直接用于 MTNet 的轨迹前缀编码。对于道路网络,可以使用 one-hot 编码生成一个向量(指定边的位置为 1,其余为 0)。然而这会导致维度灾难问题(因边的数量很大)。为此,我们用矩阵 𝑊𝑥ₓ ∈ ℝ^{ |𝐸|×𝑑ₓₑ} 对边进行嵌入,其中每条边 x ∈ E 被表示为低维向量 xe=Wx[x]。
时间嵌入
轨迹分布随时间段变化。例如,城市轨迹在早晨从住宅区出发至工作区,在傍晚则反方向返回;路线边的行驶时间也具有时段依赖性(高峰时段较长,非高峰时段较短)。为建模轨迹数据的时变分布特性,我们将出发时间作为输入嵌入到 MTNet 中。具体而言,将每天划分为多个时间段;进一步地,每周生成 7×N时间段以捕捉每日变化(也可扩展至月或更长周期)。例如,将一天的 86400 秒划分为 48 个时间段(每段半小时),得到一周共 7×48 个时间槽。为增强表示能力,用矩阵 W∈R∣N∣×dte 对出发时间段进行嵌入,将出发时间转换为低维向量 W。
时空相关性编码
我们采用流行的图嵌入方法 node2vec [17] 预训练并初始化所有边嵌入矩阵 Wx,以捕捉边之间的空间关联。通过时间图 [52, 57] 捕捉周期性信息,每个节点表示相邻时间段或相邻日期的嵌入向量。此外,每条边的行驶时间受稳定但复杂的因素影响(如容量、热度、红绿灯等)。我们维护矩阵 Wtc∈R^{∣N∣×dte}建模这些时不变因子,并为每个边生成隐藏状态向量 ℎₓ。这些嵌入矩阵与 MTNet 共同学习(详见第4节)。
示例4:[轨迹表示] 在步骤 t∈[1,L],基于前一步输出的 x^t−1 和 t^ct−1,计算 t^dt=t^dt−1+t^ct−1。然后将 x^t−1 嵌入为 xet=Wx[x^t−1],并将 t^dt 转换为 tdt=W作为 MTNet 输入(图4(a))。
3.2 轨迹前缀编码
道路知识编码
尽管轨迹序列本身已嵌入,但其底层道路网络中还包含语义信息(显著影响轨迹分布模式)。为挖掘这些有用模式,我们从地图中收集道路属性并将其编码为信息格式。接着,通过子模块 MKEncoding 将编码的道路边属性与出发时间信息拼接成“道路元知识”(或简称“知识”),用于捕捉动态路线模式,并支持轨迹前缀编码和元生成器模块。具体而言,我们描述并编码以下道路属性(部分在文献中被忽略,例如道路类型和方向):
(1) 道路长度:影响行驶时间与避让红绿灯的策略;归一化为 Z-score 格式;
(2) 道路类型/等级:从 {住宅街、三级路、二级路、主干道、干线公路、高速公路} 中选择;编码为 one-hot 格式;
(3) 地理方向(0 到 2π):影响后续路线边选择,归一化为 Z-score 格式,并附加三角函数值(如正弦)以增强表示;
(4) 最大限速:修正 GPS 偏差引起的轨迹速度误差,归一化为 Z-score 格式;
(5) 其他属性(如单行道、生活街道标签):编码为 one-hot 格式。
示例5:[道路知识编码] 在步骤 t∈[1,L],当前路线边 x^t−1 与出发时间 t^dt 已知。假设邻接边集合为 {x^a1,x^a2,...,x^ak}(简写为 xa1:ak)。它输出知识 mkt=MKEncoding(Wx[x^t−1],W[(t^dt)]) 用于轨迹前缀编码,并输出 mkai=MKEncoding(Wx[xai],W[(t^dt)])(其中 xai∈xa1:ak)供元生成器模块使用(图4(d))。
轨迹前缀编码
基于时空嵌入与道路知识,进一步对轨迹前缀进行编码以捕捉其与待生成后缀之间的长期时空关联。具体而言,采用长短期记忆网络(LSTM)——一种典型的循环神经网络,可有效编码序列数据的长期依赖关系——来编码关键轨迹前缀。此外,使用全连接前馈网络提取编码后的前缀特征用于后续边生成。需注意,我们选用 LSTM 以兼顾效果与简洁性;更复杂的递归神经模块(支持逐步编码生成)也可应用于此处进一步提升性能。
示例6:[轨迹前缀编码] 在步骤 t∈[1,L] 中,基于 x^0:t−2 的前缀特征向量 ht−1∈Rdh 与出发时间 t^d1:t−1,以及输入 ⟨xe, te, z, mk⟩_t,通过 LSTM 反复迭代从 ht−1 到 ht 的状态转移(将 x^t−1 与 t^dt 的时空特征带入当前状态)。经后续前馈网络处理后,输出用于生成 x^t 的隐藏向量 hxt∈Rdo。
3.3 基于元生成器的轨迹生成
现实中城市轨迹在底层道路网络上的生成存在隐含路线规划模式:每条道路根据其属性(或知识)持有自身的转弯模式。基于此,我们设计核心功能模块——元生成器模块(图4(d))。利用第3.2节编码的道路知识,我们提出子模块 MetaLearner 为轨迹生成提供一组神经权重家族,其中权重针对每条边选择与每个出发时间段进行优化。
Meta Learner
MetaLearner 基于 MKEncoding 的时空知识捕捉每条道路的路线规划模式,并根据下一个边候选动态调整和输出优化后的神经网络参数(权重)。从元学习视角来看,是否在特定出发时间段选择某特定边候选作为下一步生成目标被视为独立子任务。每个子任务对应一个不同的输出神经网络(含不同权重),即对每条道路边与每个时间段进行定制化配置。通过将具有大量真实样本的边缘经验迁移到样本较少的边缘上,可显著提升生成性能。MetaLearner 由单层全连接前馈网络实现。
示例7:[Meta Learner] 对于 MKEncoding 编码后的时空知识 mkai,元学习子模块输出优化(适配)的神经权重 Wai=MetaLearner(mkai)。
输出神经网络
该子模块通过 MaskedSoftmax 和 MaskedSigmoid 函数分别生成路线边和行驶时间(即图4(e)中拓扑掩码下的 softmax 与 sigmoid 函数)。具体地,对于每步 t∈[1,L],假设下一条路线候选边为 xa1:ak,出发时间为 t^dt。基于前缀特征向量 hxt 和 xa1:ak 的行驶时间隐藏状态向量 htca1:ak,其工作流程如下:
·路线边生成:对每个候选边 xai∈xa1:ak,通过优化神经权重 Wsoftai 与前缀特征向量 hxt 的点积得到评分。所有邻接边候选的评分为 MaskedSoftmax 函数转换为选择概率,并通过多项式采样随机选中一条作为下一步生成目标(存在“停止标志”用于提前终止轨迹)。
·行驶时间生成:当前选定边的行驶时间由对应的优化神经权重 Wsigai 与行驶时间状态向量 htcai 的点积计算,结果通过 sigmoid 函数映射到 [0,1] 区间(确保数值稳定性)。
示例8:[输出神经网络] 对于时间步 t∈[1,L],生成 x^t=MaskedSoftmax(Wsofta1:ak,hxt),即基于 softmax 评分 hxt⋅Wsoftai(i∈[1,k])采样。同时生成 t^ct=MaskedSigmoid(Wsiga1:ak,htca1:ak,x^t),其中 htca1:ak=Wtc[xa1:ak]。
示例9:[轨迹生成流程] 图5展示了数据流示例。对于 t=1,输入为 t^c1、前缀 (x^(1)) 的隐藏状态 h1 与出发时间 t^d1:1。在 t=2,输入 ⟨xe, te⟩2 和 mk2 对应边 x^(3) 及 t^d2,计算邻接边的 mka1:a3(图5(a))。随后生成前缀 (x^(1),x^(3)) 的隐藏状态 h2(图5(b)),并计算 Wsofta1:a3 和 Wsiga1:a3(图5(c))。最终输出 x^2 与 t^c2(图5(d))。
3.4 支持轨迹应用
地图匹配轨迹存在四大主流应用场景 [47]:
(1) 轨迹聚类(如流行度排序);
(2) 预测(如轨迹后缀预测);
(3) 规划(如旅行时间估计);
(4) 历史轨迹查询(如异常检测)。MTNet 可支持前三种应用(除历史轨迹查询),因其生成模型学习的是固有统计模式而非单纯记忆历史数据,例如会忽略偶发的历史异常。
轨迹生成
从真实大规模轨迹数据中训练的 MTNet 可用于生成具有代表性的合成轨迹,保留原始数据中的统计特性。因此在常规使用场景下无需存储和维护原始大批量轨迹数据。基于公式3中优越的模型设计,MTNet 支持不同粒度的轨迹生成:例如为任意起始边子集与任意时间段生成样本。以某轨迹数据集为例,MTNet 可为每个固定起点生成合成轨迹,在实际旅行时间估计任务中性能接近原始数据(第5节实证评估)。
直接支持轨迹应用
我们设计 MTNet 直接支持统计分析(无需显式生成轨迹)。通过以下示例展示其如何支持真实场景:
(1) 轨迹流行度排序:给定一组轨迹,MTNet 可依据时间依赖性计算 Pr(x^t=xt∣x^0:t−1,t^d1:t)(∀t∈[1,L])作为排名依据。
(2) 轨迹后缀预测:给定前缀(如起点与出发时间),MTNet 通过维护候选集并根据生成概率逐步筛选,找到最可能的后缀。
(3) 时变旅行时间估计:输入包含起始边 x1 及其出发时间 td1 的轨迹 x1:L(并以邻近边 x0 填充),在步 t=1 输入 x0 与 td1 得到 x1 的 t^ca1:ak,随后在步 t=2 输入 x1 与 t^d2=td1+t^c1 得到 t^c2,循环直至完成 t=L 步,最终输出累计预测旅行时间。
4 差分隐私MTNet
我们介绍如何通过差分隐私机制学习MTNet,以在保留个体轨迹隐私的同时高效且有效地对噪声轨迹数据进行建模。我们将训练损失函数设计为两部分:(1) 学习轨迹路线分布;(2) 对应的行驶时间分布。对于轨迹路线,我们使用负对数似然(NLL)损失,如公式 (4) 所示,它是每个时间步 t∈[1,L] 的累积损失。对于行驶时间,我们采用平均绝对误差(MAE)(见公式 (5)),即每个步骤 t∈[1,L] 的行驶时间绝对误差的累积和。注意:此处使用 MAE(而非均方误差 MSE)是为了提高对异常值(如车辆因故停驶或怠速时导致的偏离平均行驶时间的数据点)的鲁棒性,因为 MAE 对这些异常值的梯度更为敏感。我们通过超参数 λ 权衡这两部分的影响,在公式 (6) 中优化所有可训练参数 θ 以最小化总损失 L:
我们采用差分隐私随机梯度下降(DPSGD)方法 [1] 来训练 MTNet,其中真实轨迹路线和行驶时间被私密化用于训练并指导生成。算法 1 展示了伪代码。输入包括处理后的轨迹数据集,每条轨迹对齐到长度 L、每个路线边的出发时间和整条边的归一化行驶时间。首先将输入数据集划分为输入集合 X 和输出标签集合 Y(第 1-2 行)。然后,除通过图嵌入初始化的 Wx 和 Wτ 外,所有可训练参数均采用 Xavier 初始化 [15](第 3 行)。下一步是使用输入集合 X 和输出标签集合 Y 私密化学习 MTNet 直至收敛(第 4-8 行)。在每次迭代中,我们均匀采样一个轨迹小批次 B 并计算前向损失(第 5-6 行)。通过 L2 范数阈值 C 对 MTNet 参数的梯度进行裁剪(第 7-8 行),并添加高斯噪声以私密化轨迹访问,隐私水平参数为 σ(第 9-10 行)。最后返回学习后的隐私保护 MTNet(第 11 行)。训练过程中我们采用先进的 RDP 账户技术 [34] 对整体隐私损失进行紧致估计。
算法 2 展示了 MTNet 的显式前向传播过程。轨迹路线边标签被转换为嵌入表示(第 1 行)。出发时间序列通过函数 τ 离散化为时间段,并进一步转换为嵌入表示(第 2 行)。输入道路边的时空元知识被编码(第 3 行)。初始化小批次训练损失 Lx 和 Lt(第 4 行),用于在每一步生成过程中累积。在每步 t∈[1,L] 中,上述三个输入部分拼接后通过循环模块处理(第 6 行)。查询当前边 xt−1 的邻接边,并计算其行驶时间隐藏状态和对应的元知识(第 7-9 行)。MetaLearner 模块生成对应元权重(第 10 行),用于生成下一步边及其行驶时间(第 11-12 行),依赖于循环模块输出的轨迹前缀特征向量 hxt、htct 及邻接边的元知识。基于 NLL 和 MAE 损失分别累积 Lx 和 Lt(第 13-14 行)。最后,通过平衡因子 λ 将两项损失求和得到小批次总损失 L(第 15 行)。
定理 4.1: 算法 1 能够保证差分隐私。
证明: 对于每个训练步骤(第 4-10 行),单条轨迹的 L2 梯度范数被限制在阈值 C 内(即敏感性)(第 8 行)。通过设置 σ=ϵ2ln(1.25/δ),高斯噪声能保证对采样小批次的 (ϵ,δ)-DP(满足公式 (1))[10]。接下来,根据隐私放大定理 [4],每个抽样训练步骤相对于整体数据可保证 (qϵ,qδ)-DP,其中 q 为采样比例。最后,根据差分隐私的后处理性质 [10],模型 G 的 DP 学习过程能确保轨迹生成和分析的 DP 性能。对完整训练过程中更精确的隐私损失估计可参考 RDP [34]。
讨论: 直观上,我们通过尽可能学习群体级的轨迹分布统计信息并最小化个体级信息来保护隐私。通过使用个体级高斯噪声扰动梯度,我们可以在不牺牲群体级统计信息的前提下对敏感信息进行随机化处理。需注意的是,MTNet 通过对每条完整轨迹序列应用 DP 实现了高性能,而文献中通常对基于地理网格的粗粒度位置前缀建模添加噪声,这忽视了道路约束并降低了数据效用(尤其是长轨迹因累积噪声更多导致的数据损失)。
5 实验
5.1 实验设置
数据集。
我们使用了两个真实轨迹数据集:成都和西安,分别有 1820 万条和 1160 万条轨迹用于评估。表 2 展示了详细信息。
表 2:数据集详情
验证指标
我们使用前述的杰森-香农散度(JSD)来衡量真实测试数据与合成轨迹路线分布之间的距离。此外,我们用平均绝对误差(MAE)评估行驶时间生成错误;并评估了通过流行度排序和后缀预测任务直接支持轨迹应用的效果;还基于旅行时间估计任务评估了合成数据的有效性。
具体来说,我们将 JSD 测量分为:
·路线 JSD: 起点条件下的路线边使用分布量化了详细轨迹路线边分布统计。通过比较每条起始边 x0 在真实和合成轨迹中的边使用百分比,计算路线使用分布距离(见公式 7)。需要注意的是,路线 JSD 的上限与平均轨迹长度成正比而非等于 1,因为一条轨迹中通常包含多于一个路线边。为评估路线 JSD,我们对测试数据中每条起始边生成等长的合成轨迹,并基于 JSD 距离与真实轨迹进行比较,计算所有起始边的平均距离。
·终点 JSD: 每条起始边的终点分布也是建模轨迹分布的重要统计量(例如涉及交通流方向模式)。合成数据应保留与输入数据集相同的终点分布。我们利用上述路线 JSD 评估中的合成数据进一步评估终点 JSD,计算所有起始边上的平均终点 JSD 距离。
公式如下:
其中 Pd 为真实轨迹分布,Pd(xL∣x0) 表示起点条件下 xL 是终点的概率;Pd(x∈x1:L−1∣x0,xL) 表示 OD 条件下边 x 在轨迹中被使用的概率;M=21(Pd+G)。由于 JSD 测量两个分布之间的距离,输出值越小表示轨迹建模性能越好。此外,上述 xL(或 x^L)表示真实的终点边而非对齐用的填充停止标志。
基线方法
我们与以下基线方法进行比较:
·Ngram [42]:通过经典马尔可夫链建模轨迹路线生成。我们实现了一个三阶马尔可夫链(命名为 Ngram 模型)。需要注意的是,Ngram 无法支持连续行驶时间信息。
·AutoSTG [39]:这是一个用于交通预测的时空图卷积框架。我们将其调整为支持轨迹生成,使用两层 LSTM,并将扩散卷积步数设为 2 [27]。
·CSSRNN [50]:专为地图匹配轨迹建模与生成设计,利用掩码 LSTM 进行路线边生成。我们扩展其以支持额外的行驶时间生成。
我们的方法
我们实现了两种方法 MTNet 和 TNet:
·MTNet:使用道路知识和元学习组件的完整模型版本(包含第 3 节讨论的所有优化技术)。
·TNet:从 MTNet 中移除道路知识和元学习模块实现。评估 TNet 的目的是验证时空建模方法与时间图的有效性,以及轨迹序列表示学习相对于基线的优越性。
默认框架设置
·轨迹序列长度设定为 L=20(基于数据集平均轨迹长度)。
·训练轮数设为 30,早停规则基于轨迹路线 JSD 和耐心值(5 轮)。
·对 MTNet 应用固定隐私预算的差分隐私 (ϵ=1,δ=10−5)。
·超参数 λ 设定为 0.1。
·LSTM 和全连接网络层数分别为 2 和 1。
·参数维度设置如下:dz=16, Nτ=48, dte=32, dxe=128, dh=128, do=32。
道路网络提取与处理
·道路网络从 OpenStreetMap 获取。首先解析节点、边及其属性(如地理几何和道路等级),建模为有向图,并移除主连通分量中无法到达的边。
·根据 GPS 坐标计算道路长度和地理方向。
轨迹数据预处理
·使用 FMM 算法将原始轨迹的坐标与时间戳匹配至道路网络 [32, 51]。存在两个问题:
·轨迹可能不以边接点起始/结束(如 x1 和 xL 不在边接点),基于偏移比例计算对应行驶时间,并省略偏移细节。
·原始轨迹的时间戳未对齐至道路段,因此无法直接计算出发时间 tdi 和行驶时间 tci。通过线性插值(基于道路长度)计算每个路线边的出发时间和行驶时间。
·收集长度不超过 L 的轨迹组成输入数据集;对于序列长度小于 L 的轨迹,用停止标志填充。
·连续行驶时间值归一化为 Z-score 格式以保证数值稳定性(可缩放回秒)。
·轨迹打乱并分为训练数据(80%)和测试数据(20%)。
环境设置
实验在 CentOS 7.7 服务器上进行,配备 Cuda 10.0 和 32GB 显存的 Tesla V100 GPU。道路网络提取与预处理使用 C++11 与 Clang 编译器实现;所有轨迹方法用 Python 3.7 与 PyTorch 1.2 实现。
5.2 不同设置下的评估
图6:层数变化(成都)
对层数的评估:
我们评估了 MTNet 中 LSTM 层数和 LSTM 后全连接网络层数的影响。将 LSTM 数设为 {1, 2, 3},全连接层数设为 {0, 1, 2}。图6显示结果。观察到 2 层 LSTM 足以完成轨迹序列编码;单层全连接网络表现最佳。
图7:参数维度变化(成都)
对参数维度的评估:
基于默认设置,我们调整 dz、Nτ、dte、dxe、dh 和 do 等维度以模拟随机偏差并缓解过拟合。结果见图7(横轴省略了 Nτ 值)。最终参数设置:dz=16, Nτ=48, dte=32, dxe=128, dh=128, do=32。
图8:超参数 λ 变化(成都)
平衡路线与行驶时间误差的评估:
我们调整了用于平衡轨迹路线和行驶时间损失的超参数λ(见公式6)。λ∈{10−4,10−3,10−2,10−1,100,101}。图8显示结果,观察到 λ=10−1 是较好的平衡点。
5.3 与基线的性能比较
表3:模型规模对比
为了评估建模真实轨迹数据和生成近似真实统计特性的合成数据的有效性,我们使用真实数据中的起始边和出发时间条件进行轨迹生成。将 MTNet 和 TNet 与基线比较,并在轨迹路线/终点 JSD(越小越好)及对应行驶时间 MAE 上评估生成性能。
表3展示了后续评估中使用的模型规模(参数数量),所有方法保持相近规模以公平对比。注意:AutoSTG 需要输入和维护图邻接信息,因此占用空间更大。
图9:不同训练数据使用比例下的性能比较(25% 到 100%)
图10:训练效率比较(成都数据集)
表4:Trajectory Scalability for Varying Length L
表5:Utility Loss of MTNet with (𝜖 = 1, 𝛿 = 10−5 )-DP
性能比较:
基于默认设置,我们在 25%、50%、75%、100% 的训练数据下评估模型性能。图9显示结果,Ngram 不支持行驶时间生成,因此未在对应子图中出现(其他评估同理)。图10显示训练效率的比较。表4显示在扩展性上的比较。表5显示隐私保护实验结果。
观察到以下结论:
(1) MTNet 在轨迹路线和终点建模上显著优于其他模型。这归因于 MTNet 通过基于元学习的道路知识有效表示、编码并建模了轨迹数据。此外,TNet 相比基线在路线/终点分布建模上有所改进,因为轨迹路线分布具有时间依赖性,而 TNet 引入的时空表示方法优于基线中的纯空间建模。
(2) MTNet 和 TNet 在行驶时间 MAE 上优于基线。这得益于边行驶时间与出发时间相关,而非固定值;基于元学习的 MTNet/TNet 引入了时空表示和出发时间条件建模,显著提升了性能。此外,MTNet 相比 TNet 进一步降低了 MAE(尤其在训练数据量小的情况下),表明道路知识对行驶时间建模有帮助。
(3) 所有方法在更多训练数据下表现更优,但 MTNet 对训练数据需求远低于其他模型,具有更好的可扩展性。这归因于 MTNet 通过元学习获取了高度自适应的建模能力,能够捕捉轨迹生成模式在路线边间的迁移。
(4) 西安数据集上不同方法之间的性能差异较小。这可能是因为西安的道路网络拓扑更简单且轨迹数据量较少,相比成都更容易建模。
(5) Ngram 和 AutoSTG 在路线和终点分布建模上表现较差。Ngram 基于马尔可夫性质,生成过程依赖少量前序边,难以捕捉长程相关性;AutoSTG 虽在时变图属性建模上有成效,但无法处理偏态分布的轨迹。
5.4 应用案例研究
图11:固定起点的轨迹分布(成都)
不同粒度下的轨迹生成:
我们从成都数据集中随机选取一个起始边,并生成与真实轨迹数量相同的合成轨迹,其出发时间与真实值一致。可视化了全天、12-15pm 和 21-24pm 的轨迹分布(图11)。边缘使用密度通过颜色和线宽表示:从浅白细线(低密度)到深红粗线(高密度)。观察到以下现象:
(1) MTNet 生成的合成轨迹与真实分布高度一致。例如,上方的真实轨迹与下方的合成轨迹路线密度不可区分。偶尔出现的尾边由学习到的道路转弯模式引入,可因其密度远低于正常值而移除。
(2) 不同出发时间段的轨迹具有不同的时空分布,被 MTNet 准确捕捉。例如,在 12-15pm 和 21-24pm 的两个时间段中,真实轨迹分布差异明显,合成轨迹有效反映了时间变化。如左下角住宅区道路在晚高峰(21-24pm)时繁忙,而在白天(12-15pm)则冷清。
表6:流行度排序准确率 (%)
轨迹流行度排名:
我们随机选取 1000 对 OD 边,并从测试数据中抽取每个 OD 对的 10 个出发时间段。对每个固定时间点和 OD 对,随机采样两条不同路线并记录其出现频率作为地面真实流行度。评估了这 10,000 条轨迹的排名一致性,并与基线方法对比(见第3.4节)。表6显示结果:MTNet 的排名准确率比基线高 4%,因流行度受路线分布影响,而 MTNet 在原始数据建模上优于基线。
表7:流行度排序案例(成都)
进一步分析时间依赖的流行度排序。我们从成都数据集中随机选取一个 OD 边对,并分析其可行路线。基于学习到的 MTNet 估计预期流行度,并在表7中展示真实路线使用情况和对应的排名值。观察到:在晚上9点(22点)的时间段内,路线 A → B → C → D 和 A → B → D → C 的排名一致,与原始数据路线使用相符;且排名值差异与实际路线使用比例相关。值得注意的是,若某路线在原始数据中未被使用,MTNet 会输出接近零的极低值(如22点时路线 C)。此外,MTNet 捕捉到了路线流行度的时间变化:早高峰9am时,同 OD 对的多条路线共享交通流,表现为 A、B 和 C 排名值相近;但深夜22点时,交通主要通过主干道 A,其排名值0.29显著高于其他路线。
表8:后缀预测准确率 (%)
轨迹后缀预测:
我们随机抽取 10,000 条长度为5的轨迹前缀,并从测试数据中收集每个固定出发时间段下出现频率最高的后缀。评估后缀预测性能(见第3.4节),并与基线方法对比,使用 Beam Search [12] 维护候选边集合。表8显示结果:MTNet 在两个数据集上均取得最佳预测准确率(比基线高5%),与路线 JSD 评估结果一致。
特别地,我们关注了表7中基于前缀 ⟨3020, 3021, ..., 3088⟩ 的路线 C 和 D。对于9am和22pm的出发时间,我们根据 MTNet 计算最大概率后缀:⟨4722, 4711, 6314, −⟩(即 C 的后缀)和 ⟨2980, 6314, −⟩(即 D 的后缀),其中 − 是停止标志。基于 MTNet 的长期时空编码能力,预测结果与表7中的排名值一致且具有时间依赖性。
轨迹行驶时间估计:
我们在流行应用“旅行时间估计”上评估合成数据的有效性,并通过第3.4节描述的方法直接支持 MTNet。输入一条轨迹路线并估计每条边的行驶时间。我们将真实数据集划分为训练部分(80%)和测试部分(20%)。我们构建了一个两层 LSTM 模型,其中边嵌入和隐藏状态维度设为 128。我们在任务上训练模型 10 轮:一次使用真实训练数据,其他使用基于 AutoSTG、CSSRNN、TNet 和 MTNet 学习生成的等长合成数据进行训练,并在测试数据上评估这些模型。
表9:旅行时间估计误差(MAE)
观察到以下结论:
(1) 在合成数据上,MTNet 表现优于基线并接近真实数据性能(仅相差 2-3 秒)。这表明 MTNet 相比基线更具鲁棒性,在建模和恢复轨迹(或其行驶时间)方面更优,因其充分利用了基于深度元学习的道路网络知识,具有出色的泛化能力。
(2) AutoSTG 和 CSSRNN 的性能比 MTNet 和 TNet 差 3-10 倍。这表明时空轨迹表示和建模方法在处理连续但含噪声的时间依赖行驶时间数据方面效果更优。
6 相关工作
6.1 轨迹建模与生成
马尔可夫模型:
直观上,序列化轨迹可通过马尔可夫模型进行建模和生成。这类方法包括马尔可夫链 [43]、隐马尔可夫模型 [3] 和马尔可夫决策过程 [58]。尽管这些方法能够捕捉局部子轨迹的短期转移概率,但它们在生成复杂且长度变化的轨迹时存在局限性 [44],因为短期记忆不足以建模具有长期依赖性的复杂轨迹。
时空图卷积网络:
图卷积网络(GCN)能有效建模图节点或边特征之间的局部相关性 [24]。由于道路网络可视为带有时间变化特性的图,因此时空图卷积网络(STGCN)[55] 和图注意力技术 [59] 被广泛用于建模和预测交通等具有时间变化特性的问题。特别是 AutoSTG [39] 在图节点或边的时间变化属性预测任务中表现出色。然而,偏态的地图匹配轨迹在图边维度上具有高维性,而 AutoSTG 难以像普通边属性那样有效建模此类偏态轨迹。
循环神经网络(RNN):
RNN 在序列生成问题中表现优异 [16],尤其适用于自然语言处理(NLP)[13]。例如,长短时记忆网络(LSTM)能够维持长期依赖关系,在长轨迹序列建模中具有重要作用 [20]。因此,CSSRNN [50] 采用 RNN 对轨迹进行建模与生成。然而,CSSRNN 忽略了建模时间变化分布统计所需的本质时间信息,仅能生成空间轨迹路线序列。此外,它忽略了包含有用路由模式的底层道路知识(如道路容量和方向),难以有效建模具有偏态分布的高维轨迹数据。
生成对抗网络(GANs):
GANs 被广泛应用于时空数据分析 [14],包括轨迹生成 [38]、预测 [25]、时空事件 [23] 和时间序列填补 [33] 等任务。文献 [29] 提出使用基于 GAN 的方法生成保留真实轨迹数据统计特性的位置轨迹以支持分析应用。然而,由于实际地图匹配轨迹受道路网络约束,这种方法不适用于生成地图匹配轨迹。
交通模拟器:
众多交通模拟器(如 [2, 6, 9, 11, 22, 26, 31, 35, 56])被设计用于模拟具有用户定义特性的交通流,用于基准测试和分析特定条件下移动对象的交通策略与行为 [36]。与这些模拟器不同,我们直接建模现有轨迹数据集(保留真实统计数据),并进一步生成或直接支持下游轨迹应用。
6.2 时空数据中的元学习
近年来,元学习被应用于时空数据分析 [21, 46]。例如,ST-MetaNet [40, 41] 使用基于元学习的序列到序列架构预测城市交通,结合了元图注意力网络与元 RNNs。文献 [54] 研究了多城市时序数据的元学习范式,并利用长期数据进行跨城市迁移学习任务(如交通和水质预测)。然而,传统元学习的机制是将数据集划分为少样本训练子集和测试子集,分别用于元学习和常规学习。对于轨迹生成问题,高维轨迹数据在不同实例间具有独特性(即不存在可直接迁移到经典元学习框架中的显式轨迹级模式)。因此,我们借鉴了元学习的“学习如何学习”思想(即泛化能力),并利用底层时空道路属性作为元知识,以理想方式支持轨迹分布模式在路线边间的适应。
7 结论
我们提出了一种基于深度元学习的生成模型 MTNet,在保证隐私的前提下同时支持轨迹生成与分析。大量实验表明,MTNet 能够高效建模真实轨迹数据,保留原始统计特性并支持现实应用场景,同时保障个体隐私。未来的研究方向包括:(1) 将所学的轨迹生成模式迁移至新的道路网络;(2) 提高 MTNet 对新数据的适应性。


