Informer是一种用于时间序列预测的改进模型,它采用了傅里叶混合窗口注意力机制来加速计算。下面是Informer模型的详细介绍:

1. 傅里叶混合窗口注意力机制:
- 传统的自注意力机制在计算注意力权重时需要对所有输入序列进行计算,这在长序列上会导致计算复杂度很高。为了解决这个问题,Informer引入了傅里叶变换来加速计算。
- 傅里叶变换将输入序列从时域转换到频域,通过计算频域上的注意力权重来代替时域上的注意力权重计算。这样可以大大减少计算量。
- Infromer模型使用了傅里叶混合窗口注意力机制,即将输入序列分成多个窗口,每个窗口都进行傅里叶变换和注意力权重计算。然后将每个窗口的注意力权重进行平均得到最终的注意力权重。
2. 模型结构:
- Infromer模型由编码器和解码器组成,其中编码器用于提取输入序列的特征,解码器用于生成预测序列。
- 编码器由多个Informer Block组成,每个Informer Block包含了多层的自注意力层、全连接层和残差连接。自注意力层用于学习输入序列的依赖关系,全连接层用于将特征映射到合适的维度,残差连接用于保留原始特征。
- 解码器也由多个Informer Block组成,但在每个Informer Block中还包含了一个历史注意力层,用于引入历史信息来生成预测序列。
3. 训练和预测:
- Infromer模型的训练过程包括两个阶段:编码器预训练和整体训练。编码器预训练阶段通过自回归方式预测未来的一部分序列,用于学习输入序列的特征表示。整体训练阶段使用编码器预训练的参数作为初始参数,通过最小化预测序列与真实序列之间的差异来优化模型。
- 预测过程中,给定历史观测序列,通过编码器提取特征,然后通过解码器生成未来的预测序列。
PyTorch框架实现 多输出单输出 多输入多输出 单输入单输出。
可替换数据集(已实现锂电池SOC估计)