1 论文笔记:Efficient Trajectory Similarity Computation with ContrastiveLearning

news2024/11/28 9:34:17

2022CIKM

1 intro

1.1 背景

  • 轨迹相似度计算是轨迹分析任务(相似子轨迹搜索、轨迹预测和轨迹聚类)最基础的组件之一
  • 现有的关于轨迹相似度计算的研究主要可以分为两大类:
    • 传统方法
      • DTW、EDR、EDwP等
      • 二次计算复杂度O(n^2)
      • 缺乏稳健性
        • 会受到非均匀采样、噪点的影响
    • 基于学习的方法
      • 旨在减少计算复杂度和/或提高稳健性
      • 根据它们的目的将它们分为两个方向
        • 神经逼近方法
          • 利用强大的神经网络在隐藏空间中逼近任何现有的轨迹测量
          • 训练一个神经网络g以将轨迹编码到隐藏空间
          • 最小化估计的相似性和基准之间的差异
            • |D_H(g(T_i),g(T_j))-D(T_i,T_j)|
              • Dh​是隐藏空间中的差异(相似性)测量(例如,欧几里得距离)
          • 不需要两个轨迹之间的点对齐,因此计算复杂度在轨迹的长度上是线性的
          • 由于要逼近的测量而遭受 稳健性问题
        • auto-encoder 方法
          • 无监督地学习映射函
          • 为了提高潜在表示相对于低质量的鲁棒性,这些方法采用了不同的策略
            • t2vec利用去噪顺序自编码器
            • Trembr整合了路网信息并设计了多个任务
          • 在训练编码模型方面 效率低下
            • 这是由于顺序自编码器架构的固有限制,其中解码过程和逐步重构非常耗时
            • t2vec 在 Tesla K40 GPU 上训练 2千万轨迹的一个epoch大约需要 14 小时,平均每个轨迹有 60 个样本
          • 这些方法试图学习相同基础路线轨迹(高采样轨迹)的一致表示以解决质量问题
            • 换句话说,即使来自相同基础路线的轨迹具有不同的采样率和噪点,表示应该是相同的
            • 论文认为,由于他们的目标是重构轨迹而不是基础路线,顺序自编码器无法实现这一目标
            • ——>对于顺序自编码器来说, 获得一致的表示是非常困难的

1.2 论文思路

  • 提出了一种基于对比学习的轨迹相似性计算的新型鲁棒模型(CL-TSim)
    • 遵循常见的范例,首先学习轨迹的表示,然后使用欧几里得距离在编码空间中计算轨迹之间的相似性
  • 对轨迹 Ti 进行预处理,以获得增强轨迹 Tj
    • 其中使用下采样和扭曲增强来适应轨迹特征,包括非均匀采样率和噪点
  • 同时将它们编码到隐藏空间并最大化它们之间的一致性

  • 遵循对比学习架构,CL-TSim 只包含一个编码器和一个投影器
    • 编码器用于编码原始轨迹以学习它们的表示
    • 投影器用于将表示映射到损失函数的度量空间
    • 与顺序自编码器相比,它不需要解码器和逐步重构,这可以显著减少训练时间。

2 Preliminary

2.1 基础路线

  • 由移动对象生成的连续空间曲线
  • 只存在于理论中,因为配备了 GPS 的设备无法连续记录时空位置

2.2  轨迹

  • 移动对象的轨迹,记为 T
  • 从基础路线中采样的一系列有限点的序列,形式为 𝑇=((𝑥1,𝑦1,𝑡1),(𝑥2,𝑦2,𝑡2),...,(𝑥𝑛,𝑦𝑛,𝑡𝑛))
  • xi,yi 代表在时间戳 𝑡𝑖 的采样位置的经度和纬度信息
  • 受采样方法和设备的影响,轨迹通常基于不同的采样率生成,并包含有噪点

2.3 问题定义

给定一组轨迹,我们的问题是设计一个高效且鲁棒的模型,以计算轨迹之间的相似性,目标如下:

1)高效的表示学习:有效地为每个轨迹 T 学习一个表示 t,其中 t 可以反映轨迹 T 的基础路线,用于计算轨迹相似性;

 2)模型的鲁棒性:换句话说,两个任意轨迹Ti 和Tj 之间的相似性是一致的,不受非均匀采样率和噪点的影响

3 模型

4 实验

4.1 数据

4.2 评估方法

