论文笔记: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* 算法评估哪条候选道路是下一步搜索的最佳候选道路,然后启发式地生成最优连续轨迹
  • ——>这篇论文的生成器由两部分组成:
    • 基于注意力网络,学习观察到的通行成本
    • 基于 GAT 的网络来估计预期通行成本

1.3.2 针对第二个挑战(不利用人类移动先验知识)

  • 基于轨迹数据的时空特性构建了鉴别器网络
    • 分别从时间序列相似性(序列奖励)和空间相似性(移动性偏航奖励)的角度来鉴别生成轨迹的真实性
    • ——>以提高生成器的有效性

1.3.3 针对第三个挑战(误差积累问题)

  • 提出了一个两阶段基于 A* 搜索的
    • 第一阶段,依据路网结构构建区域,然后生成区域轨迹
    • 第二阶段,在区域轨迹的指导下生成连续轨迹

1.4 贡献

  • 首次使用 A* 算法与神经网络相结合以解决城市道路网络上连续轨迹生成问题
  • 为了提高生成的有效性和效率,构建了一个结合了序列性奖励和移动偏航奖励的鉴别器,并提出了一个两阶段生成过程
  • 在两个真实轨迹集上的相似性对比实验与两个案例研究证明了框架的有效性和鲁棒性

2 问题定义

2.1 连续轨迹

  • 城市道路网络上的连续轨迹定义为按时间排序的序列 T=\{x_1,x_2,\ldots,c_n\}
    • 轨迹点xi由一个元组(li,ti)表示
      • li——路段ID
      • ti——轨迹点对应的时间信息
    • 连续轨迹需要满足:相邻的轨迹点(x_i,x_{i+1})在路网中是相邻路段

2.2 连续轨迹生成问题

  • 给定一个真实世界的移动轨迹数据集,给定起止点,生成一条或一组连续的移动轨迹\hat{T}=\{\hat{x_1},\hat{x_2},\ldots,\hat{x_n}\}

  • 连续轨迹生成问题可以被建模为马尔可夫决策过程
    • 状态——当前个体的移动状态
      • 由当前部分轨迹x_{1:i}和目的地ld组成
    • 个体动作a——要移动的下一个候选路段lj
    • 个体移动策略\pi(a|s)——个体在当前状态下决定下一步动作的条件概率

  •  生成器按照最大化个体移动策略的总概率来生成轨迹

3 模型

3.1   整体模型

3.2 生成器

3.2.1 生成器的A*思想

  • 在 A* 假设中,个体移动行为由两个因素决定:
    • 从起点道路到当前候选道路lj的当前已通行成本(g)
    • 从候选道路lj到目的地的未来通行成本(h)
  • 结合以上两种成本,A* 算法评估哪条候选道路是下一步搜索的最佳候选道路,然后启发式地生成最优连续轨迹

  • 使用朴素 A* 算法生成轨迹有以下两个缺陷
    • 在朴素 A* 算法中,g 和 h 函数是根据路段之间的球面距离计算的
      • ——》学习多样化的人类个体移动模式变得困难
    • 球面距离不能准确估算未来通行成本
      • eg,主干道 & 支路
  • ——>使用神经网络拟合 g 和 h 函数以建模个体移动模式,从而预测个体移动策略\pi(a|s)

    注:这篇论文只是采用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,是一个考虑方向

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WSL2 ubuntu子系统OpenCV调用本机摄像头的RTSP视频流做开发测试

文章目录 前言一、Ubuntu安装opencv库二、启动 Windows 本机的 RTSP 视频流下载解压 EasyDarwin查看本机摄像头设备开始推流 三、在ubuntu 终端编写代码创建目录及文件创建CMakeLists.txt文件启动 cmake 配置并构建 四、结果展示启动图形界面在图形界面打开终端找到 rtsp_demo运…

Python标准库-追踪异常,定位问题-traceback

在日常的编程过程中,我们经常会遇到各种错误和异常。而当程序发生异常时,了解如何有效地追踪异常信息并定位问题,是每个开发者必备的技能之一。 Python 提供了一个强大的工具,称为 Traceback,它可以帮助我们跟踪异常的…

Midjourney Prompt 提示词速查表 v5.2

Midjourney 最新的版本更新正不断推出令人兴奋的新功能。这虽然不断扩展了我们的AI绘图工具箱,但有时也会让我们难以掌握所有实际可以使用的功能和参数。 针对此问题, 小编整理了 "Midjourney Prompt 提示词速查表",这是一个非常方便的 Midjo…

Sentinel 规则持久化

文章目录 Sentinel 规则持久化一、修改order-service服务1.引入依赖2.配置nacos地址 第二步修改非常麻烦,可以略过,直接使用已经打好包的来使用二、修改sentinel-dashboard源码1. 解压2. 修改nacos依赖3. 添加nacos支持4. 修改nacos地址5. 配置nacos数据…

[gdc23]《战神:诸神黄昏》中的积雪系统

overview gdc23上santa monica带来基于tesselation的displacement map的可交互积雪系统,这是一个对于前作(战神4)的screen space parallax mapping的升级,而且是一个由自身render programmer在一个项目周期内,完成的&…

【探索Linux】—— 强大的命令行工具 P.6(调试器-gdb、项目自动化构建工具-make/Makefile)

