在我开始着手撰写关于我称之为“数据时代”的特刊的过程中,差不多到一半的时候,资深副编辑瑞安·布拉德利(Ryan Bradley)注意到斯蒂芬·沃尔夫勒姆(Stephen Wolfram)创建了一个数据历史发展的重要里程碑时间表。我们认为,这将是我们分析数据日益增长的力量(若运用得当,能够阐明和影响我们的世界)时,绝佳的背景粘合剂。幸运的是,沃尔夫勒姆同意了,这个时间表在我们杂志页面的底部作为连接内容呈现。当时,沃尔夫勒姆即将主持他在华盛顿特区举行的第二届年度沃尔夫勒姆数据峰会,这是一个汇聚数据库策展人、提供商和开源专家,共同探讨如何最好地培育、处理和释放我们几何级数增长的数据宝藏的聚会。沃尔夫勒姆的数据处理答案引擎 Wolfram Alpha,是一项极其宏大且乐观的事业。它将他自己的 Mathematica 软件的算法能力与强大的数据策展工作相结合,以回答用户可能甚至没有意识到的问题。我认为他是一个对数据感兴趣的聊天对象。
这次电话持续了大约一个小时四十五分钟,从我感谢他允许我们利用他的策展技能,并询问他是否同意我们关于大数据日益增长的观点的过程中,到沃尔夫勒姆描述他关于宇宙起源和定律的算法追求(基本上是对自然界精妙的不可约复杂性的一种赞美,而不是对人类工程迭代的缓慢简单性的赞美)。过程非常愉快。我为了清晰起见编辑了完整的文字记录,并稍作精简以便于您的阅读,但除此之外,我认为值得全文阅读。请享受这段旅程。
马克·詹诺特:首先,感谢您允许我们在“数据”特刊中使用您的时间表。我们把它作为一项有用的工具,引领读者浏览整个特刊,并以一种不错的方式将本期杂志包装起来,所以真的很棒。
斯蒂芬·沃尔夫勒姆: 我一直认为系统化数据对文明的进步很重要,但我必须说,在我们整理海报时,我才真正意识到,文明中重要方向的创造过程是如何因为存在关于某某事物的系统化数据,或者人们能够依赖数据的可用性而成为可能的。当然,在历史进程中也发生了一些因收集大量数据而带来的坏事,但我更愿意关注积极的进步。
您选择在时间表中省略了负面内容吗?
我对历史了解不深,但一旦你可以进行人口普查,你就可以决定,“我们不喜欢他们是谁,我们可以根据人口普查找出他们在哪里。”
我想,任何事情都是如此——任何能带来进步的事物都会让我们暴露于滥用和负面结果。我们正在发表的一篇文章是关于 阿尔伯特-拉斯洛·巴拉巴西(Albert-László Barabási) 及其当前关于枢纽和节点思考的意义,以及了解哪些是行动枢纽和节点。一旦你知道了,你就可以利用这些知识来控制这个系统,当然,虽然这样做会有很多积极的结果可以预见,但你也很容易想象到所有潜在的负面后果。
我参与过这方面的两个方面。一个方面是数据作为内容,另一个方面是大量由数据表示的事物的科学。在这两个方面,我都看到了所有这些:人们担心了解恐怖组织是如何建立的,了解如何通过只针对重要人物而不关注追随者来最小化营销预算,等等。我只是出于好奇,你们的“数据”特刊涵盖了哪些内容?
所以,我首先要提出这个观点,即我们在数据收集、存储和处理能力方面的指数级增长,已经使我们达到了一个真正的范式转变的时刻,无论是在数据如何帮助我们理解世界,还是如何改变世界方面。你同意这个观点吗?这与您自己关于数据和计算的工作如何契合?
这里有几个不同的分支。让我们先从“当你提到数据时,今天世界上数据有哪些来源?”开始。一个数据来源是人们编译的数据——人口普查数据、化学物质性质数据。这主要是人工编译的数据。现在发生的是,在很多不同领域都有非常大的数据存储库。其中许多是在30年前开始的,它们一直在逐渐积累,不断增长。这些数据存储库最初是因为有了大型机,然后是后来的计算机而成为可能的。这使得许多人真正开始能够创建这些数据存储库。所以,数据的第一来源是人类数据的聚合。另一个数据来源,正在大规模上线,是传感器数据。目前,有一些公共传感器数据,无论是来自世界各地的地震仪,还是交通流量传感器,还有很多更私人的基于传感器的用户为自己目的而使用的数据。这导致了大量相当同质化的数据。例如,“河流的水平随时间的变化,每分钟记录过去一段时间的值。”
每个传感器数据集中的数据都是同质的,但在传感器数据集之间不一定同质,以至于可以进行跨计算?
那是正确的,但每一个单独的数据点,收集它不需要额外的努力。而第三个数据来源本质上是计算宇宙生成的数据——也就是说,我们通过算法可以出去弄清楚的东西。运行这些算法并弄清楚可能需要付出很多努力,但一旦弄清楚了,我们就可以存储它并将其用作数据。我们制作了关于数学函数性质的巨大表格,等等,其中每一项都需要付出很多努力来生成,但一旦生成,它就只是你可以使用的东西。我认为,在实际层面,这些就是数据的来源。现在的问题是,人们用这些数据做什么?我认为,原始数据本身——专家可以利用原始数据本身;其他人通常不想要实际的原始、原始数据。他们通常想基于这些数据回答某个问题,而为此,你不仅需要数据,还需要知识,以及根据这些知识回答问题的能力。
几年前在TED上,蒂姆·伯纳斯-李(Tim Berners-Lee)带领听众高呼“更多原始数据!”他正在努力创建数据网络。而你的 Wolfram Alpha 项目不是提供原始数据,而是提供一个接口,让原始数据转化为有意义的内容。
是的,我们正在努力做的事情——就我而言,所有这些数据的妙处在于,有可能回答关于世界的许多问题,并对可能发生的事情做出预测等等。但是如何可能呢?专家可以进去说:“嗯,天哪,我们有这些数据,我们知道某某日的天气如何,我们知道某某地点的经济状况如何,所以我们现在可以从中找出一些东西。”但我感兴趣的是,一个人是否可以直接走到电脑前,然后说:“好吧,回答我这个问题。”
所以,当你有一个问题时,就不需要再设计一套极其复杂的方法来获取原始数据,你知道——找到数据,然后处理数据。它被自动地、神奇地处理好了。
是的。例如,假设你想找到从地球上的我这里看,月亮现在会在哪里。这里有底层数据。这是月球轨道的轨道元素,有经纬度,有各种时区数据,等等。但是,应用这些轨道元素并弄清楚“好吧,利用这些坐标系统我们可以计算出这个东西”等等,这需要一定的距离。另一种情况可能是,你知道某事的价值,并且你知道一些经济指标,并且你知道某个国家的人口,那么你就可以得出人均值,并将其与世界上所有其他国家进行比较。在第二种情况下,这几乎是一个浅层、几乎是算术式的过程,而在第一种情况下,它涉及到一些物理学才能实际去计算原始数据并回答你想回答的问题。如果有人说,“这里有一张人造卫星轨道元素的表格。好吧,这很好,如果你碰巧上过一些天体力学课程,你就可以从它推断出国际空间站现在在哪里。这是一种比数据更进一步的计算步骤。所以,在我看来,数据是我们可以了解世界知识的底层。实际上,需要两件大事;一是数据,二是算法。所以,在人造卫星这类事情的例子中,数据是:卫星轨道的元素是什么?然后是算法,即:卫星如何在引力场中实际传播,并为我可能提出的“卫星何时会从我头顶升起?”的问题提供一个实际的答案。
对我们来说,在我们试图理解如何使用数据时,还有另外两个问题。一个是,这些数据就在那里,但我如何实际访问,如何索取一块数据?下一个问题是,可能有一个关于某个特定城市大小的数据,但我说的是哪个城市?因为这个城市可能有俗名,可能有标准的官方政府名称等等。我该如何实际引用这些东西?这并不是原始数据的一部分。也不是传感器能为你捕捉到的东西。这是一种奇怪的东西,连接了数据与我们的人类经验以及我们引用事物的方式。
机器智能,我们和我们的数据之间的中介,需要理解我们的语言才能帮助我们访问数据。
人们需要以一种可以吸收的方式将这些知识喂给人类。这需要对人类吸收信息的方式有一定的理解。它需要向我们学习。数据本身,传感器可以捕捉到所有能捕捉到的东西,但除非我们的系统能够理解我们想要什么,否则我们无法与之联系。关于所有这些数据,还有一点是,你经常可以生成很多结果,很多答案,然后问题是,你如何呈现这些东西?这也是一个非常以人为中心的事情。你可以说,“嗯,这是一个结果;这是一个拥有数百万节点的巨大网络,全部都像微型意大利面一样缠绕在一起,但没有人能够有意义地吸收它。”人们需要以一种可以吸收的方式将这些知识喂给人类。这需要对人类吸收信息的方式有一定的理解。这是又一个在原始数据之上的元层,即,你应该如何将其呈现给人类?在 Wolfram Alpha 中,我们发现有趣的一件事是,我们做过一些实验,我们说,我们只给人们答案——一行,答案。人们会问“意大利的 GDP 是多少?”有一个答案。它是多少万亿美元。嗯,事实证明,人们不仅仅想要答案。他们对图表更感兴趣——这个数字的历史是什么,这个数字在世界各国中的排名如何,这个数字换算成本币是多少?人们会快速吸收自己所需事物的环境背景,以便吸收信息。
但是你如何定义环境背景的界限呢?你可以朝着那个方向无限延伸,以至于再次难以穿越那些丛林。
是的。例如,在 Wolfram Alpha 中,我们付出了很多努力来尝试说,好吧,你首先会呈现哪些其他东西?然后你按下“更多”按钮,看到更多,再按一次,再按一次,你跟着链接走,继续前进。所以,什么是最重要的,什么其次最重要。这些都是计算知识传递的元信息,超出了原始数据本身。
关于如何呈现信息——焦点长度应该是多少——这些决定是由人类做出的,还是在一定程度上可以自动化?
我们已经将其自动化了一部分。有一些标准,例如,当你制作一个图表时。我们试图从人类的经验中抽象出制作一个好看、易于理解的情节的设计原则。然后我们可以自动应用这些设计原则。例如,当你布局一个网络,显示这个连接到那个,那个连接到这个,我们已经基本完全自动化了布局过程,这是一个——我记得多年前,我曾让人类为我做这些布局,如果你知道这个连接到那个,那个连接到这个,要做一个好的布局是很困难的。我记得我曾经自己做过一些大型的布局,你实际上会拿到细线,然后你进行布局,并将它们放在不同的位置,有时看起来很好,你可以理解,有时则不行。这是我们已经完全掌握的一个例子。我们完全自动化了这一过程。
那么,如何弄清楚什么才是一个好的图表呢?
嗯,你可以推断出一些原则,说明什么会使它变好,什么会使它变坏。如果你愿意,你可以将这些东西与人类认知理论联系起来。我一直以来所做的通常比这更实用。借鉴一些关于人类认知的知识,然后说,“这些是设计规则;现在想办法创建一个算法,该算法将生成满足这些设计规则的视觉输出。”在这个层面上,你可以问一个问题,比如,当你输入一个数量时,比如 235 英寸。你想知道的是,根据 235 英寸。你可能想把它转换成英尺,可能想把它转换成米,但你可能不特别关心把它转换成微米。这里有一个问题,你如何找出人们希望看到什么单位的转换?在这种特定情况下,我们为许多不同类型的单位找到了答案,我们查看了网络,查看了学术文章等,我们对所有这些进行了处理,我们查看了当人们谈论英寸、米、厘米、微米、纳米等单位时,他们是否说“一千万纳米”?可能不会。他们会说“230 纳米”吗?绝对会。事实证明,你可以从这个数据集——也就是网络——中推断出一个分布,关于人们如何谈论单位。
我以为在 235 英寸的情况下,人们通过你的计算引擎输入这个的可能性有多大?我以为更自然的说法是“235 英寸等于多少米”之类的。令人惊讶的是,他们没有再进一步。
事实并非如此。他们不会。因为如果你考虑一下——你计算出某物是 235 英寸。然后你说,这到底是什么?所以你输入它,我们会告诉你它是多少英尺、多少米、多少厘米或多少码,然后他们说,“这就是我想知道的。”
所以,将它换算成米超出了他们理解他们想知道的东西的范围。
例如,假设他们正在阅读《流行科学》杂志的一篇文章,文章中提到某物是某个尺寸,某个升数之类的。然后那个人说,“嗯,那是什么?”然后他们输入它,点击链接,它告诉你实际上也等于 22.3 加仑之类的。嗯,也许我们还生成了一些比较,例如可乐瓶大小的多少倍。然后他们说,“哦,现在我明白了,我继续,我可以处理这件事了。”这是将原始数据与我们人类实际拥有的知识图谱联系起来。真正的问题是如何将真实数据转化为对人类有用、人类可以吸收的有用事物。其中一部分是你必须实际计算原始数据。另一部分是,你必须提供计算结果,并且该结果要与人类的需求相匹配。
在我看来,使数据对人类可理解所涉及问题的范围或数量几乎是无限的。弄清楚人们需要以何种方式翻译才能使事物变得可理解,这项任务似乎极其耗费劳力。
你必须考虑世界上有多少种事物。有多少个知识领域?例如,像我这样处理数据的人,我可以告诉你一些随机的事实,比如世界上有六百万条街道,典型的杂货店里有三万件商品,我可以读出很多这样的东西,但这些种类的领域是有限的。在每个领域中,都有大量的相似事物。而领域的数量,有数千个。在 Wolfram Alpha 中,我们已经处理了几千个这样的领域。每次遇到一个领域,都会出现新的、不同的问题。选择一个领域——例如植物。关于植物有各种各样的问题:它是哪个物种,能长多高,如何收割。植物在一定的临界温度下生长,它们开始发芽。这与气候有关,这如何联系起来?当你遇到一个新领域,比如植物,你会说,“这与这个、那个和那个其他领域相当相似,但它有自己独特的细微差别需要处理。”每一个这样的领域,都需要相当多的努力,但它是有限的,而且这些领域也是有限的。在 Wolfram Alpha 项目中,有两个基本的观察让我决定这个项目并非完全不可能。
当你得出那个结论时,那一定是个美好的日子。
我在完全确定结论之前就开始了这个项目。其中一个是:世界上有大量数据,但它是有限的。不是说有太多的数据。就像网络一样。网络非常庞大。但有多大呢?嗯,网络上可能大约有 100 亿个有意义的页面。它很大,但它是有限的。你可以说,嗯,所有参考书中有多大的内容?最大的参考图书馆有多大?这些参考图书馆里有什么样的东西?嗯,它很大,但它是数万亿个元素,也许是千万亿个元素,但它是你可以命名数字的东西。我们可以定量地描述它有多大;它很大,但它不是无限大的。有时人们说,要做这样的事情,你只需要无限地扩展。嗯,你不需要无限地扩展。世界是一个有限的地方。大,但有限。
大多数人认为我们正在谈论的数字规模如此之大,以至于可以认为它无限大。这似乎令人望而生畏。
我在这些事情上很幸运,我培养了一种近乎荒谬的信心,仅仅因为它令人望而生畏,并不意味着我不能做到。比如,世界上有多少个有名字的定律,像安培定律或万有引力定律?大约有 5,000 到 10,000 个。这意味着什么?嗯,也许实现所有这些定律需要五十万行 Mathematica 代码。它很大,但它是有限的。
所以,这是第一个见解。
网络上大概有 100 亿个有意义的页面。对。第二个是,我曾经构想过机器能够计算问题答案的概念,这在很大程度上是一种智能活动。你会在 50 年代和 60 年代的科幻电影中看到,人们走近电脑并与之交谈,电脑会给出答案。我一直以为,电脑里面需要一个通用人工智能。只有这样,才能做好回答问题的本职工作,模仿人类思考和找出答案的方式。由于我做过的很多基础科学研究,我得出了一个结论——宇宙中复杂的事情是如何发生的?在物理学,在其他地方。看起来像智能的东西是什么样的?自然界中复杂的事情是如何发生的?自然界中发生的复杂性与我们人类心灵能够做到的复杂性相比如何?我开始意识到——这是我称之为计算等价原理的一部分——实际上,自然界中发生的事情,或者计算宇宙中发生的事情——可能的程序和事物——以及我们人类用心灵所能做的事情之间,并没有明显的区别。如果有人说,“嗯,我们需要这个神奇的想法来制造人工智能,这是一个普通计算中不存在的想法,是一个额外的想法,”我开始意识到,实际上,智能和纯粹的计算之间并没有这样的明确界限。所以,这让我意识到,你不需要建立一个完整的人工智能,就能够成功地构建一个能够进行计算知识的系统。而且,后来我们开始着手研究时,我甚至意识到,我们人类对人工智能的思考方式是完全错误的,因为它会让你进入“让我们像人类一样思考”的模式。比如说,你试图解决一个物理问题。你思考这个物理问题;就像你说,这个机械物体推了那个机械物体,然后它做了这个,然后它做了那个,等等,你有一个完整的逻辑链条。事实证明,这是一种极其低效的找出系统实际会做什么的方法。一种更有效的方法是,设置人们 150 年前发明的表示这些事物的方程,然后用最好的现代科学方法直接算出答案。
所以,你的人工智能(它并非严格意义上的人工智能)应该自己想出一种比人类自己摸索出的混乱、迂回的方式更好的方法,或者如果需要的话,对它进行编程来找出方法?
我认为关键在于,你能计算出答案吗?嗯,计算出如何计算答案意味着什么?任何具有一定复杂性的算法,在执行它的同时,也在一定程度上“弄清楚如何做”,而不仅仅是获取答案。弄清楚如何做和获取答案之间真的没有区别。稍微改变一下方向,我认为你之前说的一件事,也就是我一直想知道的一件事,是我们现在身处一个可以轻松计算出很多关于世界的事情,我们可以弄清楚很多事情,预测一定数量的事情,我们可以上前去问一个关于某事的问题,并且通常能够找出答案、预测等等的世界。我们应该如何思考这会给人们未来的做事方式带来什么?我认为一个主题一直是:世界从人们只是猜测如何做事的阶段,走向人们实际上更精确地计算出应该如何做事的时代。我们看到这种情况在越来越多的地方发生,有时发生在我们使用的设备内部;它们会自动进行计算,并自动聚焦摄像头或任何其他东西。GPS 会找出该去哪里。有时它们只是在告诉我们一些事情。我认为在不久的将来,将会是知识的更具预见性的传递。现在,我们获得的很多知识都需要我们去索取。你走到 Wolfram Alpha 前,问它一个问题。它不是在预见性地告诉你一些你可能会感兴趣的东西。我认为,未来会越来越多地被设置为预见性地告诉你一些你可能会感兴趣的东西。这涉及到我所认为的将在未来几年内出现的另一个数据世界:个人数据分析世界。记录关于自己的所有内容,并进行推断。像我这样对数据感兴趣的人,在过去 20 年里记录了每一笔我敲击过的键盘。我记录了大量其他内容——我不像我想的那样经常查看它们,但我即将付出巨大的努力去查看我过去十年的所有数据,并尝试从中了解我自己。这是一个很好的例子,说明仅仅拥有原始数据很有趣,但如果没有能够从中计算并知道如何呈现它的能力,它就没有立即的用处。我认为,基于记录下来的关于自己的信息,未来将越来越能够预见性地传递相关知识,计算出有用的知识。
最终,从这类事物中获得的最有用的见解是关于提出正确问题的见解。你会想了解关于你自己的事情,而这些事情你甚至一开始都不会想到要问。它会告诉你基于从中得到的结果,应该问什么问题。
这与我们之前讨论的 235 英寸的那个例子有点相似——你得到了一个结果,然后基于这个结果,你想知道什么?你能不能找到算法和启发式方法来弄清楚什么可能是相关的?对我来说,最奇怪的一点是,在 Wolfram Alpha 的形式中,我们可以根据知识、数据等来预测事物,然而在我做过的很多科学研究中,其中一个结论是,世界上实际可以预测的东西是有限的。归根结底,有些过程是计算不可约的。换句话说,当你观察一个系统如何运作时,它会经历一系列步骤来产生它所产生的行为。问题是,我们能否更有效地跳过并计算出系统将要做什么,而不是系统本身来完成?数学类科学的一大成就往往是:让我们得到一个计算结果的公式。这意味着什么?这意味着我们不必遵循系统所经历的所有步骤。我们只需将一个数字代入公式,立刻就能得到系统将要做什么的答案。计算不可约性发生在令人惊讶范围的系统中,它不允许你这样做;它是不可约的。为了弄清楚系统将要做什么,你必须经历与系统本身所经历的计算步骤相同的过程。没有捷径可以得到答案。我认为在构建技术时,很多技术就是为了避免事物变得计算不可约而特别设计的。一台机器有一个简单的运动,你可以轻易地预测,三秒钟后它将回到初始状态。所以,基于我们拥有的数据,世界上什么可以预测的这个问题,都与计算可约性与计算不可约性联系在一起。有些事情我们可以预测;有些事情我们不能预测。我们经常会设计技术来让我们能够预测的事物。大自然不一定按照同样的方式安排自己,所以最终会出现像天气这样可能很难预测的事物。我越来越怀疑技术最终会越来越难以预测,因为技术要变得更有效率,其必然的特征就是会遇到这种计算不可约性,从而变得更难预测。我们的挑战在于利用所有这些数据、所有这些知识,来预测可以预测的事物,并在我们只能通过计算来弄清楚将会发生什么事物上取得进展。
我们能否以某种方式设置它,使其运行过程的速度比现实生活中发生的速度快得多?
经常是这样,但并非总是。我预计,当我们在生物医学领域深入了解所有蛋白质相互作用以及从基因组到实际生物医学、临床现象的所有细节时,许多事物都会出现计算不可约性问题。那里会有很多计算不可约性,但我们很可能会以足够大的块来计算事物,从实际角度来看,通过运行足够的计算,我们可以计算出,如果你以这种方式应用这种药物,就会发生这些事情,等等。当涉及到更极端的层面时,我曾深入思考过整个宇宙,以及计算不可约性在理解整个宇宙中有多大的问题。一个问题是,需要多少数据才能描述我们的宇宙?是否存在这样一个情况,即一个只有几行计算机代码的算法,只要运行足够长的时间,就能产生一个完整的宇宙?要产生我们整个宇宙,那个底层种子需要多大?我认为我们不知道那个底层种子需要多大。假设我们拥有完全描述我们宇宙的底层数据,但然后我们必须从那个底层数据、那个底层算法,到宇宙的实际行为。其中一点是,这种计算不可约现象意味着这样做是不可约地困难的。
你必须运行 130 亿年吗?
嗯,我是说,好的,初次近似是这样的。好消息是,不可避免地存在计算可约性的“口袋”,这也是我们能够将我们已经在物理学等方面弄清楚的东西与特定模型的预测相匹配的最佳希望。宇宙,显而易见的是存在可约性“口袋”,因为我们可以感知到宇宙中存在大量的秩序。这是不可避免的特征。这只是一个自指的事实。
计算不可约性在某种意义上就像素数一样,对吧?只要它有可约性的“口袋”,它就不是根本不可约的事物?宇宙不是计算不可约的,而是……
是正在发生的进程。好的,那么宇宙是什么?宇宙是产生宇宙的底层代码吗?还是宇宙内部正在发生的动态过程?或者只是那些动态过程的一个切片?这就是今天的宇宙,无论那是什么意思。计算不可约性谈论的是,如果你想预测宇宙将要做什么,如果你想预测宇宙的某个方面将要做什么,那么你就必须从那个底层规则开始。你实际上必须运行它,看看宇宙会做什么。例如,有一类事情是,你可能会说,曲速引擎是否可能?你可能会说,嗯,天哪,如果你拥有宇宙的底层理论,你应该能够回答曲速引擎是否可能,但可能并不容易回答。这很可能是一些问题,其答案实际上是不可判定的,因为从数学角度来看,你将被简化为说,是否存在某种具有此属性和彼属性以及彼属性的物质配置,给定这些事物如何设置的底层规则?而这可能是一个任意困难的问题。这就是计算不可约性的含义的例子。计算不可约性告诉你的是,要找到某个过程的结果,你必须遵循一定的步骤。而且你不能总是任意地减少所需的计算量。
没有捷径。
正确。其中一个特点是,如果你问一个问题,例如,这样的事情是否可能发生,即使在任意长的时间之后?这是一个问题,如果存在计算不可约性,你可能无法在有限的时间内回答。如果存在计算可约性,那么一个人询问任意长的时间就不应该让你感到害怕,因为即使是需要任意长时间的事情,也可以将其简化为只需要某个给定、有限的时间。但如果存在计算不可约性,那么你就不能总是期望进行这种简化。如果你询问任意长时间后会发生什么,这实际上会花费你任意长的时间来回答,这就是数学中出现的不可判定性现象的起源,以及哥德尔定理等等,而当它应用于物理学时,会导致这样一个结果,即使你了解底层理论,你也可能无法弄清楚那个宇宙中技术上可能实现什么。
我认为大多数人会假设,如果你了解底层理论,你就了解支配宇宙的所有规则。而你所说的是,这不一定是真的,而且要真正了解规则是什么,你必须运行宇宙。
进化实际上比你想象的更接近技术,而这就是同样的谬误,基本上,当人们描绘按照逻辑行事的机器人时,他们总是描绘它们——在早期的科幻小说中,机器人拥有底层规则意味着它的行为在某种程度上根本上是简单的。这就是同样的谬误,如果你了解底层规则,并且底层规则很简单,那么,天哪,你一定能知道,因为底层规则和实际的整体行为之间不可能存在不可约的距离。在我进行基础科学研究的过程中,最主要的观察结果之一是,如果你观察一个可能的程序计算宇宙,其中绝大多数都具有这种属性,即使程序很简单,行为也非常复杂。当我们做技术和创建程序时,我们大多数时候都在努力避免那些行为任意复杂的程序。那些程序以某种我们无法理解的方式工作,并且充满了错误。我们倾向于在我们当前的技术中追求行为足够简单,以至于我们可以轻易地看到其后果的事物。我认为,未来几十年科技领域的一个重大发展——我们已经可以看到的——是越来越多的技术将通过搜索可能的程序、可能的算法、可能的结构等的计算宇宙来找到,而我们将能够知道它为我们实现某些功能,但如果我们看看它是如何实现的,它看起来会非常非常复杂,而且不是我们可以轻易预测的。例如,当我们现在在Mathematica和Wolfram Alpha中构建程序时,许多算法是通过算法发现找到的,基本上我们搜索了十亿种可能的算法,并找到了实现特定目标的最高效的一种。当你查看那个算法时,你会说,它在做什么?有时我们可以理解它,然后说,天哪,这真的很聪明。有时你会说,天哪,我不想费力去弄清楚;这太复杂了,无法弄清楚它实际上在做什么,但我们却可以看到它在做对我们有用的事情。
你弄不清楚它是怎么做到的,但你知道它在做什么。
你可以看到它以这种方式调整这些比特,天哪,它们最终总是以这种方式排列。而且我们可以自动证明某些特定属性将永远成立,而我们作为人类,在编写代码时,永远不会想到这种东西。它的工作方式与习惯于以一种非常有条理的方式、迭代地做事的代码创建者来说是完全陌生的。当你看到它时,你会觉得,哇,它在工作,但它的工作方式非常复杂。现在,我们在自然界、生物学、物理学和其他地方——自然选择——看到了很多这样的例子。实际上,进化是一个有趣的话题,因为进化实际上比你想象的更接近技术,因为进化在处理真正复杂的事物方面很困难。它更擅长于,嗯,让我们稍微延长一下骨头,看看会发生什么,而不是——实际上,进化很少会去做真正创新的事情。它通常以一种与我们很多工程工作类似的方式进行增量式的工作。
大自然本身——宇宙本身——是否可能做出任何非渐进式的事情?
是的!当你观察不同物理系统中的不同事件时,你可以问,在流体流动在这处情况与那处情况下的工作方式上,是否相同?它们可能没有联系。流体流动——从一种情况到另一种情况——它只改变其行为一点点,这并非必然要求。如果它是在自然选择下进化的,它很可能只改变其行为一点点,这是一种要求。进化往往不会做出这种绝对戏剧性的随机步骤。但很多自然界的事物是没有约束的,没有人应该能够理解它们在做什么。有时我们感到困惑,因为我们做科学的努力使我们专注于我们可以理解正在发生的事情的案例,这意味着我们开始认为,天哪,一切都被设定为可理解的。但事实并非如此。我们只是选择了我们研究的案例。我认为,自然界往往会发生一些我们无法理解的事情,我们可以观察底层的组成部分,我们可以理解它们,然后有一些计算不可约的过程,那就是当这些组成部分实际运行时所发生的事情。而在技术方面,我们做的很多事情是去自然世界,找到我们可以利用来制造技术的组件。我们找到可以骑的驴子,或者我们找到可以用于显示器的液晶,或者我们在自然界中找到其他可以为人类有用的目的而利用的东西。而且我知道我们经常做的一件事是进入可能的算法的计算宇宙,从某种意义上说,是所有可能宇宙的计算宇宙,因为——我们的宇宙是根据某个特定的算法运行的,但我们可以很容易地在理论层面上去说,所有可能的算法是什么,所有可能存在的宇宙是什么?事实上,我们可以去看看所有那些可能的算法,然后说,哪些正在做对人类有用的事情?当我们找到对人类有用的东西时,我们可以在计算机上实现它,也许有一天会在某种分子中实现它,然后它就会运行并做一些对人类有用的事情。但关于这种方法——只是去计算宇宙中寻找它——很重要的一点是,我们找到的东西在操作上不受我们能理解的约束。当我们做工程时,我们循序渐进地做事,通常是一种典型的“派对把戏”式的事情,你会被展示两个物体:一个是一个人造物品;另一个是来自大自然的东西。一个很好的启发式方法是,看起来更简单的那个是人类制造的。因为我们建造的大部分技术,都是重复的圆形和线条等图案,并且是为了可理解性而建造的。我怀疑现在是可能做到这一点的时候的晚期了。越来越多的技术物品将被发现,它们有效地是从计算宇宙中找到的,并且它们做了非常有用的事情。它们不是以一种我们容易理解的方式增量构建的,它们的运行方式不是我们容易理解的。
目前创造技术的方式是自下而上构建的。基本上你所说的是,从我们无法理解的计算宇宙中挑选出一些东西,并用它来推动我们前进。
正确。但请记住,技术组件通常是难以理解的。也就是说,人们可以用木材来制造东西,即使他们不理解树木如何变得坚固。这只是一个更极端的版本。通常,人们使用具有某些特性的材料,这些特性很容易解释。这是一种更极端的版本,但现在我们是从算法的这种供应中获取这些东西,而不是从物质对象的这种供应中获取。
我想我们可以一直深入这个兔子洞,但让我们稍微拉回来一点。寻找宇宙理论对你来说不是理论上的。这是你现在想做或正在做的事情。你现在正在做吗?
我过去几年一直在休息,因为我一直在做 Wolfram Alpha 和与之相关的所有事情,这实际上让我非常沮丧,因为我不得不休息一下,但是——
我看了你的 TED 演讲,你提出了发现宇宙的实际初始算法的概念,你说这将在本十年内实现。
这是我的希望。
这似乎有点过于乐观了。
不,实际上我希望我说的是——谁知道呢——我不知道我们的宇宙是否有一个简单的底层规则。现在还没有人知道。但如果确实如此,我们应该能够找到它。你需要大量的理论技术才能进行搜索,弄清楚你发现的东西,所有这些等等。这需要大量工作。基本上,这是一个大型技术开发项目,用来弄清楚——如果你有这样一种理论,你如何看出它的结果等等等等。我们已经做了很多这方面的工作。答案是:如果宇宙有一个简单的底层规则,我们很可能会找到它。我的观点是,如果它有一个我们可以找到的非常简单的底层规则,那么在有限的时间内没有找到它就有点令人尴尬了。现在,它可能碰巧是宇宙没有一个简单的底层规则。它可能碰巧是宇宙有一个规则,但它有数百万行代码,实际上。我认为这种情况非常不可能。
你觉得它有多简单?你大概会猜多少行代码?
这是思考这个问题的一种方式。如果你开始枚举可能的宇宙,你可以——我找到的最好的表示,我认为一种合理的方式来解决这个问题,是使用网络,网络的转换规则,所以你可以将它表示为 Mathematica 或其他东西的代码。而这些转换规则中的每一个可能只有两三四行代码,之类的。但也许更好的衡量标准是问,如果你开始枚举宇宙的可能规则,在你找到一个看起来合理的规则之前,你会看多少条规则?如果你看前 10 条规则并开始枚举规则——可能有不同的枚举方式;哪种不同的方案使用的不那么重要,因为组合学的工作方式,不同的方案不会给你巨大的数字差异——一旦你开始枚举,你看到的前几条规则完全显而易见不是我们的宇宙:没有时间的观念,空间的不同部分是断开的,各种病态的特征非常明显不是我们的宇宙。我原以为的情况是,在我们找到一个可以轻易排除的宇宙之前,我们必须查看数十亿个候选宇宙。我几年前发现的一件事是,情况并非如此。即使在前一千个可想象的候选宇宙中,也有规则,有案例,候选宇宙,它们的行为很复杂,而且你无法分辨它不是我们的宇宙。无法证明它是我们的宇宙,但你无法分辨它不是我们的宇宙。所以通常发生的是,你会启动其中一个东西,它会冒泡,你会跟着它,直到它——嗯,当我上次做的时候,它大概有 100 亿个底层节点——然后它就开始运行并冒泡,然后你说,它是我们的宇宙还是不是我们的宇宙?嗯,这就是计算不可约性困扰你的地方,因为你运行到了 100 亿个节点,但这仍然是我们宇宙演化的 10 的负 58 次方秒,而且当时很难判断这个冒泡的东西最终是否会拥有电子和质子以及其他什么。这就是为什么存在一整套技术,基本上必须重现——基本上你在做的是某种形式的自然科学,因为你有一个你在研究的宇宙,它在你的电脑里,它在冒泡,然后你必须推断出它的自然规律是什么。它有什么有效的自然规律。你知道底层规律是什么,因为你输入了它们,但你必须说,那么,出来的有效规律是什么,它们与我们在物理学中发现的有效规律相比如何?所以我的意思是,即使在最初的一千个候选宇宙中,也已经有一些可能就是我们的宇宙。事实上,可能我电脑上的其中一个就是我们的宇宙,只是我们还不知道。这就是将我们现在从物理学中知道的东西与我们在这个候选宇宙中看到的东西联系起来的难度。情况并非如此,我们正处于一种“哦,我的天哪,如此简单的规则不可能产生我们所需要的那种丰富性以成为我们的宇宙”的境地。我们处于一种不同的境地,即如此简单的规则可以创造出极其丰富和复杂的行为;我们只是无法准确地分辨出这种行为是什么。
对我来说,这是一种有趣的事情,因为在现代科学——后哥白尼科学——中,人们被引导以这种谦卑的哥白尼方式思考,即我们不可能是宇宙中任何特殊的事物。一度,我们认为我们是宇宙的中心,结果事实并非如此。但现在,就我们的整个宇宙而言,我们可以想象存在一个无限的候选宇宙集。所以,从哥白尼传统来看,这似乎是错误的:为什么我们的宇宙应该是简单的宇宙之一?你可以说,为什么它不是一个随机的宇宙呢?
你的理论是,如果一个宇宙可以由简单的算法生成,那么所有宇宙都可以并且已经被生成了?或者将会被生成?
就经验科学而言,我们唯一能有意义谈论的是我们的实际宇宙:只有一个。关于它,我们说的任何其他事情都是纯理论的。现在,问题是——我们可能会说,天哪,发生的事情一定是,在某个地方,不是以我们能意识到的任何方式,但 somewhere out there 每一个可能的宇宙都必须在运行。这可能是一种理论。它不是一种可检验的理论。我们无法检验这种理论,因为我们被困在我们的宇宙里。如果那个理论是正确的,那么压倒性的可能性是,我们的宇宙的规则非常、非常复杂,因为如果外面有无数的宇宙,而我们只是一个随机的宇宙,那么随机选择的宇宙将是一个规则非常复杂的宇宙。这就像,每个宇宙都可以用一个整数来标记。嗯,整数有无穷多个。如果我们是一个随机整数,它将是一个大整数。它不会是“8”之类的。如果它是随机选择的,就没有理由它是 8。
现在,我有一个偷偷的怀疑,那就是,当我们真正理解发生了什么时,——通常,在科学史上,那些形而上学的问题都会崩溃,因为它们不是正确的问题,或者事情的运作方式围绕着这个问题而不是直接问这个问题。我偷偷的怀疑是,我们将发现,在大量可能的宇宙规则中,任何一个都等同于生成我们的宇宙。我不知道我是否正确。这只是一个猜测。我怀疑会发生一些奇怪的事情,使“为什么是这个宇宙而不是另一个?”这个问题不再真正有意义。这是一种情况——在科学史上,很多情况下,人们会弄清楚很多关于事物如何运作的事情,然后他们说,“好吧,为什么它被这样设定而不是那样设定?”牛顿以说“一旦行星被最初设定好,那么[他的]运动定律就能弄清楚会发生什么。但行星最初是如何设定的,嗯,这不是一个我们能在科学中回答的问题。”现在,300 年后,我们对行星最初是如何设定的了解很多。我一直喜欢那个时代的哲学家,比如洛克等人,他们会说:行星的数量是九个、八个,或者在他们那个时代是任何数字——这个数字不是我们宇宙的必然真理。这个数字某种程度上是任意的。那是他们的想法。他们不认为这个数字——就像我说,如果我们的宇宙碰巧是宇宙号 1005 或类似的,那只是一个任意数字。在他们的时代,他们无法想象可以计算出这个数字是七或类似的。现在,在我们这个时代,我们知道,如果恒星的尺寸和太阳差不多,并且有一个太阳系,并且它的年龄和我们的太阳系差不多,我们大致知道这样的星系通常有多少行星。我们可以计算出来。但在他们的时代,这是一个不可想象的想法,能够计算出来。而且我认为——我认为我们还处于太早的阶段。说“天哪,我们的宇宙一定是简单的宇宙之一,所以让我们去寻找它”——这感觉有点不对,因为它似乎是一种反哥白尼式的说法。这似乎是我们和我们的宇宙的一种非常傲慢的说法。为什么我们应该是简单的宇宙之一,而不是那些极其复杂的宇宙之一?我的猜测是,这个问题会以某种方式自行解决,而这种方式并不完全集中在这个问题上,但我还不知道那是什么。
你的事业成功的可能性,以及你真正发现或确定宇宙规则的可能性,都取决于它是否是简单的宇宙之一。
这是正确的。我知道的方法是算法发现:搜索一万亿个算法,看看哪些是有用的。这些是你枚举的相当简单的算法。算法的规则相当简单,所以同样——如果我们的宇宙有几行代码长的规则,那么我们可以枚举并找到它,但如果我们的宇宙像 Mathematica 的源代码那么大,我们永远、永远、永远找不到它。它太组合学了,太遥远了。
我认为这是科学的一个非常基本的事实——可以说是朝着这个方向的一个经验性希望,这可能是科学最基本的事实,那就是宇宙中有秩序。它可能不是这样。宇宙的每一个不同的部分,宇宙的每一个粒子都以其自身特殊的方式运行,但这是几千年前神学家就注意到的一个事实,即宇宙最值得注意的事实是它有规律。宇宙中有秩序,并且可以用规律来描述,它可能不是这样。宇宙可能充满了奇迹,以及各种不被规律支配的古怪事情,但事实上它有规律,而且它有规律且在某种程度上是有序的事实表明它并不像它可能的那样复杂。这给了我们一些希望,即它实际上可能非常简单。而且简单到我们,在 21 世纪早期,可以使用我们的计算机,走出去找到它。这有点像这个问题:Wolfram Alpha 何时成为可能?我开始考虑 Wolfram Alpha 类型的事情是在 40 年前,那时它可能是不可能的。如果我在 12 岁时开始建造它,我大约会在我实际完成它的时候完成它。
[笑声]
也许会晚点。其中一些必要的中间步骤是由你完成的,如果你试图……
我无法证明现在是寻找宇宙简单规则的正确时机。我发现真正令人惊讶和显著的是,事情和我预期的完全不一样,那就是我们很快就会遇到“明显不是我们的宇宙”的候选者。我真的认为,在我们轻易排除之前,我们会搜索数十亿、数万亿的候选者。
这是一个非常有趣的问题:如果存在一个早期宇宙,它是一个丰富而复杂的宇宙,恰好不是我们的宇宙,那么这本身就是一个非常奇怪的发现,因为我们可以说,“嗯,有一个宇宙,它有一个八点五维的奇怪粒子,它有这个和那个。”而且这会令人惊讶。所以现在物理学中的一个问题是,是否存在一种方法可以组装宇宙,使其自洽但又不同于现在实际组装的方式?我们将会知道。在最坏的情况下,通过检查这些候选宇宙,我们将开始知道这些问题的答案。
Wolfram Alpha 的根本目标:培育和普及计算知识。就个人而言,Wolfram Alpha 的可行性至少减缓了我研究宇宙万物以寻找答案的努力,因为——至少对我而言,我倾向于那种会从事大型项目的人,而且我通常总有一些我认为有一天可以实现的事情,问题在于,我们应该在哪个十年去尝试完成它们?因为如果选择错误,我们可能会花整整一个十年去构建基础设施,甚至无法达到起点。现在是计算知识成为可能、而且我确实认为从中可以发生许多真正、真正有趣的事情的十年。而且我认为人们与世界互动方式的期望正在真正改变,并且我认为由于计算知识,这种期望可能会发生变化,因为人们不再期望他们现在可以回答有关世界的问题。网络和搜索引擎等在某种程度上已经改变了这一点。曾经有段时间,基本事实并不是大多数人认为可以轻易获得的。获取基本事实需要付出很多努力。现在我们可以获取基本事实,但我们能否找出具体问题的答案?嗯,这就是计算知识正在努力实现的目标,而且人们通过回答他们遇到的问题来生活将成为常态。也许它们会以某种先发制人的方式自动为他们解答。
但我认为,今天发生的另一件事是,很久以前——也就是说,在我们时间线的早期——事实只对少数有藏书的僧侣可用。然后事实传播开来——有了图书馆、人们购买的书籍、教育——然后网络出现了,事实基本上对所有人来说都很容易获得。目前,仍然存在专家问答,但仍然非常集中。如果你想知道某个问题的答案,你必须去找专家,而专家可能短缺,而且这是一个耗费大量精力的过程。我认为计算知识的作用将是让这个过程变得普及,并让你能够说,如果我们的文明能够回答这个问题,那么你可以在五秒钟内回答。换句话说,可能存在我们的文明不知道答案的问题;可能存在计算不可约性介入且问题实际上无法回答的问题。但如果它原则上是可回答的,那么我认为我们可以非常有效地普及这个过程,并让任何人都能快速回答。
说 Wolfram Alpha 的根本目标是培育和普及计算知识,这样说是否公平?
我们正在努力实现这个目标。这就是我们付出的巨大努力。这就是关键:如果没有这些各种各样的认识,人们可能会认为,有了计算知识,我们实际上无法走得很远;它非常专业,而且不会有普遍的用处。对我来说,这是过去两年里最重要的发现:在这个历史时期,这实际上是可行的。我不认为它会变得越来越容易,不会出现一个让它变得更容易的戏剧性时刻——但它就像出现了,它变得可行了,而且它会逐渐变得更容易。但就是现在这个时代。
Wolfram Alpha 的持续发展在多大程度上仍然需要它成为您的首要关注点?
就我个人而言?我现在所有的时间都花在这上面,因为这真的很吸引人,而且有很多——实际添加更多知识领域的过程,我们已经找到了方法。我参与进来是因为我觉得它很有趣,而且我认为我们可以以这种方式做得更快、更好。但最重要的事情——考虑到计算知识这个想法,你只看到了 Wolfram Alpha 现有状态的开端。很快就会有,其中一件大事是——今天你通过输入文本片段与 Wolfram Alpha 进行交互。在不久的将来,你将能够上传图片到它。所以,你不再是给出语言描述,而是给出图像。
它会告诉你图片是什么吗?或者你能用这张图片做什么?
还不可以。它还不能告诉你图片是什么。通常的做法是,你会混合一些语言描述,比如,“最接近的油漆颜色。”你有一张某物的图片,它知道油漆的种类,可以看到图片并找出答案。或者你可能会说——你可以做各种各样棘手的事情。比如图片中有一个阴影,我们知道图片的地理标记,知道太阳在哪里,我们可以根据阴影的长度,推断出物体的高度等等。识别图片的难题,我们正在努力解决,但这确实是一个棘手的问题。最有趣的事情可能是——这类技术总是有趣的一点是,在你构建到一定程度并能真正充分地玩它之前,实际上很难说它会是什么样子。我知道你可以用上传图片和使用图片作为输入做很多非常棒的玩具式的事情,但真正、真正有用的事情会是什么呢?一旦人们经常这样做,就会变得清晰。其他即将到来的事情,比如让传感器数据流入系统,并询问来自某个传感器的传入数据的问题:你可以说有哪些类型的航班在头顶飞行,以及它们的速度。你可以从地震学家或气象站获取信息。我的意思是你的个人数据,比如你连接到你的 IMAP 服务器,你将能够分析你的电子邮件接收时间序列等等,并能够将其与特定日期日出时间进行比较,等等。
在不久的将来,我们还能期待 Wolfram Alpha 以哪些其他方式发展?
我提到了这些关于信息先发制人交付的事情。能够根据它所能了解到的你的情况来提供知识,而不是根据你具体询问它的东西来提供,这是一种。另一种是观察世界上正在发生的事情,并能够自动找出什么是有趣的。我们的服务器接收到前所未有的各种信息流,我们知道所有这些类型的事情。我们看到这个曲线上的一个峰值:有什么事情。我们希望它能找出什么是有趣的。在所有传入的信息中,哪些是新闻价值的。哪些值得告诉人们,哪些只是周五下午发生的正常事情?这是另一种:能够找出——因为我们确实拥有任何人都从未收集过的关于世界各地不同事件的最大数据集合。它实时输入,我们应该能够找出全球范围内正在发生什么,哪些有趣的事情正在发生。
另一个方向是,鉴于你有一个复杂的任务想要弄清楚如何完成——这项任务可能涉及:你从这家公司购买这个组件,你以这种方式连接它,你这样做,你这样做。问题是,我们能否以一种近乎创新的方式弄清楚,鉴于你这样描述你的任务,我们能否弄清楚如何完成这个任务?如何执行这个任务?这是我们正在努力的方向。有一些小的例子。比如现在,如果你输入一些有趣的电阻值,我们将能够计算出哪些串联和并联电阻组合可以得到那个特定的电阻值。这是一个非常微小的例子。但一个更复杂的例子是:有人说,“我想做这个,我要描述它,”然后我去问一个设计工程师说,“我想要一个具有这个属性、那个属性和那个属性的东西。”他们会为我制作,想出如何做到这一点。这是一个挑战,从某种意义上说,它混合了许多不同类型的事情。它混合了——也许还需要设计工程师的一些创造力。也许我们可以通过搜索计算宇宙的某个片段来找到它。它混合在一起,但我们必须知道实际存在哪些电阻器。这种材料有多坚固?从这个地方到那个地方有多远?所以我们必须拥有关于世界的知识。所以这里的概念是,我们在多大程度上可以从人类对自己目标的描述,转化为如何利用世界上已有的东西和我们可以计算的东西来实现这些目标?也许还需要一些我们也能自动获得的灵感火花。对我来说,最令人震惊的事情之一是——就这种人类灵感而言——几年前我们建立了一个名为 WolframTones 的网站,这是一个根据对计算宇宙的搜索来生成音乐的网站。关于那件事,最让我感到困惑的是,我不断遇到人们说:“我是一名作曲家,我使用这个网站作为灵感。”这与我最初的期望恰恰相反。计算机的角色与人类的角色。我本来会期望人类会说:“我有了灵感。我有了人类创造的火花,现在我要用电脑来处理这个人类创造的火花,并以正确的方式呈现它。”但实际上发生的是,这些从计算宇宙中提取出来的东西,反而成为了人类进一步发展的火花,成为了他们觉得有趣的东西。这是一个简单的例子,但它是一个鼓舞人心的迹象。从中产生的一个重要问题是这种大规模定制的想法,即创造力有多昂贵?创造力的经济学是什么?你能否自动化一些创造力?这种从复杂目标的描述到如何实现目标的想法——你能否自动获得灵感火花?