时序必读论文04|Non-stationary Transformers:序列平稳性优化【NeurIPS 2022】

news2024/11/20 6:32:00

图片

我们在先前的一篇文章中已经总结了直接把Transformer应用到时间序列数据存在的问题,其中序列平稳化是transformer也是其他很多模型都未解决好的一个不足。实际上,序列平稳和非平稳是矛盾的存在,这篇文章探索了:原始数据-->平稳化-->建模-->去平稳化-->输出结果的方式。期望通过改进Attention计算,在两者之间达到平衡。

什么是序列平稳/非平稳性?

首先,让我们简要说明一下什么是平稳和非平稳序列,这是两种不同的数据模式。

平稳序列(Stationary Series)

  • 常态不变性(Stationarity):其统计特性如均值、方差和自相关性等统计特性在不同时间段内保持不变。具体来说,平稳序列在时间上不会显示出趋势、季节性或周期性等变化。这种序列的特点是其统计性质不随时间变化而改变。

  • 平稳性质的重要性:平稳序列的分析更加可靠,因为它的统计性质不随时间变化而改变,使得模型的预测和分析更加准确和可靠。

非平稳序列(Non-stationary Series)

  • 统计特性随时间变化:非平稳序列是指其统计特性在时间上发生变化。这种序列可能具有趋势(随着时间变化的整体增长或减少)、季节性(周期性变化)或者其他随机的不规则变化。

  • 处理的挑战:非平稳序列的分析更加复杂,因为它们的统计特性随时间变化而改变,需要在建模和分析中采取相应的措施来处理趋势、季节性或其他非平稳性,以确保模型的准确性。

带来的问题

如前所述,非平稳数据难以预测,而平稳序列序列统计性质稳定,许多时间序列模型都首先对数据进行normalization等转换,以使其变得平稳,然后再建模进行分析和预测。

图片

但是,经过平稳化处理后,序列会丧失很多固有的特征,如子图b中,虽然左侧attention权重更明显,但右侧很多特征直接就被丢掉,对于真实世界中的突发事件预测可能不够有指导性。这个问题在这篇论文中被称为"过度平稳化"。

Non-stationary Transformers的改进做法

为了兼顾序列可预测性(平稳)和模型能力(非平稳),作者提出Non-stationary Transformer框架,包含两个核心模块:(a)序列平稳化(b)去平稳化模块。是的没错,先进行Normalization平稳化,然后去平稳化恢复统计特性,使其转换为更具有可预测性的特征表示。

图片

序列平稳化

序列平稳化过程没有需要特别讲解的,就是图中的Normalization,假设原序列为  ,则按照如下公式处理后的平稳化序列计作  , 同时  为均值,  为方差。

图片

序列去平稳化(重点)

序列去平稳化则有两部分,第一是:对上述平稳化统计指标  均值,  方差的回加。

  • 配合以下公式和模型图看,我们发现是利用原始数据的统计信息(  和   )对模型输出进行De-normalization。

  • 首先,我们看图中最右侧部分,记encoder和decoder所有的处理过程为   ,那么把平稳化后的序列计作  ,  经过   运算的输出是  。

  • 然后,将模型输出  加上  (平均值),然后乘以   (标准差)得到最终的预测结果 ŷ。

  • 通过以上步骤,能够部分的将经过平稳化处理的模型输出,还原为原始数据的预测结果。

    图片

但是,仅通过以上步骤显然并不能完全恢复原始序列的非平稳性。举例来说,不同的时间序列是可以生成相同的平稳化输入  。然后,模型会得到相同的注意力权重,这样就无法捕捉与非平稳性纠缠在一起的重要时间依赖关系。换句话说,由过度平稳化引起的削弱效应发生在深度模型内部,特别是在注意力计算中。

这就到了本篇文章最核心的部分,去平稳注意力机制(De-stationary Attention),我手工推导了整个过程。而要理解这个过程,你首先得知道transformer的注意力机制是如何计算的,如下公式所示。

