【论文阅读笔记】TS2Vec: Towards Universal Representation of Time Series

【论文阅读笔记】TS2Vec: Towards Universal Representation of Time Series

摘要

  • 这段文字介绍了一个名为TS2Vec的通用框架,用于学习时间序列数据的表示,可以在任意语义层次上进行。与现有方法不同,TS2Vec通过对增强的上下文视图进行层次化的对比学习,这使得每个时间戳都能获得一种稳健的上下文表示。此外,为了获取时间序列中任意子序列的表示,我们可以简单地对相应时间戳的表示进行聚合。

  • 为了评估时间序列表示的质量,研究者进行了广泛的时间序列分类任务实验。结果显示,TS2Vec在125个UCR数据集和29个UEA数据集上,相较于现有的无监督时间序列表示方法取得了显著的提升。学到的时间戳级别表示也在时间序列预测和异常检测任务中获得了优越的成绩。一个在学习到的表示基础上训练的线性回归模型,其性能超过了之前时间序列预测的最好结果。进一步地,研究者展示了一种简单的方法,用于将学习到的表示应用于无监督异常检测,并在文献中设定了新的最佳结果。此外,相关源代码已经公开在GitHub上供大家使用。

Introduction

  • 时间序列的重要性:时间序列数据在多个领域内扮演着核心角色,能够帮助进行预测和模型构建。

  • 现有研究的局限:许多研究专注于学习整体的实例级表示,这对于聚类和分类等任务非常有效。然而,对于需要细粒度表示的任务,如时间序列预测和异常检测,这些表示可能不够充分。

  • 对比损失的使用:最近的研究开始使用对比损失来学习时间序列的内在结构,但现有方法仍然存在限制,例如不能区分不同粒度的多尺度上下文信息。

  • 多尺度特征的重要性:尺度不变的信息是时间序列任务成功的关键,但少数现有方法考虑到了这一点。多尺度特征能提供不同层次的语义,并改善学到的表示的泛化能力。

  • 领域偏差的问题:现有无监督时间序列表示方法多受计算机视觉和自然语言处理领域的启发,这些领域的假设(如变换不变性)可能不适用于时间序列建模。

  • TS2Vec框架的贡献:为了解决这些问题,提出了TS2Vec框架,它利用层次化对比学习在不同时间维度上区分正负样本,通过对应时间戳的最大池化来获取任意子序列的整体表示,从而能在多个分辨率捕捉时间数据的上下文信息,并生成任何粒度的细粒度表示。此外,TS2Vec的对比目标基于增强的上下文视图,以确保相同子序列在不同上下文中的表示一致性

论文的主要贡献

  • 提出TS2VEC框架:作者提出了一个统一的框架,TS2VEC,用于学习时间序列任意子序列的上下文表示,覆盖各种语义,这是首次提出的一种通用的表示方法,适用于时间序列领域的所有任务,包括但是不限于分类,预测和异常检测
  • 创新设计:
    • 层次化的对比方法:为了捕获多尺度的上下文信息,TS2VEC采用一个实力层面和时间维度上的层次化对比方法,这种方法有助于更准确地反映时间序列数据的内在结构和动态变化
    • 上下文一致性的正样本选择:和TS2VEC提出上下文一致性的概念来选择正样本,这对于具有多样分布和尺度的时间序列数据来说更合适,通过实验证明,该方法对于具有缺失值的时间序列具有较高的鲁棒性,而且通过剖析研究验证了层次化对比和上下文一致性的有效性
    • TS2Vec在三个基准时间序列任务(分类、预测和异常检测)上超越了现有的最佳方法。例如,在125个UCR数据集上平均提高了2.4%的准确率,在29个UEA数据集上提高了3.0%

Method

定义

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

