【文章学习系列之模型】FEDformer

news2025/6/18 23:16:49

本章内容

  • 文章概况
  • 模型流程
  • 主要结构
    • Frequency Enhanced Decomposition Architecture(频率增强分解结构)
    • Fourier enhanced blocks and Wavelet enhanced blocks(傅里叶增强模块和小波增强模块)
      • Fourier Enhanced Structure(傅里叶增强结构)
        • Frequency Enhanced Block with Fourier Transform(FEB-f)
        • Frequency Enhanced Attention with Fourier Transform (FEA-f)
      • Wavelet Enhanced Structure(小波增强结构)
        • Frequency Enhanced Block with Wavelet Transform(FEB-w)
        • Frequency Enhanced Attention with Wavelet Transform(FEA-w)
  • 实验结果
  • 消融实验
    • 模型的消融
    • 频域分量随机选择策略的消融
    • 预测数据和原始数据分布的一致性消融
  • 总结

文章概况

《FEDformer: Frequency Enhanced Decomposed Transformer for Long-term Series Forecasting》是2022年发表于ICML的一篇论文。该文章以先前的Autoformer模型为整体框架,做了新的创新,建议看这篇文章之前先学习一下Autoformer,理清了前一篇文章的框架和创新点,看这一篇文章就会轻松些。

文章代码链接:
文章链接
代码链接

模型流程

在这里插入图片描述
下图为作者论文中的模型图,继承了Autoformer的模型框架,作者对“时序分解”进一步创新提出频率增强分解结构,并对“Encoder/Decoder”的Transformer中融入傅里叶增强模块和小波增强模块。

在这里插入图片描述

主要结构

Frequency Enhanced Decomposition Architecture(频率增强分解结构)

在Autoformer中,分解模块使用的是固定的窗口大小,为了克服固定大小在具有复杂周期和趋势分量的现实情况下的不足,作者设计了一个混合型分解模块,其主要由若干个不同大小的窗口组成,提取到多个不同的分量特征,同时作者还对他们设置了权值,旨在区分不同分量特征对模型的贡献,最终以加权求和的方式获得最终趋势数据。这部分通俗易懂,主要进行了不同尺度的滤波操作获得多种结果,并对他们加权计算最终结果。

Fourier enhanced blocks and Wavelet enhanced blocks(傅里叶增强模块和小波增强模块)

在该部分,作者提出将Transformer和傅里叶分析相结合,取代以往将Transformer应用于时间特征提取,改为使用Transformer对傅里叶变换后的频域数据进行特征提取。然而时域数据转化为频域数据带来的是大量的频率分量,是否针对所有数据进行特征提取或者如何选择这些分量将是一个问题。针对这个问题,作者进行了分析和验证。

使用所有频率分量 虽然数据一点不会丢失,但考虑到傅里叶变换的局限性,过多的频率特征带来的将是冗余的信息资源、庞大的机器和时间开销以及过拟合的风险,因此不适用于对所有数据进行特征提取。
使用部分高频分量 高频分量代表时间序列中变化的突变型特征,确实具有一定的特殊性,然而噪声的存在否定了特殊性存在的合理性,过度地对高频分量进行特征提取,或许模型最终学习到更多噪声的内容,而难以关注时间序列本身。
使用部分低频分量 低频分量较为平缓,而时间序列中趋势的变化往往与重要事件的发生有关,缺少了高频分量对趋势的影响,时间序列将不具个性,预测的意义也大大降低。
随机选择分量 作者通过论证得到随机选取分量更有效,大大降低了复杂度。

该部分内容将被使用在时域转频域后频域分量的选择。

Fourier Enhanced Structure(傅里叶增强结构)

Frequency Enhanced Block with Fourier Transform(FEB-f)