图片

  • 还记得transformer中的Q,K,V是怎么来的吗?在Transformer模型中,Q(Query)、K(Key)、V(Value)是通过对输入  进行线性变换获得的,以Q为例,是输入向量  乘以一个权重  得到的,这个过程可记作  。

  • 此时,我们把序列  的平稳化过程的公式1,代入注意力查询向量Q的计算过程公式2,并进行整理,就能得到红框中的结果,  就表示平稳化后的查询向量。本质上,是通过公式1,建立了平稳化前和平稳化后的联系。同理,我们也能得到K的前后关联。

图片

  • 有了  和  的表示,两者相乘就到了公式3,注意公式三是同时具有平稳化前后的Q 和K的,于是经过简单的移项,我们就可以把来自公式3的  代入公式4。

    图片

  • 公式4的分子后两项中,最后都乘了1向量的转置(1^T),也就是元素全为1的行向量,而前面的东西是个列向量,乘以这个1^T就相当于列向量复制,所以加上后两项,就等价于对矩阵的每行元素加上相同的值。因此,公式4简化为下面公式:

图片

  • 到这一步,我们期望利用平稳化后的  来恢复平稳化前的  和  ,观察上面的公式,  和   两项是重点。于是,文章又用多层感知机,从未经过平稳化的  的统计数据  和  中分别学习去平稳因子  和  。

    图片

    至此,就全部推理结束了,这篇文章我看了几遍,以上是我的笔记,有错误请大家指正。


欢迎大家关注我的公众号【科学最top】,回复‘论文2024’可获取,2024年ICLR、ICML、KDD、WWW、IJCAI五个顶会的时间序列论文整理列表和原文。

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

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

相关文章

python基础知识(四)--if语句,for\while循环

目录 if语句 if-else语句 if...elif...else...语句的语法 if嵌套语句语法 while循环 死循环 for循环 例题: 1.请使用*代替,并输出一个正方形的显示效果。 2.逢7必过的游戏 3.九九乘法表 4.案例: 逢七必过游戏 [0, 999] 碰到特殊天气, 150 就…

停车位检测-停车场车位识别

YOLO Parking Spot 概述 停车场获取的图像训练了四个YOLO模型来检测车辆。目标是收集信息,并可能开发一种停车解决方案以改善交通流量并优化空间利用率。通过识别汽车,我们生成了一份报告,其中包含图像细节,如可用停车位的数量、…

Ai+若依(智能售货机运营管理系统---帝可得)--工单管理【08篇---0005:工单管理】

工单管理 需求说明 工单是一种专业名词,是指用于记录、处理、跟踪一项工作的完成情况。 管理人员登录后台系统选择创建工单,在工单类型里选择合适的工单类型,在设备编号里输入正确的设备编号。 工作人员在运营管理App可以看到分配给自己的工单,根据实际情况选择接收工单并…

复现PointNext代码

一、首先第一步,我们就需要下载代码:guochengqian/PointNeXt: [NeurIPS22] PointNeXt: Revisiting PointNet with Improved Training and Scaling Strategies (github.com) 二、然后下载好了之后,然后最关键的一点,这个点进去也要…

【LeetCode每日一题】2024年9月第二周(上)

2024.9.9 中等 难度评分 1333 链接:2181. 合并零之间的节点 (1)题目描述: (2)示例 (3)分析 整体来说,描述还算清晰的题目,找到0节点所框定的区域&#xff0c…

起重机检测系统源码分享

起重机检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Visio…

@Valid @NotBlank @NotEmpty @NotNull不生效问题

Spring Boot2.3版本将不再内部依赖validator了 所以导致校验的注解不生效 解决方案&#xff1a;加入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId> </dependency&…

C++提高--模板(类模板/函数模板)

模板的概念 函数模板(将类型参数化) 函数模板语法 两个函数逻辑非常相似 #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; // 模板// 交换两个数 void swapInt(int& a, int& b) {int temp a;a b;b temp; } void swapDouble(doubl…

力扣121-买卖股票的最佳时机(Java详细题解)

题目链接&#xff1a;121. 买卖股票的最佳时机 - 力扣&#xff08;LeetCode&#xff09; 前情提要&#xff1a; 因为本人最近都来刷dp类的题目所以该题就默认用dp方法来做。 dp五部曲。 1.确定dp数组和i下标的含义。 2.确定递推公式。 3.dp初始化。 4.确定dp的遍历顺序。…