模型架构

  • 架构概述:TS2Vec框架的核心是通过编码器从输入时间序列中提取表示,该过程涉及时间对比损失和实例对比损失的联合优化。整体目标是通过层次化框架在多个尺度上求和总损失,以增强不同子序列间的一致性
  • 编码器组成:
    • 输入投影层:这是一个全连接层,负责将观测到的每一个时间戳xi,t的数据映射到高维潜在向量Zi,t
    • 时间戳掩蔽模块:该模块再随机选择的时间戳处掩蔽潜在向量,生成增强的上下文视图,选择掩蔽潜在向量而不是原始值是因为时间需里的值范围可能是无界的,难以为原始数据找到一个特殊的标记
    • 扩张卷积神经网络:包括是个残差块,每一个快包含两层一维卷积层,具有扩张参数,扩张卷积通过增加感受野来加强对不同领域的表达能力
  • 操作机制:通过这些组件,TS2VEC能够处理和分析输入时间序列,抽取每一个时间戳处的上下文表示,

正样本对构建

  • 正样本对的构建:
    • 子序列一致性:鼓励时间序列的表示和采样子序列的表示更接近
    • 时间一致性:通过选择相邻段作为正样本来强制表示的局部平滑性
    • 变换一致性:通过对输入序列应用不同的变换,来促使模型学习到不变性表示
    • 子序列一致性存在水平位移时受到影响
    • 时间一致性在出现异常时导致假的正样本的问题
  • 上下文一致性策略
    • 将两个增强上下文中相同时间戳的视为正样本,通过使用时间戳掩蔽和随机裁剪来生成上下文
    • 优势:掩蔽和裁剪不会改变时间序列的幅度,这对时间序列分析比较重要,这些分析通过强制每一个时间戳在不同上下文中重建自己,一高学习表示的鲁棒性
    • 在训练阶段,随机掩蔽实例的时间戳来产生新的上下文视图。具体而言,掩蔽在输入投影层后得到的潜在向量,使用二元掩码(从伯努利分布中独立采样,p=0.5)沿时间轴进行。
    • 随机裁剪:同样在训练阶段使用,随机选择两个重叠的时间段,确保在重叠部分的上下文表示一致。随机裁剪有助于学习位置不敏感的表示,避免表示塌陷
  • 上下文一致性策略为时间序列的对比学习提供了一种有效的正样本对构建方式,有助于提升模型的泛化能力和鲁棒性

层次换对比损失的计算过程

  • 层次换对比损失旨在使得编码器能够在多种尺度上学习表示

  • 层次化对比损失的计算过程

    • 初始化损失:计算输入r和参考输入r0之间的对比损失Ldual(r,r0)
    • 迭代最大池化:
      • 在时间轴上对r和ro进行最大池化,使用的核大小是2,这一步骤逐渐降低时间序列的时间维度,从而在更高的语义层次上对时间序列进行编码
      • 在每一次池化过后,重新计算这两个池化之后的表示之间的对比损失,并且累加到总存世Lhier
      • 归一化损失:完成所有池化步骤之后,将累计的损失除以池化次数d,以得到平均化的层次对比损失
  • 对比其他工作:

    • 与T-Loss比较:仅仅在实例层面执行对比,没有考虑时间戳层面的对比
    • 与TS-TCC对比:TS-TCC仅仅在时间戳层面上执行对比,没有涵盖更高的语义层次
    • 与TNC比较:TNC鼓励在特定粒度层面上的时间局部平滑性,但是没有想TS2VEC封装不同层次的表示
  • 通过结合实例级和时间级的对比损失,TS2Vec的模型能够更好地编码时间序列的分布,这在所有的粒度层面上进行

两种对比损失

  • 时间对比损失

    • 专注于时间序列的同一个时间戳上面,从两个不同的视角的表示作为正样本,而不同的时间戳的表示作为负样本
      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
  • 实例对比损失

    • 实例对比损失在时间戳t上面,将来自同一时间序列的不同实例的表示作为负样本

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 综合这两种损失,时间对比损失帮助模型学习时间动态,而实例对比损失帮助模型区分不同实例之间的差异

实验

