18 Mar

时空之章:将Attention视为平方复杂度的RNN

近年来,RNN由于其线性的训练和推理效率,重新吸引了不少研究人员和用户的兴趣,隐约有“文艺复兴”之势,其代表作有RWKVRetNetMamba等。当将RNN用于语言模型时,其典型特点就是每步生成都是常数的空间复杂度和时间复杂度,从整个序列看来就是常数的空间复杂度和线性的时间复杂度。当然,任何事情都有两面性,相比于Attention动态增长的KV Cache,RNN的常数空间复杂度通常也让人怀疑记忆容量有限,在Long Context上的效果很难比得上Attention。

在这篇文章中,我们表明Causal Attention可以重写成RNN的形式,并且它的每一步生成理论上也能够以$\mathcal{O}(1)$的空间复杂度进行(代价是时间复杂度非常高,远超平方级)。这表明Attention的优势(如果有的话)是靠计算堆出来的,而不是直觉上的堆内存,它跟RNN一样本质上都是常数量级的记忆容量(记忆瓶颈)。

点击阅读全文...

12 Aug

“Cool Papers + 站内搜索”的一些新尝试

《Cool Papers更新:简单搭建了一个站内检索系统》这篇文章中,我们介绍了Cool Papers新增的站内搜索系统。搜索系统的目的,自然希望能够帮助用户快速找到他们需要的论文。然而,如何高效地检索到对自己有价值的结果,并不是一件简单的事情,这里边往往需要一些技巧,比如精准提炼关键词。

这时候算法的价值就体现出来了,有些步骤人工来做会比较繁琐,但用算法来却很简单。所以接下来,我们将介绍几点通过算法来提高Cool Papers的搜索和筛选论文效率的新尝试。

相关论文

站内搜索背后的技术是全文检索引擎(Full-text Search Engine),简单来说,这就是一个基于关键词匹配的搜索算法,其相似度指标是BM25

点击阅读全文...

30 Oct

低秩近似之路(四):ID

这篇文章的主角是ID(Interpolative Decomposition),中文可以称之为“插值分解”,它同样可以理解为是一种具有特定结构的低秩分解,其中的一侧是该矩阵的若干列(当然如果你偏好于行,那么选择行也没什么问题),换句话说,ID试图从一个矩阵中找出若干关键列作为“骨架”(通常也称作“草图”)来逼近原始矩阵。

可能很多读者都未曾听说过ID,即便维基百科也只有几句语焉不详的介绍(链接),但事实上,ID跟SVD一样早已内置在SciPy之中(参考scipy.linalg.interpolative),这侧面印证了ID的实用价值。

基本定义

前三篇文章我们分别介绍了伪逆SVDCR近似,它们都可以视为寻找特定结构的低秩近似:
\begin{equation}\mathop{\text{argmin}}_{\text{rank}(\tilde{\boldsymbol{M}})\leq r}\Vert \tilde{\boldsymbol{M}} - \boldsymbol{M}\Vert_F^2\end{equation}

点击阅读全文...

30 Jun

简单做了个Logo~

科学空间Logo

科学空间Logo

简单为blog设计了个Logo,虽说是设计,其实也就是简单地把量子力学中路径积分的被积函数$e^{\frac{i}{\hbar}S}$拿过来了。

Logo的主体是一个“S”,含义有那么几个。第一,$S$是科学空间域名的开头,也是英文名称Scientific Spaces的开头;第二,$S$是物理中的作用量的习惯简写,而作用量是我非常喜欢的物理表述形式;同时也就是路径积分的相位函数了。特别地,S还是我姓氏“苏”的首字母。

点击阅读全文...

28 Jan

【理科生读小说】来谈谈“四两拨千斤”

多彩金庸

在金庸笔下(其实很多武侠小说都如此),武功可以分三种:第一种是实打实的猛,如洪七公的降龙十八掌、金轮法王的龙象般若功等,它们的特点是主要特点是刚猛,比如