在这里插入图片描述
该部分主要对时序数据在频域上的特征进行提取,具体步骤如下:
1.输入数据通过多层感知机调整长度、增加非线性;
2.通过快速傅里叶变换,由时域数据转换为频域数据;
3.对频域数据随机选择分量 ,减少信息冗余、降本增效;
4.随机初始化矩阵R,并与随机选择的频率分量相乘;
5.为了便于后续进行傅里叶逆变换,需要将数据以0补足维度;
6.通过傅里叶逆变换,由频域数据转换为时域数据。

Frequency Enhanced Attention with Fourier Transform (FEA-f)

在这里插入图片描述
该部分替换了常规注意力模块,不同的是对q k v进行了频域下的特征提取,具体步骤如下:
1.由Encoder经过多层感知机获得v和k,由Decoder经过多层感知机获得q;
2.q k v 在快速傅里叶变换下由时域数据转换为频域数据,对他们随机选择分量
3.接下来的步骤和传统注意力机制一样:k q相乘后经激活函数再与v相乘;
4.为了便于后续进行傅里叶逆变换,需要将数据以0补足维度;
5.通过傅里叶逆变换,由频域数据转换为时域数据。

Wavelet Enhanced Structure(小波增强结构)

在完成了傅里叶增强结构后,作者针对傅里叶变换的局限性,又提出了一种小波增强结构。在学习这部分之前,需要清楚傅里叶变换和小波变换的差别和联系。于是我也去临时抱佛脚了一波,根据我的理解,大致是傅里叶变换的条件过于理想,在现实的许多场景下,信号往往是非平稳的,而对非平稳过程,傅里叶变换有着明显的局限性(可参考该链接回答)。
针对该局限性,前人提出多种方法,其中小波变换尤其突出。而本文作者应该也是考虑到了这样的局限性,因此尝试用小波变换代替傅里叶变换,最终探索出了小波增强结构。
小波变换方法主要针对多个局部的时序数据进行变换,因此在该部分,作者将每一段局部数据进行分解重建,主要模块还是沿袭的上文傅里叶增强结构中提到的模块,这和小波变换和傅里叶变换的异同点有关。

Frequency Enhanced Block with Wavelet Transform(FEB-w)

在这里插入图片描述
该部分和FEB-f不同,作者使用固定的小波基对矩阵进行分解,分别使用三个FEB-f模块处理分解后的高频数据、低频数据和剩余数据,如左图所示。随后采用重建模块融合多组数据进行数据重建,如右图所示。

Frequency Enhanced Attention with Wavelet Transform(FEA-w)

在这里插入图片描述
该部分的内容和FEB-w异曲同工,作者使用相同的分解矩阵对k q v 分解为三对,每一对q k v再通过FEA-f进行特征提取,如上图所示。而数据重建部分,则和FEB-w中的重建方法一样。

实验结果

在这里插入图片描述
在这里插入图片描述
(详细实验结果见附录)

作者在六种基准数据集上进行了测试,结果表明,所提的两种方法(傅里叶和小波)具有一定的优势,但在所有场景下,两种方法之间很难有绝对优势的存在。对于不同种类的基准数据,可能因为他们自身的平稳性等情况的不同,从而在傅里叶和小波模块的两种情况下存在着一定的差异。值得注意的是,两种方法在六种数据集中的优势恰恰互补,在一定程度上也说明作者所提模型的有效性。

消融实验

模型的消融

作者使用控制变量的方法对所提模块的效果进行测试。其中,V1:代表仅使用FEB代替自注意力;V2: 仅使用FEA代替交叉注意力;V3: 使用FEA替代自注意力及交叉注意力。
在这里插入图片描述
(详细实验结果见附录)

实验结果表明,所提方法确实能够提高模型的预测性能。

频域分量随机选择策略的消融

在这里插入图片描述
针对前文提到的时域转为频域后对变量的随机选择方法,作者除了完成理论探究,还在实验上进行了对比。结果表明,随机策略获得更好的性能,同时表现出一定的模式饱和效应,这进一步论证了随机选取的正确性。

预测数据和原始数据分布的一致性消融