踩最深的坑,教会自己找到需求

目录 引言 1. 寻找合适的需求 2. 海外市场选择 3. 线下热点判断 4. 线上关注度分析 5. 当前竞争分析 6. 未来潜力分析 引言 在经历了刻骨铭心的合伙创业经历后&#xff0c;我意识到是时候该独立出海了。 捡起早已深埋在心里的创业想法&#xff0c;开始独自创业。 这次…

用“女神的一群舔狗”的例子深入理解线程池

假如有一个妹子&#xff08;肤白貌美身材好&#xff09; 同一时间只能谈一个对象&#xff0c;但是新鲜感过去之后就没什么意思了&#xff0c;就想换个对象&#xff0c;但是更换对象的操作效率比较低&#xff0c;需要做到&#xff1a; 1. 想办法和现有对象分手 2.吸引到下一个舔…

高低压配电系统中电弧光的危害有多大?

摘要 故障电弧是一种常见的电气故障现象&#xff0c;尤其在配电系统中&#xff0c;可能对设备安全和电力供应造成严重影响。本文旨在探讨故障电弧对配电系统的危害&#xff0c;并提出相应的预防措施&#xff0c;以增强系统的可靠性和安全性。通过对故障电弧的形成机制、危害分…

软件设计师试题

1、以下关于RISC&#xff08;精简指令集计算机&#xff09;特点的叙述中&#xff0c;错误的是&#xff08; B &#xff09;。 A.对存储器操作进行限制&#xff0c;使控制简单化 B.指令种类多&#xff0c;指令功能强 C.设置大量通用寄存器 D.选取使用频率较高的一些指令&…

利用Python快速提取字体子集

来自&#xff1a;Python大数据分析 费弗里 在我们日常进行数据可视化、web应用开发等场景中&#xff0c;经常会用到一些特殊的非系统自带字体&#xff0c;尤其是中文字体&#xff0c;由于包含的字符数量众多&#xff0c;因此体积一般都比较大&#xff0c;这在进行数据可视化读取…

C++当中的继承

在C当中继承是一个非常重要的语法。我们可以使用继承快速的进行代码的复用以及对代码进行扩展操作。首先我们来进行学习继承的基本语法。 &#xff08;一&#xff09;继承的语法方式 还记得我们之前学习的访问限定符吗&#xff1f;就是class里面的private&#xff0c;public&am…

直播间没有自然流,如何突破?

如果你的直播间完全没有自然流量&#xff0c;不用担心&#xff0c;有四种方法可以解决这个问题。 第一种方法是延长直播时长。如今的账号系统与以前不同&#xff0c;现在自然流量非常珍贵。以前&#xff0c;新账号即使没有数据&#xff0c;平台也会给一些流量&#xff0c;但现在…

校园管理新篇章:Spring Boot系统实现策略

第3章 系统分析 3.1 需求分析 校园管理系统主要是为了提高用户的工作效率和更方便快捷的满足用户&#xff0c;更好存储所有数据信息及快速方便的检索功能&#xff0c;对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性&#xff0c;遵循开发的系…

jmeter设置全局token

1、创建setup线程&#xff0c;获取token的接口在所有线程中优先执行&#xff0c;确保后续线程可以拿到token 2、添加配置原件-Http信息头管理器&#xff0c;添加取样器-http请求 配置好接口路径&#xff0c;端口&#xff0c;前端传参数据&#xff0c;调试一下&#xff0c;保证获…

2024社群空间站全自动付费进群系统九块九进群源码

多种玩法&#xff1a;付费VIP玩法、同城行业群裂变玩法、全民K歌群裂变玩法、拼多多群玩法、VIP领取百度网盘资料玩法、单群付费玩法;

WTL580-电子锁微波雷达应用解决方案,5.8GHz精准人体感知,触发高效交互新体验

一、简介 随着智能电子门锁普及&#xff0c;电子门锁的市场也随着打开&#xff0c;安装智能化电子门锁也为大势所趋。现我司推出基于WTL580微波雷达的电子锁应用方案&#xff0c;通过检测门锁周围是有活动人体存在来激活门锁。我司WTL580微波雷达方案采用5.8GHz微米波雷达传感器…