Informer复现 -- 完整模型

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

有了数据和核心的ProbAttention,接下来就可以复现完整的Informer(图1)了。

图1:Informer模型结构[1]

如果对图1还不太熟悉的同学,可以参考图2。由图2可知,informer与Transformer之间的差异并不大。

主要区别是ProbAttention和可能的encoder最后一层的conv(源代码中用来distil)。

图2:参考Transformer画的Informer模型结构

Informer三大基本要素: AttentionBlock, MLPBlock, ConvBlock

上次博文已复现了ProbAttention和AttentionBlock (attention + add&norm),而Conv又是基础模块,所以整个Informer不难复现。

MLPBlock

MLPBlock (mlp+add&norm):源代码中采用1x1卷积的形式,相对较为繁琐。为了匹配卷积对应(batch_size, channels, seq_len)的特点,需要将输入先进行维度调整,得到结果后再将维度调整回来。

# 源代码

y = x = self.norm1(x)
y = self.dropout(self.activation(self.conv1(y.transpose(-1,1))))
y = self.dropout(self.conv2(y).transpose(-1,1))

return self.norm2(x+y), attn

直接用mlp则不存在此问题。

class MLPBlock(nn.Module):
    def __init__(self, d_model, d_ff=None, dropout=0.1, act="relu"):
        super().__init__()
        d_ff = d_ff or d_model * 4
        act = nn.ReLU() if act=="relu" else nn.GELU()
        self.net = nn.Sequential(
            nn.Linear(d_model, d_ff),
            act, 
            nn.Dropout(dropout),
            nn.Linear(d_ff, d_model),
            nn.Dropout(dropout)
        )

        self.norm = nn.LayerNorm(d_model)

    def forward(self, x):
        out = self.net(x)
        return self.norm(out + x)

ConvBlock

有了AttentionBlock和MLPBlock,只差ConvBlock就可以完整实现Informer了。如上所述,需要对输入的维度进行调整。

