【每日一篇】UrbanGPT:时空大语言模型 【方便自己看】

news2024/9/9 5:24:26

摘要

时空预测旨在预测和洞察城市环境在时间和空间上不断变化的动态。它的目的是预测未来的模式,趋势和城市生活的各个方面的事件,包括交通,人口流动和犯罪率。虽然已经有许多努力致力于开发神经网络技术来准确预测时空数据,但重要的是要注意,这些方法中的许多方法在很大程度上依赖于具有足够的标记数据来生成精确的时空表示。不幸的是,数据稀缺的问题是普遍存在于实际的城市感知场景。在某些情况下,从下游场景中收集任何标记的数据变得具有挑战性,从而进一步加剧了问题。因此,有必要建立一个时空模型,可以在不同的时空学习场景中表现出强大的泛化能力。从大型语言模型(LLM)的显着成就中获得灵感,我们的目标是创建一个时空LLM,可以在广泛的下游城市任务中表现出卓越的泛化能力。为了实现这一目标,我们提出了UrbanGPT,它无缝地集成了时空依赖性编码器的预防调整范例。这种集成使LLM能够理解跨时间和空间的复杂相互依赖关系,从而在数据稀缺的情况下实现更全面和准确的预测。为了验证我们的方法的有效性,我们在各种公共数据集上进行了广泛的实验,涵盖了不同的时空预测任务。结果一致表明,我们的UrbanGPT凭借其精心设计的架构,始终优于最先进的基线。这些发现突出了构建用于时空学习的大型语言模型的潜力,特别是在标记数据稀缺的零拍摄场景中。

1 介绍

时空预测的动机是准确预测和获得有价值的洞察城市环境的动态性质。通过分析和理解跨时间和空间的不断变化的动态,时空预测使我们能够预测未来的模式,趋势和各种事件。城市生活的方方面面。这在城市计算领域具有重要意义,预测交通模式的能力可以优化交通流量,减少拥堵,并提高整体城市流动性[18,31]。此外,预测人口流动有助于有效的城市规划和资源分配[7,20]。此外,预测犯罪的能力可以大大有助于加强公共安全[32]。时空预测在塑造更智能、更高效的城市方面发挥着至关重要的作用,最终提高城市生活质量。重要的是要强调在这个时空预测领域中通常采用的各种类型的神经网络架构。这些架构旨在捕获和建模数据中空间和时间维度之间的复杂关系。一种广泛采用的架构是卷积神经网络(CNN)[15,39,45],它通过在输入数据中应用卷积滤波器来有效地提取空间特征。另一种时空神经网络是递归神经网络(RNN)家族[1,34,43]。这些时空RNN非常适合通过保持可以随时间保留信息的记忆状态来捕获时间依赖性。最近,图神经网络(GNN)用于时空预测的使用激增[36,40,47]。GNN擅长在以图形表示的数据中建模复杂的空间关系,其中每个节点对应于一个空间位置,而边则捕捉它们之间的连接。虽然目前的时空神经网络技术已被证明是非常有效的,但关键是要认识到它们对大量标记数据的强烈依赖,以便生成准确的预测。然而,在实际的城市感知场景中普遍存在的数据稀缺问题构成了一个重大挑战。例如,在整个城市空间部署传感器来监测全市的交通量或空气质量是不切实际的,因为涉及的成本很高[17,41]。此外,有限的标记数据可用性的挑战扩展到不同城市的时空预测,其中获取每个目标城市的标记数据成为一项艰巨的任务[13,38]。这些问题强调了对新型解决方案的迫切需求,这些解决方案可以解决数据稀缺问题,并增强各种智慧城市应用中时空模型的泛化能力。受大型语言模型(LLM)的显着进步的启发,我们的主要目标是创建一个时空LLM,在各种城市任务中具有出色的泛化能力。利用LLM固有的推理能力,我们的目标是将其成功扩展到时空分析领域。我们的目标是开发一个模型,可以有效地理解和预测复杂的空间和时间模式,使其能够在各种城市场景中脱颖而出。虽然开发一个通用的时空模型能够有效地处理不同的下游是至关重要的任务、将时空上下文与大型语言模型(LLM)的知识空间对齐并使它们能够理解跨越时间和空间的复杂依赖性提出了重大挑战。这些障碍需要细致的模型设计,以弥合时空数据的独特特征与LLMs中编码的知识之间的差距。鉴于这些挑战,我们提出了UrbanGPT,一个专门为时空预测量身定制的大型语言模型。

