Performer:用随机投影将Attention的复杂度线性化

©PaperWeekly 原创 · 作者|苏剑林

单位|追一科技

研究方向|NLP、神经网络

Attention 机制的 复杂度是一个老大难问题了,改变这一复杂度的思路主要有两种:一是走稀疏化的思路,比如我们以往介绍过的 Sparse Attention 以及 Google 前几个月搞出来的 Big Bird [1] ,等等;二是走线性化的思路,这部分工作我们之前总结在线性 Attention 的探索:Attention 必须有个 Softmax 吗?中,读者可以翻看一下。

本文则介绍一项新的改进工作 Performer,出自 Google 的文章 Rethinking Attention with Performers,它的目标相当霸气:通过随机投影,在不损失精度的情况下,将 Attention 的复杂度线性化。

论文标题:

Rethinking Attention with Performers

论文链接:

https://arxiv.org/abs/2009.14794

说直接点,就是理想情况下我们可以不用重新训练模型,输出结果也不会有明显变化,但是复杂度降到了 !看起来真的是“天上掉馅饼”般的改进了,真的有这么美好吗?

Attention

我们知道,Attention 的一般定义为:

对于标准的 Scaled-Dot Attention 来说, (有时候指数部分还会多个缩放因子,这里我们就不显式写出来了),将整个序列的运算写成矩阵形式就是:

我们主要关心 Self Attention 场景,所以一般有 。在上式中, 这一步相当于要对 个向量对做内积,得到 个实数,因此不管时间还是空间复杂度都是 的。

而对于线性 Attention 来说, ,其中 是值域非负的激活函数。这样一来,Attention 的核心计算量(式(1)中的分子部分)就变成了:

上式左端的复杂度依然是 的,由于矩阵乘法满足结合律,我们可以先算后面两个矩阵的乘法,这样复杂度就可以降为

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值