时空之章:将Attention视为平方复杂度的RNN
By 苏剑林 | 2024-03-18 | 42889位读者 | 引用近年来,RNN由于其线性的训练和推理效率,重新吸引了不少研究人员和用户的兴趣,隐约有“文艺复兴”之势,其代表作有RWKV、RetNet、Mamba等。当将RNN用于语言模型时,其典型特点就是每步生成都是常数的空间复杂度和时间复杂度,从整个序列看来就是常数的空间复杂度和线性的时间复杂度。当然,任何事情都有两面性,相比于Attention动态增长的KV Cache,RNN的常数空间复杂度通常也让人怀疑记忆容量有限,在Long Context上的效果很难比得上Attention。
在这篇文章中,我们表明Causal Attention可以重写成RNN的形式,并且它的每一步生成理论上也能够以$\mathcal{O}(1)$的空间复杂度进行(代价是时间复杂度非常高,远超平方级)。这表明Attention的优势(如果有的话)是靠计算堆出来的,而不是直觉上的堆内存,它跟RNN一样本质上都是常数量级的记忆容量(记忆瓶颈)。
“Cool Papers + 站内搜索”的一些新尝试
By 苏剑林 | 2024-08-12 | 15123位读者 | 引用在《Cool Papers更新:简单搭建了一个站内检索系统》这篇文章中,我们介绍了Cool Papers新增的站内搜索系统。搜索系统的目的,自然希望能够帮助用户快速找到他们需要的论文。然而,如何高效地检索到对自己有价值的结果,并不是一件简单的事情,这里边往往需要一些技巧,比如精准提炼关键词。
这时候算法的价值就体现出来了,有些步骤人工来做会比较繁琐,但用算法来却很简单。所以接下来,我们将介绍几点通过算法来提高Cool Papers的搜索和筛选论文效率的新尝试。
相关论文
站内搜索背后的技术是全文检索引擎(Full-text Search Engine),简单来说,这就是一个基于关键词匹配的搜索算法,其相似度指标是BM25。
低秩近似之路(四):ID
By 苏剑林 | 2024-10-30 | 7118位读者 | 引用这篇文章的主角是ID(Interpolative Decomposition),中文可以称之为“插值分解”,它同样可以理解为是一种具有特定结构的低秩分解,其中的一侧是该矩阵的若干列(当然如果你偏好于行,那么选择行也没什么问题),换句话说,ID试图从一个矩阵中找出若干关键列作为“骨架”(通常也称作“草图”)来逼近原始矩阵。
可能很多读者都未曾听说过ID,即便维基百科也只有几句语焉不详的介绍(链接),但事实上,ID跟SVD一样早已内置在SciPy之中(参考scipy.linalg.interpolative),这侧面印证了ID的实用价值。
基本定义
前三篇文章我们分别介绍了伪逆、SVD、CR近似,它们都可以视为寻找特定结构的低秩近似:
\begin{equation}\mathop{\text{argmin}}_{\text{rank}(\tilde{\boldsymbol{M}})\leq r}\Vert \tilde{\boldsymbol{M}} - \boldsymbol{M}\Vert_F^2\end{equation}
简单做了个Logo~
By 苏剑林 | 2014-06-30 | 25882位读者 | 引用【理科生读小说】来谈谈“四两拨千斤”
By 苏剑林 | 2018-01-28 | 34156位读者 | 引用多彩金庸
在金庸笔下(其实很多武侠小说都如此),武功可以分三种:第一种是实打实的猛,如洪七公的降龙十八掌、金轮法王的龙象般若功等,它们的特点是主要特点是刚猛,比如
乔峰的降龙二十八掌是丐帮前任帮主汪剑通所传,但乔峰生俱异禀,于武功上得天独厚,他这降龙二十八掌摧枯拉朽,无坚不破,较之汪帮主尤有胜过。乔峰见对方双掌齐推,自己如以单掌相抵,倘若拼成平手,自己似乎稍占上风,不免有失恭敬,于是也双掌齐出。他左右双掌中所使掌力,也仍都是外三内七,将大部分掌力留劲不发。
——出自《天龙八部》世纪新修版
第二种是以虚招为主,也就是说你不能比对手猛,你骗倒对手也行,比如桃花岛的落英神剑掌:
这套掌法是黄药师观赏桃花岛中桃花落英缤纷而创制,出招变化多端,还讲究姿势之美。她双臂挥动,四方八面都是掌影,或五虚一实,或八虚一实,直似桃林中狂风忽起、万花齐落,妙在手足飘逸,宛若翩翩起舞,但她一来功力尚浅,二来心存顾惜,未能出掌凌厉如剑。郭靖眼花缭乱,哪里还守得住门户,不提防啪啪啪啪,左肩右肩、前胸后背,接连中了四掌,黄蓉全未使力,郭靖自也不觉疼痛。
——出自《射雕英雄传》世纪新修版
第三种是以巧招为主,它不求一味刚猛,也不一味虚虚实实,而且讲究用力恰到好处,起到“以柔克刚”、“四两拨千斤”之效。显然,这种武功的代表作是太极,另外打狗棒法、乾坤大挪移、还有全真教和古墓派的武功也暗含了这个道理,比如:
增强typecho的搜索功能
By 苏剑林 | 2018-01-09 | 67242位读者 | 引用科学空间是使用typecho程序搭建的博客,侧边栏提供了搜索功能,然而typecho内置搜索功能仅仅是基于字符串的全匹配查找,因此导致很多合理的查询都没法得到结果,比如“2018天象”、“新词算法”都没法给出结果,原因就是文章中都不包含这些字符串。
于是就萌生了加强搜索功能的想法,之前也有读者建议过这个事情。这两天搜索了一下,本来计划用Python下的Whoosh库来建立一个全文检索引擎,但感觉整合和后期维护的工作量太大,还是放弃了。后来想到在typecho自身的搜索上加强,在公司同事(大佬)的帮助下,完成了这个改进。
由于是直接修改typecho源文件实现的改进,因此如果typecho升级后就可能被覆盖,因此在这里做个备忘。
探索
通过在Github检索我发现,typecho的搜索功能是在var/Widget/Archive.php
中实现的,具体代码大概在1185~1192行:
微积分学习(一):极限
By 苏剑林 | 2009-08-16 | 26651位读者 | 引用本文不是微积分教程,而是发表自己学习中的一些看法,以及与同好们讨论相关问题。
拿起任何一本“微积分”教程,都可以看见那专业而严格的数学语言,因此很多人望而生畏。的确,由于牛顿和莱布尼茨创立的微积分是不严格的,因此引发了第二次数学危机。经过法国数学家柯西和德国数学家魏尔斯特拉斯的努力,使得微积分有了前所未有的严密化,克服了第二次数学危机。加之后来的第三次数学危机,数学就更加严密了。
但是对于初学者,严密化的微积分令人十分费解。因此,我们不妨按照微积分的创立顺序,即“不严密——严密”的顺序来学习。这样不仅能够让我们更高效率地学习,而且增加学习数学的兴趣。
正十七边形的尺规作图
By 苏剑林 | 2009-08-28 | 39933位读者 | 引用为何正17边形能够用尺规作出来?要如何作?先别急,请看下面的解释:
一个正质数多边形可以用标尺作图的充分和必要条件是,该多边形的边数必定是一个费马质数。换句话说,只有正三边形、正五边形、正十七边形、正257边形和正63357边形可以用尺规作出来,其它的正质数多边形就不可以了。(除非我们再发现另一个费马质数。)
正17边形的尺规作法是高斯在1796年得出的,他也因此决心要成为数学家。关于费马质数,是指形如$2^{2^n}+1$的质数,一开始费马认为对于所有的n,这种形式的数都是质数。可是这似乎是上天的玩笑,目前只发现了当n=0,1,2,3,4的时候$2^{2^n}+1$是质数,其余都是合数。
最近评论