轨迹数据 (三)

Here's the organized markdown text for LightTR: A Lightweight Framework for Federated Trajectory Recovery.


LightTR: A Lightweight Framework for Federated Trajectory Recovery

数据形式

根据提供的图片,这项研究的主题是关于联邦轨迹恢复问题,主要涉及GPS轨迹数据。以下是数据和任务的总结:

使用的数据

  1. 道路网络:表示为一个有向图 G=(V,E),其中 V 表示道路的交叉口或终点,E 表示有向道路段。
  2. GPS点:包含纬度、经度和附加属性(如时间戳)的点,表示为 lat,lng,γ
  3. 不完整轨迹:由一些GPS点组成的序列,其中部分数据缺失,表示为原始或不完整轨迹 τ=(p1,t1),(p2,t2),,(pn,tn)
  4. 地图匹配轨迹:将GPS轨迹投影到道路网络上的过程,通过已知的道路路径来校准GPS点,从而减少原始GPS数据中的噪声或误差。
  5. 不完整地图匹配轨迹:类似于地图匹配轨迹,但其中包含一些缺失点,需要进行补全。

任务

联邦轨迹恢复问题的目标是恢复缺失的GPS轨迹数据。在这个框架中:

  • 多个客户端(如公司的分布式数据中心)各自拥有本地的不完整轨迹数据集。
  • 研究的目标是开发一个全局函数 F(),以便在不集中化数据的情况下,恢复各客户端的不完整地图匹配轨迹中的缺失坐标。

每一条不完整的轨迹都会被处理以填补数据缺口,从而重构出完整的地图匹配轨迹。函数 F() 可能应用了联邦学习的原理,在不共享原始数据的情况下,通过分布式数据源协同训练模型。

这种方法允许多个客户端的数据共同为统一的轨迹恢复模型提供支持,同时保护数据隐私。

是的,这里的 p1 表示的是一个 GPS点,包含以下信息:

  • 纬度(lat)
  • 经度(lng)
  • 附加信息(γ):例如地址或其他相关信息

在文中的定义中,每个 p(包括 p1,p2,)都是一个三元组 $ \langle lat, lng, \gamma \rangle p_1 $ 具体就是第一个 GPS 点的纬度、经度以及可能的附加信息。

框架

以下是包含公式详细解释的文字内容,帮助更清楚地理解 LightTR 框架中的公式和模块功能:

模块解读和公式解析

  1. Local Trajectory Preprocessing and Light Embedding
    • Local Trajectory Preprocessing:这一模块将收集的轨迹数据预处理为地图匹配的轨迹,即将 GPS 点转换为道路网络上的离散单元,通常使用隐马尔可夫模型(HMM)实现,如公式 (4) 所示:

      T=HMM(τ)=(g1,t1),,(gn,tn)

      其中,gi=(xi,yi,tidi),表示轨迹点在道路网格中的坐标 xiyi,以及时间间隔信息 tidi=tit0ϵ,用于指导模型学习如何在两个低采样率点之间恢复轨迹点。

    • Lightweight Trajectory Embedding:使用一个轻量化的轨迹嵌入模块将轨迹 T 转换为单一向量表示,以捕捉轨迹数据的复杂时空关系。这里采用门控循环单元(GRU)进行嵌入,如公式 (5) 所示:

      rt=σ(Wr[ht1,gt]+br)

      zt=σ(Wz[ht1,gt]+bz)

      h~t=tanh(Wh[riht1,gt]+bh)

      ht=(1zt)ht1+zth~t

      其中 W 是各个门的权重矩阵,b 是偏置项,σ 表示 sigmoid 激活函数, 表示元素乘法,ht 是当前时间步的隐藏状态。公式 (6) 简化了嵌入模型,定义为:

    ht=embedding(ht1,st1)

    表示在低采样率的轨迹嵌入中得到隐藏特征 ht

在公式中,$s_{t-1} t-1 s_{t-1} $ 可能是用来描述上一个时间步的空间或时间信息,例如该点的坐标、时间戳,或者是与轨迹点相关的其他上下文信息。