UrbanGPT的核心是一种新颖的时空指令调优范式,它试图将复杂的时间和空间依赖关系与LLM的知识空间相匹配。在我们的UrbanGPT框架中,我们首先引入了一个时空相关性编码器,它利用了一个多级时间卷积网络。该编码器使模型能够跨越各种时间分辨率捕获时空数据中存在的复杂的时间动态。然后,我们的模型包括对齐文本和时空信息,以使语言模型能够有效地注入时空语境信号。这是通过利用投射时空依赖性表示的轻量级对齐模块来实现的。其结果是通过整合来自文本和时空域的有价值的信息来生成更具表达力的语义表示。通过在指令调优过程中结合时空信息,语言模型在理解和处理时空数据中发现的复杂关系和模式方面获得了熟练度。通过充分利用从时空域获得的洞察力,语言模型变得更好地装备以捕捉时空现象的细微差别和复杂性。这反过来又使模型能够在各种城市场景中做出更可靠、更有见地的预测,即使在面临有限数据可用性的情况下也是如此。

为了展示我们提出的模型的上级预测性能,我们将其与大语言模型(LLaMA 70 B)和时空图神经网络(STGCN)在由文本指令指导的零射击交通流预测场景中进行了比较,如图1所示。大型语言模型LLaMA可以有效地从输入文本中推断出流量模式。然而,它在处理具有复杂空间和时间依赖性的数字时间序列数据方面的局限性有时会导致相反的交通趋势预测。另一方面,预训练的基线模型表现出对时空依赖性的强烈理解。然而,它可能会受到过度拟合的源数据集和表现不佳的零杆的情况下,表明其有限的泛化能力超出现有的时空预测模型。相比之下,我们提出的模型实现了特定领域的时空知识和语言建模能力的和谐集成。这使我们能够在数据稀缺的情况下做出更准确、更可靠的预测。总的来说,我们的主要贡献可以概括如下:·据我们所知,这是首次尝试开发一种时空大型语言模型,能够预测不同数据集的各种城市现象,特别是在数据有限的情况下。我们提出了UrbanGPT,这是一个时空预测框架,它使大型语言模型(LLM)能够理解跨时间和空间的复杂相互依赖关系。这是通过将时空依赖性编码器与预处理调谐范例无缝集成来实现的,从而有效地将时空上下文与LLM对齐。·在三个基准数据集上进行的广泛实验提供了令人信服的证据,证明我们提出的UrbanGPT在零拍摄时空学习场景中具有非凡的泛化能力。这些发现突出了该模型强大的泛化能力,证明了其在准确预测和理解时空模式方面的有效性,即使在没有先验训练数据的情况下也是如此。

图一:提出的UrbanGPT的上级预测性能相比,大语言模型(LLaMA-70 B)和时空图神经网络(STGCN)在零拍交通流预测的情况下。

2 准备工作

时空数据。时空数据通常被收集,并且可以表示为三维张量X \in R^{R \times T \times F}。𝑇𝑅张量中的每个元素X_{r,t,f},对应于第 r 个区域中第 t 个时间间隔的第 f 个特征的值。举个例子,让我们考虑预测城市区域的出租车交通模式。在这种情况下,数据可以代表特定区域内出租车的流入和流出(例如,第i个空间区域)在给定的时间段从t 到t-1 的期间(例如,30分钟间隔)。

时空预测。在时空预测任务中,常见的场景涉及使用历史数据来预测未来趋势。具体地说,目标是根据前面的时间步的信息预测下一个时间步的数据。

函数f(·)表示已使用历史数据有效训练的时空预测模型。时空预测任务可以分为两大类:回归预测,涉及预测交通流量或出租车需求等连续值[22],以及分类预测,目标是对事件进行分类,如犯罪发生预测[11]。为了优化模型,使用不同的损失函数𝑓基于时空情景的具体特征。

