论文笔记:Continuous Trajectory Generation Based on Two-Stage GAN
2023 AAAI
1 intro
1.1 背景
- 建模人类个体移动模式并生成接近真实的轨迹在许多应用中至关重要
- 1)生成轨迹方法能够为城市规划、流行病传播分析和交通管控等城市假设分析场景提供仿仿真数据支撑
- 2)生成轨迹方法也是目前促进轨迹数据开源共享与解决轨迹数据隐私问题的可行解决方案
- 在不泄漏移动轨迹数据中个人隐私的情况下实现轨迹数据的开源共享
- eg,某出行公司A拥有城市内的出租车轨迹数据,而某共享自行车公司 B 拥有同一城市内的共享单车轨迹数据。
- 如若两公司能够互相共享数据,那么二者能够更好地预测城市出行需求,从而改进相应的车辆调度服务。
- 但碍于轨迹数据的强隐私性,公司 A 与 B 无法互相共享数据。
- 此时,使用在数据效用上与真实轨迹相近的生成轨迹不仅可以完成数据共享改进各方服务,而且也可以避免用户隐私泄露。
- 因此,生成具有良好数据效用的轨迹数据非常重要
1.2 之前的工作
- 早期阶段,研究人员旨在构建基于模型的方法来模拟人类移动的规律性,例如时间周期性、空间连续性
- 这些方法假设人类移动可以用特定的移动模式来描述,因此可以用具有明确物理意义的有限参数来建模。
- 然而,事实上,人类移动行为表现出复杂的顺序转换规律,这些规律可能是时间依赖的、高阶的。
- ——>因此,尽管这些基于模型的方法具有设计上可解释的优点,但由于实现机制的简单性,它们的性能受到限制。
- 近些年使用神经网络生成范例(GAN、VAE)的无模型方法
- 放弃了特定人类移动模式的提取
- 直接构建神经网络来学习真实数据的分布,并从相同分布中生成轨迹
- 存在的问题
- 忽略了生成轨迹的连续性问题
- 不利用人类移动先验知识,难以有效地生成连续轨迹
- 现有方法的随机生成过程存在误差积累问题
- 现有生成过程中轨迹是根据生成器给出的概率随机生成的。
- 一旦生成器预测错误,该过程将在错误的前提下继续生成,从而降低了生成轨迹的质量
1.3 本文的思路
1.3.1 针对第一个挑战(忽略了生成轨迹的连续性问题)
算法笔记:A*算法_UQI-LIUWJ的博客-CSDN博客
- 提出了一种融合 A* 算法的城市个体移动模式感知的两阶段对抗生成网络
- 在 A* 假设中,个体移动行为由两个因素决定:
- 从起点道路到当前候选道路的已观察通行成本
- 从候选道路到目的地的预期通行成本
- 结合以上两种成本,A* 算法评估哪条候选道路是下一步搜索的最佳候选道路,然后启发式地生成最优连续轨迹
- 在 A* 假设中,个体移动行为由两个因素决定:
- ——>这篇论文的生成器由两部分组成:
- 基于注意力网络,学习观察到的通行成本
- 基于 GAT 的网络来估计预期通行成本
1.3.2 针对第二个挑战(不利用人类移动先验知识)
- 基于轨迹数据的时空特性构建了鉴别器网络
- 分别从时间序列相似性(序列奖励)和空间相似性(移动性偏航奖励)的角度来鉴别生成轨迹的真实性
- ——>以提高生成器的有效性
1.3.3 针对第三个挑战(误差积累问题)
- 提出了一个两阶段基于 A* 搜索的
- 第一阶段,依据路网结构构建区域,然后生成区域轨迹
- 第二阶段,在区域轨迹的指导下生成连续轨迹
1.4 贡献
- 首次使用 A* 算法与神经网络相结合以解决城市道路网络上连续轨迹生成问题
- 为了提高生成的有效性和效率,构建了一个结合了序列性奖励和移动偏航奖励的鉴别器,并提出了一个两阶段生成过程
- 在两个真实轨迹集上的相似性对比实验与两个案例研究证明了框架的有效性和鲁棒性
2 问题定义
2.1 连续轨迹
- 城市道路网络上的连续轨迹定义为按时间排序的序列
- 轨迹点xi由一个元组(li,ti)表示
- li——路段ID
- ti——轨迹点对应的时间信息
- 连续轨迹需要满足:相邻的轨迹点
在路网中是相邻路段
- 轨迹点xi由一个元组(li,ti)表示
2.2 连续轨迹生成问题
- 给定一个真实世界的移动轨迹数据集,给定起止点,生成一条或一组连续的移动轨迹
- 连续轨迹生成问题可以被建模为马尔可夫决策过程
- 状态——当前个体的移动状态
- 由当前部分轨迹
和目的地ld组成
- 由当前部分轨迹
- 个体动作a——要移动的下一个候选路段lj
- 个体移动策略
——个体在当前状态下决定下一步动作的条件概率
- 状态——当前个体的移动状态
- 生成器按照最大化个体移动策略的总概率来生成轨迹
3 模型
3.1 整体模型

