Autoformer之时间延迟聚合

在这里插入图片描述
在这里插入图片描述

时间延迟聚合

基于周期的依赖性连接了估计周期中的子序列。我们提出了时间延迟聚合模块(见图2),可以基于选定的时间延迟 τ 1 , ⋯   , τ k \tau_1, \cdots, \tau_k τ1,,τk滚动序列。此操作可以对齐处于相同周期相位位置的相似子序列,这与自注意力机制中的点对点积聚合不同。最后,我们通过 softmax 归一化置信度来聚合子序列。

单头情况

对于单头情况和长度为 L L L的时间序列 X X X,在投影器之后,我们得到查询 Q Q Q、键 K K K和值 V V V。这样,它可以无缝替换自注意力机制。自动相关机制如下:

  1. 选择时间延迟 τ 1 , ⋯   , τ k \tau_1, \cdots, \tau_k τ1,,τk
    τ 1 , ⋯   , τ k = arg Topk τ ∈ { 1 , ⋯   , L } ( R Q , K ( τ ) ) \tau_1, \cdots, \tau_k = \text{arg Topk}_{\tau \in \{1, \cdots, L\}} (R_{Q,K}(\tau)) τ1,,τk=arg Topkτ{1,,L}(RQ,K(τ))

  2. 计算归一化的自相关函数值
    R ~ Q , K ( τ 1 ) , ⋯   , R ~ Q , K ( τ k ) = SoftMax ( R Q , K ( τ 1 ) , ⋯   , R Q , K ( τ k ) ) \tilde{R}_{Q,K}(\tau_1), \cdots, \tilde{R}_{Q,K}(\tau_k) = \text{SoftMax}(R_{Q,K}(\tau_1), \cdots, R_{Q,K}(\tau_k)) R~Q,K(τ1),,R~Q,K(τk)=SoftMax(RQ,K(τ1),,RQ,K(τk))

  3. 自动相关计算公式
    Auto-Correlation ( Q , K , V ) = ∑ i = 1 k Roll ( V , τ i ) R ~ Q , K ( τ i ) \text{Auto-Correlation}(Q, K, V) = \sum_{i=1}^{k} \text{Roll}(V, \tau_i) \tilde{R}_{Q,K}(\tau_i) Auto-Correlation(Q,K,V)=i=1kRoll(V,τi)R~Q,K(τi)

具体解释和例子

假设我们有一个长度为 L = 8 L=8 L=8的时间序列 X X X:
X = [ 2 , 1 , 3 , 4 , 2 , 1 , 3 , 4 ] X = [2, 1, 3, 4, 2, 1, 3, 4] X=[2,1,3,4,2,1,3,4]

通过投影器,我们得到查询 Q Q Q、键 K K K和值 V V V,假设它们为:
Q = [ 1 , 2 , 1 , 2 , 1 , 2 , 1 , 2 ] Q = [1, 2, 1, 2, 1, 2, 1, 2] Q=[1,2,1,2,1,2,1,2]
K = [ 2 , 1 , 2 , 1 , 2 , 1 , 2 , 1 ] K = [2, 1, 2, 1, 2, 1, 2, 1] K=[2,1,2,1,2,1,2,1]
V = [ 3 , 4 , 3 , 4 , 3 , 4 , 3 , 4 ] V = [3, 4, 3, 4, 3, 4, 3, 4] V=[3,4,3,4,3,4,3,4]

我们计算 Q Q Q K K K的自相关函数 R Q , K ( τ ) R_{Q,K}(\tau) RQ,K(τ),假设我们计算出的前 3 个最大的自相关值的时间延迟分别是 τ 1 = 2 \tau_1=2 τ1=2, τ 2 = 4 \tau_2=4 τ2=4, τ 3 = 6 \tau_3=6 τ3=6,然后计算 softmax 归一化后的值。

