系列文章链接
论文一:2020 Informer:长时序数据预测
论文二:2021 Autoformer:长序列数据预测
论文三:2022 FEDformer:长序列数据预测
论文四:2022 Non-Stationary Transformers:非平稳性时序预测
论文五:2022 Pyraformer:基于金字塔图结构的时序预测
论文六:2023 Crossformer:多变量时序预测
论文七:2023 LTSF-Linear:质疑transformer能力的线性预测模型
文章地址:https://arxiv.org/abs/2012.07436
github地址:https://github.com/zhouhaoyi/Informer2020
参考解读:论文阅读 | AAAI21最佳论文:Informer
视频解读参考:Informer原理及代码解析
这篇文章是北航提出的一篇预测论文,在实际预测过程中,大多数需要基于长期的数据,否则根据短期数据预测出来的结果是不置信的,近年来的研究表明,transformer在时序序列预测上的潜力。但是单纯使用transformer存在二次时间复杂度、高内存使用量和编码器-解码器体系结构固有的局限性,基于这个背景作者提出了一个新模型Informer,具体创新点如下:
- ProbSparse self-attention:传统的self-attention会将每个点位和其他点位一起做权重分布计算,但在实际预测过程中,真正对当前点位预测造成影响的只有小部分,因此提出了一种概率稀疏注意力机制,把关注点关注在对当前值影响较大的点位上,以消除长尾数据的影响,权重计算复杂度从
O
(
L
2
)
O(L^2)
O(L2)降低至
O
(
l
∗
l
o
g
L
)
O(l*logL)
O(l∗logL),具体计算步骤如下:
(1) 为每个
q
u
e
r
y
query
query都随机采样部分
k
e
y
key
key,默认为
5
∗
l
n
L
5*lnL
5∗lnL;
(2) 计算每个
q
u
e
r
y
query
query稀疏性得分,
M
(
q
i
∗
k
)
M(q_i*k)
M(qi∗k);
(3) 选择得分最高的
N
N
N个
q
u
e
r
y
query
query,
N
N
N默认值为
5
∗
l
n
L
5*lnL
5∗lnL;
(4) 只计算topN的
q
u
e
r
y
query
query和
k
e
y
key
key的点积结果,从而得到attention的结果;
(5) 剩下的
L
−
N
L-N
L−N个
q
u
e
r
y
query
query就采用均值
m
e
a
n
(
V
)
mean(V)
mean(V)作为输出,来保证大小的一致性;
该部分值用在了self-attention部分,没有用在cross-attention部分;
作者表明,对于其他的self-attention机制而言,当前机制相当于对于每个head进行基于采样的稀疏表示,相当于针对每个head的优化策略就存在差异,这种处理比常规的相同的处理更具优势;
- 一步Decoder:正常情况下,多点预测会基于上一个点的预测结果去预测下一个点位,但是当前模型可以一次性输出多个点位的预测结果;在预测时会将历史数据作为Decoder的输入的一部分,包括数据的位置信息和时间点信息,将向量输入全连接层得到预测结果,placeholder位置就会有对应的输出值,计算损失的时候只计算预测部分的位置对应损失;
在Decoder中是双层的结构。在第一层掩码稀疏自注意力模块中,采用了掩码机制避免预测数据的时候关注到未来点位的信息,在对当前点位进行预测时,未来点位的数据设置为
−
∞
-\infty
−∞,这样计算注意力的时候就不会关注到未来点位的信息,避免了自回归;第二层为一个多头交叉注意力模块,用于输出最终同维度的向量,进行目标序列和源序列的交互(512->2048->512);