4.2.1 自相似性

  • 给定一组轨迹,随机选择 m 条轨迹和 n 条轨迹,分别记为 Q 和 D
    • 对于 Q 中的每条轨迹,通过交替从中取点来创建两个子轨迹(称为双胞胎轨迹),并将第一个子轨迹加入 Q1,而另一个加入 Q2
    • 对于 Q1 中的每条轨迹,称为查询轨迹,我们在Q2∪D 中检索最相似的轨迹,称为数据库轨迹
    • 显然,Q2 中的轨迹应该排在 D 之前,因为它们是由与 Q1 中相同的轨迹生成的
  • 假设 Ti 是 Q1 中的一个查询轨迹,而 Tj 是 Q2 中的相应双胞胎轨迹
    • 计算 Ti 与 Q2∪D1 之间轨迹的相似性,根据相似性对轨迹进行排序,并记 Tj 的排名为 ri
  • 基于此,采用两个广泛使用的度量标准,即精确度 P 和平均排名 MR

当 ri 等于 0 时,pi 等于 1;否则,pi 等于 0。(只有查询数据集里面Tj是最相似的,才会是1)

更大的 P 或更小的 MR 值意味着更好的自相似性性能。

4.2.2 交叉相似性

一个好的相似性度量应该能够保持两个不同轨迹之间的相似性,而不考虑数据采样策略

交叉距离偏差(CDD)来评估性能

Ta 和 Tb 是具有原始率的两个不同的轨迹,Ta′(rd) 是通过以 d 的速率随机丢弃(或扭曲)样本点获得的Ta 的变体,而 Tb′(rd) 是以与 Ta′(rd) 相同的方式获得的 Tb 的变体。

较小的 CDD 值表明评估的相似性(即,距离)更接近真实值。

4.3 结果

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1052536.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【机器学习】训练集/验证集/测试集释疑

文章目录 序言1. 训练集、验证集、测试集是什么2. 为什么需要验证集3. 验证集是必须的吗4. 验证集和测试集上的表现会不同吗5. 如何从Train/Test Set划分Validation Set6. 训练集、验证集和测试集的比例怎么设置7. 模型表现不好时测试集可以反复使用来调整模型吗8. 训练集、验证…

设计模式6、适配器模式 Adapter

解释说明:将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作 目标接口(Target):当前系统所期待的接口,它可以是抽象类或接口 适配者(Adaptee)&#xff1a…

堆的介绍、堆的向上、 向下调整法与基本功能实现

💓博主csdn个人主页:小小unicorn ⏩专栏分类:数据结构 🚚代码仓库:小小unicorn的代码仓库🚚 🌹🌹🌹关注我带你学习编程知识 堆 二叉树的顺序结构堆的概念:堆的…

汽车电子——产品标准规范汇总和梳理(开发体系)