3.2 生成器
3.2.1 生成器的A*思想
- 在 A* 假设中,个体移动行为由两个因素决定:
- 从起点道路到当前候选道路lj的当前已通行成本(g)
- 从候选道路lj到目的地的未来通行成本(h)
- 结合以上两种成本,A* 算法评估哪条候选道路是下一步搜索的最佳候选道路,然后启发式地生成最优连续轨迹
- 使用朴素 A* 算法生成轨迹有以下两个缺陷
- 在朴素 A* 算法中,g 和 h 函数是根据路段之间的球面距离计算的
- ——》学习多样化的人类个体移动模式变得困难
- 球面距离不能准确估算未来通行成本
- eg,主干道 & 支路
- 在朴素 A* 算法中,g 和 h 函数是根据路段之间的球面距离计算的
- ——>使用神经网络拟合 g 和 h 函数以建模个体移动模式,从而预测个体移动策略
注:这篇论文只是采用A*算法这个思路,并不是使用A*算法来找下一个路段,找下一条路段还是用概率P来找的
3.2.2 拟合A* 算法思路中的g函数(已通行成本)

3.2.3 拟合A*算法思路中的h函数(未来通行成本)
论文笔记 Graph Attention Networks_UQI-LIUWJ的博客-CSDN博客
- 使用图注意力网络从道路网络中提取相对位置信息,并计算两个路段之间的球形距离
- 基于以上信息,最终使用多层感知器网络来估计未来通行成本 h

3.3 鉴别器

3.3.1 序列性奖励

3.3.2 移动性偏航奖励

3.4 训练生成器(REINFORCE算法)
强化学习笔记:policy learning_UQI-LIUWJ的博客-CSDN博客
强化学习,所以使用梯度上升

3.5 两阶段生成过程
- 现有方法的随机生成过程存在误差累积的问题
- 即在该过程中,轨迹是根据生成器给出的概率随机生成

- 然而,一旦生成器预测错误,随机生成过程会在错误的前提状态下继续生成
- 当生成长轨迹时,生成器出错的概率随着生成器做出的预测数量的增加而增加
- ——>生成轨迹难以到达目的地,同时降低生成轨迹的质量
- 论文采用了两阶段生成过程
- 第一阶段生成区域轨迹
- 第二阶段,在区域轨迹的前提下生成区域内的道路级别轨迹,从而完成连续轨迹生成
4 实验
4.1 数据集


4.2 比较结果