ht=embedding(ht1,st1)时,模型使用上一个隐藏状态 ht1 和上一个时间步的特征 st1 进行嵌入计算,以生成当前时间步的隐藏状态 ht。这使得模型在生成当前嵌入时能够利用前一个时间步的信息,从而更好地捕捉轨迹的时序和空间依赖关系。

  1. ST-blocks

    • ST-blocks 包含一个轻量化的时空操作符(ST-operator),用于同时预测道路段 et 和移动比例 rt。其中 ST-operator 包含一个 RNN 层和一个多任务(MT)模型,用于同时处理道路段和移动比例的预测。公式 (7) 表示 ST-operator 的过程:

      ht=RNN(ht)

      et,rt=MT(ht)

      MT 模型进一步分解为公式 (8):

      ht,d=Dense(ht,Wd)=Wdht+bd

      et=Mask(ht,d)

      ht,e=Emb(ht,d,et)=ReLU(ht,d+RNN(et))

      rt=ReLU(Dense([ht,e,et],Wr))=Wr[ht,e,et]+br

      其中 ht 表示当前时刻的隐藏状态,Wb 分别表示权重和偏置项,ST-operator 将 ht 传入 RNN 和多任务模型,分别得到道路段预测 et 和移动比例预测 rt

    • 递归公式 (9) 表示 ST-blocks 的状态更新:

      ht=STBlocks(ht1,et1,rt1)

      其中 et1rt1 分别代表上一个时间步的道路段嵌入和移动比例。

  2. Constraint Mask Layer

    • 该层通过限制掩膜函数来提高模型的精确度和细粒度轨迹恢复。公式 (10) 定义了该掩膜层:

      ci=exp(dist2(pi,p~i)γ)

      其中,dist(pi,p~i) 表示原始点 pi 与地图匹配点 p~i 在相应道路段 e 上的欧氏距离,γ 是与道路网络相关的参数。该掩膜层用于降低与道路网格位置较远点的影响。

数据的变化

LightTR 框架的轨迹恢复任务中,初始数据坐标、隐藏状态 ( h_t )、道路段预测 ( e_t ) 和移动比例预测 ( r_t ) 之间的关系可以理解为一系列信息处理和抽象的层级关系。以下是它们之间的关系和数据流过程:

1. 初始数据坐标

  • 定义:初始数据坐标通常指的是采集的原始 GPS 坐标点序列,表示为 gtpt,包括时间戳、纬度、经度和其他可能的附加信息(例如地址或高度)。
  • 作用:这些原始 GPS 坐标点包含了用户的运动轨迹信息,但因为 GPS 数据通常有噪声,且可能存在采样率低的情况,因此需要进一步处理。
  • ht 的关系:原始数据坐标作为输入特征,经过轻量化轨迹嵌入模块处理后,生成时间步 t 的隐藏状态 ht,即:

ht=embedding(ht1,gt)

这个过程通过 GRU 单元逐步捕捉轨迹数据中的时空特征,将原始坐标数据映射为包含轨迹序列依赖关系的高维隐藏表示 ( h_t )。

2. 隐藏状态 ht

  • 定义:隐藏状态 ht是对当前轨迹点的时空特征表示,它包含了该点的历史轨迹信息和当前坐标信息的融合结果。
  • 作用:隐藏状态 ht 作为模型的中间表示,捕捉了当前时间步轨迹的特征,并在时序层面上关联了之前的轨迹点,从而为后续的道路段预测 et 和移动比例预测 rt 提供了基础。
  • etrt 的关系:隐藏状态 ht 被输入到多任务模型(MT 模型)中,用于生成道路段预测 et和移动比例预测 rt,即:

    et,rt=MT(ht)

3. 道路段预测 et

  • 定义:道路段预测 et 表示模型预测当前轨迹点所在的道路段。
  • 作用:通过 et,模型能够确定当前轨迹点在道路网络中的位置。道路段 et 是一个离散值(即道路段的标识符),它对应于地图中的具体道路段。
  • htrt 的关系:隐藏状态ht 提供了轨迹点的时空特征,这些特征被用来预测轨迹点位于哪个道路段 $ e_t e_t r_t r_t e_t $ 的位置比例。