乔峰的降龙二十八掌是丐帮前任帮主汪剑通所传,但乔峰生俱异禀,于武功上得天独厚,他这降龙二十八掌摧枯拉朽,无坚不破,较之汪帮主尤有胜过。乔峰见对方双掌齐推,自己如以单掌相抵,倘若拼成平手,自己似乎稍占上风,不免有失恭敬,于是也双掌齐出。他左右双掌中所使掌力,也仍都是外三内七,将大部分掌力留劲不发。

——出自《天龙八部》世纪新修版

第二种是以虚招为主,也就是说你不能比对手猛,你骗倒对手也行,比如桃花岛的落英神剑掌:

这套掌法是黄药师观赏桃花岛中桃花落英缤纷而创制,出招变化多端,还讲究姿势之美。她双臂挥动,四方八面都是掌影,或五虚一实,或八虚一实,直似桃林中狂风忽起、万花齐落,妙在手足飘逸,宛若翩翩起舞,但她一来功力尚浅,二来心存顾惜,未能出掌凌厉如剑。郭靖眼花缭乱,哪里还守得住门户,不提防啪啪啪啪,左肩右肩、前胸后背,接连中了四掌,黄蓉全未使力,郭靖自也不觉疼痛。

——出自《射雕英雄传》世纪新修版

第三种是以巧招为主,它不求一味刚猛,也不一味虚虚实实,而且讲究用力恰到好处,起到“以柔克刚”、“四两拨千斤”之效。显然,这种武功的代表作是太极,另外打狗棒法、乾坤大挪移、还有全真教和古墓派的武功也暗含了这个道理,比如:

点击阅读全文...

9 Jan

增强typecho的搜索功能

科学空间是使用typecho程序搭建的博客,侧边栏提供了搜索功能,然而typecho内置搜索功能仅仅是基于字符串的全匹配查找,因此导致很多合理的查询都没法得到结果,比如“2018天象”、“新词算法”都没法给出结果,原因就是文章中都不包含这些字符串。

于是就萌生了加强搜索功能的想法,之前也有读者建议过这个事情。这两天搜索了一下,本来计划用Python下的Whoosh库来建立一个全文检索引擎,但感觉整合和后期维护的工作量太大,还是放弃了。后来想到在typecho自身的搜索上加强,在公司同事(大佬)的帮助下,完成了这个改进。

由于是直接修改typecho源文件实现的改进,因此如果typecho升级后就可能被覆盖,因此在这里做个备忘。

探索

通过在Github检索我发现,typecho的搜索功能是在var/Widget/Archive.php中实现的,具体代码大概在1185~1192行:

点击阅读全文...

16 Aug

微积分学习(一):极限

本文不是微积分教程,而是发表自己学习中的一些看法,以及与同好们讨论相关问题。

拿起任何一本“微积分”教程,都可以看见那专业而严格的数学语言,因此很多人望而生畏。的确,由于牛顿和莱布尼茨创立的微积分是不严格的,因此引发了第二次数学危机。经过法国数学家柯西和德国数学家魏尔斯特拉斯的努力,使得微积分有了前所未有的严密化,克服了第二次数学危机。加之后来的第三次数学危机,数学就更加严密了。

但是对于初学者,严密化的微积分令人十分费解。因此,我们不妨按照微积分的创立顺序,即“不严密——严密”的顺序来学习。这样不仅能够让我们更高效率地学习,而且增加学习数学的兴趣。

点击阅读全文...

28 Aug

正十七边形的尺规作图

为何正17边形能够用尺规作出来?要如何作?先别急,请看下面的解释:

一个正质数多边形可以用标尺作图的充分和必要条件是,该多边形的边数必定是一个费马质数。换句话说,只有正三边形、正五边形、正十七边形、正257边形和正63357边形可以用尺规作出来,其它的正质数多边形就不可以了。(除非我们再发现另一个费马质数。)

正17边形的尺规作法是高斯在1796年得出的,他也因此决心要成为数学家。关于费马质数,是指形如$2^{2^n}+1$的质数,一开始费马认为对于所有的n,这种形式的数都是质数。可是这似乎是上天的玩笑,目前只发现了当n=0,1,2,3,4的时候$2^{2^n}+1$是质数,其余都是合数。

点击阅读全文...