Can Adversarial Training benefit Trajectory Representation? An Investigation on Robustness for Trajectory Similarity Computation 22CIKM
1 intro
1.1 背景
- 与传统基于成对轨迹点的TSC(trajectory similarity comparison)相比,基于深度学习生成的向量的TSC具有较低的时间成本
- 然而,除了t2vec,大多数后者的方法没有考虑到鲁棒性因素(即当某些点存在一些波动或一些异常/异常点时)
- 尽管t2vec通过添加有限的数据考虑到了鲁棒性,但其在相似度计算精度上的性能显著下
- 论文的实验显示,当每个轨迹点被扰动,并且最大扰动幅度为75m时,t2vec的性能将下降16%
- 在轨迹中添加异常点时,t2vec的性能也将下降12%
- 论文的工作旨在增强鲁棒性
- 非均匀采样率
- 噪声点
- 非恶性波动
- 例如,当主路上发生交通拥堵时,司机可能会从主路偏离到辅路,反之亦然
- 在这种情况下,TSC应该容忍这种波动轨迹,并仍然将其识别为非波动
- 也就是说,波动轨迹和非波动轨迹的深度学习生成的向量应该具有接近的距离
1.2 论文思路
- 提出了一种基于对抗学习的轨迹表示模型AdvTraj2Vec,以增强TSC在考虑到不一致的采样率、非恶性波动和噪声方面的鲁棒性和准确性
- 通常,对抗训练主要应用于计算机视觉(CV)领域,通过对抗针对图像示例的各种对抗/逃避攻击来增强神经网络的鲁棒性
- 具体来说,CV中的对抗训练是使用对抗/扰动的示例和原始示例共同重新训练神经网络,或者仅使用对抗示例而不使用原始示例。
- 然而,由于轨迹数据处理的便利性,轨迹所在的空间通常基于网格进行划分。
- 连续坐标(即,经度、纬度)被映射到离散的标记中,因此,原始轨迹变成了包含一系列离散标记的序列。
- 鉴于轨迹标记是整数值的前提,扰动示例数据是没有意义的
- 因此,论文从另一个角度执行对抗训练,即扰动嵌入参数而不是轨迹数据本身
- 另一个关键问题是扰动幅度,适当的扰动可以促进神经网络。
2 问题定义
2.1 基础路线
一个理论概念,它连续记录一个移动对象的位置,指示对象的确切路径(一个连续的空间曲线)
2.2 轨迹
移动对象的基础路线的一系列样本点
2.3 问题陈述
- 给定一个轨迹仓库,目标是为每个轨迹 学习一个表示
- 该表示能够适当地阐明这个轨迹 的基础路线,以便在抵抗若干影响(非均匀采样率、非恶性波动和噪点等)的稳健方式中进行成对相似性计算
2.4 挑战
- 编码器-解码器作为流行的学习框架,已经被证明能够成功处理TSC过程中的序列数据
- 然而,当不确定性(非均匀采样率、波动和点噪声)出现时,直接的编码器-解码器不能为这些意外/有意扰动的轨迹学习适当的嵌入向量
- 为了规避这个问题,论文提出了一个对抗训练框架,以增强轨迹相似性推断的鲁棒性和准确性
3 方法
3.1 模型总览
- 通常,编码器-解码器的目标是最大化条件概率 (| ),这意味着它可以找到给定轨迹 最可能的基础路线 。
- 由于基础路线R只是理论情况,所以实际情况中,输入是具有低采样率的轨迹序列Ta,而输出是具有高采样率的轨迹序列Tb。
- ——>目标从最大化 (| ),变成了最大化P(Tb|Ta)
- 将 嵌入到它的表示 中,而解码器将尝试在 的条件下恢复其相对高采样率的配对 。
3.2 对抗训练指导的encoder-decoder
- 轨迹空间被划分成等大小的单元,每个单元被认为是一个令牌。
- 所有落入同一单元的样本点将被视为相同的令牌(每一个token都是一个正整数)
- 论文认为扰动这样的令牌符号值是没有意义的
- 即使代表轨迹点的整数值被扰动成浮点数(从7改变到7.2),当模型实际使用时,模型的输入仍然是整数值
- ——>也就是说,以这种方式训练的模型不能增强实际输入的鲁棒性
- ——>论文将扰动的关注点从轨迹数据空间转移到轨迹嵌入空间
- 尝试扰动编码器嵌入层的权重参数
- 利用基于梯度的方式在嵌入层的权重参数上产生范数有界的对抗性扰动
- 这种嵌入级别的对抗性操作可以比令牌级别的扰动严格更强。
- 将输入轨迹的序列表示为 = [1, 2, ..., ](已经token化)
- token的嵌入矩阵表示为
- 编码器表示为一个函数 = ()
- 解码器表示为一个函数 = ( ())
- = 是轨迹嵌入
- 是编码器的输出, 是解码器的输出
- 表示所有与编码器-解码器相关的参数,包括嵌入矩阵
- 对抗训练引导的轨迹嵌入过程详细描述如下
- 首先,计算输入轨迹 T 的损失并通过反向传播获得梯度 g
- 其次,定义以下公式来根据 E 的梯度信息执行嵌入矩阵(嵌入层的权重参数)的对抗性扰动 δ′
-
- 其中,E 的梯度表示为 ge
- E 的值沿梯度的方向更新以最大化损失(起到对抗的效果)
- 参数 ϵ 是人为确定的,目的是将 δ′ 的范数限制在一个合理的范围内
- 为了保留语义
- 为了保证模型的结果预测在扰动后不会大幅改变
- 将δ′加入到embedding中,使得预测变为y′=fd(fθ((E+δ′)T))
3.3 GAN 控制的扰动幅度
- 上一节公式(1)中的系数 ϵ 反映了扰动的幅度,这对对抗训练效率产生了直接且关键的影响
- 过度的干扰(过大的扰动)将对模型表示产生副作用
- 非常微小的扰动可能不起作用
- ——>论文使用 GAN 来以适当的方式限制扰动范围,从而可以保证一个合理的扰动范围
- 众所周知,GAN 包括两部分,即生成器和判别器
- 生成器用于捕获编码表示 v 的分布
- 输入是正态分布下的随机种子 z
- 输出是与 v 相同维度的向量 f
- 判别器是一个二元分类器
- 目的是判断其输入是否为“真实数据”
- 输入是 v 和 f,以及表示正样本or负样本的真实标签(v,f 的真实标签分别为 0 和 1)
- 判别器将为每个输入输出一个分数 sd 以反映输入是不是“真实数据”
- 较大的分数 sd 意味着判别器的输入不太可能是“真实数据”(即嵌入矩阵E的扰动幅度过大,导致输入的巨大不相似性)
- 在论文的环境下,判别器旨在判断编码器输出′v′和v之间的相似度
- 为了寻找适当的扰动,在此设置一个阈值a 来限制幅度
- 具体来说,判别器输出分数 sd 只适用于其扰动幅度大于阈值 a 的轨迹
- ——>将之前的δ修改为:
-
- 判别器认为是伪造的数据,就减少扰动幅度(此时的h(Sd)小于1)
- 判别器认为是真实的数据,就增大扰动幅度(此时的h(Sd)等于1)
3.4 损失函数
- 给定一个由采样点集表示的采样轨迹,N 表示采样轨迹的数量
- 创建一对轨迹点集(ta,tb)
- tb 是原始轨迹,而 ta 是通过以丢弃率 r1 从 tb 随机丢弃样本点获得的
- 为了保持下采样轨迹的基本路径不变,我们在 ta 中保留 tb 的起点和终点
- 训练需要编码器-解码器最大化所有(ta,tb) 对的联合概率
- 通过实现数学上定义的损失函数约束目标优化,对序列编码器-解码器进行训练
-
- 为了使损失函数反映空间接近性,使用不同的权重来限制单元格(和t2vec类似)
- 单元格 u∈V 的权重与其与目标单元格yt 的空间距离成反比
- ht 是解码器的隐藏状态
- 是将 ht 投影到单元格的投影矩阵,下标u表示第u行
- 是在解码目标yt 时单元格u 的空间接近性权重
- 表示单元格中心坐标之间的距离
3.5 GAN 损失
- GAN 被用来进行轨迹扰动的幅度控制
- 首先,训练判别器,然后训练生成器
- 它们协作进行具有适当迭代/收敛轮次的对抗训练过程
- 从正态分布中进行随机抽样,以生成轨迹的伪造表示
- 编码器 ν 的真实轨迹表示和生成器 z的表示被送入判别器,该判别器可以评分数据是真实还是伪造
- 使用从正态分布中重新收集的数据训练生成器
- 训练后的 GAN 模型被引入到对抗训练的过程中
- 在训练过程中将重复上述过程
3.6 整体伪代码
4 实验
4.1 数据集
- 波尔图
- 从2013年7月到2014年6月的12个月期间的170万条出租车轨迹
- 删除了那些长度少于30的轨迹
- 北京(Geolife)
- 从2007年4月到2012年8月收集的17621条轨迹
- 也选择那些长度至少为30的轨迹,并且连续采样点之间的时间间隔小于20秒
4.2 实验结果
4.2.1 数据集大小
4.2.3 添加一些采样点
4.2.4 删除一些采样点
4.2.5 不同程度的距离扰动
4.2.6 时间开销
4.2.7 阈值a的影响
4.2.8 隐藏层大小的影响