4. 移动比例预测 rt

  • 定义:移动比例预测 rt表示轨迹点在预测道路段 et 上的位置比例,即在道路段et 的起点和终点之间的相对位置。
  • 作用:移动比例 rt 提供了道路段内的精确定位信息。它是一个连续值(例如介于 0 和 1 之间),表示当前轨迹点在道路段中的具体位置。例如,rt=0.5 表示该点位于道路段中间位置。
  • et 的关系rt 是基于预测的道路段 et 定义的,表示轨迹点在 et上的相对位置。如果 et 不准确,rt 的意义也会受到影响。因此,etrt 共同决定了轨迹点在道路网络中的精确位置。

总结关系

在 LightTR 框架中,初始数据坐标、隐藏状态 ht、道路段预测 et和移动比例预测 rt 之间的关系可以概括如下:

  1. 从初始数据坐标到隐藏状态:初始坐标 gt 输入到嵌入模块,通过 GRU 生成隐藏状态 ht,捕捉了当前轨迹点的时空依赖性。
  2. 从隐藏状态到道路段和移动比例预测:隐藏状态 ht 提供了轨迹点的抽象特征表示,被输入到多任务模型中,生成预测的道路段 et 和移动比例 rt
  3. 道路段和移动比例预测的结合et 确定了轨迹点所在的道路段,rt 进一步确定了该点在道路段中的相对位置。两者结合提供了轨迹点在道路网络中的精确位置。

这种关系实现了从原始 GPS 坐标到精确轨迹点位置的恢复,使得模型能够对不完整的轨迹数据进行高精度还原。

预测在哪个到路段

在这个模型中,( c_i ) 是 Constraint Mask Layer(约束掩膜层) 中的一个重要参数,用于对轨迹点和道路段之间的距离进行惩罚,从而在预测过程中加入空间约束。

( c_i ) 的含义

  • 定义:( c_i ) 是一个惩罚系数,其计算公式为:
    [
    c_i = \exp\left(-\frac{\text{dist}^2(p_i, \tilde{p}_i)}{\gamma}\right)
    ]
    其中:

    • ( \text{dist}(p_i, \tilde{p}_i) ) 表示原始轨迹点 ( p_i ) 与地图匹配点 ( \tilde{p}_i ) 在对应道路段 ( e ) 上的欧氏距离。
    • ( \gamma ) 是一个与道路网络相关的超参数,用于调节距离对掩膜系数的影响。
  • 作用:( c_i ) 的值随着轨迹点与道路段距离的增加而减小。距离较远的点会导致 ( c_i ) 值较小,减少该点在轨迹恢复过程中的权重;反之,距离较近的点具有较大的 ( c_i ) 值,从而增加其影响。这种机制可以有效减少轨迹偏离道路段较远的点对预测结果的干扰,从而提高模型的精确度。

预测的内容

在公式 (11) 中,模型结合 ci 和 softmax 函数来计算每个候选道路段的概率,具体计算公式为:

P(ei|hi)=exp(ht,dTwc)cicCexp(ht,dTwc)ci

其中:

  • ht,d 是隐藏状态特征,用于捕捉当前时间步的轨迹特征。
  • wc 是可训练的参数矩阵。
  • ci 是掩膜系数,对不同候选道路段的影响进行加权。

预测的内容

  • 预测的目标:公式 (11) 的目的是预测轨迹点所属的道路段 ei。通过计算每个候选道路段的概率分布 P(ei|hi),模型可以判断当前轨迹点最有可能位于哪个道路段。
  • 最终预测:通过取概率最高的道路段(即 argmax),确定当前时间步的最优道路段预测 et。这意味着,模型会选择与当前轨迹点特征 hi 和掩膜系数 ci匹配度最高的道路段,作为最终预测的轨迹位置。

总结

  1. 掩膜系数 ci 通过对距离的惩罚,降低了偏离道路网格较远的轨迹点在预测过程中的权重。

  2. 预测的内容 是轨迹点的最优道路段 et,模型通过计算每个候选道路段的概率,选择最可能的道路段,从而实现高精度的轨迹匹配和恢复。

  3. Knowledge Distillation (公式 11)

    • 在知识蒸馏过程中,结合掩膜层与 softmax 函数预测轨迹的道路段。公式 (11) 表示在考虑距离约束下的概率计算:

      P(ei|hi)=exp(ht,dTwc)cicCexp(ht,dTwc)ci

      其中 wc 为可训练的参数矩阵,ci 为掩膜系数,用于调整预测的概率。最终通过 argmax 确定最终预测的道路段

