颠覆编程方式的感知编码:Wolfram雄心勃勃的全新计算模式
2002 年,出生在英国的科学家、程序员及创业家 Stephen Wolfram 的《一种新科学》刚刚发布,其颠覆传统的追求知识方式引发的惊愕、争议与指责就已经铺天盖地。上个月初,他在博客中披露了自己的一个即将完成的新项目,称该项目将会对技术世界乃至于技术以外的世界产生深远影响。
VB 的 John Koetsier 在看了 Wolfram 的东西后说,那东西确实令人吃惊。无论你对他那本书的看法如何,有一件事情必须承认,他是个天才。
知识+计算=大事物
Wolfram 的父母是二战前逃离德国到英国去的犹太人。他从小就显露出了过人之处。12 岁时他已经撰写了一部物理词典,14 岁时已经完成了 3 本粒子物理方面的书,15 岁发表了第 1 篇科学论文。
1988 年,他做出了科学计算平台 Mathematica;2009 年,他发布了计算知识搜索引擎 Wolfram Alpha。而他的最新项目,则是这两者的完美联姻:
Mathematica 是完美的精确计算引擎,WolframAlpha 则是有关世界的一般信息。现在我们把二者结合到了一起。
这种结合只是大图景的一部分。新项目还包括了自然语言编程——这种自然语言并不是仅靠自然语言来完成编程,而是说开发者可以利用一部分的自然语 言。此外应用中的一切会有一个新的定义,从代码到图像,从输入到结果,一切均可以符号表达式的方式使用和拓展。自动化也到了全新的水平,而且编程语言的开 发跟以往完全不一样,抛弃了以往从小开始、以敏捷构造功能,建设库和模块为核心的做法,转为一种具备大规模整体性的东西—将数据和代码合二为一。还有就是 对计算的全新专注,其对世界的了解甚至比程序员还要多。
野心比 Google 的知识图谱大多了
跟我们在 Wolfram Alpha 做的事情相比,知识图谱的心气就小得多了,那仅仅是维基百科和其他一些数据
Google 希望理解对象和事物及其关系,以便给出回答而不仅仅是结果。但 Wolfram 希望让世界变成可计算的,这样的话计算机就可以回答诸如“现在国际空间站在哪里”之类的问题。这需要一定水平的机器智能,它得知道国际空间站是什么,还得 知道它在太空中,知道它正在绕着地球轨道飞行,还得知道它的速度以及目前的轨道位置。
这不是静态的数据,而是计算与知识的结合。现在 WolframAlpha 做到了这一点,但这还仅仅是个开始。
Wolfram 语言组件
Wolfram 认为,搜索引擎不擅长这个东西,因为太凌乱了。搜索引擎中的问题会有很多答案,其适用性与正确性也各异。这没办法计算,不够简洁,无法进行编程或注入系统。
Wolfram 说,让世界成为可计算的,这是一个比产生维基百科式信息要大得多的目标……一个迥然不同的东西。我们试图要做的远比这要更加雄心勃勃。
这件事情是如此的富有野心,意义是如此的深远,甚至到了难以描述的地步。Wolfram 说在他这辈子做过的各种事情里面,这是最复杂的一个,复杂到可怕,难以解释。请记住,这是一个曾经写过粒子物理论文的人。这件事情需要渊深知识,牵涉面 广,意义深远——Wolfram 称之为伸到编程、科学、知识及商业等不同领域的“触须”。
让计算机做这件事情
“总的说来,我们试图做的是,只要你能描述得出来想要什么,计算机就替你做。人来定义目标,然后计算机尽量去理解意思,然后尽最大努力去执行。”
Wolfram 说。
他还进行了现场演示。
大约 30 秒钟,Wolfram 就创建了一个小小的 web 应用,应用可以在网页上画圆,里面还包括有一个用户界面,通过它访客可以让圆圈变大变小或变颜色。编程如此简单,要感谢 Wolfram 语言,由于它可以访问到浩瀚的知识库——所以知道什么是圆,且可以画圆,它还可以自动提供 web——原生的用户控制来操纵这个圆。这个例子只是个小意思,但过了 30 秒,Wolfram 又写出了一个代码片段,代码实现了对南美国家的定义然后展示了相应国家的国旗。然后他调出一幅欧洲地图,通过计算的方式以不同的颜色高亮显示德国和法国,整个过程只需几秒钟。
Wolfram 语言解决“南美洲有哪些国?它们的国旗是什么?”这个问题
之所以能做出这样的东西,是因为新的 Wolfram 计算框架包括了 Mathematica 20 年开发过程中形成的复杂而精确的算法,再加上 Wolfram Alpha 内部的知识引擎。结果是惊人的。
通过信息进行自动化
Wolfram 说这种自动化水平要比以往任何时候都要高,其强大令人难以置信,只要是 Wolfram Alpha 知道的,app 都知道。
这是因为 Wolfram 的自然语言处理技术。它知道南美洲是一个洲,因为知识引擎 WolframAlpha 知道这一点。同样地,它知道哪些国家属于南美洲,其国旗是什么,也了解相应国家的人口、地图形状及概况,也许还包括成千上万个其他的数据元素。而获取这一 切只需输入“南美洲”即可。
1、2 行代码即可完成一幅高亮显示德国和法国欧洲地图的调用。粗体的行是 Wolfram 自己输入的
换句话说,“南美洲”并不是一个被赋值的变量或待实例化的对象或类,而是一个机器知道和理解的短语,其含义、意思和关联均可毫不费力地植入程序中,且不需要外部的数据来源。而且该知识来源还会不断更新和发展来匹配不断更新和变化的世界。
这将是开发者开发应用的一大变化,而且这种编程方式不存在现实限制。
Wolfram 进一步以南美洲作为类比,说正如我们了解厄瓜多尔的事情(如人口)一样,我们也可以了解 推ter API 的东西。
由于具备快速创建应用的能力,Wolfram 将成为游戏颠覆者。
自然语言输入——小孩也能写代码?
它改变了应用开发经济,因为以往需要数小时或数周完成的事情现在只需要几分钟。许多人都一些有趣的想法、算法或应用创意,但苦于缺人缺钱或缺时间而无法完成。Wolfram 目前正在跟这些人会面,这一切将会改变。
Wolfram 说自己的新项目将会催生一大批新的初创企业——在数小时内开发出一种算法或自动化系统将变成现实。
它还改变了程序员的范畴,因为代码将不再是动辄成千上万行,而是 20 到 200 行。这意味着娃娃也能写代码,菜鸟也能做出精彩的应用。
你想看图还是看代码?
Wolfram 说,有了自然语言输入,谁将成为富有经验的程序员将会被改变。书写代码将被大大缩短——这是一门可以让你马上就能把事情干完的语言,不是那种“hello world”也要写上 10 行。而它将为书写复杂程序的人铺设好了坦途。
但这也会让你有点发懵。
感谢 Mathematica 的历史悠久以及 Wolfram Alpha 的大脑,Wolfram 语言知道许多东西,也能通过内置函数对其进行操作——包括数据操纵和分析、可视化及制作图表,图像、地理、几何、声音、科学数据以及几乎自动化的用户界面 开发,进入数据、社交数据,甚至在云端的部署。这是所有一切东西的大杂烩,甚至还要多得多,这正是它最晦涩难懂的地方——因为它跟传统的数据与代码及界面 分离的做法实在是太不一样了。
当然,在具备自然语言输入的同时,Wolfram 语言也有语法和结构以及操作符等,那些创建无缺陷的、可按你思路运行的程序所必须的构造物。这也意味着这门语言还是需要学习的—并非说谁都可以马上就能使唤它来开发应用。
Wolfram 的用武之地:Raspberry Pi,智能手机、设备
这些应用有很多用武之地。
Wolfram 最近发布了一个 Raspberry Pi 版的 Mathematica。这不仅令人好奇:承载着浩大知识的 Wolfram 语言是如何被容纳进 Pi 小小的身躯内的?
奥秘在于它的引擎非常便携,但显然知识却是非常庞大的,所以 Wolfram 语言所需要的知识是集中存放到云端的,在处理时引擎会向云端索取知识。
Wolfram 语言还可支持桌面应用、移动应用、web 应用的开发,且既可支持公有云也可支持私有云。对于移动应用将会嵌入一个 Wolfram 引擎,然后通过 API 的方式去获取所需的数据。而所有代码均可复制粘贴于云端、设备及桌面之间。
不过不想学 Wolfram 语言也没问题,Wolfram 说像 Java 那样的原生语言可以通过函数调用来利用 Wolfram 引擎。从表面上来看开发者仍只是在调用 Java,但实际上后台会访问 Wolfram 的云。
感知编码,智能对象
由于 Wolfram 语言具备很高的自动化能力和智能水平,且对待数据和代码的方式十分类似,所以这种语言是不是可以被认为是具有感知能力的代码呢?
从某种程度来说是这样的。Wolfram 解释说,他们试图做的,是让程序员设定目标,然后由计算机去琢磨如何实现目标。
但这并不是要让机器去创新手段,不过 Wolfram 也对让计算机去创新、创作感兴趣。比方说 Wolfram Tones 就是这样。这款音乐制作应用可以根据用户的输入自动创作音乐(在他的《一种新科学》中提到过)。这种东西他说很多都在“秘密地”搞,往往是替玩对冲基金的金融服务公司弄的。而 Wolfram 引擎已经为如果做事和展示结果添加了一定程度的智能。
当然这种智能跟人工智能仍相去甚远,但这一天也许会来的。可能是以大规模分布的形式。
Wolfram 说,视定义的不同,目前全球大约有 100-150 亿台计算机,而且很多设备内部也有计算机。在不久的将来,几乎所有的东西都将由计算机组成——甚至很小的东西。到那时,计算的作用甚至比现在还要大,而且 那时候各种级别的东西都将是可适配的、可修改的。
Wolfram 所指的也许是技术奇点。当我们到达技术奇点时,智能将成为万物唯一的定义因子,而且那时候的技术发展节奏之快已非现在的人们所能理解了,世界变化越来越快,快到人类已经无法想象。
如果这个奇点真的到来,可能就是智能系统发展的结果。也许 Wolfram 语言就是此类系统的先驱。
也因此 Wolfram 语言才会如此的难以理解和解释,正如 Wolfram 在博客中所述:
来自: 36氪在我看来,现在还是它将会带来的结果的早期阶段。但我已经可以确定该项目是我们迄今为止最重要的一个。这需要艰苦卓绝的工作,但它所展现的景象会令人无比兴奋。我已经迫不及待,恨不得“即将推出”变成所有地方的人都能使用的实际系统……