线性Attention的探索:Attention必须有个Softmax吗?
By 苏剑林 | 2020-07-04 | 224857位读者 | 引用众所周知,尽管基于Attention机制的Transformer类模型有着良好的并行性能,但它的空间和时间复杂度都是$\mathcal{O}(n^2)$级别的,$n$是序列长度,所以当$n$比较大时Transformer模型的计算量难以承受。近来,也有不少工作致力于降低Transformer模型的计算量,比如模型剪枝、量化、蒸馏等精简技术,又或者修改Attention结构,使得其复杂度能降低到$\mathcal{O}(n\log n)$甚至$\mathcal{O}(n)$。
前几天笔者读到了论文《Transformers are RNNs: Fast Autoregressive Transformers with Linear Attention》,了解到了线性化Attention(Linear Attention)这个探索点,继而阅读了一些相关文献,有一些不错的收获,最后将自己对线性化Attention的理解汇总在此文中。
Attention
当前最流行的Attention机制当属Scaled-Dot Attention,形式为
\begin{equation}Attention(\boldsymbol{Q},\boldsymbol{K},\boldsymbol{V}) = softmax\left(\boldsymbol{Q}\boldsymbol{K}^{\top}\right)\boldsymbol{V}\label{eq:std-att}\end{equation}
这里的$\boldsymbol{Q}\in\mathbb{R}^{n\times d_k}, \boldsymbol{K}\in\mathbb{R}^{m\times d_k}, \boldsymbol{V}\in\mathbb{R}^{m\times d_v}$,简单起见我们就没显式地写出Attention的缩放因子了。本文我们主要关心Self Attention场景,所以为了介绍上的方便统一设$\boldsymbol{Q}, \boldsymbol{K}, \boldsymbol{V}\in\mathbb{R}^{n\times d}$,一般场景下都有$n > d$甚至$n\gg d$(BERT base里边$d=64$)。
Transformer升级之路:3、从Performer到线性Attention
By 苏剑林 | 2021-04-22 | 56948位读者 | 引用看过笔者之前的文章《线性Attention的探索:Attention必须有个Softmax吗?》和《Performer:用随机投影将Attention的复杂度线性化》的读者,可能会觉得本文的标题有点不自然,因为是先有线性Attention然后才有Performer的,它们的关系为“Performer是线性Attention的一种实现,在保证线性复杂度的同时保持了对标准Attention的近似”,所以正常来说是“从线性Attention到Performer”才对。
然而,本文并不是打算梳理线性Attention的发展史,而是打算反过来思考Performer给线性Attention所带来的启示,所以是“从Performer到线性Attention”。
激活函数
线性Attention的常见形式是
\begin{equation}Attention(\boldsymbol{Q},\boldsymbol{K},\boldsymbol{V})_i = \frac{\sum\limits_{j=1}^n \text{sim}(\boldsymbol{q}_i, \boldsymbol{k}_j)\boldsymbol{v}_j}{\sum\limits_{j=1}^n \text{sim}(\boldsymbol{q}_i, \boldsymbol{k}_j)} = \frac{\sum\limits_{j=1}^n \phi(\boldsymbol{q}_i)^{\top} \varphi(\boldsymbol{k}_j)\boldsymbol{v}_j}{\sum\limits_{j=1}^n \phi(\boldsymbol{q}_i)^{\top} \varphi(\boldsymbol{k}_j)}\end{equation}
脑洞大开:非线性RNN居然也可以并行计算?
By 苏剑林 | 2023-09-26 | 56396位读者 | 引用近年来,线性RNN由于其可并行训练以及常数推理成本等特性,吸引了一定研究人员的关注(例如笔者之前写的《Google新作试图“复活”RNN:RNN能否再次辉煌?》),这让RNN在Transformer遍地开花的潮流中仍有“一席之地”。然而,目前看来这“一席之地”只属于线性RNN,因为非线性RNN无法高效地并行训练,所以在架构之争中是“心有余而力不足”。
不过,一篇名为《Parallelizing Non-Linear Sequential Models over the Sequence Length》的论文有不同的看法,它提出了一种迭代算法,宣传可以实现非线性RNN的并行训练!真有如此神奇?接下来我们一探究竟。
求不动点
原论文对其方法做了非常一般的介绍,而且其侧重点是PDE和ODE,这里我们直接从RNN入手。考虑常见的简单非线性RNN:
\begin{equation}x_t = \tanh(Ax_{t-1} + u_t)\label{eq:rnn}\end{equation}
《方程与宇宙》:二体问题的来来去去(一)
By 苏剑林 | 2010-03-20 | 95221位读者 | 引用为了让大家能够查询到“天体力学”方面的内容,同时锻炼我的表达和计算能力,BoJone构思了《方程与宇宙》这个主题,主要是写一些关于使用数学相对深入地讨论一些天文问题。其实我一直觉得,不用公式是无法完美地描述科学的(当然也不能纯公式),我记得霍金的《时间简史》以及《果壳中的宇宙》等之类的书,都力求不用或者尽可能少用数学公式来表达自己的观点。这种模式对于对于公众来说是很好的,但是对于希望深入研究的朋友来说却难以进行。所以我主张:宇宙是算出来的!
这个主题每一个字都是由BoJone敲击出来的,其中包括引用了《天体力学引论》里面的一些内容,以及加入了BoJone个人的一些见解。由于篇幅长及时间有限问题,BoJone打算分若干次撰写发布,并且尽可能写得通俗一点,力求让有一点微积分基础的朋友就可以弄懂。这里首先发布第一部分。由于时间匆忙等原因,可能会出现一些疏忽,欢迎大家挑错!
精确自由落体运动定律的讨论(二)
By 苏剑林 | 2010-01-09 | 56136位读者 | 引用之前在这篇文章中,我们使用过一个牛顿引力场中的自由落体公式:
$t=\sqrt{\frac{r_0}{2GM}}{r_0 \cdot arctg \sqrt{\frac{r_0 -r}{r}}+\sqrt{r(r_0 -r)}}$——(1)
我们来尝试一下推导出这个公式来。同时,站长在逐渐深入研究的过程中,发现微分方程极其重要。以前一些我认为不可能解决的问题,都用微分方程逐渐解决了。在以后的文章里,我们将会继续体验到微分方程的伟大魔力!因此,建议各位有志研究物理学的朋友,一定要掌握微分方程,更加深入的,需要用到偏微分方程!
首先,质量为m的物理在距离地心r处的引力为$\frac{GMm}{r^2}$,根据牛顿第二定律F=ma,自然下落的物体所获得的加速度为$\frac{GM}{r^2}$。假设物体从距离地心r开始向地心自由下落,求位移s关于t的函数s=s(t).
两本天体力学的旧书...
By 苏剑林 | 2010-02-18 | 34403位读者 | 引用由于BoJone有着天文和数学的共同爱好,所以近一段时间恋上了天体力学,这是天文的内容,也是数学在天文学大施拳脚的地方。每一步计算,都有可能是一个新的发现,这种感觉太棒了,也许这就是我前进的动力之一。
天体力学最重要、最基本的方法就是解微分方程,其中以常微分方程为主,而且更多的是常微分方程组。这对BoJone来说是一个极大的挑战,因为正在读高一的BoJone一切都得自学,这得以微积分、级数、解析几何等数学知识为基础,而且必须做到融会贯通,要把它当成手中的橡皮泥,随意捏弄,形变而质不变。不过幸好能够有轻松自由的学习环境,我相信,我可以!
前些天在淘宝上一位天爱把他收藏的旧书都出了,里面有一本《天体力学引论》和《天体力学教程》,这正是作者苦苦搜寻的天体力学教程呀!其实即便是大学用的天体力学书籍,也是80年代左右的书,这些书很少有更新,所以现在几乎没有出售的,一般有钱也买不到(让我捡了一个大便宜^_^)。店主链接
写在2013年即将逝去之际
By 苏剑林 | 2013-12-31 | 24629位读者 | 引用2013年即将过去,而我的大二也即将过去一半了。这一学期广播台的事情忙了很多,数学物理的进展比想象中稍微缓了一些,主要的进步是在向量分析(场论)、路径积分和微分方程等方面。下学期开始分流了,我选择了非师,但事实上,我更喜欢师范类的课程,我选择非师的唯一原因是选择师范需要修教育学和心理学。幸好,我们创新班的自由度比较多,可以自由选择下学期的课程,我选择了六门数学课程:
1、常微分方程;
2、复变函数;
(这两门纯粹是凑学分的,我觉得他能讲的东西我都懂了,而我认为很重要的部分他不讲...)
3、数理统计;
(这门主要的想法是为路径积分以及统计力学奠基)
4、微分几何;
(主要是广义相对论的奠基,还有理论物理形式)
5、偏微分方程;
(第4、5都是大三的课程,我是去跟大三一起上的)
6、离散数学。
最近评论