经典论文阅读(1)——Informer

当解决长序列时间序列预测问题时,Transformer会存在三个问题:

1)self attention的平方计算:self-attention中的原子点积,导致了每层时间和空间复杂度为O(L^2)

2)长输入时堆叠层的内存瓶颈:J层编码/解码的堆叠使内存使用为O(J \cdot L^2),限制了模型在接收长序列输入时的可扩展性。

3)预测长期输出的速度降低:Transformer的动态解码与RNN一样慢。

本文的贡献如下:

  • 提出了Informer提升长序列时间预测预测问题的预测能力;

  • 提出了ProbSparse self-attention,实现了时间和空间的O(LlogL)的复杂度;

  • 提出了self-attention蒸馏操作,提取J层堆叠层的主要attention分数,并将空间复杂度降低至O((2-\epsilon)LlogL)

  • 提出了生成风格解码器,仅需一步前向操作,同时避免了推理阶段的累积误差。

Informer的模型架构如下:

高效self-attention机制

Transformer中的self-attention分数为A(Q,K,V)=softmax(QK^T/\sqrt d)V,利用概率形式的核平滑器定义第i个查询的注意力:A(q_i,K,V)=\sum_j\frac{k(q_i,k_j)}{\sum_lk(q_i,k_l)}v_j=E_{p(k_j|q_i)[v_j]},其中p(k_j|q_i)=k(q_i,k_j)/\sum_lk(q_i,k_l),且kernel选择了不对称指数内核exp(q_ik_j^T/\sqrt d)

首先对典型自我注意的习得注意模式进行定性评估,发现“稀疏性”self-attention得分形成长尾分布。

query稀疏性度量

定义第i个query的稀疏性度量为M(q_i,K)=ln\sum_{j=1}^{L_k}e^{\frac{q_ik_j^T}{\sqrt d}}-\frac{1}{L_K}\sum_{j=1}^{L_K}\frac{q_ik_j^T}{\sqrt d},若该指标越大,则表示attention概率p分布更多样化,且在长尾self-attention分布的头部有很大几率含有点积对的主要成分。

ProbSparse self-attention

基于上述query稀疏性度量,提出了ProbSparse self-attention,允许每个key仅关注u个主要的query:A(Q,K,V)=softmax(\frac{\overline{Q}K^T}{\sqrt d}),其中\overline{Q}为与q相同大小的稀疏矩阵,仅包含稀疏性度量M(q,K)最高的u个query,设置u=c \cdot ln L_Q

编码器:在内存使用限制下允许处理更长的序列输入

self-attention 蒸馏

利用蒸馏操作,将具有主导特征的优势特征赋予优先级,并在下一层生成一个集中的自注意特征图。从j层到j+1层的蒸馏操作如下:

X_{j+1}^t=MaxPool(ELU(Conv1d([X_j^t]_{AB})))

其中[\cdot]_{AB}为attention block。

解码器:通过一次前向过程生成长序列输出

在长时间预测中,利用生成推理来缓解速度骤降的问题。向解码器输入如下向量:

X_{de}^t=Concat(X_{token}^t,X_O^t)

其中X_{token}^t为起始token,X_O^t为目标序列的占位符。 ProbSparse self-attention通过将masked点积设置为-无穷,应用了Masked multi-head attention。

生成式推理

L_{token}的序列作为起始token,例如,需要预测7天的序列,则将目标序列前面已知的5天序列作为起始token:X_{de}=\{ X_{5d} ,X_O\}

X_O包含目标序列的时间戳。这样,仅通过一次前向过程就可以进行推理。

Loss

选择MSE为loss函数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值