论文笔记: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,是一个考虑方向

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

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

相关文章

Java进阶-Oracle(二十一)(2)

🌻🌻 目录 一、Oracle 数据库的操作(DDL DML DQL DCL TPL)1.1 标识符、关键字、函数等1.1.1 数值类型:1.1.2 字符串类型:1.1.3 日期类型1.1.4 大的数据类型--适合保存更多的数据 1.2 运算符1.3 函数---预定义函数、自定义函数&…

LeetCode128.最长连续序列

我这个方法有点投机取巧了,题目说时间复杂度最多O(n),而我调用了Arrays.sort()方法,他的时间复杂度是n*log(n),但是AC了,这样的话这道题还是非常简单的,创建一个Hashmap,以nums数组的元素作为ke…

python中可以处理word文档的模块:docx模块

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 话不多说,直接开搞,如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码 一.docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的。 也就是说python-docx模块…

归并排序:从二路到多路

前言 我们所熟知的快速排序和归并排序都是非常优秀的排序算法。 但是快速排序和归并排序的一个区别就是:快速排序是一种内部排序,而归并排序是一种外部排序。 简单理解归并排序:递归地拆分,回溯过程中,将排序结果进…

C++之std::pair<uint64_t, size_t>应用实例(一百七十七)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

PHP之Base64+php://filter绕过、disabled_function绕过

目录 一、Base64php://filter绕过 1.思路分析 2.实践验证 二、disabled_function绕过 一、Base64php://filter绕过 上课讲了这样一道题&#xff0c;一起来看下(以下代码适用于PHP7.x及以上&#xff0c;5的版本会报错) <?php function fun($var): bool{$blacklist …

野火i.mx 6ull上手

目录 屏幕驱动打印信息 实现触摸屏校验 开发板连接WIFI 连接操作 申请路由器动态IP和ping网络通断 WiFi信息保存位置 常用wifi操作&#xff08;wpa_cli工具&#xff09; NFS网络文件系统共享 虚拟机安装NFS服务器 开发板安装NFS客户端 控制开发板 找出硬件设备所对…

C语言实现贷款计算器

等额本金&#xff0c;等额本息数学推导:贷款 买房&#xff0c;利息怎么算&#xff1f;不要被忽悠了&#xff01;李永乐老师讲等额本金和等额本息 一个心血来潮的研究&#xff0c;避免以后买房被坑。 捣鼓了半天才发现原来支付宝的那个利率是年利率不是月利率&#xff0c;坑了…

驱动开发——字符设备

字符设备 Linux 将系统设备分为&#xff1a;字符设备、块设备、网络设备。工作原理 字符设备是 Linux 驱动中最基本的一类设备驱动&#xff0c;字符设备就是一个一个字节&#xff0c; 按照字节流进行读写操作的设备&#xff0c;读写数据是分先后顺序的。在Linux的世界里面一切…

如何修复损坏的DOC和DOCX格式Word文件?

我们日常办公中&#xff0c;经常用到Word文档。但是有时会遇到word文件损坏、无法打开的情况。这时该怎么办&#xff1f;接着往下看&#xff0c;小编在这里就给大家带来最简单的Word文件修复方法&#xff01; 很多时候DOC和DOCX Word文件会无缘无故的损坏无法打开&#xff0c;一…

【福建事业单位-综合基础知识】03行政法

【福建事业单位-综合基础知识】03行政法 1.行政法概述&#xff08;原则重点&#xff09;行政主体范围 行政行为总结 二.行政处罚2.1行政处罚的种类总结 行政法框架 1.行政法概述&#xff08;原则重点&#xff09; 行政法的首要原则是合法&#xff1b;自由裁量——合理行政&…

SSM——用户、角色、权限操作

1. 数据库与表结构 1.1 用户表 1.1.1 用户表信息描述 users 1.1.2 sql语句 CREATE TABLE users( id varchar2(32) default SYS_GUID() PRIMARY KEY, email VARCHAR2(50) UNIQUE NOT NULL, username VARCHAR2(50), PASSWORD VARCHAR2(50), phoneNum VARCHAR2(20), STATUS INT…

i18n 配置vue项目中英文语言包(中英文转化)

一、实现效果 二、下载插件创建文件夹 2.1 下载cookie来存储 npm install --save js-cookienpm i vue-i18n -S 2.2 封装组件多页面应用 2.3 创建配置语言包字段 三、示例代码 3.1 main.js 引用 i18n.js import i18n from ./lang// 实现语言切换:i18n处理element&#xff0c…

Unity ARFoundation 配置工程 (Android)

注意&#xff1a; 1、AR Core是Google的产品&#xff0c;因为谷歌制裁华为&#xff0c;所以 有些 华为机可能不支持AR Core的软件&#xff1b; 2、手机在设置里搜索Google Play&#xff0c;看看是否已经安装上了&#xff0c;如果没有装此服务&#xff0c;去商城里搜索Google Pl…

互联网发展历程:跨越远方,路由器的启示

互联网的蓬勃发展&#xff0c;一直在追求更广阔的连接&#xff0c;更遥远的距离。然而&#xff0c;在早期的网络中&#xff0c;人们面临着连接距离有限的问题。一项重要的技术应运而生&#xff0c;那就是“路由器”。 连接受限的问题&#xff1a;距离有限 早期的网络受限于直接…

微服务-Nacos(注册中心)

Nacos是SpringCloud的一个功能非常强大的组件&#xff0c;想比eureka的功能更加丰富 官方的nacos简介 Nacos&#xff08;全称&#xff1a;Naming and Configuration Service&#xff09;是一个开源的动态服务发现、配置管理和服务管理平台。它由阿里巴巴集团开发并贡献给开源…

【设计模式——学习笔记】23种设计模式——策略模式Strategy(原理讲解+应用场景介绍+案例介绍+Java代码实现)

文章目录 案例引入传统方案实现实现分析 介绍基本介绍登场角色 案例实现案例一类图实现 案例二类图实现问答 策略模式在JDK源码中的使用总结文章说明 案例引入 有各种鸭子&#xff0c;比如野鸭、北京鸭、水鸭等。 鸭子有各种行为&#xff0c;比如走路、叫、飞行等。不同鸭子的…

安防监控视频云存储EasyCVR平台H.265转码功能更新:新增分辨率配置

安防视频集中存储EasyCVR视频监控综合管理平台可以根据不同的场景需求&#xff0c;让平台在内网、专网、VPN、广域网、互联网等各种环境下进行音视频的采集、接入与多端分发。在视频能力上&#xff0c;视频云存储平台EasyCVR可实现视频实时直播、云端录像、视频云存储、视频存储…

C++ string类详解

⭐️ string string 是表示字符串的字符串类&#xff0c;该类的接口与常规容器的接口基本一致&#xff0c;还有一些额外的操作 string 的常规操作&#xff0c;在使用 string 类时&#xff0c;需要使用 #include <string> 以及 using namespace std;。 ✨ 帮助文档&…

【HarmonyOS】服务卡片 API6 JSUI跳转不同页面

【引言】 “JS卡片支持为组件设置action&#xff0c;包括router事件和message事件&#xff0c;其中router事件用于应用跳。若设置router事件&#xff0c;则action属性值为"router"&#xff1b;abilityName为卡片提供方应用的跳转目标Ability名&#xff1b;params中的…