阅读导航 前言一、什么是调试器二、详解 GDB - 调试器1.使用前提2.经常使用的命令3.使用小技巧 三、项目自动化构建工具 - make/Makefile1. make命令⭕语法⭕常用选项⭕常用操作⭕make命令的工作原理⭕make命令的优势: 2.Makefile文件⭕Makefile的基本结构⭕Makefil…

MongoDB增删改查操作

数据库操作&#xff1a; 在MongoDB中&#xff0c;文档集合存在数据库中。 要选择使用的数据库&#xff0c;请在mongo shell程序中发出 use <db> 语句 // 查看有哪些数据库 show dbs;// 如果数据库不存在&#xff0c;则创建并切换到该数据库&#xff0c;存在则直接切换到…

Visual Studio 如何放大代码字体的大小

1.打开Visual Studio&#xff0c;新建一个程序&#xff0c;一段代码&#xff0c;为接下去的操作做好准备。单击菜单栏的【工具】选项。 2.在跳出来菜单中找到【选项】&#xff08;一般在最后一项&#xff09;&#xff0c;然后单击。跳出新的窗口。 3.跳出新的窗口后&#xff…

频繁full gc 调参

Error message from spark is:java.lang.Exception: application_1678793738534_17900289 Driver Disassociated [akka.tcp://sparkDriverClient11.71.243.117:37931] <- [akka.tcp://sparkYarnSQLAM9.10.130.149:38513] disassociated! 日志里频繁full gc &#xff0c;可以…

408反向改考自命题的211学校,计算机招生近500人!今年能捡到漏吗?

贵州大学(C) 考研难度&#xff08;☆☆☆&#xff09; 内容&#xff1a;23考情概况&#xff08;拟录取和复试分析&#xff09;、院校概况、23专业目录、23复试详情、各专业考情分析。 正文1498字&#xff0c;预计阅读&#xff1a;3分钟。 2023考情概况 贵州大学计算机相关各…

【VBA_选择区域的关键词更改颜色】

Private Sub CommandButtonl_Click() Cells.Font.ColorIndex 1 End Sub Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rng As Range, i As Integer Dim T As String Dim C As Integer For Each rng In Selection T "河北" C 3 i 1 Do While InStr(…

微软商店的ubuntu 连不上网Temporary failure in name resolution

背景&#xff1a;win10 下载docker时需要wsl2&#xff0c;下了个微软商店的Ubuntu 。写这篇文章的原因是当时查了资料ubuntu的问题和微软下载的Ubuntu还是有一些区别&#xff0c;问题不好解决&#xff0c;故写此文。 问题&#xff1a;用命令ifconfig eth0 down后再执行ifconfi…

回归预测 | MATLAB实现SSA-BP麻雀搜索算法优化BP神经网络多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现SSA-BP麻雀搜索算法优化BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现SSA-BP麻雀搜索算法优化BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览基本…

Electron入门,项目启动。

electron 简单介绍&#xff1a; 实现&#xff1a;HTML/CSS/JS桌面程序&#xff0c;搭建跨平台桌面应用。 electron 官方文档&#xff1a; [https://electronjs.org/docs] 本文是基于以下2篇文章且自行实践过的&#xff0c;可行性真实有效。 文章1&#xff1a; https://www.cnbl…

C++ string 的用法

目录 string类string类接口函数及基本用法构造函数&#xff0c;析构函数及赋值重载函数元素访问相关函数operator[]atback和front 迭代器iterator容量操作size()和length()capacity()max_sizeclearemptyreserveresizeshrink_to_fit string类对象修改操作operatorpush_backappen…

第7章:贝叶斯分类器

贝叶斯决策论 贝叶斯分类器&#xff1a;使用贝叶斯公式 贝叶斯学习&#xff1a;使用分布估计&#xff08;不同于频率主义的点估计&#xff09; 极大似然估计 朴素贝叶斯分类 半朴素贝叶斯 条件独立性假设&#xff0c;在现实生活中往往很难成立。 半朴素贝叶 斯的一个常用策略…

pdf 转 word

pdf 转 word 一、思路 直接调用LibreOffice 命令进行文档转换的命令行工具 使用的前系统中必须已经安装了 libreofficelibreoffice已翻译的用户界面语言包: 中文 (简体)libreoffice离线帮助文档: 中文 (简体)上传字体 重点&#xff1a;重点&#xff1a;重点&#xff1a; 亲…

设计模式-过滤器模式(使用案例)

过滤器模式&#xff08;Filter Pattern&#xff09;或标准模式&#xff08;Criteria Pattern&#xff09;是一种设计模式&#xff0c;这种模式允许开发人员使用不同的标准来过滤一组对象&#xff0c;通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式…

HTML和JavaScript实现一个简单的计算器

使用HTML和JavaScript实现一个简单的计算器。 一、绘制键盘 <!DOCTYPE html> <html> <head><title>Simple Calculator</title><style>.calculator {display: grid;grid-template-columns: repeat(4, 1fr);grid-gap: 5px;padding: 10px;}.…

Stable Diffusion 告别复制关键词,高质量提示词自动生成插件

在使用SD时,我们经常会遇到心中无想法,或不知如何描述心中所想的图像。有时由于提示词的选择不当,生成的图片质量也不尽如人意。为此,我今天为大家推荐一个高质量的提示词自动生成插件——One Button Prompt。 下面是他生成的一些样图。 文章目录 插件安装插件说明主菜单工…