et

计算的举例

好的,以下是用 ($$) 表示的公式和解读:


场景假设

假设我们有一个轨迹点 ( p_i ),我们希望预测这个点所属的道路段 ( e_i )。为了帮助模型判断这个点可能位于哪个道路段,我们需要计算每个候选道路段的概率。

已知条件:

  1. 原始轨迹点 ( p_i ):例如,GPS 采集的坐标是 (x1, y1)。
  2. 候选道路段 ( e_1, e_2, e_3 ):假设有三个候选的道路段 ( e_1, e_2, e_3 ),模型需要选择其中一个作为预测。
  3. 匹配点 ( \tilde{p}_i ):假设我们将 ( p_i ) 映射到每个候选道路段的对应位置,得到每条道路段上与 ( p_i ) 最接近的匹配点:
    • 在 ( e_1 ) 上的匹配点为 ( \tilde{p}_{i,1} ),距离 ( p_i ) 的欧氏距离为 5。
    • 在 ( e_2 ) 上的匹配点为 ( \tilde{p}_{i,2} ),距离 ( p_i ) 的欧氏距离为 2。
    • 在 ( e_3 ) 上的匹配点为 ( \tilde{p}_{i,3} ),距离 ( p_i ) 的欧氏距离为 10。
  4. 掩膜系数 ( c_i ):根据公式 ( c_i = \exp\left(-\frac{\text{dist}^2(p_i, \tilde{p}_i)}{\gamma}\right) ),假设 ( \gamma = 10 )(用于调节距离对掩膜系数的影响)。

计算步骤

1. 计算每个候选道路段的掩膜系数 ( c_i )

根据公式:

ci=exp(dist2(pi,p~i)γ)

我们可以分别计算 ( e_1, e_2, e_3 ) 的掩膜系数:

  • 对于 ( e_1 ):( \text{dist}(p_i, \tilde{p}_{i,1}) = 5 )

    ci,1=exp(5210)=exp(2.5)0.0821

  • 对于 ( e_2 ):( \text{dist}(p_i, \tilde{p}_{i,2}) = 2 )

    ci,2=exp(2210)=exp(0.4)0.6703

  • 对于 ( e_3 ):( \text{dist}(p_i, \tilde{p}_{i,3}) = 10 )

    ci,3=exp(10210)=exp(10)0.0000454

我们看到,距离 pi 较近的道路段 e2 的掩膜系数 ci,2 最大,远离 pi 的道路段 e3ci,3 最小。

2. 计算每个道路段的概率

现在,我们结合隐藏状态特征 ht,d 和可训练参数矩阵 wc,使用 softmax 函数计算每个候选道路段的概率 P(ei|hi)。假设我们已有隐藏状态特征 ht,d 和参数矩阵 wc 的计算结果如下:

  • 对于 $ e_1 h_{t,d}^T \cdot w_{c_1} = 2.0 $
  • 对于 $ e_2 h_{t,d}^T \cdot w_{c_2} = 3.0 $
  • 对于 $ e_3 h_{t,d}^T \cdot w_{c_3} = 1.5 $

那么使用公式:

P(ei|hi)=exp(ht,dTwc)cicCexp(ht,dTwc)ci

我们可以计算每个候选道路段的概率:

  • 对于 ( e_1 ):

    P(e1|hi)=exp(2.0)0.0821exp(2.0)0.0821+exp(3.0)0.6703+exp(1.5)0.0000454

    =0.54380.5438+1.4733+0.00004540.269

  • 对于 ( e_2 ):

    P(e2|hi)=exp(3.0)0.6703exp(2.0)0.0821+exp(3.0)0.6703+exp(1.5)0.0000454

    =1.47330.5438+1.4733+0.00004540.731

  • 对于 ( e_3 ):

    P(e3|hi)=exp(1.5)0.0000454exp(2.0)0.0821+exp(3.0)0.6703+exp(1.5)0.0000454

    =0.00004540.5438+1.4733+0.00004540.000023