时空Zero-shot学习。尽管当前的时空学习方法很有效,但它们在有效地推广广泛的下游时空学习场景时经常遇到困难。在这项研究中,我们的重点是解决时空零拍摄场景的挑战,我们的目标是从下游时空预测数据集或任务中以前看不见的数据中学习。这可以正式定义如下:

在此特定场景中,预测函数\hat{f}(·)负责预测来自先前未遇到的下游任务的时空数据\tilde{X}。应该注意的是,模型训练器\hat{f}(·)不是专门针对目标数据进行训练的。

3模型

3.1 时空相关编码器

虽然大型语言模型在语言处理方面表现出了非凡的能力,但它们在理解时空数据中固有的时间演变模式方面面临挑战。为了克服这一限制,我们建议增强大型语言模型的能力,以捕捉时空背景下的时间依赖关系。这是通过集成一个时空编码器,结合了一个多级时间卷积网络。通过这样做,我们使模型能够有效地捕获各种时间分辨率之间的复杂时间依赖关系,从而提高其对时空数据中复杂时间动态的理解。具体来说,我们的时空编码器是由两个关键组成部分:一个门控扩张卷积层和一个多级相关注入层。让我们将此架构形式化为:

我们从初始的时空嵌入开始,记为。𝑇该嵌入是通过经由线性层增强原始数据X而获得的。为了解决梯度消失的问题,我们利用了E_r的一个切片,记为E'_r \in R^{T\ \times d},它由扩张卷积核的大小决定。该切片用于执行残差运算。为了执行残差运算,我们使用1-D扩张卷积核,沿着相应的偏差项\delta利用S形激活函数来控制卷积运算过程中的信息保存程度。在门控时间扩张卷积层编码之后,我们能够有效地捕获跨多个时间步长的时间依赖性,从而产生时间表示。

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

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

相关文章

【C 语言】深入理解冒泡排序算法

0. 前言 冒泡排序是一种经典且基础的排序算法。它虽然在效率上并非最优,但对于初学者理解排序的基本概念和逻辑有着重要的意义。 1. 冒泡排序的基本思想 冒泡排序的基本思想是通过反复比较相邻的元素并交换它们(如果顺序错误),…

基于GEC6818开发板+Linux+Qt设计的智能养老院出入管理系统(195)

一、前言 1.1 项目介绍 【1】项目功能介绍 随着我国老龄化进程的加快,养老问题日益突出,如何有效保障老年人的生活质量与安全成为社会关注的重点。智能化、信息化技术的发展为解决这一问题提供了新的思路和手段。基于Linux系统的智能养老院出入管理系统应运而生,为了实现…

记录一次使用Docker部署skywalking的过程

临时一个测试系统需要追一下bug,所以计划单节点部署一套skywalking进行调用链分析。 网上扒拉了几篇,都有点问题,这里单独记录一个。 首先skywalking需要是用es做数据源,当然也有mysql等多个版本,这里用的es。 同时…

使用JavaFx Fxml笔记

使用JavaFx Fxml实现账号密码登录 HelloApplication.java:package com.example.dr295cmonth7;import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.geometry.Insets; import javafx.scene.Parent; import javafx.scene.Scene; i…

Pinely Round 4 (Div. 1 + Div. 2)

有不明白或者想交流一下的可以加一下扣扣:2674993642,博客一般写的时候才看 A. Maximize the Last Element 解析:题目要让一次删除两个相邻的数字,最后留下尽可能最大的数字,赛时我用笔模拟了一下,发现如…

c++11,左值引用和右值引用,右值引用的作用

目录 左右值引用概念 右值引用的作用 左右值引用概念 什么是左值?什么是左值引用? 左值是一个表示数据的表达式(如变量名或解引用的指针),我们可以获取它的地址可以对它赋 值,左值可以出现赋值符号的左边,右值不能出…

最详细最新最简单的Jenkins安装使用

首先去jenkins官网下载最新LTS war版本https://www.jenkins.io/download/ 准备sdk包 、nginx配置文件 、已配置的maven文件 查看系统架构 cat /etc/redhat-release uname -a uname -m lscpu安装常用工具 yum install jq -y yum install git -yyum install nginx -y systemc…

深入源码:解析SpotBugs (6)jvm 字节码简介

