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

笔记简介

笔记:记录一下实现Informer时序预测的过程,同时加注一些要点,并加上构建自己数据集进行预测的过程。

内容:

1、Informer论文解读、复现

2、构建自己的数据集

3、利用Informer对数据集进行预测

一、Informer论文

摘要:许多实际应用需要长序列时间序列的预测,例如电力消耗计划。长序列时间序列预测(LSTF)要求模型具有较高的预测能力,即能够准确有效地捕捉输出与输入之间的长期依赖耦合。最近的研究表明,Transformer可以提高预测能力。然而,然而,Transformer存在几个严重的问题,这些问题使它无法直接应用于LSTF,包括二次时间复杂度、高内存使用和编码器-解码器架构的固有限制。为了解决这些问题,我们为LSTF设计了一个高效的基于Transformer的模型,名为Informer,它具有三个显著的特征:1、ProbSparse自注意力机制,该机制在时间复杂度和内存使用上达到O(L \log L) ,并且在序列依赖对齐方面具有相当的性能。2、自注意力提取通过将级联层输入减半来突出主导注意力,并有效地处理超长输入序列。3、生成式解码器虽然在概念上简单,但它可以通过一次前向运算而不是一步一步地预测长时间序列序列,从而大大提高了长序列预测的推理速度。在四个大规模数据集上的大量实验表明,Informer算法显著优于现有方法,为LSTF问题提供了一种新的解决方案。

论文地址:https://arxiv.org/abs/2012.07436

官方代码地址:https://github.com/zhouhaoyi/Informer2020

二、Informer网络结构

左:编码器接收大量长序列输入(绿色序列)。用ProbSparse自注意力机制代替了典型的自注意力机制。蓝色梯形是自注意力提取操作,用于提取主导注意力,大幅减少网络规模。层堆叠副本增加了鲁棒性。右:解码器接收长序列输入,将目标元素填充为零,测量特征图的加权注意力组成,并以生成风格即时

"Informer"通常是指在自然语言处理(NLP)领域中的一种编码解码模型,特别是用于生成长文本序列的任务,比如文本摘要、文档翻译等。它可能是基于Transformer架构的变种,如BART、T5或者M6这样的预训练模型。 代码复现一个Informer模型涉及以下几个步骤: 1. **安装依赖**:首先需要安装相关的深度学习库,如PyTorch或TensorFlow,以及transformers或其他模型库。 ```python pip install torch transformers ``` 2. **加载预训练模型**:从Hugging Face的仓库下载Informer模型,例如: ```python from transformers import InformerModel model = InformerModel.from_pretrained('microsoft/informer') ``` 3. **数据准备**:加载或创建适合模型输入的数据集,并进行必要的预处理,包括分词、填充和编码。 4. **设置训练循环**:定义优化器、损失函数,并设置训练步骤。 ```python optimizer = AdamW(model.parameters(), lr=1e-5) loss_fn = nn.CrossEntropyLoss() for epoch in range(num_epochs): for batch in dataloader: input_ids = batch['input_ids'] target_ids = batch['target_ids'] outputs = model(input_ids, labels=target_ids) loss = loss_fn(outputs.logits, target_ids) optimizer.zero_grad() loss.backward() optimizer.step() ``` 5. **评估和预测**:在验证集或测试集上进行模型性能评估,并利用模型进行新数据的预测。 代码的具体实现会因库版本、模型细节和其他配置的不同而有所差异。如果你想要详细了解某个特定版本的Informer代码,最好查看对应的官方文档或GitHub仓库示例。
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

权在码代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值