论文标题:
Pyraformer: Low-Complexity Pyramidal Attention for Long-Range Time Series Modeling and Forecasting
论文链接:
https://openreview.net/pdf?id=0EXmFzUn5I
源码链接:
https://github.com/alipay/Pyraformer
摘要
根据过去的时间序列数据对未来进行准确预测至关重要,因为它为提前进行决策和风险管理打开了大门。在实践中,面临的挑战是构建一个灵活但简约的模型,该模型可以捕获大范围的时间依赖关系。本文通过研究时间序列的多分辨率表示,提出了 Pyraformer 算法。具体来说,我们引入了金字塔注意模块(PAM) ,其中尺度间的树状结构概括了不同分辨率的特征,尺度内的相邻连接模型模拟了不同范围的时间依赖关系。在温和的条件下,Pyraformer 信号穿越路径的最大长度与序列长度 L 相比是一个常数(即 O (1)) ,而其时间和空间复杂度与 L 呈线性关系。广泛的实验结果显示,无论是在单步预测任务还是在长距离多步预测任务中,Pyraformer 都能以最少的时间和内存消耗达到最高的预测精度,特别是当序列较长时。
可以看出,优势很明显。
模型结构
主要贡献
1.提出了 Pyraformer,以多分辨率的方式同时捕捉不同范围的时间依赖关系。
2.理论上证明了通过适当选取参数,Pyraformer 可以同时实现O(1)的最大信息传播路径和O(L)的时空复杂度。
3.实验表明,不论是单步预测任务还是长程预测任务,Pyraformer 在多个真实数据集上都取得了比 Transformer 及其变体更好的效果,并且消耗的时间和显存更低。
方法
金字塔注意力模块(PAM)
金字塔形的图结构,以多分辨率的方式表征历史序列中的时间依赖关系。在金字塔图中,假设最底层的节点对应了我们观察到的时序。比如,观察到的时序是小时粒度,那每个节点对应了一个小时。
上层的节点,可以认为是总结了每天,每周,和每月的信息。为了进行精准的时序预测,需要做的就是找到过去和未来的关系,然后基于过去才能预测未来。这里,通过连接每一层节点,来建模过去与未来。比如每个小时之间的关系,在底层进行了建模,而每个月之间的关系在顶层进行了建模。
由于,月与月之前的关系在顶层进行了建模,到了周这一层,就不再需要考虑本周与上个月同一周之间的关系了,只需要考虑相邻的一两周之间的关系。因此,每一层里,只考虑相邻节点之间的关系。整个图通过attention机制构建,即把Transformer中的全连接图换成金字塔图。
粗粒度构造模块(CSCM)
CSCM的目的是初始化金字塔图上的粗尺度节点,以便后续的PAM在这些节点之间交换信息。这里通过带bottleneck的卷积网络实现。
预测模块
单步预测,直接一层全连接
多步预测,有两种方式。第一种和单步预测类似,但需要将所有尺度上的最后一个节点分批映射到所有 M 个未来时间步骤。第二种,是用两层全连接注意力层作为解码器。
实验
单步预测
长程预测
速度和显存占用
总结
在蚂蚁预测性扩缩容任务上工程化落地效果很好。