假设:
R Q , K ( 2 ) = 0.8 , R Q , K ( 4 ) = 0.9 , R Q , K ( 6 ) = 0.7 R_{Q,K}(2) = 0.8, R_{Q,K}(4) = 0.9, R_{Q,K}(6) = 0.7 RQ,K(2)=0.8,RQ,K(4)=0.9,RQ,K(6)=0.7

归一化后得到:
R ~ Q , K ( 2 ) = 0.35 , R ~ Q , K ( 4 ) = 0.40 , R ~ Q , K ( 6 ) = 0.25 \tilde{R}_{Q,K}(2) = 0.35, \tilde{R}_{Q,K}(4) = 0.40, \tilde{R}_{Q,K}(6) = 0.25 R~Q,K(2)=0.35,R~Q,K(4)=0.40,R~Q,K(6)=0.25

自动相关计算

  1. 时间延迟操作 Roll
    - Roll ( V , 2 ) \text{Roll}(V, 2) Roll(V,2) [ 3 , 4 , 3 , 4 , 3 , 4 , 3 , 4 ] [3, 4, 3, 4, 3, 4, 3, 4] [3,4,3,4,3,4,3,4]滚动两位变成 [ 4 , 3 , 4 , 3 , 4 , 3 , 4 , 3 ] [4, 3, 4, 3, 4, 3, 4, 3] [4,3,4,3,4,3,4,3]
    - Roll ( V , 4 ) \text{Roll}(V, 4) Roll(V,4) [ 3 , 4 , 3 , 4 , 3 , 4 , 3 , 4 ] [3, 4, 3, 4, 3, 4, 3, 4] [3,4,3,4,3,4,3,4]滚动四位变成 [ 3 , 4 , 3 , 4 , 3 , 4 , 3 , 4 ] [3, 4, 3, 4, 3, 4, 3, 4] [3,4,3,4,3,4,3,4]
    - Roll ( V , 6 ) \text{Roll}(V, 6) Roll(V,6) [ 3 , 4 , 3 , 4 , 3 , 4 , 3 , 4 ] [3, 4, 3, 4, 3, 4, 3, 4] [3,4,3,4,3,4,3,4]滚动六位变成 [ 4 , 3 , 4 , 3 , 4 , 3 , 4 , 3 ] [4, 3, 4, 3, 4, 3, 4, 3] [4,3,4,3,4,3,4,3]

  2. 加权求和
    Auto-Correlation ( Q , K , V ) = 0.35 × [ 4 , 3 , 4 , 3 , 4 , 3 , 4 , 3 ] + 0.40 × [ 3 , 4 , 3 , 4 , 3 , 4 , 3 , 4 ] + 0.25 × [ 4 , 3 , 4 , 3 , 4 , 3 , 4 , 3 ] \text{Auto-Correlation}(Q, K, V) = 0.35 \times [4, 3, 4, 3, 4, 3, 4, 3] + 0.40 \times [3, 4, 3, 4, 3, 4, 3, 4] + 0.25 \times [4, 3, 4, 3, 4, 3, 4, 3] Auto-Correlation(Q,K,V)=0.35×[4,3,4,3,4,3,4,3]+0.40×[3,4,3,4,3,4,3,4]+0.25×[4,3,4,3,4,3,4,3]

计算结果:
= [ 3.65 , 3.4 , 3.65 , 3.4 , 3.65 , 3.4 , 3.65 , 3.4 ] = [3.65, 3.4, 3.65, 3.4, 3.65, 3.4, 3.65, 3.4] =[3.65,3.4,3.65,3.4,3.65,3.4,3.65,3.4]

编码器-解码器自动相关

对于编码器-解码器自动相关(见图1), K K K V V V来自编码器 { X en } \{X^{\text{en}}\} {Xen},并将调整为长度 O O O Q Q Q来自解码器的前一块。

综上所述,时间延迟聚合块通过选择最佳滞后时间来对齐和聚合时间序列中的相似子序列,从而可以在时间序列分析中更好地捕捉到数据的周期性结构。

  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值