文章目录 前言 一、设计架构 二、安全可靠 三、测试验证 四、过程能力 五、质量管理 六、开发指南 总结 前言 见《汽车电子——产品标准规范汇总和梳理》 一、设计架构 《Autosar R22-11 汽车开放系统体系架构》 二、安全可靠 《GB/T 34590.1-2022(ISO 262…

零代码编程:用ChatGPT批量自动下载archive.org上的音频书

http://archive.org 是一个神奇的网站,可以下载各种古旧的软件、书籍、音频、视频,还可以搜索各个网站的历史网页。 比如说,一些儿童故事音频就可以在http://archive.org下载到,可以用来做英语听力启蒙用。 举个例子&#xff0c…

【开发篇】四、数据源、JdbcTemplate、内嵌H2

文章目录 1、数据源DataSource2、SpringBoot的内嵌数据源对象3、Spring的内置持久化方案JdbcTemplate4、SpringBoot内嵌数据库5、内嵌数据库H2的访问 1、数据源DataSource 了解数据源这个概念前,先看下原生JDBC的基本步骤: Connection conn null; State…

【JVM】双亲委派模型

双亲委派模型 1. 什么是双亲委派模型2. 双亲委派模型的优点 1. 什么是双亲委派模型 提到 类加载 机制,不得不提的一个概念就是“双亲委派模型”。 双亲委派模型指的就是 JVM 中的类加载器如何根据类的全限定名找到 .class 文件的过程 类加载器: JVM 里面专门提供…

坠落防护 挂点装置

声明 本文是学习GB 30862-2014 坠落防护 挂点装置. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了高处坠落防护挂点装置的技术要求、检验方法、检验规则及标识。 本标准适用于防护高处坠落的挂点装置。 本标准不适用于体育及消…

【C++】unordered_set与unordered_map的封装

🌇个人主页:平凡的小苏 📚学习格言:命运给你一个低的起点,是想看你精彩的翻盘,而不是让你自甘堕落,脚下的路虽然难走,但我还能走,比起向阳而生,我更想尝试逆风…

Java | Maven(知识点查询)

文章目录 Maven知识速查1. Maven概述2. Maven的作用3. Maven的下载4. Maven的环境配置5. Maven 的基础组成5.1 Maven仓库5.1.1 本地仓库配置:5.1.2 中央仓库配置:5.1.3 镜像仓库配置 5.2 Maven坐标 6. Maven项目6.1 手工创建Maven项目6.2 自动构建项目 7…

7、Docker网络

docker网络模式能干嘛? 容器间的互联和通信以及端口映射 容器IP变动时候可以通过服务名直接网络通信而不受到影响 docker 网络模式采用的是桥接模式,当我们创建了一个容器后docker网络就会帮我们创建一个虚拟网卡,这个虚拟网卡和我们的容器网…

火热报名中 | 2天峰会、20+热门议题,AutoESG 2023数智低碳---中国汽车碳管理创新峰会亮点抢先看!

在碳中和的背景下,减碳之风吹遍全球,而汽车行业则由于产业链长、辐射面广、碳排放总量增长快、单车碳强度高的特点,成为各国碳排放管理的监管重点,聚焦汽车业的碳博弈也逐步升级。 2020年,国务院办公厅印发的《新能源…

Linux高级应用——web网站服务(2)

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 公众号:网络豆云计算学堂 座右铭:低头赶路,敬事如仪 个人主页: 网络豆的主页​​​​​ 目录 前言 一. httpd服务访问控制概述 1.为什么要…

用友U8 CRM客户关系管理任意文件上传漏洞复现【附POC】

文章目录 用友U8 CRM客户关系管理任意文件上传漏洞复现0x01 前言0x02 漏洞描述0x03 影响平台0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现4.访问shell地址 0x06 整改建议 用友U8 CRM客户关系管理任意文件上传漏洞复现 0x01 前言 免责声明:请勿利用文…

牛客 ( 计算几何

#include <bits/stdc.h> using namespace std; using ll long long; using PII pair<double , double>; int n; PII p[3000010]; vector<PII> pp; PII yuan(PII a , PII b , PII c) {//已知三个点确定圆的半径和圆心double x1 a.first,x2 b.first,x3 c.…

Spring面试题25:Spring如何控制bean加载先后顺序

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring如何控制bean加载先后顺序 Spring框架提供了两种方式来控制Bean的加载顺序: depends-on属性:通过在Bean配置中使用depends-on属性,可以明…

AIOT入门指南:探索人工智能与物联网的交汇点

AIOT入门指南&#xff1a;探索人工智能与物联网的交汇点 1. 引言 随着技术的快速发展&#xff0c;人工智能&#xff08;AI&#xff09;和物联网&#xff08;IoT&#xff09;已经成为当今最热门的技术领域。当这两个领域交汇时&#xff0c;我们得到了AIOT - 一个结合了AI的智能…

MySQL学习笔记25

逻辑备份 物理备份 在线热备&#xff1a; 真实案例&#xff1a; 数据库架构是一主两从&#xff0c;但是两台从数据库和主数据不同步。但是每天会全库备份主服务器上的数据到从服务器上。需要解决主从不同步的问题。 案例背后的核心技术&#xff1a; 1、熟悉MySQL数据库常见…

一点C知识:数据类型和内存地址。

当你需要存储一份数据到内存里的时候&#xff0c;你需要通过需要存储的方式和精度&#xff0c;向操作系统申请一份内存地址&#xff0c;形容怎么样申请地址的关键字就是数据类型。 例如&#xff0c;32位的处理器就有着32位的地址位宽&#xff0c;定义了一个char类型的数据&…

QSS之QScrollArea

QScrollArea在实际的开发过程中经常使用&#xff0c;主要是有些界面一屏显示不下&#xff0c;所以得用QScorllArea带滚动条拖动显示剩余的界面。默认的QScrollArea滚动条不满设计的风格&#xff0c;因此我们必须设置自已的滚动条风格&#xff0c;QScrollBar分为水平horizontal和…