20 Aug

随着NLP的发展,像Word2Vec、Glove这样的词向量模型,正逐渐地被基于Transformer的BERT等模型代替,不过经典始终是经典,词向量模型依然在不少场景发光发热,并且仍有不少值得我们去研究的地方。本文我们来关心一个词向量模型可能有的疑惑:词向量的维度大概多少才够?

先说结论,笔者给出的估算结果是
\begin{equation}n > 8.33\log N\label{eq:final}\end{equation}
更简约的话可以直接记$n > 8\log N$,其中$N$是词表大小,$n$就是词向量维度,$\log$是自然对数。当$n$超过这个阈值时,就说明模型有足够的容量容纳这$N$个词语(当然$n$越大过拟合风险也越大)。这样一来,当$N=100000$时,得到的$n$大约是96,所以对于10万个词的词向量模型来说,维度选择96就足够了;如果要容纳500万个词,那么$n$大概就是128。

点击阅读全文...

6 Jul

Transformer升级之路:10、RoPE是一种β进制编码

对关心如何扩展LLM的Context长度的读者来说,上周无疑是激动人心的一周,开源社区接连不断地出现令人振奋的成果。首先,网友@kaiokendev在他的项目SuperHOT中实验了“位置线性内插”的方案,显示通过非常少的长文本微调,就可以让已有的LLM处理Long Context。几乎同时,Meta也提出了同样的思路,带着丰富的实验结果发表在论文《Extending Context Window of Large Language Models via Positional Interpolation》上。惊喜还远不止此,随后网友@bloc97提出了NTK-aware Scaled RoPE,实现了不用微调就可以扩展Context长度的效果!

以上种种进展,尤其是NTK-aware Scaled RoPE,迫使笔者去重新思考RoPE的含义。经过分析,笔者发现RoPE的构造可以视为一种$\beta$进制编码,在这个视角之下,开源社区的这些进展可以理解为对进制编码编码的不同扩增方式。

点击阅读全文...

28 Jul

三百年之谜——费马大定理(历史+证明)

在“数学研发论坛”看到了,感到不错,转给大家!
原文是:http://bbs.emath.ac.cn/thread-1651-1-1.html

费马大定理,主要是指:

方程$x^n+y^n=z^n(n>=3,n \in R^+)$,x,y,z不可能同时为正整数。

具体内容请看:
http://zh.wikipedia.org/wiki/%E8%B4%B9%E9%A9%AC%E5%A4%A7%E5%AE%9A%E7%90%86

点击阅读全文...

5 Aug

两道无穷级数:自然数及其平方的倒数和

证明下列级数发散或者收敛:
(1) $\sum_{x = 1}^\infty \frac{1}{x} = 1 + \frac{1}{2} + \frac{1}{3} + \frac{1}{4} + ...$
(2) $\sum_{x = 1}^\infty \frac{1}{x^2} = 1 + \frac{1}{2^2} + \frac{1}{3^2} + \frac{1}{4^2} + ...$

一眼看上去,由于$1/x,1/{x^2}$都会趋向零,所以它们应该是收敛的。真的是这样吗?

点击阅读全文...

20 Mar

《方程与宇宙》:二体问题的来来去去(一)

二体问题的轨道模拟

二体问题的轨道模拟

为了让大家能够查询到“天体力学”方面的内容,同时锻炼我的表达和计算能力,BoJone构思了《方程与宇宙》这个主题,主要是写一些关于使用数学相对深入地讨论一些天文问题。其实我一直觉得,不用公式是无法完美地描述科学的(当然也不能纯公式),我记得霍金的《时间简史》以及《果壳中的宇宙》等之类的书,都力求不用或者尽可能少用数学公式来表达自己的观点。这种模式对于对于公众来说是很好的,但是对于希望深入研究的朋友来说却难以进行。所以我主张:宇宙是算出来的!

这个主题每一个字都是由BoJone敲击出来的,其中包括引用了《天体力学引论》里面的一些内容,以及加入了BoJone个人的一些见解。由于篇幅长及时间有限问题,BoJone打算分若干次撰写发布,并且尽可能写得通俗一点,力求让有一点微积分基础的朋友就可以弄懂。这里首先发布第一部分。由于时间匆忙等原因,可能会出现一些疏忽,欢迎大家挑错!

点击阅读全文...

10 Oct

从费马大定理谈起(十):x^3+y^3=z^3+w^3

Ramanujan

Ramanujan

在正式开始数学之前,我们不妨先说一个关于印度著名数学天才——拉马努金的轶事。拉马努金病重,哈代前往探望。哈代说:“我乘出租车来,车牌号码是1729,这数真没趣,希望不是不祥之兆。”拉马努金答道:“不,那是个有趣得很的数。可以用两个立方之和来表达而且有两种表达方式的数之中,1729是最小的。”(即$1729 = 1^3+12^3 = 9^3+10^3$,后来这类数称为的士数。)利特尔伍德回应这宗轶闻说:“每个整数都是拉马努金的朋友。”(来自维基百科

从这则轶事中,我们发现,确实存在的某些整数,可以表示为两种不同的立方和,换句话说,不定方程:
$$x^3+y^3=z^3+w^3$$

点击阅读全文...

12 Oct

集合的划分与贝尔数

集合上的一个等价关系决定了几何的一个划分,反之亦然,这直观上是不难理解的。但是,如果我要问一个有$n$个元素的有限集合,共有多少种不同的划分呢?以前感觉这也是一个很简单的问题,就没去细想,但前天抽象代数老师提到这是一个有相当难度的题目,于是研究了一下,发现里面大有文章。这里把我的研究过程简单分享一下,读者可以从中看到如何“从零到有”的过程。

以下假设有$n$个元素的有限集合为$\{1,2,\dots,n\}$,记它的划分数为$B(n)$。

前期:暴力计算

$n=3$的情况不难列出:
$$\begin{aligned}&\{\{1,2,3\}\},\{\{1,2\},\{3\}\},\{\{1,3\},\{2\}\},\\
&\{\{2,3\},\{1\}\},\{\{1\},\{2\},\{3\}\}\end{aligned}$$

点击阅读全文...

6 Dec

人生苦短,我用Python!

Python数据分析与挖掘实战

Python数据分析与挖掘实战

暑假的时候,应泰迪公司之约,我为他们的书《MATLAB数据挖掘与挖掘实战》编写了姊妹版:《Python数据挖掘与挖掘实战》(还有一个姊妹版是R语言的),主要的工作内容就是编写Python的介绍,以及把书上的MATLAB代码翻译为Python版本的。我欣然接受了,一来可以兼职赚点零花钱,二来可以系统地训练一下自身的Python编程,再则,还可以体验一次MATLAB、R、Python的大PK。现在书本已经正式发行,亚马逊当当京东、淘宝都可以找到,我也很荣幸被列为作者之一,于是这便算是我出版的第一本书了。

点击阅读全文...