在这里插入图片描述
为了验证模型输入和输出数据的分布情况,作者对多种模型进行对比,使用的是分布检测常用方法KS检测(Kolmogrov-Smirnov)。实验结果表明,Autoformer和FEDformer输入和输出数据的分布相似性更高。经分析,可能得益于季节趋势分解模块。

总结

Autoformer可以认为是将时序序列分解为多个时序子序列进行特征提取,而FEDformer则是从频域的角度进行提取,两个在具有相似模型框架的同时又有着较大的不同。通过多个实验,后者展现出优异的特征提取能力,进而在长时序中具有优异的性能。
作者在Autoformer的基础上进行深入创新,融入了傅里叶变换的同时,进一步探索了融入小波变换的可能性,更加证明了合理使用传统领域的发现,将其与深度学习相结合,往往会有着不错的效果。通过学习发现,小波变换部分的模块与傅里叶模块有着直接相关,因此小波模型的运行不管是空间还是时间都将是一大开销。

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

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

相关文章

基于Segment anything的实例分割半自动标注

介绍 使用Meta AI的SAM,并添加了一个基本界面来标记图像,并保存COCO格式的掩码。 源码 https://github.com/anuragxel/salt 安装 安装SAM;创建conda虚拟环境,使用conda env create -f environment.yaml;安装coco-viewer来快速可视化标注结果。使用方法 1、将图片放入到…

WSL下的Kafka开发容器:Docker搭建、API、整合

背景介绍 Kafka是一个分布式流处理平台,可以处理大规模数据流并支持实时数据流的处理。 本文介绍了如何在WSL下使用Docker搭建Kafka容器,并使用Python的kafka-python库和FastAPI框架实现了一个简单的API。同时,还将该服务整合到一个整体的d…

ssm异常处理

ssm异常处理 类上和方法上都要有注解: 类上的注解: 异常处理用到的注解,里面包含了其他的一些必须的注解,详解看下图 方法上的注解: 上面的要懂打配合 现在创建一个处理异常的工具类,加上前面提到的注…

CSRF与SSRF比较

CSRF与SSRF比较 参考:简述CSRF、SSRF的区别 CSRF CSRF,全名 Cross-site requestforgery,也就是 跨站请求伪造。XSS是跨站脚本攻击。与XSS比较,XSS攻击是跨站脚本攻击,CSRF是跨站请求伪造,也就是说CSRF攻…

【Redis】入门篇之相关概念与Redis的安装

目录 一、关系型数据库与非关系型数据库 1、非关系数据库的种类 2、关系型数据库与非关系型数据库的区别 二、认识Redis 1、概念 2、特点 1.键值型 2.单线程 3.低延迟、速度快 4.支持数据持久化 5.支持主从集群、分片集群 6.支持多语言客户端 三、Redis的安装 1、…

IO-IO基础

简介 IO流,以计算机内存为主体,从内存到网络/磁盘等其他地方叫输出流(内存往外出);网络/磁盘等其他地方写到内存叫输入流(往内存输入)。 Java中的IO流 4个抽象基类 InputStream/Reader(读到内存里) 所有的输入流的基…

环境变量详解

目录 环境变量是什么? 常见环境变量 查看环境变量 指令查看 代码查看 系统调用查看 本地变量 环境变量全局性 环境变量是什么? 我们要执行一个我们所写的c/c程序时,需要./可执行文件,告诉操作系统你在哪里&#xff0c…

PC Cleaner Pro(电脑清理工具)图文安装教程

OneSafe PC Cleaner 会查找并删除垃圾文件和快捷方式,这些文件和快捷方式会随着时间的推移在您的 PC 上堆积,从而占用您的硬盘空间。该软件会搜索并删除已卸载程序留下的无效快捷方式和文件。OneSafe PC Cleaner 还会识别并删除注册表中不必要的条目。 W…

YOLOv8详解代码实战,附有效果图

YOLOv8架构 YOLOv8 是 ultralytics 公司在 2023 年 1月 10 号开源的 YOLOv5 的下一个重大更新版本,目前支持图像分类、物体检测和实例分割任务,鉴于Yolov5的良好表现,Yolov8在还没有开源时就收到了用户的广泛关注。yolov8的整体架构如下&…

