从拉马努金的传奇,看AI发展的必要

1,550 阅读7分钟

大家好啊,我是董董灿。

讲一个印度传奇数学家——拉马努金的故事。

如果有个人跑过来告诉你,所有的自然数之和等于一个负数。你会有什么反应?

图片

我的第一反应是:Are you kidding me? 而数学家拉马努金说,是真的,我可以证明。

图片

印度传奇数学家——拉马努金在他的著作中给出了很多关于无穷级数的等式,其中就包括上面的自然数之和恒等式。

这个等式看似不合理,但已经被很多数学家证明,其中就包括欧拉、黎曼还有拉马努金。(证明过程大家可以搜索下,肯定能看懂)

数学天才

我一度认为,欧拉公式是世界上最美的公式,因为只有神才能将无理数、有理数、虚数单位、圆周率以及最简单的两个自然数0和1,用一个简单的不能再简单的加法公式来表示,而且是恒等式!

图片

公式中透露着一种无法言说的美感和沧桑感,像在预示着世界末日来临时,万生万物相互作用,终归会趋于虚无。

直到某一天,我看了一部电影,印度传记片《知无涯者》,才知道,原来神不止有一个;原来,最美的公式,不止一个。

图片

自古天才出贫穷。

拉马努金也一样,出生在印度一个贫穷家庭。在去剑桥见到著名数学家哈代之前,拉马努金甚至都没有系统的学习过数学,没错,是个野路子出身。

但是,这不妨碍他已经靠直觉发现了整整两本数学公式了,而且,与民科不同的是,他的公式,都经受住了历史的考验。

只不过,他自己不会证明。

他只知道,这些公式是正确的。凭着直觉,想到一个公式,就写下来,整整记录了两本。

公式中有这样的

图片

有这样的

图片

还有这样的

图片

可以说,拉马努金将人类对于整数和无穷级数的直觉开发到了极致!

熟悉数学的人看到这些,估计和我刚看到的表情是一样的。就连当年哈代在剑桥第一次见到这些公式的时候,也怀疑这是个骗子。

图片

这些等式真的成立么?

“喂,最后一个,没错说的就是你,计算圆周率倒数的那个,你就用一堆加加乘乘的数,可以精确的表示一个圆周率么,那可是无限不循环的无理数啊!还有,你那分母上写着的 9801 的常数项是咋来的?靠直觉写的么?我用 9800 行不行?”

用9800还真不行!

对于第三个计算圆周率的公式,我们可以很轻松的验证其正确性。当我们取K为0时,计算出来的圆周率的值已经逼近了π=3.1415927,如果再让K =1, 那么精度直逼 π=3.14159265359。

你以为这就完了?

拉马努金总共写了14个计算圆周率的公式,个个令人匪夷所思。

图片

拉马努金的一生,一共发现了3000多个公式,以至于后世的很多科学家,靠证明拉马努金的公式,获得了很多数学大奖,包括数学界最有名的菲尔兹奖。

更可怕的是,在他去世的前一年,留下的一些公式,最近被证明其实与描述黑洞有关。

写到这里,我不由自主地膜拜起来——

如果不是神发现了他在泄漏宇宙秘密,会封了他的号,年仅30多岁就英年早逝么?

如果你也对他感兴趣了,可以Google一下,或者去b站观看他的纪录片。

为什么拉马努金的公式这么重要?

因为他的公式涉及到了大量的无穷级数和无理数的逼近等式,且逼近精度高的惊人,而且收敛速度很快。

由于目前的计算机架构都是冯诺依曼架构,任何的计算都需要取指、译码、读写内存、计算等步骤,如果计算所需要的中间数据过多,那么势必会拖慢计算机运行的效率。

图片

现代计算机体系里,对于的加减乘除四则运算,基本上只有加法器和乘法器来实现,其他的复杂运算,也是在加法和乘法的基础上,外加移位或者一些与或非的逻辑电路来组合实现的。

一个简单的除法,在计算机里,就可能会涉及到多条加法、与或非、移位的指令。更别提进行大量科学计算或者人工智能计算的运算量了。

大量的组合运算,会产生大量的中间数据。这些数据都是会访问内存,一旦有内存访问,就有延时开销。

一旦延时,计算就会被拖慢。

快速求平方根倒数

你可能听过一个著名的求快速平方根倒数算法的故事,计算下面的公式。

图片

在著名游戏《雷神之锤3》中,有一个程序员写出了令人费解的代码,来计算一个数的平方根倒数。

float Q_rsqrt(float number) {
long i;
float x2, y;
const float threehalfs = 1.5F;
x2 = number * 0.5F;
y = number;
i = *(long *) &y;
i = 0x5F3759DF - (i >> 1);
y = *(float *) &i;
y = y * (threehalfs - (x2 * y * y));
return y;
}

代码中有几处是常数,比如 0x5F3759DF,如果不深究计算机的内存分配以及浮点数的数据格式,我想,大部分人都是看不懂这个常数项的。

常数项的存在,在计算机的计算流中,仅仅有一步读内存操作,少了很多中间数据的计算。

这也是为什么,在现代高性能(HPC)计算场景下,人们大都倾向于把需要计算的数据先保存下来,随用随取,以提高计算性能。

空间换时间

拉马努金的公式,就有这样的作用。

而且,效果比要我们自己设计的空间换时间的方法好的多,因为这些公式,早已把需要参与计算的值都写在了公式里,而这些值,一般人是推不出来的。

"海洋学家要计算海啸模型,这需要非常复杂的数学计算,不用一些技巧是没法计算的。但只要用拉马努金提供的公式,海啸模型就能大大简化,把不能计算,变成可以计算。"

科学的进步,往往伴随着灵感的出现而有大跃进。就好像坐在苹果树下的牛顿一样,一个苹果,砸出了一个经典物理学。

图片

拉马努金就有这样的直觉和灵感。于是,Google认识到了这个问题,拉马努金机出现了。

拉马努金机

人会消亡,机器不会消亡。

拉马努金虽然英年早逝了,但他的思想要是能保存下来,人类一样会受益无穷。

图片

于是Google在2019年,立项成立了创建拉马努金机的项目。得益于近些年人工智能技术的发展,拉马努金的项目运行的还算不错。

所谓拉马努金机,其实就是训练一个人工智能算法来模仿拉马努金的思考方式,然后生成一堆的数学公式,让人类科学家们去证明这些公式的正确性。

人类科学家给AI当助手,去证明AI靠直觉写出来的公式的正确性。

据说,这个项目已经取得了不错的进展,拉马努金机已经写出了很多公式,其中就包括高斯一生所发现的关于π的一些经验公式。

或许在不久的将来,拉马努金机真的可以发现自然界中的秘密也未可知。

One More Thing

作为继牛顿之后最伟大的物理学家,爱因斯坦去世后,他的大脑被切分成240片,永久的保存下来供人研究。

如果当时有了更先进的AI技术,或许保存下来的不是爱因斯坦的大脑,而是他的思想。

本文作者原创,请勿随意转载,转载请联系作者哦,作者很好说话的