论文阅读:OpenSTL: A Comprehensive Benchmark of Spatio-Temporal Predictive Learning

论文地址:arxiv

摘要

由于时空预测没有标准化的比较,所以为了解决这个问题,作者提出了 OpenSTL,这是一个全面的时空预测学习基准。它将流行的方法分为基于循环和非循环模型两类。OpenSTL提供了一个模块化且可扩展的框架,实现了各种最先进的方法。

正文

当前的时空预测模型可以分别循环型与非循环型。而在该领域,有一个问题:是否有必要使用循环神经网络架构来捕捉时间依赖关系。所以作者为了公平的评估,提出了一个全面的基准。

贡献点

  • 构建了 OpenSTL,包含了 14 种代表性算法与 24 个模型的时空预测学习的综合基准。
  • 在多样化的任务进制了实验。
  • 重新思考了非循环模型的潜力,提出了类似 MetaFormer 的架构来促进非循环时空预测学习。

问题定义

给定一系列视频帧 X t , T = x i t − T + 1 t X_{t,T}={x_i}^t_{t-T+1} Xt,T=xitT+1t,涵盖了过去 T T T 帧,从时间 t − T + 1 t-T+1 tT+1 到时间 t t t,目标是预测随后的 T ′ T' T Y t + 1 , T ′ = x i t + 1 t + 1 + T ′ Y_{t+1,T'}={x_i}^{t+1+T'}_{t+1} Yt+1,T=xit+1t+1+T,即从时间 t + 1 t+1 t+1 开始的未来 T ′ T' T 帧。其中每一帧 x i x_i xi 通常包含 C C C 个通道,高度为 H H H 像素,宽度为 W W W 像素。而在实际操作中,通道将输入帧序列表示为 X t , T ∈ R T ∗ C ∗ H ∗ W X_{t,T} \in R^{T*C*H*W} Xt,TRTCHW,而输出序列通常表示为 Y t + 1 , T ′ ∈ R T ′ ∗ C ∗ H ∗ W Y_{t+1,T'} \in R^{T'*C*H*W} Yt+1,TRTCHW

具有可学习参数 Θ \Theta Θ 的模型通过利用空间与时间依赖关系学习映射 F Θ : X t , T ↦ Y t + 1 , T ′ F_{\Theta}:X_{t,T} \mapsto Y_{t+1,T'} FΘ:Xt,TYt+1,T。而最优参数 Θ ∗ \Theta^* Θ 由下式给出:
Θ ∗ = a r g m i n Θ L ( F Θ ( X t , T ) , Y t + 1 , T ′ ) \Theta^*=argmin_\Theta L(F_\Theta(X_{t,T}),Y_{t+1,T'}) Θ=argminΘL(FΘ(Xt,T),Yt+1,T)
L L L 为表示量化这种差异的损失函数。

对于基于循环的模型,映射 F Θ F_\Theta FΘ 包含若干循环交互:
F Θ : f θ ( x t − T + 1 , h t − T + 1 ) ∘ … ∘ f θ ( x t , h t ) ∘ … ∘ f θ ( x t + T ′ − 1 , h t + T ′ − 1 ) F_\Theta : f_\theta(x_{t-T+1}, h_{t-T+1}) \circ \ldots \circ f_\theta(x_t, h_t) \circ \ldots \circ f_\theta(x_{t+T'-1}, h_{t+T'-1}) FΘ:fθ(xtT+1,htT+1)fθ(xt,ht)fθ(xt+T1,ht+T1)
其中 h i h_i hi 表示包含历史信息的记忆状态, f θ f_\theta fθ 表示每对相信帧之间的映射。参数 θ \theta θ 在每个状态间共享。所以,预测过程可以表示为:
x t + 1 = f θ ( x i , h i ) , ∀ i ∈ { t + 1 , … , t + T ′ } x_{t+1} = f_\theta(x_i, h_i), \quad \forall i \in \{t + 1, \ldots, t + T'\} xt+1=fθ(xi,hi),i{t+1,,t+T}
而对于无循环模型,预测过程直接将整个观察到的帧序列输入模型,并一次性输出完整预测帧。

支持的方法

OpenSTL 在一个统一的框架下实现了 14 种具有代表性的时空预测学习方法,包括 11 种基于循环神经网络和 3 种不基于循环神经网络。如下所示:

这些方法的主要区别在于它们如何使用其提出的模块来建模时间依赖性。

非循环时空预测学习模型具有相似的架构,如下所示。编码器由几个二维卷积网络组成,将高维输入数据投射到低维潜在空间。给定一批输入观察帧 B ∈ R B ∗ T ∗ C ∗ H ∗ W B \in R^{B*T*C*H*W} BRBTCHW,编码器专注于帧内空间相关性,忽略时间建模。随后,中间时间模块将低维表示沿时间维度䨺,以确定时间依赖性。最后,解码器由几个二维卷积上采样网络组成,从学习的潜在表示中重建后续帧。

编码器和解码器通过在低维潜在空间中建模时间依赖性来实现高效的时间学习。非循环模型的核心组件是时间模块。然而,作者认为这种能力主要源自通用的非循环架构,而不是特定的时间模块。

支持的任务

OpenSTL 支持五种不同的任务,这些任务涵盖了从合成模拟到各种规模的现实世界场景。任务包括合成移动物体轨迹、现实世界的人体动作捕捉、驾驶场景、交通流和天气预报。以下是提供的数据集的统计摘要。

支持的评估指标

  • 误差指标:使用均方误差(MSE)和平均绝对误差(MAE)来评估预测结果与真实目标之间的差异。在天气预报中,还使用了均方根误差(RMSE)。
  • 相似性指标:使用结构性指数(SSIM)和峰值信噪比(PSRN)来评估预测结果与真实目标之间的相似度。这些指标广泛用于图像处理与计算机视觉领域。
  • 感知指标:实现了感知图像补偿误差(LPIPS),用于评估人类视觉系统中预测结果与真实目标之间的感知差异。LPIPS 提供了视觉任务的感知对齐评估。作者在现实世界的视频预测任务中使用这一指标。
  • 计算指标:通过参数数量和浮点运算次数(FLOPs)来评估模型的计算复杂度。

代码库结构

OpenSTL 遵循 OpenMMLab 的设计原则,吸收了 OpenMixup 和 USB 的代码元素。

预测结果

合成的移动物体轨迹预测

在 Moving MNIST,Moving FashionMNIST 和 Moving MNIST-CIFAR。上评估了所有的模型。以下是在三个数据集上的结果。

Moving MNIST:

Moving FashionMNIST:

Moving MNIST-CIFAR:

可以观察到:

  • 基于循环(recurrent-based)模型的结果不一致,并不总是优于无循环(recurrent-free)模型
  • 基于循环的模型推理速度总是比无循环模型慢。

这进一步证明了无循环模型在表现上相当,但效率显著更高。

作者还做了可视化示例,这里给出 Monving MNIST 的结果。为方便排版,作者将帧从下到上垂直排列。可以观察到,大多数基于循环神经网络(recurrent-based)的模型产生了高质量的预测结果,除了PredNet和DMVFN以外。无循环神经网络(recurrent-free)的模型取得了可比的结果,但在最后几帧中表现出模糊现象。这一现象表明,基于循环神经网络的模型在捕捉时间依赖性方面表现出色。

真实视频预测

使用了 KTH 和 Human3.6M 数据集捕捉人类运动以及用 Kitti & Caltech 数据集进行驾驶场景预测。

以下是 Kitti & Caltech 的结果:

KTH:

Human3.6M:

可以观察到,随着分辨率的增加,基于循环的模型的计算复杂度显著增加。相反,无循环模型实现了效率和性能之间的优良平衡。值得注意的是,虽然一些基于循环的模型达到了更低的 MSE 和 MAE,每秒浮点运算(FLOPs)几乎比无循环模型高出20倍。这突显了无循环模型的效率优势,特别是在高分辨率场景中。

交通和天气预测

在 TaxiBJ 和 WeatherBench 数据集上进行了实验。作者对低分辨率单变量天气因素预测的代表方法进行 MAE 和 RMSE 指标比较。

TaxiBJ 数据集上的结果:

可以看到,无循环神经网络的模型在处理低频交通流数据时表现出了有希望的结果。

WeatherBench 数据集上:

以下展示了四个气候因素的结果,即温度、湿度、风向和云量。显著的是,所有天气因素中,无循环模型均优于基于循环的模型,表明其在宏观任务中应用时空预测学习的潜力,而不是仅依赖基于循环的模型。这些发现强调了无循环模型的前景,表明它们可以在天气预报中成为现有基于循环的模型的可行替代方案。

单变量温度预测

无循环神经网络模型在性能和效率方面明显优于基于循环神经网络的模型,取得了压倒性的胜利。

单变量湿度预测

结果与温度预测几乎一致

单变量风分量预测

可以看到:大多数无循环神经网络模型的表现优于基于循环神经网络的模型。

单变量云量预测

可以看到:所有无循环神经网络模型都比它们的对手表现得更好。

高分辨率单变量温度预测

高分辨率(128*256)。SimVPv2实现了卓越的性能,远远超过了基于循环神经网络的模型。

多变量预测

此任务侧重于多因素气候预测。在预测过程中包含了温度、湿度、纬度风和经度因素。

鲁棒性分析

作者设计了三个实验:

  1. Moving MNIST - 缺失,即处理缺失帧的输入帧,我们将随机缺失帧的概率设为20%;
  2. Moving MNIST - 动态,即为每个数字的速度添加随机高斯噪声,使其运动速度不规律;
  3. Moving MNIST - 感知,即随机遮挡输入帧,使用大小为24×24的黑色补丁遮挡。

作者选择了三种代表性的基于循环和三种无循环方法进行评估。以下是结果:

可以观察到,无循环方法在缺失和感知噪声情境下表现出显著的鲁棒性。即使与无噪声的情况相比,性能下降也较小,因为它们关注全局信息。相反,基于循环的方法表现出显著的性能下降。它们过于关注单帧之间的关系,导致过拟合。在动态噪声的情况下,所有方法均面临显著的性能下降,因为数字的速度变得不规律且难以预测。

总结

作者观察到,循环架构在捕捉时间依赖性方面具有优势,但也不是必须的,尤其是在计算开销较大的任务中。非循环模型可以作为一种可行的替代方案,在效率和性能之间取得良好的平衡。基于循环的模型在捕捉高频空间-时间依赖性方面的有效性可以归因于其对逐帧变化的顺序跟踪,提供了一种局部时间归纳偏差。而非循环模型则结合了多个帧,展现出一种适合低频空间-时间依赖性的全局时间归纳偏差。

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

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

相关文章

【Hadoop之Yarn】Yarn的搭建流程、概念和组成部分 以及 Yarn的历史日志jobHistory配置和三种调度器

文章目录 一、Yarn的搭建1、修改mapred-site.xml2、修改yarn-site.xml3、检查hadoop-env.sh 中是否配置了权限4、分发mapred-site.xml & yarn-site.xml 到另外两台节点上5、启动和停止yarn平台:6、同时启动hdfs和yarn:7、启动后jps进程(包…

【一文讲透(番外篇)】如何编译安装KWDB v2.0.4数据库

KaiwuDB 浪潮集团是中国领先的云计算、大数据服务商,拥有浪潮信息、浪潮软件、浪潮数字企业三家上市公司。主要业务涉及计算装备、软件、云计算服务、新一代通信、大数据及若干应用场景。已为全球一百二十多个国家和地区提供IT产品和服务。 KaiwuDB 是浪潮控股的数据…

【Power Compiler手册】13.UPF多电压设计实现(16)

Golden UPF流程 Golden UPF流程是维护设计中UPF多电压电源意图的可选方法。它在整个综合、物理实现和验证步骤中使用原始的“Golden”UPF文件,以及由Design Compiler和IC Compiler II工具生成的supplemental UPF文件。图122比较了传统的UPF流程与Golden UPF流程。 Golden UPF…

如何提高LabVIEW编程效率

提高LabVIEW编程效率对开发者来说非常重要,尤其是在处理复杂项目或紧迫的开发周期时。以下是一些可以显著提升LabVIEW编程效率的技巧,从代码结构、工具使用到团队协作的多个角度进行详细分析: 1. 模块化设计 模块化设计 是提高代码可维护性和…

KPaaS平台多系统权限统一管理的便利性

多系统权限管理的困境如同枷锁般束缚企业发展,导致管理效率低下、操作流程复杂且权限不一致,给员工和企业带来诸多不便与风险。 免费体验多系统权限管理系统 www.kpaas.net 多系统权限给企业带来的不便利 (一)繁琐的登录与操作流…

食堂订餐系统小程序的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,商品管理,论坛管理,攻略信息管理,公告信息管理,基础数据管理 微信端账号功能包括:系统首页,商品&#xf…

windows端口被占用但是查不到进程的问题排查

在开发环境上经常遇到端口被占用,但是 netstat -ano|findstr 3306 查不到进程号,没法强杀解决。 这种情况,很有可能端口被排除了,可用命令: netsh interface ipv4 show excludedportrange protocoltcp 可以看到mysql的…

[Git] Git下载及使用 从入门到精通 详解(附下载链接)

前言 目录 Git概述 简介 下载 Git代码托管服务 Git常用命令 Git全局配置 获取Git仓库 在本地初始化一个Git仓库 从远程仓库克隆 基本概念 工作区文件状态 本地仓库操作 远程仓库操作 分支操作 标签操作 在IDEA中使用Git 在IDEA中配置Git 本地仓库操作 远程仓…

前端基础(三十九):撤消与重做

效果 源码 <button id"undo" onclick"onHistory(-1)">撤消</button> <button id"redo" onclick"onHistory(1)">重做</button><button onclick"operation(Operation 1)">操作1</button>…

蓝牙定位的MATLAB程序,四个锚点、三维空间

目录 程序描述 运行结果 程序描述 这段代码通过RSSI信号强度实现了在三维空间中的蓝牙定位&#xff0c;展示了如何使用锚点位置和测量的信号强度来估计未知点的位置。代码涉及信号衰减模型、距离计算和最小二乘法估计等基本概念&#xff0c;并通过三维可视化展示了真实位置与…

0.0.0.0 127.0.0.1等几个特殊的IP地址

0.0.0.0 127.0.0.1 localhost 255.255.255.0 255.255.255.255 这都是些什么地址&#xff0c;代表了什么意思。 网络为系统服务器&#xff0c;系统需要网络。 这些地址在系统和网络都存在&#xff0c;作用和意思甚至基本相同。 一、0.0.0.0 在路由中&#xff1a;0.0.0.0表…

用了这么久Java,您知道什么是装箱和拆箱吗?

Java中的装箱和拆箱 在Java中&#xff0c;装箱&#xff08;Boxing&#xff09;和拆箱&#xff08;Unboxing&#xff09;是自动类型转换过程&#xff0c;它们涉及到基本数据类型&#xff08;如int、double、char等&#xff09;和它们对应的包装类&#xff08;如Integer、Double…

2024年最新详解项目管理系统:让你从小白到高手的蜕变

一、项目管理系统的重要性 项目管理系统在当今企业中发挥着至关重要的作用。首先&#xff0c;在提高工作效率方面&#xff0c;它通过自动化任务分配、进度跟踪和文档管理等功能&#xff0c;大幅减少手动操作和沟通成本。例如&#xff0c;禅道提供了强大的任务管理功能&#xf…

Vue 脚手架学习

1.使用 Vue 脚手架 1.1 初始化脚手架 1.1.1 具体步骤 第一步&#xff08;仅第一次执行&#xff09;&#xff1a;全局安装vue/cli。 npm install -g vue/cli 第二步&#xff1a;切换到你要创建项目的目录&#xff0c;然后使用命令创建项目 vue create xxxx 第三步&#xff1a;启…

C盘一红就卡顿到不行?为什么呢?

前言 有小伙伴最近来咨询电脑卡顿问题&#xff0c;一开始小白还以为只是寻常的硬盘坏了&#xff0c;并没有多想。 直到我问清楚之后&#xff0c;才发现他的电脑卡顿是因为C盘快爆了…… 好家伙&#xff0c;一个100GB的C盘用到只剩下8GB左右的空闲空间&#xff0c;这电脑不卡…

【优选算法】(第三十二篇)

目录 ⼆进制求和&#xff08;easy&#xff09; 题目解析 讲解算法原理 编写代码 字符串相乘&#xff08;medium&#xff09; 题目解析 讲解算法原理 编写代码 ⼆进制求和&#xff08;easy&#xff09; 题目解析 1.题目链接&#xff1a;. - 力扣&#xff08;LeetCode&a…

大厂养不起大模型?

身处于观望期的大模型赛道&#xff0c;似乎任何风吹草动&#xff0c;都让市场有了不同以往的波动。 近日&#xff0c;摩根士丹利发布报告称&#xff0c;中国AI正在面临更大的变现问题&#xff0c;文中直接指出AI应用先行者业绩不及预期&#xff0c;金山办公和万兴科技在推出AI…

大数据存储计算平台EasyMR:多集群统一管理助力企业高效运维

随着全球企业进入数字化转型的快车道&#xff0c;数据已成为企业运营、决策和增长的核心驱动力。为了处理海量数据&#xff0c;同时应对数据处理的复杂性和确保系统的高可用性&#xff0c;企业往往选择部署多个Hadoop集群&#xff0c;这样的策略可以将生产环境、测试环境和灾备…

USB 概述及协议基础

文章目录 1 USB 是什么&#xff1f;2 USB 的特点3 USB 的拓扑结构4 电气特性5 USB 的线缆、插头及插座6 插入检测机制7 描述符8 枚举过程9 USB 的包结构与传输过程9.1 USB的包结构及包的分类9.2 令牌包9.3 数据包9.4 握手包9.5 特殊包9.6 如何处理数据包 10 USB 四种传输类型10…

「OC」NSArray的底层逻辑和遍历方法

「OC」NSArray的底层逻辑和遍历方法 文章目录 「OC」NSArray的底层逻辑和遍历方法前言NSArray的底层逻辑占位符init后的空NSArray只有单个元素的NSArray大于一个元素的NSArray可变数组NSMutableArray总结图片 遍历NSArray1. for循环2. 枚举3.for—in4. 多线程1.for 循环&fo…