5 可能可以改进的点
不同的人有不同的通行习惯,这边只考虑的比较general的mobility pattern。如何融入personalized mobility pattern,是一个考虑方向
相关文章:
论文笔记:Continuous Trajectory Generation Based on Two-Stage GAN
2023 AAAI 1 intro 1.1 背景 建模人类个体移动模式并生成接近真实的轨迹在许多应用中至关重要 1)生成轨迹方法能够为城市规划、流行病传播分析和交通管控等城市假设分析场景提供仿仿真数据支撑2)生成轨迹方法也是目前促进轨迹数据开源共享与解决轨迹数…...
redis实战-缓存数据解决缓存与数据库数据一致性
缓存的定义 缓存(Cache),就是数据交换的缓冲区,俗称的缓存就是缓冲区内的数据,一般从数据库中获取,存储于本地代码。防止过高的数据访问猛冲系统,导致其操作线程无法及时处理信息而瘫痪,这在实际开发中对企业讲,对产品口碑,用户评价都是致命的;所以企业非常重视缓存…...
【排序】选择排序
文章目录 选择排序时间复杂度空间复杂度稳定性 代码 选择排序 以从小到大为例进行说明。 选择排序就是定义出一个最小值下标,然后遍历整个剩下的数组选择出最小的放进最小值下标的位置。 时间复杂度 O(N) 遍历一次即可 空间复杂度 O(1) 稳定性 不稳定 代码 p…...
深入浅出Pytorch函数——torch.nn.init.trunc_normal_
分类目录:《深入浅出Pytorch函数》总目录 相关文章: 深入浅出Pytorch函数——torch.nn.init.calculate_gain 深入浅出Pytorch函数——torch.nn.init.uniform_ 深入浅出Pytorch函数——torch.nn.init.normal_ 深入浅出Pytorch函数——torch.nn.init.c…...
探索高级UI、源码解析与性能优化,了解开源框架及Flutter,助力Java和Kotlin筑基,揭秘NDK的魅力!
课程链接: 链接: https://pan.baidu.com/s/13cR0Ip6lzgFoz0rcmgYGZA?pwdy7hp 提取码: y7hp 复制这段内容后打开百度网盘手机App,操作更方便哦 --来自百度网盘超级会员v4的分享 课程介绍: 📚【01】Java筑基:全方位指…...
国外服务器怎么有效降低延迟
国外服务器怎么有效降低延迟?在全球化网络环境下,越来越多的企业和个人选择使用国外服务器来托管网站、应用程序或数据。然而,由于地理位置、网络连接等因素,使用国外服务器时可能会遇到延迟较高的问题。高延迟不仅影响用户体验,…...
AI百度文心一言大语言模型接入使用(中国版ChatGPT)
百度文心一言接入使用(中国版ChatGPT) 一、百度文心一言API二、使用步骤1、接口2、请求参数3、请求参数示例4、接口 返回示例 三、 如何获取appKey和uid1、申请appKey:2、获取appKey和uid 四、重要说明 一、百度文心一言API 基于百度文心一言语言大模型…...
vue 安装并配置vuex
1.安装vuex命令:npm i vuex3.6.2 2.全局配置 在main文件里边导入-安装-挂载 main.js页面配置的 import Vue from vue import App from ./App.vue import Vuex from vuex//导入 Vue.use(Vuex)//安装插件 // 创建store对象 const store new Vuex.Store({ }) // 挂载到vue对象上…...
有一种新型病毒在 3Ds Max 环境中传播,如何避免?
3ds Max渲染慢,可以使用渲云渲染农场: 渲云渲染农场解决本地渲染慢、电脑配置不足、紧急项目渲染等问题,可批量渲染,批量出结果,速度快,效率高。 此外3dmax支持的CG MAGIC插件专业版正式上线,…...
基于Java/springboot铁路物流数据平台的设计与实现
摘要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,铁路物流数据平台当然也不能排除在外,从文档信息、铁路设计的统计和分析,在过程中会产生大量的、各…...
比较杂的html元素
abbr 表示缩写 time 踢动给浏览器或搜索引擎阅读的事件;看着没什么效果 b 以前是一个无语义元素,主要用于加粗字体,有了css之后,加粗就不需要b元素了。 现在作为提醒注意(Bring Attention To)元素&…...
Docker基本管理
前言一、Docker简介1.1 什么是docker1.2 docker的logo及其含义1.3 docker的设计宗旨1.4 容器的优点1.5 容器和虚拟机的区别1.6 docker容器的两个重要技术1.7 docker的核心概念 二、安装 Docker三、Docker 镜像操作1、搜索镜像2、获取镜像3、查看镜像信息4、查看下载的镜像文件信…...
.NET Core6.0使用NPOI导入导出Excel
一、使用NPOI导出Excel //引入NPOI包 HTML <input type"button" class"layui-btn layui-btn-blue2 layui-btn-sm" id"ExportExcel" onclick"ExportExcel()" value"导出" />JS //导出Excelfunction ExportExcel() {…...
用API接口获取数据的好处有哪些,电商小白看过来!
API接口获取数据有以下几个好处: 1. 数据的实时性:通过API接口获取数据可以实时获取最新的数据,保证数据的及时性。这对于需要及时更新数据的应用非常重要,比如股票行情、天气预报等。 2. 数据的准确性:通过API接口获…...
使用struct解析通达信本地Lday日线数据
★★★★★博文原创不易,我的博文不需要打赏,也不需要知识付费,可以白嫖学习编程小技巧,喜欢的老铁可以多多帮忙点赞,小红牛在此表示感谢。★★★★★ 在Python中,struct模块提供了二进制数据的打包和解包…...
浅谈早期基于模板匹配的OCR的原理
基于模板匹配的概念是一种早期的字符识别方法,它基于事先准备好的字符模板库来与待识别字符进行比较和匹配。其原理如下: 1. 字符模板库准备:首先,针对每个可能出现的字符,制作一个对应的字符模板。这些模板可以手工创…...
第6章 分布式文件存储
mini商城第6章 分布式文件存储 一、课题 分布式文件存储 二、回顾 1、理解Oauth2.0的功能作模式 2、实现mini商城项目的权限登录 三、目标 1、了解文件存储系统的概念 2、了解常用文件服务器的区别 3、掌握Minio的应用 四、内容 第1章 MinIO简介 官...
Spring(四):Spring Boot 的创建和使用
关于Spring之前说到,Spring只是思想(核心是IOC、DI和AOP),而具体的如何实现呢?那就是由Spring Boot 来实现,Spring Boot究竟是个啥呢? 什么是Spring Boot,为什么要学Spring Boot Sp…...
SpringCloud Gateway:status: 503 error: Service Unavailable
使用SpringCloud Gateway路由请求时,出现如下错误 yml配置如下: 可能的一种原因是:yml配置了gateway.discovery.locator.enabledtrue,此时gateway会使用负载均衡模式路由请求,但是SpringCloud Alibaba删除了Ribbon的…...
【产品规划】功能需求说明书概述
文章目录 1、瀑布流方法论简介2、产品需求文档(PRD)简介3、产品需求文档的基本要素4、编写产品需求文档5、优秀产品需求文档的特点6、与产品需求文档相似的其他文档 1、瀑布流方法论简介 2、产品需求文档(PRD)简介 3、产品需求文档…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...