vue3计算属性与监视及watchEffect函数

computed计算属性 首先看一下页面的结构 在v3中可以用v2的方式来写计算属性,但是不建议这么写 而想要在v3中使用计算属性,需要先引入它 它不想之前在v2中的函数了,而是要写在computed()里面 当然这个计算属性是简写(没有考虑计算…

Python opencv 先腐蚀后膨胀 消除图像噪声

cv2.getStructuringElement()介绍 在进行图像形态学操作时,首先需要构造一个特定的核,该核可以自定义生成,也可以通过cv2.getStructuringElement()函数构造。 cv2.getStructuringElement(shape, ksize)参数: shape ---- 代表形状…

常见在线AI绘画平台

系列文章目录 Midjourney AI绘画工具使用保姆级教程 本地部署Stable Diffusion教程,亲测可以安装成功 Stable Diffusion界面参数及模型使用 文章目录系列文章目录前言一、Midjourney二、DreamStudio三、Lexica四、STOCKIMG.AI五、Dream by WOMBO六、PicSo七、百…

ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土地、土壤、农业、大气等领域的数据分析

查看原文>>>ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土地、土壤、农业、大气等领域的数据分析 目录 专题一、空间数据获取与制图 专题二、ArcGIS专题地图制作 专题三、空间数据采集与处理 专题四、遥感数据处理与应用 专题五、DEM数据…

macOS Big Sur 11.7.6 (20G1231) Boot ISO 原版可引导镜像

本站下载的 macOS 软件包,既可以拖拽到 Applications(应用程序)下直接安装,也可以制作启动 U 盘安装,或者在虚拟机中启动安装。另外也支持在 Windows 和 Linux 中创建可引导介质。 2023 年 4 月 10 日(北京…

压力测试工具JMeter的下载安装与基础使用(一)

JMeter的下载安装与基础使用1.环境准备2.下载与配置2.1下载并解压2.2 配置系统变量 JMETER_HOME2.3配置系统变量 CLASSPATH3.测试JMeter是否配置成功4. 语言修永久修改为中文(可选)1.环境准备 JMeter是用java开发的,示例Apache JMeter5.5版本…

css动画及背景设置

css属性 clip-path 属性使用裁剪方式创建元素的可显示区域。区域内的部分显示,区域外的隐藏。可以指定一些特定形状。 可以创建多边形内容显示区域polygon clip-path: polygon(0 0, 100% 0, 100% 75vh 0 100%); 顺序 1初始x y 为0 0 1向2位置 x轴移动100% y移…

SpringBoot集成elasticsearch使用(增删改查)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 SpringBoot集成elasticsearch使用(增删改查)一、es是什么?二、使用步骤1.搭配环境springboot集成es1、新建springboot项目,引入…

19_I.MX6ULL_SPI实验

目录 SPI简介 I.MX6U ECSPI简介 相关寄存器 ICM-20608简介 实验源码 SPI简介 同I2C一样,SPI是很常用的通信接口,也可以通过SPI来连接众多的传感器。相比I2C接口, SPI接口的通信速度很快, I2C最多400KHz,但是SPI可以到达几十MHz。I.MX6U也有4个SPI接口,可以通过这4个SPI接…

电感为什么会有饱和电流

电感有一个重要的参数那就是饱和电流,饱和电流的定义是当电感感值下降30%时流过电感的电流。 那么电感为什么会有饱和电流呢? 这个是电感磁芯的磁化曲线,横坐标是磁场强度H,纵坐标是磁感应强度B 在磁场强度较小的时候,…

大数据需要学哪些内容

大数据技术是当今互联网时代的热点之一,目前已经成为了各行各业中的最佳选择。随着物联网、人工智能、云计算等技术的发展,数据的规模不断增大,数据分析、数据挖掘、人工智能等应用也随之蓬勃发展,对大数据开发的需求越来越多。因…