Informer简单理解

一、输入层Encoder改进:

1、ProbAttention算法计算权值:

原Transformer中的注意力机制时间复杂度N^2,而Informer作为实时性要求高的长时间序列预测算法必然需要提高效率,降低时间开销。

  • 1.简化K:
    • 对每个Q不再与所有K计算,而是随机选取25个K,这样减少计算量
  • 2.简化Q:
    • 每个Q与各自随机选取的25个K计算结果有25个值,选取最大值作为Q结果
    • 对所有Q,选取最大的前25个Q ,因为这25个Q具有较好的区分度
    • 25个Q之外的其余Q使用96个特征V的均值作为Q结果,因为这些Q区分度不大,可以看做均匀分布
      Informer简单理解_第1张图片
  • 得到的输出结果:
  • 32代表patch数量。
  • 8代表8头,即每个向量都有8个不同的Q、K,即从8个角度对序列进行计算。
  • 25即为25个Q。
  • 96为K的总数,虽然我们在计算Q时各自只选了25个K,但是最后Q需要与所有96个K进行内积才能融合所有K的特征。
    在这里插入图片描述

2、Self-attention Distilling算法:

同样是在Transformer中的改进,为了降低时间开销。

  • Distilling算法在每层堆叠Self-attention(Transformer Encoder)时调用Distilling算法使输入序列长度减半,降低了时间开销,同样的QK的选取个数也随之减少。

二、输出层Decoder改进:

  • 预测某天的值需要将该天之前的真实值作为已知输入
  • 多个输出结果一口气输出,不用串行等待前一个数据的输出结果。

你可能感兴趣的:(机器学习,深度学习,数据挖掘)