Link:

https://sustcsonglin.github.io/blog/2024/deltanet-1/

https://sustcsonglin.github.io/assets/pdf/talk_250117.pdf

https://zhuanlan.zhihu.com/p/16374862400

1. Attention 里面 如果softmax去掉了,模型的性能到底怎么样,需要哪些额外的计算来替代,这种机制是否也适用于CV模型?

  1. 有些 CV 工作把 ViT 里面的 transformer 换成 linear 的

    比如 Mobile Attention: Mobile-Friendly Linear-Attention for Vision Transformers,https://proceedings.mlr.press/v235/yao24c.html

  2. softmax 的替代?

    1. 可以用核函数$$\Phi$$近似

    2. 只要把 $exp(QK^T$ 拿掉,不用先算出 $QK^T$ 了,就可以用乘法交换律展开为 linear attn 的通项 $S_t=S_{t-1}+v_tk_t^T$

      Softmax 方案

      Softmax 方案

      用核函数 $\Phi$ 近似,可以 KV 先乘,最后乘 Q

      用核函数 $\Phi$ 近似,可以 KV 先乘,最后乘 Q

2. 好几种 linear attn的做法,类似 retnet, mamba, minimax-01, gla, deltanet,其中某一类or某几类,核心的差异点是什么?

image.png

第一代(data-independant decay,固定的 decay 方式):RetNet,Minimax-01

  1. $S_t=\gamma \odot S_{t-1}+v_tk_t^T$

二代(data-dependant decay):GLA,Mamba 1/2,RWKV-6

  1. $S_t=G_t \odot S_{t-1}+v_tk_t^T$

三代:DeltaNet,加了 delta rule,有擦除能力

image.png

3. Fundamentally,为啥 linear attn 对于 S_t 用 L2 loss?不用 linear loss?

  1. 用 linear loss
    1. $S_t$ 的 update rule,会导致用 $Sk_t$ 检索 $v_t$ 有积累误差
    2. 直观上:只要求方向对
  2. 用 L2 MSE loss
    1. $S_t$ 按照 delta rule 进行更新,正好对应 L2 MSE loss
    2. 直观上:不仅要方向对,大小也要对

image.png

4. Parallel Scan 怎么理解更形象?

  1. deltaNet 更新公式:$$S_t = S_{t-1} - \beta_t(S_{t-1}k_t-v_t)k_t^T$$