分类

  • 数据集:使用UCR归档(128个单变量数据集)和UEA归档(30个多变量数据集)进行评估。
  • 对比方法:TS2Vec与其他几种无监督时间序列表示学习方法进行比较,包括T-Loss、TS-TCC、TST和TNC
  • 性能提升:TS2Vec在UCR和UEA数据集上都显示出了显著的改进。具体来说,在125个UCR数据集上平均提高了2.4%的分类准确率,在29个UEA数据集上提高了3.0%。
  • 统计测试:通过使用Nemenyi测试的Critical Difference图来展示不同分类器在所有数据集上的平均排名情况,验证了TS2Vec在平均排名上显著优于其他方法。
  • 训练时间:在NVIDIA GeForce RTX 3090 GPU上,TS2Vec显示出了所有方法中最短的训练时间。这得益于其在一个批次内跨不同粒度应用对比损失,大大提高了表示学习的效率

时间预测

  • 数据集和比较模型:TS2Vec的性能与现有的SOTA方法在四个公开数据集上进行了比较,包括三个ETT数据集和Electricity数据集。比较的模型包括Informer, LogTrans, LSTnet, TCN(适用于单变量和多变量设置),N-BEATS(仅单变量设置),以及StemGNN(仅多变量设置)。
  • 评估指标:使用均方误差(MSE)和平均绝对误差(MAE)来评估预测性能。详细的预测结果(单变量和多变量预测的MSE和MAE)由于篇幅限制在附录中报告
  • 性能提升:TS2Vec在多数情况下建立了新的SOTA,平均MSE在单变量设置下降了32.6%,在多变量设置下降了28.2%。
    表示的通用性:学习到的表示只需为每个数据集学习一次,便可以直接应用于不同的预测范围 H,这通过线性回归模型实现,展示了学习表示的通用性。
  • 效率对比:在使用NVIDIA GeForce RTX 3090 GPU时,TS2Vec的训练和推断时间与Informer进行了比较。TS2Vec在训练阶段包括两个步骤:学习时间序列表示和为每个 训练一个线性回归器。推断阶段也包括两个步骤:对应时间戳的表示推断和通过训练好的线性回归器进行预测。TS2Vec的表示模型只需训练一次即可适用于不同的预测范围,无论是在训练还是推断阶段,TS2Vec都展示了优于Informer的效率。

检测

  • 在异常检测任务中,目标是判断时间序列中最后一个点xt是否为异常
  • TS2Vec通过比较掩蔽与未掩蔽输入得到的表示之间的差异来定义异常得分
  • 具体操作是:对于一个输入序列,TS2VEC会进行两次前向传播:第一次掩蔽最后一个观测值xt,第二次不进行掩蔽
  • 实验设置:每个时间序列样本按时间顺序分为两半,前半部分用于无监督训练,后半部分用于评估。
  • 性能比较:在正常设置中,TS2Vec在Yahoo数据集上的F1得分提高了18.2%,在KPI数据集上提高了5.5%。在冷启动设置中,F1得分在Yahoo数据集上提高了19.7%,在KPI数据集上提高了1.0%

消融实验

  • 验证不同组件的有效性进行的实验设计和结果

    • 不包含时间对比损失
    • 不包含实例对比损失
    • 不包含层次对比
    • 不适用随机裁剪
    • 不适用时间戳掩蔽
    • 不包含输入投影曾
  • 比较正样本对选择策略

    • 时间一致性:将一定距离内的时间戳作为正样本
    • 子序列一致性:随机选取同一时间序列的两个子序列作为正样本
  • 实验中还尝试将数据增强技术(如抖动、缩放和置换)应用于输入时间序列的不同视图。这些增强假设时间序列数据遵循某些不变性,但在多样化且不断变化的时间序列分布中,这种假设并不成立,因此增加这些增强后观察到性能下降。

  • 最后,为了验证模型架构的选择,研究者将扩张卷积神经网络(Dilated CNN)替换为LSTM和Transformer(参数大小相当)。结果显示,无论是LSTM还是Transformer,准确率都显著下降,证明了扩张CNN是处理时间序列的有效架构选择

缺失数据的鲁棒性

  • 时间戳掩蔽:这一策略使得网络能够在不完整的上下文中推断出表示,相当于在训练过程中模拟了缺失数据的情况,从而增强了模型对实际缺失情况的适应性。
  • 层次对比:此策略引入了长距离信息,帮助模型在周围信息不完整的情况下预测缺失的时间戳,这对于处理大量缺失值至关重要

