专门针对时间序列分类任务的时序大模型

发布于 2025-3-3 13:37
浏览
0收藏

今天给大家介绍一篇华为最近发表的时间序列分类大模型工作,填补了专门用于时间序列分类的大模型工作空白,借鉴了Vision Transformer的训练方式和模型结构,迁移到时间序列分类任务中,在多种类型的数据集上取得了不错的效果。

推荐阅读:​​​2024时序预测都有哪些经典工作——汇总篇​​,2024时间序列预测相关最新SOTA工作汇总,涉及模型结构、表示学习、频域信息、扩散模型10余个专题。

专门针对时间序列分类任务的时序大模型-AI.x社区

论文标题:Mantis: Lightweight Calibrated Foundation Model for User-Friendly Time Series Classification

下载地址:​​https://arxiv.org/pdf/2502.15637v1​

1.研究背景

时间序列大模型的研究已经非常广泛,但是大多数都是针对时间序列预测任务,或者能够解决时间序列预测、分类、填充等多种类型任务的通用模型,而缺少专门针对时间序列分类任务的时间序列基础模型。相比针对分类的时序基础模型,同时解决多种任务的模型可能在分类任务上的表现并不是最优的。

华为发表的这篇文章,核心是构建一个专门针对时间序列分类的时间序列基础模型Mantis,能够应用到多种领域、多种输入格式(单变量or多变量)的数据上。

专门针对时间序列分类任务的时序大模型-AI.x社区


2.建模方法

下面主要从输入特征、模型结构、训练方式、Adaptor等4个角度,介绍文本提出的Mantis时间序列分类大模型。

在输入特征方面,主要分为patch、差分patch、统计值等3个部分。Patch采用正常的分patch操作,基于卷积+mean pooling实现。差分patch指的是对原始序列进行差分(相邻位置相减)后,再进行分patch处理,实现对原始序列平稳项的提取。统计值,指的是直接提取原始序列patch的均值、方差等,作为额外的特征,输入模型。三种特征都将原始序列分成32个patch,每个patch的这三种类型的特征,拼接到一起,经过一层Linear和一层Layer Normalization,生成32个token,作为后续模型的输入。

专门针对时间序列分类任务的时序大模型-AI.x社区

在模型结构方面,基本采用了Vision Transformer的结构。用一个[CLASS] token拼接到输入token前面,并引入position embedding,一起输入到多层Transformer模型中,最终[CLASS] token输出的embedding通过一个MLP映射到分类结果。

在训练方法上,核心是基于对比学习的预训练。从多种类型的数据集中,采样一个时间序列,并使用数据增强方法生成其正样本,随机采样负样本,通过对比学习拉近正样本对之间距离,推远负样本对之间距离,提升模型的表征学习能力。在数据增强方法上,文中发现不同类型数据适用的数据增强方法不同,文中采用了一种叫做RandomCropResize的比较保险的增强方法。对原始数据随机截取一段,然后再拉伸成原始的尺寸,作为数据增强结果。

专门针对时间序列分类任务的时序大模型-AI.x社区

为了让训练好的时序基础模型支持不同输入channel维度的样本,一种简单的做法是把多元序列拆成多个单变量序列,独立过预训练模型。这种方法当序列维度较高时效率低,且无法考虑变量间关系。本文提出了Adaptor方法,让多元时间序列适配时序基础模型。核心是用降维的方法,将原始多元时间序列映射到更低的维度,再输入时序基础模型。降维过程针对每个时间步的各个变量进行,不影响时序关系。另外,文中也提出了使用MLP进行降维,让MLP跟着模型进行学习,达到有监督的降维效果。

3.实验效果

在实验部分,文中从zero-shot表征抽取效果、finetune模型效果等角度对Mantis进行验证,并进行了消融实验、Adaptor类型效果差异影响的实验。不论是zero-shot场景还是finetune场景,本文提出的方法都取得了优于其他SOTA方法的效果。

专门针对时间序列分类任务的时序大模型-AI.x社区

本文转载自​​圆圆的算法笔记​


收藏
回复
举报
回复
相关推荐