文章目录 一、JVM字节码概述一、文件结构概述二、详细解析1. 魔数和Class文件的版本2. 常量池3. 访问标志4. 类索引、父类索引与接口索引集合5. 字段表和方法表6. 属性表 字节码Spotbugs 作为一名资深的Java开发工程师,对JVM及其字节码有着深入的理解。现在&#xf…

DRAM 和 NAND 闪存收入将在 2024 年显著增长 75% 和 77%

#### 市场概况 根据 TrendForce 最新发布的市场报告,预计 2024 年 DRAM 和 NAND 闪存的收入将分别显著增长 75% 和 77%,这一增长主要是由于平均价格的上涨以及高价值产品的兴起,例如 HBM(高带宽内存)和 QLC&#xff0…

卷积神经网络(六)---实现 cifar10 分类

cifar10 数据集有60000张图片,每张图片的大小都是 32x32 的三通道的彩色图,一共是10种类别、每种类别有6000张图片,如图4.27所示。 图 4.27 cifar数据集 使用前面讲过的残差结构来处理 cifar10 数据集,可以实现比较高的准确率。 …

配置本地开发服务器代理请求以及登录模块开发(二)

项目初始化完成之后,准备开始进行项目的开发,首先配置好开发环境作为整个项目的基础 一、配置代理 1、config/proxy.ts配置代理 export default {// 如果需要自定义本地开发服务器 请取消注释按需调整dev: {// localhost:8000/api/** -> https://p…

Seata 入门与实战

一、什么是 Seata Seata 是一款开源的分布式事务解决方式,致力于提供高性能和简单易用的分布式事务服务。Seata 为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式事务解决方案。 二、Seata 组成 事务协调者(Transacti…

什么是Shell?怎么编写和执行Shell脚本?

大家好呀!今天来简单介绍一下Shell基础,Shell介于内核与用户之间,是一个命令解释器,负责命令的解释。简单理解,Shell既是一个程序也是一种脚本语言。 1、shell介绍 1.1 概述 shell介于内核与用户之间,是一个…

索引结构—B+Tree索引、Hash索引、Full-Text(全文)索引、R-Tree(空间)索引

一、概述 在数据库系统中,索引是一种用于加快数据检索的数据结构。不同的索引结构适用于不同的查询场景和数据特性。索引按照不同角度可以划分不同类型的索引。按照数据结构可以划分BTree索引、Hash索引、FULL TEXT(全文)索引、R-Tree&#…

python inf是什么意思

INF / inf:这个值表示“无穷大 (infinity 的缩写)”,即超出了计算机可以表示的浮点数的范围(或者说超过了 double 类型的值)。例如,当用 0 除一个整数时便会得到一个1.#INF / inf值;相应的,如果…

卡码网KamaCoder 103. 水流问题

题目来源&#xff1a;103. 水流问题 C题解&#xff1a;从边界往高处走&#xff0c;走过的地方做标记。第一组边界跟第二组边界能走到的地方取交集。 代码来源代码随想录。&#xff08;虽然思路一样&#xff0c;但人家代码写得比我好哇&#xff09; #include <iostream>…

pyinstaller带浏览器一起打包playwright 独立运行exe

前置条件 没有安装自带环境&#xff0c;则 playwright install 安装了自带的浏览器 查看playwright的浏览器的位置 playwright install --dry-run 打开此文件夹可以看到 新建一个多层级目录playwright\driver\package.local-browsers 然后复制chromium-1124到playwright\dr…

听说它可以让代码更优雅

一提到静态代码检查工具这个词应该比较好理解&#xff0c;所谓静态代码检查工具就是检查静态代码的工具&#xff0c;完美~ 言归正传&#xff0c;相信很多程序员朋友都听说过静态代码检查工具这个概念&#xff0c;它可能是我们IDE里的某一个插件&#xff0c;可能是计算机中的一…

比 faster-whisper 至少快10倍的音视频转换文字

背景介绍 前两天我自己玩玩搞搞一个音频转文字服务&#xff0c;基于 faster-whisper&#xff0c;本想着这个已经是很快的了&#xff0c;没想到还有比它更快的&#xff0c;今天就来介绍使用一下。 FunClip&#xff0c;是阿里巴巴推出的一个智能视频剪辑工具&#xff0c;它结合…

计算机毕业设计选题推荐-某炼油厂盲板管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…