总结

  • 层次化对比学习:TS2Vec采用层次化对比学习方法,能够在不同的尺度上捕捉和学习时间序列的关键特征,这种方法通过处理增强的上下文视图来学习尺度不变的表示。
  • 时间序列分类:通过将时间序列映射到有意义的空间中,TS2Vec改进了时间序列数据的分类准确性。
  • 时间序列预测:TS2Vec提供了有效的表示,这些表示有助于预测未来的时间序列值。
  • 异常检测:框架能够识别时间序列中的异常点,这对于许多实际应用如故障检测非常重要。
  • 数据的不完整性:在处理不完整数据时,TS2Vec展示了稳定的性能,其中层次化对比损失和时间戳掩蔽是保持性能的关键因素
  • 表示的可视化:通过可视化学习到的表示,验证了TS2Vec捕捉时间序列动态的能力。这种可视化有助于更好地理解模型如何处理和解释时间数据

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

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

相关文章

【论文阅读:Towards Efficient Data Valuation Based on the Shapley Value】

基于Shapley值的高校数据价值评估 主要贡献 提出了一系列用于近似计算Shapley值的高效算法。设计了一个算法,通过实现不同模型评估之间的适当信息共享来实现这一目标,该算法具有可证明的误差保证来近似N个数据点的SV,其模型评估数量为 O ( N l o g ( N…

Typora配置PicGo图床,将图片文件上传到gitee厂库,获取图片链接显示在md文件中

Typora配置PicGo图床,将图片文件上传到gitee厂库,获取图片链接显示在md文件中 创建Gitee创库和配置私人令牌 名字、路径、描述自己随便添,但是必须开源,链接才能可以访问: 进入偏好设置 > 图像 > 选择PicGo-Cor…

CAS 与 volatile

目录 CAS volatile 为什么无锁效率高 CAS 的特点 CAS AtomicInteger 内部并没有用锁来保护共享变量的线程安全。那么它是如何实现的呢? public void withdraw(Integer amount) {while(true) {// 需要不断尝试,直到成功为止while (true) {// 比如拿到…

基于Springboot+Vue的Java项目-入校申报审批系统开发实战(附演示视频+源码+LW)

大家好!我是程序员一帆,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &am…

算法入门<一>:C++各种排序算法详解及示例源码

1、排序算法 排序算法(sorting algorithm)用于对一组数据按照特定顺序进行排列。排序算法有着广泛的应用,因为有序数据通常能够被更高效地查找、分析和处理。 1.1 评价维度 运行效率:我们期望排序算法的时间复杂度尽量低&#xf…

sunshine+n2n+moonlight串流远程控制全教程

远程主机说明(两台电脑不在同一局域网下): 控制台电脑 被控制电脑 所有工具下载地址:https://www.lanzouw.com/b00eepod7e 密码:1234 一、首先NTN组网 使用NTN技术创建虚拟局域网,实现设备之间的P2P连接。 NTN组网…

SpringBoot中阿里OSS简单使用

官方文档:Java跨域设置实现跨域访问_对象存储(OSS)-阿里云帮助中心 1.pom中引入依赖 <dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.15.1</version> </dependency> 如…

区块链 | IPFS:Merkle DAG

&#x1f98a;原文&#xff1a;IPFS: Merkle DAG 数据结构 - 知乎 &#x1f98a;写在前面&#xff1a;本文属于搬运博客&#xff0c;自己留存学习。 1 Merkle DAG 的简介 Merkle DAG 是 IPFS 系统的核心概念之一。虽然 Merkle DAG 并不是由 IPFS 团队发明的&#xff0c;它来自…

模块六:模拟——1419.数青蛙

文章目录 题目描述算法原理解法&#xff08;模拟 分情况讨论&#xff09; 代码实现 题目描述 题目链接&#xff1a;1419.数青蛙 算法原理 解法&#xff08;模拟 分情况讨论&#xff09; 模拟⻘蛙的叫声。 当遇到 ‘r’ ‘o’ ‘a’ ‘k’ 这四个字符的时候&#xff0c;我…

c++容器与算法概述

容器与算法 每个标准库容器都提供了begin() end() 函数&#xff0c;分别返回容器的头部位置和尾部位置。 I/O 流 对于自定义的类型&#xff1a; struct Entry {std::string name;int number;};如果需要使用标准输出需要重载<< 运算符&#xff0c;特别注意&#xff1a…

ICMP详解

3 ICMP ICMP&#xff08;Internet Control Message Protocol&#xff0c;因特网控制报文协议&#xff09;是一个差错报告机制&#xff0c;是TCP/IP协议簇中的一个重要子协议&#xff0c;通常被IP层或更高层协议&#xff08;TCP或UDP&#xff09;使用&#xff0c;属于网络层协议…

结构分析的有限元法及matlab实现(徐荣桥)|【PDF教材+配套案例Matlab源码】

专栏导读 作者简介&#xff1a;工学博士&#xff0c;高级工程师&#xff0c;专注于工业软件算法研究本文已收录于专栏&#xff1a;《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现&#xff0c;并提供所有案例完整源码&#xff1b;2.单元…

用栈实现队列——leetcode刷题

题目要求我们只用栈的基本操作 push to top 入栈&#xff0c;peek from top 返回栈顶元素&#xff0c;pop from top 移除并返回栈顶元素&#xff0c;size 栈的大小&#xff0c;is_empty 判断栈是否为空&#xff0c;这几个函数来实现队列&#xff0c;也就是说&#xff0c;我们在…

Linux字符设备驱动-详解与实操:驱动架构、设备树、Pinctrl子系统和GPIO子系统、platform、设备树下的platform

如何编写一个驱动程序&#xff1a; &#xff08;1&#xff09;确定主设备号 &#xff08;2&#xff09;定义自己的file_operations结构体&#xff1a; 包含对应的open(drv_open)/read(drv_read)等设备操作函数&#xff0c;需要到内核中去注册 &#xff08;3&#xff09;实现…

OpenAI最大对手推出iOS版APP 以期与ChatGPT展开竞争 | 最新快讯

财联社 5 月 2 日讯&#xff08;编辑牛占林&#xff09;美东时间周三&#xff0c;人工智能(AI)初创公司 Anthropic 宣布推出一款免费的移动端应用程序(APP)&#xff0c;不过目前仅有 iOS 版本。 这款应用名为 Claude&#xff0c;与 Anthropic 的大模型系列名字相同。Anthropic …

基于Python的在线学习与推荐系统设计与实现(论文+源码)-kaic

题目&#xff1a;在线学习与推荐系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本在线学习与推荐系统就是在这样的大环境下诞生&#xff0…

macbook文件管理,这款神器不得不说 macbook文件管理技巧 macbookpro文件管理软件

使用MacBook办公就是看重高效的特点&#xff0c;但很多时候随着使用时间的增长&#xff0c;MacBook上的文件也会越来越多&#xff0c;如果没有很好的管理方式&#xff0c;只会给日常的使用造成诸多不便。如何更好的搞定macbook文件管理呢&#xff0c;且看下面几个方法&#xff…

新势力4月交付量比拼:理想超问界夺冠,小米首月交付超七千辆 | 最新快讯

理想汽车超越问界夺下 4 月新势力交付量冠军。 5 月 1 日&#xff0c;各大造车新势力纷纷亮出最新成绩。新入局者小米汽车也准时发布了交付数据&#xff0c;在交付首月&#xff0c;同时又是非完整交付月&#xff0c;小米就交出了超七千辆的好成绩&#xff0c;在造车新势力中尚属…

ngrinder项目-本地调试遇到的坑

前提-maven mirrors配置 <mirrors><!--阿里公有仓库--><mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</ur…

【计算机网络】网络层总结

目录 知识梗概 IP地址 子网划分 IP包头格式 路由 网络层协议 ARP病毒/ARP欺骗 知识梗概 IP地址 IP相关介绍&#xff1a;机器之间需要交流&#xff0c;必须要一个地址才能找到对应的主机&#xff0c;IP地址是主机的一种表示&#xff0c;保证主机之间的正常通信&#xff…
最新文章