class ConvBlock(nn.Module):
    def __init__(self, cin):
        super().__init__()
        self.net= nn.Sequential(
            nn.Conv1d(cin, cin, 3, 1, 1, bias=False),
            nn.BatchNorm1d(cin),
            nn.ELU(
Informer模型与基础学习 文章目录摘要文献阅读一. Informer: 一个基于Transformer改进的高效的长时间序列预测模型1.1 论文摘要1.2 研究内容1.3 Informer模型架构预备知识LSTF问题定义Encoder-Decoder 体系结构1.4 创新点1.5二. pytorch 基础2.1 损失函数与反向传播2.2 优化器2.3 VGG16模型的使用与修改2.4 完整网络模型的训练套路简单汇总2.4.1 网络模型的保存与读取2.4.2 完整模型套路创建网络模型(model.py要确保与train.py在同一文件 阅读详情

相关推荐

Informer:用于长序列时间序列预测的高效Transformer模型

Informer

qq_54900679的博客 4580

深度学习】——Informer模型

Informer模型是一种用于时间序列预测的深度学习模型,由中国科学院自动化研究所的研究团队提出。与传统的RNN、LSTM、GRU等模型不同,Informer模型采用了一种新的注意力机制,能够很好地处理长期依赖和序列中的缺失值。

qq_48108092的博客 7378

Informer复现--数据篇

Informer复现--数据篇

AI_daily的博客 1787

【文章学习系列之模型Informer

Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting》是2021年发表于AAAI的一篇论文。常规自注意机制和Transformer模型已达性能瓶颈,作者尝试寻找新的方法来提高Transformer模型的性能,使其在具备更高效计算、内存和架构能力的同时,又能拥有更优异的预测能力。基于此,该论文提出了一种新的时序预测思路和自注意力机制。

博客标题不能为空 5607

Informer复现+实现自己的数据集

笔记:记录一下实现Informer时序预测的过程,同时加注一些要点,并加上构建自己数据集进行预测的过程。内容:1、Informer论文解读、复现。2、构建自己的数据集。3、利用Informer对数据集进行预测。

Kequan的博客 7941

AAAI最佳论文Informer 复现(含python notebook代码)

Informer 算法复现代码 含notebook

fluentn的博客 4052

Informer复现--模型之Attention

原文首发在公众号 AI天天用,欢迎关注,共同进步。应朋友所托,复现Informer代码。没想到后来还吃到瓜了。如果您也有需要复现的文章(ns子刊,顶刊顶会为主),麻烦您关注公众号留言。Informer作者提出的ProbSparseAttention被认为是Informer的核心创新点。今天我们一起来揭开其神秘面纱。获取完整代码,请关注公众号。下次内容有瓜吃哇,不要错过!

AI_daily的博客 2216

Informer-LSTM模型详解及代码复现

这种融合方式使得模型能够同时利用Informer的全局信息提取能力和LSTM的局部时序关系建模能力,从而提高预测的准确性和鲁棒性。通过这些创新的结构设计,Informer-LSTM模型成功地克服了传统时间序列预测模型的局限性,为处理复杂的时序数据提供了一种高效且准确的解决方案。在Informer-LSTM模型的融合架构中,信息流的传递方式是一个关键设计,它直接影响了模型的性能和效率。通过精心设计的数据预处理流程,可以为Informer-LSTM模型提供高质量的输入数据,从而提高模型的预测性能和训练效率。

hasakie的博客 1571

Informer模型复现项目实战

稀疏自注意力机制:Informer模型的一个核心创新点是它引入了稀疏自注意力机制(ProbSparse Attention),通过选择性地关注最具信息量的注意力头,显著减少了全局自注意力的计算复杂度。传统Transformer模型在处理长序列数据时,计算复杂度为O(L2)O(L^2)O(L2),而Informer通过引入稀疏性使得复杂度降低到O(Llog⁡L)O(L \log L)O(LlogL),特别适合长时间序列的高效处理。多尺度卷积堆叠。

1641

Informer代码复现心得

Informer代码复现心得

常隆涛的博客 640

Informer复现 -- 训练及吃瓜

想吃瓜的同学,直接往后看。

AI_daily的博客 1037

模型实践| Informer 上手实践

近年来的研究表明,Transformer具有提高预测能力的潜力。然而,Transformer也存在几个问题,使其不能直接适用于LSTF问题,例如时间复杂度、高内存使用和“编码-解码”体系结构的固有局限性。为了解决这些问题,作者基于Transformer设计了一种适用于LSTF问题的模型,即Informer模型,该模型具有三个显著特征:ProbSpare self-attention机制,有效降低了时间复杂度和内存使用量。

weixin_66945478的博客 5865

模型Informer模型--时间序列数据预测

Informer 是一种针对长时间序列预测任务设计的深度学习模型,特别适用于解决序列数据的高效建模与预测问题。Informer 提出了许多创新的机制,尤其是在计算效率方面,能够显著提高长时间序列预测的准确性和速度。以下是对该模型的详细介绍。

zkw54334的博客 6207

长时间序列预测算法---Informer

Informer是一种针对长序列时间序列预测任务的高效深度学习算法。它通过引入自适应稀疏注意力机制和采样策略,克服了传统自注意力机制计算开销大和长期依赖建模困难的问题。Informer的核心创新在于使用了ProbSparse自注意力机制,以减少计算复杂度并提升预测精度。实验结果表明,Informer在多个长序列预测任务上超越了现有的时间序列预测模型,尤其在处理长序列时展现出显著的性能优势。

u012121721的博客 7564

时间序列预测之为何舍弃LSTM而选择Informer?(Informer模型解读)

Figure 1: (a) LSTF can cover an extended period than the short sequence predictions, making vital distinction in policy-planning and investment-protecting. (b) The prediction capacity of existing methods limits LSTF’s performance. E.g., starting from leng

pengxiang1998的博客 1万+

时间序列预测 — Informer模型原理

长序列时间序列预测(LSTF)需要模型具有很高的预测能力,即精确的捕捉输出和输入之间长时间依赖关系的能力。Transformer能很好的提高预测精度,然而Transformer存在几个严重问题,二次时间复杂度、高内存使用和编码器-解码器架构的固有限制。ProbSparse稀疏自注意机制,其时间复杂度和内存使用为,在序列依赖性对齐方面具有可比性能;自注意力提取突出显示主导关注,通过减半级联层输入有效处理极长输入序列;

几度春风里的博客 2528

记录复现Informer修改数据集遇到的问题FileNotFoundError: [Errno 2] No such file or directory: ‘./data/WTH.csv‘

代码中路径没错但是运行报错:FileNotFoundError: [Errno 2] No such file or directory: './data/WTH.csv'

weixin_47902668的博客 1256

快速理解Informer

Informer是一种时间序列预测模型,结合了Transformer、自注意力机制和CNN的特点,适用于长期依赖和多时间尺度的时间序列预测。该模型融合了Transformer和自注意力机制以及卷积神经网络(CNN)的特点,从而具备了出色的建模能力。Informer模型在时间序列预测领域有广泛的应用,如天气预测、交通流量预测、股票价格预测等。Informer模型在时间序列预测任务中表现优异,其独特之处在于通过一次反向传播就能输出复数的值。

ahah12345678的博客 2095
上一篇: Informer复现--模型之Attention
下一篇: Informer复现 -- 训练及吃瓜
博师联盟
博客等级 码龄2年 106粉丝 · 4原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值