3. 选择概率最高的道路段作为预测结果

根据计算结果:

  • P(e1|hi)0.269
  • P(e2|hi)0.731
  • P(e3|hi)0.000023

所以,概率最高的道路段是 e2)(P(e2|hi)=0.731)。因此,模型预测当前轨迹点 pi 最有可能位于道路段e2 上。

总结

  1. 掩膜系数 ci:根据轨迹点与各候选道路段的距离计算得到。距离较近的候选道路段获得较大的权重,距离较远的候选道路段获得较小的权重。
  2. 概率计算:结合掩膜系数 ci 和隐藏状态特征计算每个候选道路段的概率。
  3. 最终预测:选择概率最高的道路段作为当前轨迹点的预测道路段。

这个例子展示了如何通过 ci 和 softmax 函数,将轨迹点与最匹配的道路段关联,从而实现高精度的轨迹匹配和恢复。

Meta-knowledge Enhanced Local-Global Training

  • 知识蒸馏过程:如图所示,包含教师模型和学生模型。教师模型(或元学习器)在中央服务器上进行预训练,以学习元知识。然后,在本地训练过程中,客户端下载教师模型的参数,作为学生模型的指导。这一方法减少了通信成本,同时通过参数聚合更新全局模型,提升模型的准确性和训练效率。

总体而言,LightTR 框架通过分布式的联邦学习和知识蒸馏技术,结合轻量化嵌入和时空操作,实现了高效的轨迹恢复,保护了数据隐私并降低了通信开销。

在此联邦学习设置中,研究提出了一个基于客户端-服务器架构的联邦轨迹恢复框架,其中每个客户端拥有其本地轨迹数据并在不共享数据的情况下进行模型训练。以下是各个模块和公式的解读:

1. 联邦轨迹恢复(Federated Trajectory Recovery)

背景:系统中有 N 个客户端,分别用 C1,C2,,CN 表示。每个客户端 Ci 具有自己的轨迹数据集 Ti,并分为训练、验证和测试集,分别记为 $ T_i^{\text{train}} T_i^{\text{valid}} T_i^{\text{test}} T_i f_i(\cdot)$。

优化目标
在公式 (12) 中,联邦学习框架的目标是最小化所有客户端的总体损失函数 Ltotal,以提高模型的轨迹恢复能力。目标函数为:

min1Ni=1N1nitestj=1nitestLtotal(fi(Ti,icpj),Tgroundj)

其中:

  • Ltotal 是总体损失函数,表示模型输出与完整轨迹的真实值之间的误差。
  • nitest 是客户端 Ci 测试集 Titest 的轨迹长度。
  • Tground是完整轨迹的真实值。

2. 本地轨迹恢复目标(Local Trajectory Recovery Objective)

模块描述:该模块的目标是同时预测轨迹的道路段和移动比例。损失函数 ( L_{\text{local}}(\theta) ) 由交叉熵损失 ( L_1(\theta) ) 和均方误差 ( L_2(\theta) ) 组成,用于道路段和移动比例的预测。总损失定义为:

Llocal(θ)=L1(θ)+μL2(θ)

其中 4 \mu $ 是一个可调参数,用于在道路段预测和移动比例预测之间进行权衡。

交叉熵损失 L1(θ):用于道路段的预测,其公式为:

L1(θ)=(T,T~T)j=1|T~|l=1Lajellog(Rθ(e^j=el|d1:j1))

其中:

  • aje 是道路段的真实值。
  • e^j 是预测的道路段。
  • Rθ 表示轻量化轨迹嵌入模块,负责生成预测。

均方误差 L2(θ):用于移动比例的预测,其公式为:

L2(θ)=(T,T~T)j=1|T~|(ajrRθ(dj1))2

其中:

  • ajr 是真实的移动比例。

3. 基于元知识增强的本地-全局训练(Meta-knowledge Enhanced Local-global Training)

