(12)时间序列预测之MICN(CNN)


文章信息

  1. 模型: MICN (Multi-scale Isometric Convolution Network)
  2. 关键词: 长时预测, 局部和全局信息, 多分枝结构,不同的潜在模式
  3. 作者:Huiqiang Wang, Jian Peng, Feihu Huang, Jince Wang, Junhui Chen, Yifei Xiao
  4. 机构:四川大学
  5. 发表情况: ICLR 2023 notable top 5%( Published: 02 Feb 2023, Last Modified: 15 Feb 2023 )
  6. 网址: MICN: Multi-scale Local and Global Context Modeling for Long-term Series Forecasting

前言

1. challenge

  TCN :使用因果卷积来建模时间因果关系,并使用扩张卷积来扩展感受野。它可以更好地整合序列的局部信息。然而,受感受野大小的限制,TCN往往需要很多层来建模时间序列的全局关系,这大大增加了网络的复杂性和模型的训练难度。
  Transformer:时间算复杂度高,许多tokens之间的注意力计算是没有必要的。而且此类模型不能像CNN结构那样对局部特征进行有针对性的建模。
  在本文中,我们将 CNN 的建模视角与 Transformers 的建模视角相结合,从序列本身的现实特征,即局部特征和全局特征相关性来构建模型。


一、网络结构

  多尺度等距卷积网络(MICN)使用多个不同卷积核的分支分别对序列的不同潜在模式进行建模。对于每个分支,我们使用基于下采样卷积局部模块提取序列的局部特征,在此基础上,我们使用基于等距卷积全局模块建模全局相关性。最后,采用Merge操作将多个分支中不同模式的信息进行融合。该设计将时间和空间复杂性降低到线性,消除了许多不必要的冗余计算。
  模型的整体实现:多尺度混合分解(MHDecomp)块来分离输入序列的复杂模式。然后用季节预测块(Seasonal Prediction Block)预测季节信息,用趋势-周期预测块(Trend-cyclical Prediction Block)预测趋势-周期信息。然后将预测结果相加,得到最终的预测

### MICN 模型概述 MICN(Multi-scale Local and Global Context Modeling for Long-term Series Forecasting)是一种专门设计用于长时间序列预测深度学习框架[^1]。该模型通过结合多尺度特征提取以及局部和全局上下文建模的能力,显著提升了对于复杂时间序列数据的预测性能。 #### 多尺度特征提取 为了捕捉不同时间粒度下的模式变化,MICN 利用了卷积神经网络 (CNN) 的层次结构来实现多尺度特征提取。具体而言,它采用多个并行的一维卷积层,每层对应不同的感受野大小,从而能够捕获短时波动与长期趋势之间的关系。 ```python import torch.nn as nn class MultiScaleConv(nn.Module): def __init__(self, input_channels=1, output_channels=[8, 16], kernel_sizes=[3, 7]): super(MultiScaleConv, self).__init__() self.convs = nn.ModuleList([ nn.Conv1d(input_channels, out_ch, k_size, padding=k_size//2) for out_ch, k_size in zip(output_channels, kernel_sizes) ]) def forward(self, x): outputs = [conv(x) for conv in self.convs] return torch.cat(outputs, dim=1) ``` 上述代码展示了如何构建一个多尺度一维卷积模块,其中 `kernel_sizes` 参数控制着各个分支的感受野范围。 #### 局部与全局上下文建模 除了关注单一时序片段内的特性外,MICN 还引入了一种机制用来融合更广泛的背景信息——即所谓的 **global context**。这种策略允许当前时刻的状态不仅依赖于最近的历史记录,还可以受到远距离节点的影响。为此,作者采用了自注意力机制(Self-Attention Mechanism),其核心思想在于计算任意两个位置间的重要性权重,并据此调整输入表示形式。 另一方面,在处理局部区域方面,则继续沿用传统的循环单元(如GRU或LSTM),它们擅长描述连续帧间的动态演变过程。 ```python import torch from torch import Tensor from typing import Optional def scaled_dot_product_attention(query: Tensor, key: Tensor, value: Tensor, mask: Optional[Tensor]=None) -> Tuple[Tensor]: d_k = query.size(-1) scores = torch.matmul(query, key.transpose(-2,-1)) / math.sqrt(d_k) if mask is not None: scores += mask * -1e9 attention_weights = F.softmax(scores,dim=-1) weighted_sum = torch.matmul(attention_weights,value) return weighted_sum, attention_weights ``` 此函数实现了标准缩放点乘法注意机制的核心部分,它是构成整个架构中不可或缺的一个组件。 ### 总结 综上所述,MICN 提供了一个强大的解决方案,适用于那些具有高度非线性和跨时段关联性的场景分析需求。通过对多种时空维度上的交互作用进行全面刻画,最终达到了提高预报精度的目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值