模块描述:为了加快收敛速度并减少通信成本,研究引入了元知识增强的本地-全局训练模块,利用知识蒸馏的方法。框架中引入教师模型(meta-learner)来聚合元知识,以指导每个客户端的本地模型训练。

  • 知识蒸馏损失:在知识蒸馏过程中,教师模型 ftea 的输出与学生模型 fstu 的输出之间的差异通过 Ldist 来度量,公式如下:

    Ldist(ftea,fstu;Ticp)=ftea(Ticp)fstu(Ticp)22

    其中 ||2 表示 L2 范数,用于测量教师模型和学生模型之间的输出差异。

总损失函数:每个客户端的总损失 Ltotal 表示为:

Ltotal=1|Ttrain|(Ticp,Tground)TitrainLlocal(Rθ(Ticp),Tground)+λLdist(ftea,Rθ;Ticp)

其中 $\lambda L_{\text{local}} $ 是轨迹恢复的损失。

4. 算法流程

  • 算法 1:描述了教师模型的训练过程。教师模型被循环地用于所有客户端的训练,并在每次循环中传递到下一个客户端,以此积累和保留先前学习的知识。通过控制阈值 λ,算法在不同客户端之间传递通用的知识。

  • 算法 2:描述了基于知识蒸馏的本地训练过程。每个客户端下载教师模型的参数,以指导本地模型的训练。当教师模型的验证准确度 accteavalid 低于本地模型 accivalid 时,不再依赖教师模型的知识指导,设置 λ$ = 0\lambda$ 以控制知识迁移的程度。

    动态调整公式 (18) 为:

    λλ010min(1,(accivalidaccteavalid)5)1

  • 算法 3:描述了本地-全局参数更新过程。在每次通信轮次 r 中,中央服务器将当前模型 θsr1 分发给选定的客户端,每个客户端在本地进行训练并上传参数。中央服务器对这些上传的参数进行聚合,更新全局模型直至收敛。

总结

该联邦学习框架通过引入知识蒸馏和动态调整的元知识增强本地-全局训练,能够在不集中化数据的前提下实现高效的轨迹恢复模型。各模块协同工作,允许在各个客户端间共享知识,提高了轨迹恢复模型的准确性和收敛速度。

是的,您理解得很准确。在这个联邦学习框架中,中心服务器和客户端之间的通信流程可以总结为以下几个步骤:

1. 初始模型传递

  • 中心服务器首先将当前的全局模型 ( \theta_s^{r-1} ) 发送给各个客户端。所有客户端在初始时会接收同样的模型参数,这保证了每个客户端都从相同的模型开始训练。

2. 客户端本地训练

  • 每个客户端在接收到服务器传递的模型后,利用其本地的数据集进行模型的本地训练。
  • 在本地训练过程中,客户端会使用 知识蒸馏 的方法(即算法 2)来增强本地训练效果。每个客户端下载教师模型的参数,并根据本地模型的性能动态调整参数 ( \lambda ) 的值:
    • 如果教师模型的验证准确率 ( \text{acc}_{\text{tea}}^{\text{valid}} ) 低于当前客户端本地模型的验证准确率 ( \text{acc}_i^{\text{valid}} ),则 ( \lambda = 0 ),不依赖教师模型的指导。
    • 否则,通过动态调整公式 (18) 调节 ( \lambda ),控制知识蒸馏的程度,帮助本地模型更好地学习。

3. 上传更新后的模型参数

  • 每个客户端在完成本地训练后,将更新后的模型参数 ( \theta_{c_i} ) 上传到中心服务器。

4. 中心服务器聚合模型

  • 中心服务器会对从各客户端上传的模型参数进行聚合(即算法 3)。
  • 通过聚合这些更新后的参数,中心服务器生成一个新的全局模型 ( \theta_s )。
  • 中心服务器继续迭代这一过程,重复将更新后的全局模型传递给客户端,直到模型收敛到稳定状态。

总结

在这个联邦学习框架中,模型的训练是通过客户端和服务器之间的迭代过程实现的:

  • 中心服务器 负责将全局模型发送给客户端,并聚合各个客户端上传的更新参数。
  • 客户端 在本地利用各自的数据集进行训练,并根据动态调整的参数 ( \lambda ) 决定是否依赖教师模型的指导。

这种结构实现了分布式的联邦学习,保证了数据的隐私安全,同时有效地提升了模型的准确性和收敛速度。

posted @   GraphL  阅读(105)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示