转译自stephenwolfram.com,原作者:Stephen Wolfram
用于训练神经网络的Wolfram 代码可以在[1]获取
AI最终能做到一切吗?
图1:AI能解决科学问题吗?
尤其是鉴于其最近的惊人成功,人们普遍认为AI最终能够“做一切”,或者至少能够做我们目前所做的一切。那么科学呢?几个世纪以来,我们人类逐步取得进展,逐渐建立了现在基本上是我们文明中最大的智力建筑。但是,尽管我们付出了所有的努力,仍然有各种各样的科学问题没有解决。那么现在AI能进来并解决所有这些问题吗?
对于这个终极问题,我们将看到答案
不可避免且坚定地是否定的。
但这绝不意味着AI不能重要地促进科学进步。例如,在非常实际的层面上,LLMs[2]提供了一种新的语言接口[3]来访问我们(原作者,下同)花了这么长时间构建的Wolfram语言[4]中的计算能力。通过对“传统科学智慧”的知识,LLMs通常可以提供非常高级的“自动补全”,以填充科学工作中的“传统答案”或“传统下一步”。
但我在这里想讨论的是关于AI在科学中的更深层次的问题。三个世纪前,科学因使用数学来表示世界的想法而发生了变革。而在我们这个时代,我们正
处于向世界的根本计算表示的重大转变之中
[5](是的,这就是我们的Wolfram语言计算语言的核心理念)。那么AI如何应对?我们应该将其视为访问现有方法的实用工具,还是它为科学提供了根本性的创新?
我的目标是探索和评估AI在科学中能够和不能够做的事情。我将考虑一些具体的例子,简化以突出其本质。我将讨论基于我们迄今为止所见的直觉和期望。我还将讨论一些理论上的——以及在某些方面的哲学上的——基础,关于什么是可能的,什么是不可能的。
那么这里“AI”究竟是什么意思?过去,任何严肃的计算通常被认为是“AI”,在这种情况下,例如,我们长期以来在Wolfram语言计算语言[6]中的工作会被算作AI——正如我在
计算宇宙中对简单程序的“ruliological”研究[7]
一样。但是在这里,我大部分时间会采用一个更狭义的定义——说AI是基于机器学习[8]的(通常是用神经网络实现的),并且是通过给定的示例逐步训练的。通常我还会添加另一个部分:这些示例包括一个大型的由人类生成的科学文本等的语料库,或者是关于世界中实际发生的事情的实际经验语料库——换句话说,除了是一个“原始学习机器”,AI还从大量人类对齐的知识中学习过。
好了,我们已经说明了AI的意思。那么科学和“做科学”的意思又是什么?最终,这一切都与将“存在于世界中的事物”(通常是自然界中的事物)
与我们能够思考或推理的事物连接或翻译[9]
有关。但实际上,有几种截然不同的“工作流”来做科学。一些工作流围绕预测:给定观察到的行为,预测将会发生什么;找到一个我们可以明确陈述的模型,说明系统将如何运行;给定现有的理论,确定其具体含义。其他工作流则更多地与解释有关:给定一种行为,产生一个人类可理解的叙述;在不同的系统或模型之间找到类比。还有一些工作流更多地与创造有关:发现具有特定属性的东西;发现“有趣”的东西。
在接下来的内容中,我们将更详细地探讨这些工作流,看看它们如何(或不能)被AI转变或启发。但在我们进入这个话题之前,我们需要讨论一个笼罩在任何“解决科学”尝试上的现象:计算不可约性[10]。
计算不可约性的硬性限制
图2
在做科学时,通常存在一个找到某系统运作的基本规则的巨大挑战。但假设我们找到了这些规则,并且我们有一些正式的方式来表示它们,比如一个程序。那么仍然有一个问题,这些规则对于系统的实际行为意味着什么。是的,我们可以一步一步地明确应用规则并追踪发生的事情。但我们是否可以——一蹴而就——“解决一切”并知道系统将如何运行?
要做到这一点,我们在某种意义上必须比系统“聪明无比”。系统必须经历所有这些步骤——但我们可以“跳过”并立即找出结果。一个关键的观点——最终由我们的物理项目[11]在基础层面上支持——是我们可以将所有发生的事情视为一个计算过程。系统正在进行计算以确定其行为。我们人类——或者,我们创造的任何AI——也必须进行计算,以尝试预测或“解决”这种行为。计算等价性原理[12]说这些计算在其复杂性上最多是等价的。这意味着我们不能指望系统地“跳过”并预测或“解决”系统;要弄清系统将做什么,必然需要一定不可约的计算工作。因此,无论我们多么努力,无论是AI还是其他方法,最终我们将受限于行为的计算不可约性。
但鉴于计算不可约性,为什么科学实际上是可能的?关键事实是,每当存在整体的计算不可约性时,也存在无限数量的计算可约性的口袋。换句话说,总有某些系统的方面,可以使用有限的计算努力来说明。而这些正是我们在“做科学”时通常集中精力的地方。
但不可避免地,这有其局限性——会遇到计算不可约性的问题。有时这些表现为我们无法回答的问题,有时则表现为我们无法预见的“惊喜”。但重点是,如果我们想要“解决一切”,我们最终会遇到计算不可约性,而无论是用AI还是其他方法,都无法通过一步到位地模拟系统来解决。
然而,这里有一个微妙之处。如果我们只想知道与计算可约性对齐的事情呢?很多科学——以及技术——都是专门围绕计算可约现象构建的。例如,这就是为什么数学公式在科学中能够如此成功的原因之一。
但我们肯定知道,我们还没有解决我们在科学中想要解决的一切。在很多情况下,我们似乎并没有真正选择要研究什么;自然界,举个例子,迫使我们去研究。结果是我们不可避免地面对计算不可约性。
正如我们将讨论的,AI有潜力为我们提供精简的方式来找到某些类型的计算可约性口袋。但总会有计算不可约性,导致意外的“惊喜”和我们无法快速或“叙述性”获得的东西。这种情况会终结吗?不会。总会有“更多的发现”。需要更多计算才能到达的东西。我们不知道存在的计算可约性口袋。最终——无论有无AI——计算不可约性将阻止我们完全“解决科学”。
这里有一个
有趣的历史共鸣
[13]。在二十世纪初,有一个大问题是数学是否能够“机械地解决”。然而,哥德尔定理的到来似乎确立了它不能。而现在我们知道科学也有一个计算结构,计算不可约性这一现象——实际上是哥德尔定理的一个锐化——表明它也不能“机械地解决”。
我们仍然可以问,是否人类选择研究的数学或科学可能仅仅存在于计算可约性的口袋中。但从某种意义上说,“数学难”的终极原因是我们不断看到计算不可约性的证据:我们无法绕过实际进行计算的需要。这也正是,例如,神经网络AI(至少没有
Wolfram语言工具
[14]的帮助)的不擅长之处。
过去有效的方法
在深入探讨现代基于机器学习的AI可能在“解决科学”方面能做什么之前,回顾一下过去有效的方法似乎是值得的——至少作为现代AI可能添加的内容的基准。
我自己使用计算机和计算[15]来发现科学中的事物已有四十多年了。我的第一个大成功是在1981年[16],当时我决定尝试枚举某种类型的所有可能规则(基本元胞自动机)[17],然后在计算机上运行它们,看看它们会做什么:
图3
我曾以为,具有简单的底层规则,最终的行为也会相应地简单。但某种意义上,计算机并不假设这一点:它只是枚举规则并计算结果。因此,即使我从未想到它会在那里,它也能“发现”像规则30[18]这样的东西。
一次又一次,我经历了类似的经历:我看不出某个系统如何能做到“有趣”。但当我系统地枚举可能性时,它就在那儿:一些意想不到、有趣且“聪明”的东西,通过计算机发现。
在1990年代初,我想知道最简单的通用图灵机可能是什么。我永远无法自己弄清楚。从1960年代初以来保持记录的机器有7个状态和4种颜色。但计算机让我通过系统枚举[19]发现了2状态3颜色的机器
并在2007年被证明是通用的[20](是的,它是最简单的通用图灵机)。
在2000年,我对逻辑(布尔代数)的最简单公理系统感兴趣。到那时已知的最简单系统包含9个二元Nand[21]运算。但通过系统枚举,我最终找到了单一的6运算公理[22]
图5
(我使用自动定理证明证明其正确)。再一次,我不知道这是“存在的”,当然我也无法自己构建它。但通过系统枚举,计算机能够找到我认为非常“创造性”的结果。
2019年,我进行了另一种系统枚举,现在是可能的
超图重写规则
[23],这可能
对应于我们物理宇宙的最低层结构
[24]。当我观察生成的
几何图形
[25]时,我感觉作为一个人类可以粗略地分类我所看到的东西。但是否有异常值?我转向更接近“现代AI”的科学——制作一个
特征空间图[26]的视觉图像[27]
:
图6:视觉图像的特征空间图
它需要我作为人类去解释,但,确实,有一些异常值是通过制作特征空间图的神经网络“自动发现”的。
我将再给一个——完全不同类型的——例子,来自我的个人经历。1987年,为了构建
现今Wolfram语言的1.0版[28]
的一部分,我们试图开发算法,以在非常广泛的参数范围内计算数百种数学特殊函数。在过去,人们会仔细计算特定情况下的级数近似。但我们的方法是使用某种机器学习,花费数月计算机时间[29]来拟合有理近似中的参数。如今,我们可能会用神经网络而不是有理近似来做类似的事情。但在这两种情况下,概念都是从实际数据中学习模型的参数,找到一个科学模型的类比。虽然这并不是“解决科学”,甚至也不能“发现意料之外的事物”。但这是一个“AI式”对光滑性或简洁性的普遍期望知识的地方,能让我们构建科学模型的类似物。
AI能预测会发生什么吗?
这并不是科学的唯一角色——在接下来的部分中,我们将探索其他角色。但历史上,通常被视为成功科学的一个定义特征是:它能预测会发生什么?那么现在我们可以问:AI是否为我们提供了一种显著更好的方式来做到这一点?
在最简单的情况下,我们基本上是想用AI进行归纳推理。我们输入一堆测量结果,然后让AI预测我们尚未进行的测量结果。在这个层面上,我们将AI视为一个黑匣子;我们不关心内部发生了什么;我们只关心AI是否给出了正确答案。我们可能认为我们可以设置AI,使其“没有任何假设”——只是“遵循数据”。但不可避免地,AI中会有一些基础结构,最终使其假设某种数据模型。
是的,这个模型可以有很大的灵活性。但一个真正的“无模型模型”是不存在的。也许AI是基于一个巨大的神经网络,具有数十亿个可以调整的数值参数。也许甚至可以改变网络的架构。但整个神经网络设置不可避免地定义了一个最终的基础模型。
让我们看一个非常简单的例子。假设我们的“数据”是这里的蓝色曲线——可能代表悬挂在弹簧上的重物的运动——物理学告诉我们它会继续红色曲线:
现在我们来创建一个非常简单的神经网络[30]
图8
然后使用上面的“蓝色曲线”数据对其进行训练[31],以获得具有某些权重的网络:
图9
现在我们应用这个训练好的网络来再现我们原来的数据并扩展它:
图10
我们看到网络在再现训练数据方面做得不错,但在“预测未来”时基本上失败了。
这里发生了什么?我们是否只是没有训练足够长的时间?以下是随着训练轮数增加的结果:
图11
似乎这并没有多大帮助。那么问题可能是我们的网络太小了。以下是具有不同大小的网络的结果:
图12
是的,更大的网络确实有所帮助。但它们并不能解决预测成功的问题。那么我们还能做什么?网络的一个特征是它的激活函数:我们如何从输入的加权和确定输出。以下是使用各种(流行的)激活函数[32]的结果:
图13
这里有些显著的东西——突显了“无模型模型”这一理念:不同的激活函数导致不同的预测,预测形式似乎直接反映了激活函数的形式。实际上,这里没有什么魔法;只是神经网络对应于一个其核心元素是激活函数的函数。
例如,网络:
图14
对应于函数
图15
其中ϕ表示在这种情况下使用的激活函数。
当然,用标准函数组合来近似一个函数的概念是非常古老的(想想:本轮和以前)。神经网络允许使用更复杂(且分层的)非线性函数组合,并提供一种更简化的方式来“拟合所有参数”。但在根本层面上,它是相同的想法。
例如,这里有一些用更直接的数学函数构建的我们“数据”的近似[33]:
图16
这些近似的优点是,通过“给出其公式”很容易陈述“每个模型是什么”。但就像我们的神经网络一样,在做出预测时会有问题。
(顺便说一句,存在一系列用于例如时间序列预测[34]的方法,涉及类似于“拟合递归关系[35]”的想法——在现代,使用 transformer 神经网络[36]。虽然这些方法中的一些能够很好地捕捉到像正弦波这样具有周期信号的信号,但人们不期望它们能在广泛预测函数方面取得成功。)
好吧,或许我们尝试用太狭隘的方式使用和训练我们的神经网络。毕竟,似乎对于ChatGPT的成功至关重要的是具有大量关于各种事物的训练数据,而不仅仅是某个狭窄的特定领域。当然,那些广泛的训练数据让
ChatGPT学会了“语言和常识的一般模式”
[37],这只是从狭窄的训练数据中学不到的。
那么我们的类比是什么呢?可能是我们希望我们的神经网络对函数的“工作方式”有一个“一般概念”——例如了解函数的连续性,或者了解周期性或对称性。是的,我们可以继续训练,不仅仅是某个特定的“窗口”数据,而是整个函数族——例如三角函数的集合,或者可能是Wolfram语言中的所有内置数学函数。
而且,毫无疑问,如果我们这样做,我们肯定能够成功地预测上面的正弦曲线——就像我们使用传统的傅里叶分析[38]时一样,将正弦曲线作为我们的基函数。但这是“做科学”吗?
本质上,它是在说,“我以前见过类似的东西,所以我认为现在会发生这种情况”。毫无疑问,这可能是有用的;实际上,这是一个人类在某个特定领域有经验的典型事情的自动化版本。我们稍后会回到这一点。但现在的主要观点是,至少在预测函数方面,似乎神经网络——以及今天的AI——在任何明显的方式下都不能“看到”超出其构建和训练范围的东西。没有“新兴科学”;只是相对直接的“模式匹配”。
预测计算过程
预测一个函数是一个特别严肃的任务,人们可能会想象“真实过程”——例如自然界中的过程——会有更多的“环境结构”,AI可以利用这些结构找到预测的“立足点”。作为“人工自然”的例子,我们可以考虑像元胞自动机这样的计算系统。这里是一个特定元胞自动机规则的示例,其初始条件如下:
图17
这里混合了简单性和复杂性。作为人类,我们可以轻松预测简单部分将会发生什么,但基本上无法说明其他部分将会发生什么。那么AI会如何表现呢?
显然,如果我们的“AI”可以运行元胞自动机规则,那么它将能够预测一切,尽管计算工作量很大。但真正的问题是,AI是否可以捷径,以便在不进行所有计算工作的情况下做出成功的预测——或者换句话说,AI是否能够成功找到并利用计算可约性口袋。
因此,作为一个具体的实验,让我们设置一个神经网络来尝试有效预测我们的元胞自动机的行为。我们的网络基本上是一个直截了当的——尽管是“现代的”——卷积自编码器,具有59层和大约80万个参数:
图18:卷积自编码器
它的训练过程与LLM很相似。我们收集了大量元胞自动机演化的示例,然后将每个示例的“上半部分”展示给网络,并尝试让它成功继续,预测“下半部分”。在我们进行的具体实验中,我们给出了3200万个64单元宽的元胞自动机演化示例。(是的,这个示例数量与所有
可能的初始配置相比微不足道。)然后我们尝试输入64个单元宽、64步长的“块”元胞自动机演化——并查看网络为不同可能的继续情况分配的概率。
以下是不同初始条件的结果:
图20
我们看到的是我们可能预期的:当行为足够简单时,网络基本上能搞定。但当行为更复杂时,网络通常表现不佳。它仍然常常大致正确——但细节不对。
或许,有人会认为,网络只是没有经过足够长时间的训练,或者没有足够的示例。为了了解更多训练的效果,以下是随着四分之一百万轮训练次数增加的预测概率:
图21
这些应该与实际结果进行比较:
图22
是的,随着更多训练有所改进,但到最后似乎不会有多大改善。(尽管其损失曲线在训练过程中确实显示出一些突然的下降,可能是由于“发现”的缘故——我们不能确定网络“了解”了一些结构。)
机器学习非常典型的表现是,它能很好地做到“粗略正确”。但在细节上的准确性却不是机器学习的强项。所以当我们要做的事情依赖于细节时,机器学习会有局限性。在我们这里考虑的预测任务中,问题是,一旦事情稍有偏离,基本上情况只会越来越糟。
识别计算简化性
计算简化性是我们通常所认为的“做科学”的核心。不仅因为它让我们能够进行预测,还因为它让我们能够识别规律、建立模型和压缩我们看到的东西——并发展出我们可以在脑海中捕捉的理解。
但我们如何发现计算简化性[39] ?有时候它非常明显。比如当我们对某些行为进行可视化(比如上面的细胞自动机演化)并立即识别出简单特征时。但在实际操作中,计算简化性可能并不那么明显,我们可能需要挖掘大量细节才能找到它。这是AI有可能大有帮助的地方。
在某种程度上,我们可以把它看作是“找到正确参数化”或“正确坐标系”的故事。一个非常直截了当的例子是,考虑看似非常随机的点云:
Image 23
只需将这个特定的点云转到适当的角度就会显示出明显的规律[40]:
Image 24
但是否有一般方法可以挑出其中的规律呢?有传统的统计学方法(“A和B之间是否有相关性?”等)。有模型拟合方法(“这是高斯函数的和吗?”)。还有传统的数据压缩方法(“在行程长度编码后是否更短?”)。但所有这些方法只能挑出相当具体类型的规律。那么AI能做得更多吗?它是否可能提供一种一般方法来发现规律?
说一个人发现了某事中的规律,基本上等同于说一个人不需要指定这个事物的所有细节:有一个简化的表示可以从中重建它。所以,例如,给出上图中的“点在直线上”规律,一个人不需要分别指定所有点的位置;只需要知道它们形成了具有一定间隔的条纹。
好的,那么让我们想象我们有一个包含一定数量像素的图像。我们可以问是否有一个涉及更少数据的简化表示——从中可以有效地重建图像。使用神经网络,有一种可以认为是找到这种简化表示的技巧。
基本思路是将神经网络设置为一个自编码器,它接受输入并将其作为输出再现。有人可能会认为这是一个微不足道的任务。但事实并非如此,因为输入的数据必须流经神经网络的内部,在一开始被“粉碎”,在最后被“重建”。但关键是,通过足够多的可能输入样本,有可能训练神经网络成功地再现输入,并作为一个自编码器运行。
但现在的想法是查看自编码器的内部,提取出它所产生的简化表示。随着数据从神经网络的一层流向另一层,它总是试图保留需要的信息来再现原始输入。如果一层有更少的元素,那么在那一层存在的东西必须对应于原始输入的某种简化表示。
我们先来看一个标准的现代图像自编码器[41],它已经在数十亿个典型网络图像上进行了训练。给它输入一张猫的照片,它会成功地再现出看起来像原图的东西:
Image 25
但在中间会有一个简化表示,有许多更少的像素——但仍然捕捉到了猫的必要特征(这里显示了它的四个颜色通道):
Image 26
我们可以把这看作是猫图像的某种“黑箱模型”。我们不知道模型中的元素(“特征”)是什么意思,但它确实成功地捕捉了“图像的本质”。
那么如果我们把它应用到“科学数据”上,或者例如像细胞自动机这样的“人工自然过程”上会怎样呢?以下是一个成功压缩的案例:
Image 27
在这个案例中它不是那么成功:
Image 28
而在这些情况下——当存在基本的计算不可简化性时——它遇到了困难:
Image 29
Image 30
但这个故事还有更多内容。你看,我们使用的自编码器是针对“日常图像”训练的,而不是这些类型的“科学图像”。因此实际上它是试图用常见于猫等物体的图片中的结构(如眼睛和耳朵)来建模我们的科学图像。
那么,如果像上面细胞自动机预测的例子一样,我们对自编码器进行更具体的图像类型训练会怎样呢?
这里是两个非常简单的神经网络,我们可以用作“编码器”和“解码器”来制作一个自编码器:
Image 31
现在我们拿标准的MNIST图像训练集[42],使用这些来训练自编码器:
Image 32
这些图像每个有28×28像素。但在自编码器的中间我们有一个只有两个元素的层。所以这意味着无论我们让它编码什么,都必须简化为只有两个数字:
我们在这里看到的是,至少对于看起来或多或少像它所训练的图像的图像,即使是从这种激进的压缩中,自编码器也能够管理重建出看起来至少大致正确的东西。如果你给它其他类型的图像,它则不会那么成功,而基本上只是坚持将它们重建为看起来像其训练集中的图像:
Image 34
那么,如果对细胞自动机图像进行训练会怎样呢?我们拿着用特定规则生成的1000万图像:
Image 35
现在我们对这些图像训练我们的自编码器。然后我们尝试喂给它相似的图像:
Image 36
结果最多是非常大致的;这个小型神经网络并没有成功学习到这种特定细胞自动机的“详细方式”。如果它能成功描述所有明显的细胞自动机演化复杂性仅用两个数字,那么我们可以认为这是一项令人印象深刻的科学成就。但不出所料,神经网络实际上被计算不可简化性所阻碍。
尽管如此,即使它不能“严肃地破解计算不可简化性”,神经网络仍然可以“进行有用的发现”,实际上是通过发现小块计算可简化性和小规律。因此,例如,如果我们拿带噪声的字母图片,并用神经网络将其简化为一对数字,并使用这些数字来放置图像,我们得到一个“降维特征空间图”,将不同字母的图像分开:
Image 37
但以不同规则的细胞自动机的集合为例:
Image 38
这是一个典型的神经网络如何在“特征空间”中排列这些图像的方式:
Image 39
是的,这几乎成功地自动发现了我在1983年初确定的四种行为类别[43]。但并不完全是这样。虽然在某种意义上这是一个困难的案例,非常面对计算不可简化性。而且还有很多情况(想想:基于元素属性排列周期表;基于雷诺数的流体流动相似性等),我们可以期待一个神经网络能够锁定计算可简化性的一些方面,至少成功地重现已有的科学发现。
AI在非人类世界中
在其最初的概念中,AI是关于开发人类智能的人工模拟。的确,AI近期的巨大成功——例如在视觉对象识别或语言生成方面——都是关于拥有能够再现人类所做的本质的人工系统。这并不是因为有一个精确的理论定义能够区分一张图像是猫还是狗。重要的是我们可以拥有一个神经网络,它会得出与人类相同的结论。
那么为什么这有效呢?可能是因为神经网络捕捉到了实际大脑的架构本质。当然,人工神经网络的细节并不与生物大脑相同。但在现代AI的大惊喜中,似乎存在足够的普遍性,使得人工神经网络在功能上类似于人类大脑,至少在视觉对象识别或语言生成等事项上是如此。
但对于科学问题呢?在一个层面上,我们可以问神经网络是否能模仿人类科学家所做的事。但还有另一个层面:神经网络是否可以直接解决系统的行为——比如在自然中——是否有可能?
如果神经网络之所以在“人类任务”上“有效”,仅仅是因为它们在架构上类似于大脑,那么没有直接原因认为它们应该能够捕捉与大脑无关的“原始自然过程”。那么当AI做类似于预测蛋白质折叠这样的事情时,发生了什么呢?
我怀疑的一个部分是,尽管蛋白质折叠的物理过程与人类无关,但我们认为它的哪些方面重要确实如此。我们不期望神经网络预测每个原子的确切位置(在自然环境中,蛋白质中的原子甚至没有精确固定的位置)。相反,我们想知道的是蛋白质是否具有“正确的一般形状”,具有正确的“可识别特征”(比如说,α-螺旋),或正确的功能属性。而这些现在更多是“人的问题”——更多地在“观察者眼中”——更像是一个问题,例如我们人类如何判断一张图片是猫还是狗。因此,如果我们得出结论说一个神经网络“解决了科学问题”关于蛋白质如何折叠,那可能至少部分是因为我们的大脑(“主观地”)应用的成功标准是某种神经网络——凭借其类似大脑的架构——恰好能够交付的东西。
使用生成式AI制作图像
这有点像用生成式AI制作图像[44]。在基本人类视觉感知的层面上,它可能看起来像我们熟悉的东西。但是如果我们仔细观察,我们会发现它并不是我们所认为的“客观”事物:
Image 40
用“第一性原理”来弄清楚蛋白质如何折叠从来都不现实
。因此,神经网络能够得到即使是大致正确的答案也令人印象深刻。那么它们是如何做到的呢?其中一个重要部分无疑是有效地将蛋白质块与训练集中所包含的内容进行匹配,然后找到“合理”的方式将这些块“缝合”在一起。但是可能还有其他东西。我们熟悉蛋白质中的某些“规则性片段”(如α螺旋和β折叠)。但是,神经网络似乎有效地接入了我们不知道存在的其他种类的规则性;它们以某种方式发现了可约简性的口袋,而我们不知道这些口袋的存在。特别是如果少数几个可约简性口袋反复出现,它们将有效地代表科学中的新的一般“结果”(例如,蛋白质结构中某种新的常见“元基序”)。
尽管从根本上说,在最终分析中必然存在无数的计算可约简性口袋,但我们不清楚这些在我们关心的事情中可能有多大意义,也不清楚神经网络方法在找到它们时可能有多成功。我们可以想象,既然神经网络反映了我们大脑的基本操作,那么它们只能在我们人类也能够容易发现的情况下找到可约简性口袋,例如通过观察某些可视化图像。
但一个重要的点是,我们的大脑通常只接受我们感官容易体验到的数据:我们见过相当于数十亿张图像,并且听到过无数的声音。但是我们没有直接体验到分子微观运动,或者科学观察和测量设备可以提供的各种数据。
然而,神经网络可以在非常不同的“感官体验”下“成长”——例如直接体验“化学空间”,或者“元数学空间[45]”、金融交易空间、生物有机体之间的相互作用等。但在这些情况下存在什么样的计算可约简性口袋?大多数情况下我们不知道。我们知道那些对应于“已知科学”的口袋。但即使我们可以预期其他口袋存在,我们通常也不知道它们是什么。
这些口袋是否对神经网络“可访问”?我们仍然不知道。如果它们是可访问的,那么可能会有一些表示方式——或者说可视化方式——在这种表示方式中,可约简性对我们来说是“显而易见的”。但有很多方式可能会失败。例如,可约简性可能在3D体积中是“视觉上明显的”,例如在这种情况下很难区分蓬松的云的不同结构。或者可约简性可能只通过某些计算显示出来,这些计算不能被神经网络轻松处理。
必然有许多系统显示出计算不可约简性,至少在其完整形式中,对于任何“捷径方法”(基于神经网络或其他方式)来说都是不可访问的。但我们在问的是,当存在计算可约简性口袋时,神经网络是否能够捕捉到它。
但我们再次面对一个事实:没有“无模型的模型”。某种特定类型的神经网络将能够容易地捕捉到某些特定种类的计算可约简性;另一种将能够容易地捕捉到其他种类。是的,你总是可以构造一个神经网络来近似任何给定的特定函数。但在捕捉某种一般的计算可约简性时,我们要求得更多——我们能得到的东西将不可避免地取决于神经网络的基础结构。
但假设我们有一个神经网络成功地在特定系统中捕捉到计算可约简性。这是否意味着它可以预测一切?通常不是。因为几乎总是计算可约简性只是一个“口袋”,并且在“外面”有很多计算不可约简性和“意外”。
实际上,这甚至发生在像蛋白质折叠这样的例子中。这里是一些我们认为结构相对简单的蛋白质——神经网络预测(黄色)与物理实验结果(灰色管)的结果相当吻合:
但对于我们认为结构更复杂的蛋白质,吻合度通常不是那么好:
Image 42
这些蛋白质至少与用于训练神经网络的蛋白质相似。但对于非常不同的蛋白质——例如具有随机氨基酸序列的蛋白质呢?
Image 43
很难知道神经网络在这里表现如何;特别是如果有“意外”,它可能无法成功捕捉到它们。(当然,可能所有在生物学中通常出现的“合理蛋白质”都具有某些特征,而将神经网络应用于“非生物学的”随机蛋白质可能是“不公平的”——虽然例如在适应性免疫系统中,生物学确实有效地产生了至少短暂的“随机蛋白质”。)
用AI解方程
在传统的数学科学中,典型的设置是:这里有系统的方程;通过求解这些方程来找出系统的行为。在计算机出现之前,这通常意味着必须找到某种“封闭形式”公式[46]作为解决方案。但有了计算机,就有了另一种方法:进行离散的“数值近似”,然后以某种方式逐步求解方程。然而,要得到精确的结果,可能需要很多步骤和大量的计算努力。那么问题是:AI能否加速这一过程?特别是,AI能否例如直接从方程的初始条件到整个解?
让我们以经典的数学物理问题为例:三体问题[47]。给定三点质量在逆平方定律引力下的初始位置和速度,这些质量会沿什么轨迹运动?存在很大的多样性,通常也很复杂,这就是三体问题为什么如此具有挑战性[48]:
Image 44
但如果我们训练一个神经网络解决大量示例解?它能在任何特定情况下求解吗?我们将使用一个相当直接的“多层感知器”网络:
Image 45
我们将初始条件输入,然后要求它生成一个解。以下是它所做的一些示例,正确的解决方案由较浅的背景路径表示:
Image 46
当轨迹相对简单时,神经网络表现得相当好。但当情况变得复杂时,它的表现就会越来越差。就像神经网络“成功记住”了简单的情况,但不知道在更复杂的情况下该怎么做。最终,这与我们在上面预测元胞自动机演化(可能还有蛋白质折叠)时看到的非常相似。
是的,这又是计算不可约简性的故事。要求“一次性得到解”实际上是要求完全的计算可约简性。假设有人可能想象——如果知道怎么做——原则上总能得到解的“封闭形式”公式,这种假设隐含了计算可约简性。但几十年来,我一直认为类似三体问题的东西实际上充满了计算不可约简性。
当然,如果神经网络能够“破解问题”并立即生成解,那实际上就证明了计算可约简性。但是,正如它所表现的那样,神经网络的明显失败为三体问题中的计算不可约简性提供了另一份证据。(顺便提一句,虽然三体问题确实显示出对初始条件的敏感依赖性[49],但这不是这里的主要问题;而是轨迹的内在复杂性。)
我们已经知道,像元胞自动机这样的离散计算系统充满了计算不可约简性。我们可能会想象,连续系统(例如由微分方程描述的系统)会有更多的结构,这将使它们避免计算不可约简性。确实,既然神经网络(在其通常形式中)涉及连续数,我们可能会认为它们能够以某种方式接入连续系统的结构,从而能够预测它们。但不知何故,计算不可约简性的“力量”太强,最终会超出神经网络的能力。
尽管如此,神经网络在做诸如解方程之类的事情上仍然具有很大的实际价值。传统的数值近似方法往往是局部和逐步进行的(尽管通常是自适应的)。但神经网络可以更容易地处理“更大的窗口”,在某种意义上“了解更长的行为序列”并能够“跨越它们”。此外,当处理非常大量的方程(例如在机器人学或系统工程中)时,神经网络通常可以“接受所有的方程并做出合理的处理”,而传统方法实际上必须逐个处理这些方程。
三体问题涉及常微分方程。但许多实际问题则基于偏微分方程(PDE),其中不仅仅是单个坐标,而是整个函数_f_[_x_等随时间演化。是的,可以在这里使用神经网络,通常在实际中具有显著的优势。但计算不可约简性呢?在实际中,许多方程和情况(例如工程目的)往往避免它,但一般来说它确实存在[50](尤其是在流体湍流等现象中)。而当存在计算不可约简性时,最终不能指望神经网络表现得很好。但当涉及到满足我们的人的目的时,如前面讨论的其他例子中,情况可能会更好。
作为一个例子,考虑预测天气。最终,这完全是关于流体动力学的PDE(是的,还有与云有关的其他影响等)。一种方法可以想象直接和计算地求解这些PDE。但另一种方法是让神经网络只是“学习典型的天气模式”(就像老派气象学家必须做的那样),然后让网络(有点像蛋白质折叠那样)试图拼凑这些模式以适应任何出现的情况。
这将有多成功?可能取决于我们在看什么。可能某些特定方面的天气显示出相当大的计算可约简性,并且很容易预测,例如通过神经网络。而如果这是我们关心的天气方面,我们可能会得出结论神经网络表现得很好。但如果我们关心的东西(“明天会下雨吗?”)没有触及计算可约简性的口袋,那么神经网络通常不会成功预测它——而且不得不做显式计算,可能需要很多实际的计算。
AI用于多计算
到目前为止,我们讨论的大多是AI是否可以帮助我们“跳过”并捷径某些计算过程。但还有许多情况,感兴趣的是捷径称为多计算过程的东西,其中每一步都有许多可能的结果,目标是例如找到某个最终结果的路径。
作为多计算过程的一个简单例子,让我们考虑一个在字符串上运行的多方式系统,在每一步我们以所有可能的方式应用规则{A -> BBB, BB -> A}:
Image 49
给定这个设置,我们可以问一个问题:从A到BABA的最短路径是什么?在这里显示的情况下,可以通过在图上显式运行路径寻找算法轻松计算出答案:
Image 50
有许多问题遵循这个一般模式。在游戏图中找到获胜序列[51]。通过一系列移动在可能性的图中找到解决谜题的方法[52]。在给定某些公理的情况下,找到定理的证明[53]。在给定某些基本反应的情况下,找到化学合成途径。一般来说,在解决涉及许多“非确定性”计算路径的NP问题中解决一大堆问题。
在上面展示的非常简单的例子中,我们可以轻松生成整个多方式图。但在大多数实际例子中,图会大得难以想象。因此,挑战通常是找出如何进行移动,而不必追踪所有可能性的图。常见的方法之一是试图找到一种方法为不同的可能状态或结果分配分数,并且仅追求具有(例如)最高分数的路径。在自动定理证明[54]中,通常的做法是“从初始命题向下工作”和“从最终定理向上工作”,试图看到路径在中间相遇的地方。还有一个重要的想法是,如果已经确定了从X到Y的路径,则可以将X -> Y作为规则集合中的新规则。
那么AI如何提供帮助?首先,我们可以考虑将上述字符串多方式系统拿来,训练一个相当于语言模型的AI来生成表示路径的标记序列(或者在数学环境中是证明)。想法是给AI提供一系列有效的序列,然后呈现一个新的序列的开头和结尾,要求它填充中间。
我们将使用一个相当基础的 transformer 网络:
然后我们通过给出大量有效路径的标记序列(E表示“结束标记”)
以及表示路径不存在的“负面例子”来训练它:
现在我们用训练数据中出现的“前缀”来“提示”训练好的网络,然后以“LLM风格”(基本上在零温度下,即总是选择“最可能的”下一个标记)迭代运行:
一段时间内,它表现得非常好——但在接近结束时开始出错,如红色标记所示。不同目的地的表现不同——有些情况下一开始就出错:
如何做得更好?一种可能性是在每一步不仅保留被认为最可能的标记,还保留一堆标记——从而实际上生成一个“LLM控制器”可能导航的多方式系统。(可以有点滑稽地将其称为“量子LLM[55]”,它总是在探索多条历史路径。)
(顺便提一句,我们还可以想象训练许多不同规则,然后做零样本学习,给出一个“预提示”来指定我们想在任何特定情况下使用的规则。)
LLM方法的一个问题是,它生成的序列通常甚至“在局部是错误的”:下一个元素不能根据给定的规则从之前的元素跟随。
但这表明可以采取另一种方法。与其让AI试图“立即填充整个序列”,不如让它只是选择“下一步去哪里”,始终遵循一个指定的规则。然后,训练的一个简单目标实际上是让AI学习图的距离函数[56],换句话说,是能够估算从任何一个节点到另一个节点的最短路径有多长。给定这样的函数,典型策略是遵循类似于“最陡下降路径”的东西——在每一步选择AI估计最能减少到目的地距离的移动。
如何用神经网络实际实现这一点?一种方法是使用两个编码器(例如由 transformer构造),实际上生成两个嵌入,一个用于源节点,一个用于目的地节点。网络然后将这些嵌入结合起来并学习一个度量,表征节点之间的距离:
在多方式系统上训练这样一个网络,通过给出几百万个源到目的地距离的例子(以及距离是否为无穷大的指示器),我们可以使用网络预测多方式系统的距离矩阵的一部分。我们发现,预测的矩阵与实际矩阵相似,但绝对不是相同的:
尽管如此,我们可以想象在每一步都计算神经网络预测的每个可能目的地的估计到目的地的距离,然后选择“走得最远的”:
每个单独的移动在这里都是有效的,我们确实最终到达了我们的目的地BABA——尽管步骤比真正的最短路径多一点。但即使我们没有找到最佳路径,神经网络仍然成功地让我们至少在某种程度上修剪了我们的“搜索空间”,通过优先考虑节点并只遍历红色边:
(一个技术点是,我们在这里使用的特定神经网络具有这样的属性:任何给定对节点之间的所有路径始终具有相同的长度——所以如果找到任何路径,它可以被认为是“最短的”。一个规则如{A -> AAB, BBA -> B}没有这个属性,一个为这个规则训练的神经网络可能会找到到达正确目的地的路径,但不是尽可能短的路径。)
尽管如此,和神经网络一样,我们不能确定这将如何有效。神经网络可能会让我们走得太远“偏离轨道”,甚至可能引导我们到一个没有路径通向目的地的节点——因此,如果我们想取得进展,我们将不得不求助于传统算法回溯之类的东西。
但至少在简单情况下,这种方法可能效果很好——AI可以成功找到赢得游戏、证明定理等的路径。但是不能指望它总是有效。原因是它将遇到多计算不可约简性[57]。正如在单个“计算线程”中计算不可约简性可以意味着没有捷径可通向“通过计算的步骤”,在多方式系统中,多计算不可约简性可以意味着没有捷径可通向“遵循所有计算线程”,然后例如看到哪些最终合并在一起。
但即使这种情况原则上可能发生,它在我们人类感兴趣的情况下实际上是否会发生?在游戏或谜题[58]中,我们往往希望它难,但不要太难去“赢”。当涉及到数学和证明定理时,我们用于练习或比赛的案例同样希望它们难,但不要太难。然而,当涉及到数学研究和数学前沿时,不立即期望有任何这样的约束。结果是,然后可以期待面对多计算不可约简性——使得AI帮助太多变得困难。
这个故事有一个脚注,与我们选择数学的新方向有关。我们可以考虑元数学空间[59]通过在一个巨大的多方式图中从其他定理构建定理。但正如我们在下面讨论的那样,大多数细节远非人类数学家认为的“做数学”。相反,数学家隐含地似乎在“更高层次”上做数学,在这一层次上他们“粗略地分级”这个“微观元数学”——就像我们可能以相对容易描述的连续动力学研究物理流体,即使“在下面”有很多复杂的分子运动。
那么AI是否可以帮助我们在这种“流体动力学风格”层次上做数学?可能可以,但主要是提供代码协助。我们有些我们想表达的东西,例如在Wolfram语言[60]中。但我们需要帮助——“LLM风格”[61]——从我们的非正式概念到显式计算语言。只要我们在做的事情遵循之前所做事情的结构模式,我们可以期望像LLM这样的东西提供帮助。但只要我们表达的东西“真正新”,并且我们的计算语言没有太多“样板”,很难想象一个从之前所做事情中训练的AI会有多大帮助。相反,我们实际上需要做一些多计算不可约简的计算,允许我们探索某些计算宇宙[62]的新部分和ruliad[63]。
探索系统空间
“可以找到一个做X的系统吗?”例如运行很长时间然后停止的图灵机。或者一个生长但生长很慢的元胞自动机。或者具有某种特定属性的化学物质。
这是一个与我们迄今为止讨论的略有不同的问题。它不是关于采取特定规则并查看其结果是什么。而是关于确定可能存在的规则,具有某些后果。
给定一些可能的规则空间,一种方法是穷尽搜索。从某种意义上说,这是唯一真正“无偏”的方法,它将发现那里有什么需要发现的东西,即使人们不期望它。当然,即使进行穷尽搜索,也需要一种方法来确定特定候选系统是否满足设定的标准。但现在这是预测计算的问题——我们讨论过的事情适用。
好吧,但我们能否比穷尽搜索做得更好?我们是否可以找到一种方法来确定要探索哪些规则而不必查看每个规则?一种方法是做类似于生物进化通过自然选择的事情:从特定规则开始,然后逐步改变它(可能是随机的),每一步保留做得最好的规则,丢弃其他规则。
这不是我们在这里操作上定义的“AI”(它更像是“遗传算法”)——尽管有点像神经网络的内在训练循环。但它会起作用吗?这取决于规则空间的结构[64]——正如人们在机器学习中看到的那样[65],在高维规则空间中它往往表现得比在低维规则空间中更好。因为维度越多,就越不容易“卡在局部最小值中”,无法找到通往“更好规则”的路。
一般来说,如果规则空间像一个复杂的分形山脉,那么期望可以逐步取得进展(或许像强化学习这样的AI方法可以帮助细化采取的逐步步骤)。但如果相反,它相当平坦,只有一个“洞”(“高尔夫球场风格”),那么不可能期望逐步“找到洞”。那么规则空间的典型结构是什么?确实有许多情况,规则空间整体上相当大,但维度数量只有适度。在这种情况下(例如寻找具有长停止时间的小图灵机[66]),往往有“孤立的解决方案”,无法逐步到达。但当有更多维度时,似乎计算不可约简性保证了“足够随机的景观”,以便逐步方法可以表现良好,正如我们近年来在机器学习中看到的那样。
那么AI呢?是否可能让AI学习如何“直接在规则空间中挑选赢家”,而无需任何逐步过程?是否可以找到一些“嵌入空间”,在该空间中我们想要的规则被简单地排列出来,并因此有效地“预先识别”给我们?最终,这取决于规则空间是什么样子的,以及探索它的过程是否必然是(多)计算不可约简的,或者至少我们关心的方面可以通过计算可约简的过程进行探索。(顺便提一句,尝试使用AI直接找到具有特定属性的系统有点像尝试直接从数据生成神经网络,而不进行逐步训练。)
让我们看一个基于元胞自动机的具体简单例子。假设我们想找到一个元胞自动机规则——从单细胞初始条件开始进化——它会生长一段时间,但在特定的确切步骤后消失。我们可以尝试使用非常简单的AI风格“进化”方法来解决这个问题:从一个随机规则开始,然后在每一代产生一定数量的“后代”规则,每个规则随机改变一个元素——然后保留这些规则中“最好的”。如果我们想找到一个“存活”恰好50步的规则,我们定义“最好的”为一个规则的“存活”步数与50的距离最小化。
例如,假设我们从随机选择的(三色)规则开始:
我们规则的进化序列(这里只显示
“结果值”)可能是:
如果我们看这些规则的行为,我们会看到——在一个不太有希望的开始之后——它们成功进化到了一个符合“存活恰好50步”标准的规则:
这里展示的是一条随机选择的“进化路径”。但其他路径会发生什么?这是100代中一条路径的“损失”如何演变:
我们看到,这里只有一个“赢家”达到零损失;在所有其他路径中,进化“被卡住”。
正如上面提到的,维度越多越不容易被卡住。例如,如果我们看4色元胞自动机规则,现在有64而不是27个可能元素(或有效维度)可以改变,在这种情况下,许多进化路径“走得更远”
并且有更多的“赢家”,如:
神经网络在这里如何帮助我们?只要我们可以用它们来预测元胞自动机演化,它们可能会给我们一种方式来加速实际上计算每个候选规则的损失——尽管从我们在上一节中看到的,计算不可约简性可能会限制这一点。另一个可能性是——像前一节中的——我们可以尝试使用神经网络引导我们在每一代中进行哪些随机改变。但尽管计算不可约简性可能有助于使事情“足够随机”,以至于我们不会被卡住,它也使得神经网络难以成功告诉我们“走哪条路”。
科学作为叙事
从许多方面来看,可以认为科学的本质——至少在传统上被实践时——是关于把世界上的东西以某种我们人类可以思考的形式进行表达。实际上,我们希望科学为发生的事情提供一个人类可访问的叙述,例如在自然界中。
计算不可约简性的现象现在告诉我们,这往往是根本不可能的。但每当有一个计算可约简的口袋时,意味着至少有一部分正在发生的事情有某种简化描述。但这种简化描述是人类可以合理理解的吗?例如,它可以简明扼要地用文字、公式或计算语言来表达吗?如果可以,我们可以将其视为代表一个成功的“人类层次的科学解释”。
AI能帮助我们自动创建这样的解释吗?为此,它必须在某种程度上有一个我们人类理解的模型——以及我们如何用语言等表达这种理解。说“这里有100个计算步骤生成这个结果”没有多大用处。为了获得一个“人类层次的解释”,我们需要将其分解成可以人类吸收的部分。
例如,考虑一个数学证明[67]由自动定理证明[68]生成:
计算机可以轻松验证这是正确的,因为每一步都来自之前的内容。但我们这里有一个非常“非人类的东西”——没有现实的“人类叙述”。那么要制作这样一个叙述需要什么?本质上,我们需要一些熟悉的“航标”——可能是我们熟知的著名定理。当然,可能没有这样的东西。因为我们可能有一个通过“未知的元数学领域[69]”的证明。因此——无论是否有AI帮助——现今的人类数学可能没有足够的原材料让我们创建一个人类层次的叙述。
在实际中,当证明中的步骤之间的“元数学距离”相对较短时,认为可以给出一个人类层次的解释是现实的。而所需的非常像Wolfram|Alpha[70]在产生其答案的逐步解释[71]时所做的。AI可以提供帮助吗?可能可以,使用类似我们上面第二种AI辅助多计算的方法。
顺便提一下,我们的Wolfram语言的努力也有帮助。因为我们计算语言[72]的整个想法是将“常见的计算工作块”作为内置构造捕捉——从某种意义上说,设计语言的过程正是关于识别“人类可吸收的计算航标”。计算不可约简性告诉我们,不可能为所有计算找到这样的航标。但我们的目标是找到捕捉当前范式和当前实践的航标,并定义方向和框架以扩展这些——尽管最终“我们人类知道什么”是由人类知识的历史演变决定的。
证明和计算语言程序是两种结构化的“科学叙述”的例子。一个潜在的简单例子——与数学传统相符——是一个纯粹的公式。“它是一个幂律”。“它是指数和”。等等。AI可以提供帮助吗?像FindFormula[73]这样的功能已经使用机器学习启发的方法将数据转化为“合理的公式”。
这是对前100个质数的结果:
到10,000个质数时,它产生了一个更复杂的结果:
或者,假设我们询问国家GDP和人口之间的关系。然后我们可以得到类似的公式:
这些公式(如果有的话)意味着什么?有点像证明步骤等。除非我们可以将公式中的内容与我们了解的内容(无论是在数论中还是经济学中)联系起来,否则通常很难从中得出结论。除非在某些罕见情况下可以说“是的,这是一个新的、有用的规律”——例如在推导开普勒第三定律时(0.7是2/3的一个很好的近似):
这种事情的一个更简单的例子是识别数字。在Wolfram|Alpha中输入一个数字,它会试图告诉你“可能的封闭形式”是什么:
Image 75: Possible closed forms of 12.1234
这里有各种各样的权衡,一些非常AI启发。获得更多位数正确相比于拥有简单公式的重要性如何?相比于拥有“更晦涩”的数学常数(例如π相对于Champernowne's数),在公式中拥有简单数字的权重如何?当我们15年前为Wolfram|Alpha设置这个系统时,我们使用了数学文献中常数的负对数频率作为它们“信息含量”的代理。利用现代LLM技术,可能可以更全面地找到相当于“良好科学叙述”的东西。
但让我们回到预测元胞自动机演化等过程的事情上。在早期部分[74]我们讨论了让神经网络做这个预测。我们基本上将其视为一个“黑箱”方法:我们想看看我们能否让神经网络成功地做出预测,但我们没有要求得到一个“人类层次的理解”。
这在机器学习中是一个普遍的故事。人们训练一个神经网络成功地预测、分类或其他。如果“看内部”,很难看出发生了什么。以下是应用图像识别神经网络[75]后的最终结果:
以下是经过大约一半层的网络后生成的“中间思想”:
也许这里有某种“猫性”的决定性特征。但这不是我们当前科学词汇的一部分——因此我们不能用它来开发解释图像应如何解释的“科学叙述”。
但如果我们可以将图像简化为几个参数——例如使用我们上面讨论的自编码器?可以设想我们可以设置以便我们最终得到“可解释的参数”——换句话说,我们可以给出这些参数的叙述解释。例如,我们可以想象使用类似于LLM的东西来选择某些对从网络中得出的解释有意义的参数(“尖锐度”,“分形维度”等)。是的,这些词语或短语可以基于类比(“仙人掌形状的”,“卷云状的”等)——LLM可以“创造性地”提出这些名称。
但最终没有什么能说明由某个自编码器挑出的计算可约简性口袋将与我们人类目前已经探索或给出名称的概念(科学或其他)对齐。在ruliad中,极有可能我们会发现自己处于“概念间空间[76]”——无法创建我们认为有用的科学叙述。
这有点取决于我们关注的内容。我们可能隐含地定义科学为研究现象,在某个时间点成功地发展出科学叙述。在这种情况下,显然有这样的叙述存在。但是即使给定固定的观察或测量方法,基本上不可避免地,随着我们探索,计算不可约简性将带来“惊讶”,打破我们使用的任何科学叙述。换句话说,如果我们真的要发现新的科学,那么——无论有没有AI——我们不能指望基于预先存在的概念有一个科学叙述。或许我们最好的希望是,我们能找到可约简性的口袋,AI将“足够了解我们和我们的知识历史”,能够建议我们学习的一条可管理的新概念路径,以成功发展我们发现的事物的科学叙述。
找到有趣的东西
做开放式科学的一个核心部分是弄清楚“什么是有趣的”。假设有人只是枚举了一些元胞自动机:
那些只是消亡或形成均匀图案的“看起来不有趣”。第一次看到一个元胞自动机生成的嵌套图案,可能觉得有趣(就像1981年的我那样[77])。但很快它变得司空见惯。至少作为基础ruliology的一部分,人们最终寻找的是“惊讶”:从未见过的定性新行为。(如果人们关心特定的应用,例如建模世界中的特定系统,那么可能希望看具有某种结构的规则,无论它们的行为“在抽象上看起来是否有趣”。)
可以预期“惊讶”(和确实,可以做有用的、真正开放的科学)是计算不可约简性的结果。每当有“缺乏惊讶”时,这基本上是计算可约简性的标志。这使得AI——和神经网络——能够学会识别至少某些种类的“异常”或“惊讶”,从而发现某种“有趣的东西”。
通常的基本思想是让神经网络学习数据的“典型分布”[78],然后识别相对于此的异常。所以例如我们可以看大量的元胞自动机图案,学习它们的“典型分布”,然后将其投影到2D特征空间,指示某些特定图案的位置:
一些图案出现在概率高的分布区域,但其他图案出现在概率低的地方——这些是异常:
这些异常“有趣”吗?好吧,这取决于你对“有趣”的定义。最终这是“观察者的眼睛”。在这里,观察者是神经网络。是的,这些特定图案不会是我挑选的东西。但相对于“典型图案”,它们确实看起来至少“有些不同”。可以合理地假设,这基本上是类似神经网络区分猫和狗图片的故事:神经网络做出的判断至少在某种程度上与我们类似——也许因为我们的大脑结构类似于神经网络。
好吧,但神经网络“本质上觉得有趣”的是什么?如果神经网络经过训练,那么它将非常受其从训练中获得的“文化背景”的影响。但如果我们只是设置具有给定架构的神经网络,并随机选择其权重呢?假设它们是计算函数
的神经网络。以下是它们计算的函数集合的例子:
不太令人惊讶的是,随机权重的神经网络产生的函数反映了神经网络节点中出现的基本激活函数。但我们可以看到,有点像随机游走过程,“更极端”的函数不太可能由随机权重的神经网络生成,所以可以被认为是“本质上更令人惊讶的”神经网络。
但好吧,“惊讶”是一种可能的“有趣性”标准。但还有其他的标准。为了了解这一点,我们可以看看各种可以枚举的构造,问哪些可能的构造我们认为“足够有趣”去研究、命名或记录在登记册中。
作为第一个例子,让我们考虑一个碳氢化合物分子家族:烷烃[79]。任何这种分子都可以表示为一个树图,节点对应碳原子,价数不超过4。有总共75个10个或更少碳的烷烃,它们通常出现在标准化学物质列表中(以及我们的Wolfram知识库[80])。但具有10个碳的烷烃只有一些被认为“足够有趣”被列入,例如在我们的知识库中(通过汇集不同的登记册[81]人们发现更多的烷烃被列入,但11个碳时至少42个159个总是“缺失”的——这里没有高亮显示):
什么使得这些烷烃被认为“更有趣”呢?从操作上讲,这是一个是否被研究的问题,例如在学术文献中。这由什么决定呢?部分是看它们是否“在自然界中出现”。有时——例如在石油或煤炭中——烷烃通过相当于“随机反应”形成,其中无支链分子往往更受青睐。但烷烃也可以在生物系统中通过酶等精心调控地生成。但无论它们来自哪里,似乎更熟悉的烷烃是“更有趣”的。对于“惊讶”呢?无论一个“惊讶烷烃”——例如在实验室中通过显式合成——是否被认为“有趣”可能主要取决于它是否被确定具有“有趣的特性”。而这往往是一个它的特性如何融入人类知识和技术网络的问题。
那么AI可以帮助确定哪些烷烃我们可能认为有趣吗?传统的计算化学——或许由AI加速——可能确定不同烷烃的“随机生成”速率。在一个相当不同的方向上,分析学术文献——例如用一个LLM——可能预测某个烷烃在学术文献中被研究或讨论的可能性。或者(这在药物候选物中特别相关)是否有迹象表明“如果我们能找到一个做___的分子”可以从学术文献等中拾取。
作为另一个例子,让我们考虑数学定理。像化学物质一样,人们可以通过从公理开始枚举可能的数学定理[82],然后看到可以从中逐步推导出什么定理。以下是从一些典型的逻辑公理[83]开始在仅仅两步中发生的情况:
这里有大量的“无趣”(通常看起来非常迂腐)的定理。但在所有这些中,有两个定理足够有趣,通常在逻辑教科书中被命名为“幂等定律”。是否有任何方法可以确定一个定理是否会被命名?或许有人认为这是一个纯粹的历史问题。但至少在逻辑的约束情况下,似乎有一个系统的模式[84]。假设人们从最简单的定理开始,按词典顺序列出。列表中的大多数定理可以从前面的定理推导出来。但有些不会。这些实际上几乎正是通常被命名的定理[85](这里高亮显示的):
换句话说,至少在基本逻辑的约束情况下,被认为足够有趣而命名的定理是那些“带来新信息”的定理。
如果我们更一般地看“元数学空间”,我们可以得到一些经验的想法,看哪些被认为“有趣”的定理分布在哪里:
AI可以预测这个吗?我们当然可以创建一个从现有数学文献和几百万已知定理中训练的神经网络。然后我们可以开始向这个神经网络提供通过系统枚举找到的定理,问它们在数学文献中出现的可能性如何。在我们的系统枚举中,我们甚至可以让神经网络确定哪些“方向”可能“有趣”——像我们上面第二种“AI辅助多方式系统遍历”的方法[86]。
但是当涉及到发现“真正的新科学”(或数学)时,这有一个问题——因为从现有文献中训练的神经网络基本上会寻找“更多相同的东西”。像同行评审一样,它会“接受”的是“主流”和“不太惊讶的”东西。计算不可约简性不可避免地意味着将有惊讶。由定义,这些不会“轻松简化”为之前所见的东西。
是的,它们可以提供新事实。它们甚至可能有重要的应用。但通常不会有——至少一开始——“人类可访问的叙述”达到它们。创造这个需要我们人类内化一些新的概念,最终变得熟悉。(是的,正如我们之前讨论的那样,如果某个特定的新概念——或例如新定理——似乎是达到事物的“枢纽”,那成为一个我们“添加”值得的新概念。)
但最终,我们想内化哪些“新事实”或“新方向”有一定的任意性。是的,如果我们朝特定方向走,可能会引导我们到某些想法或技术或活动上。但抽象地说,我们不知道哪条路是“正确的”;至少一开始,这似乎是人类选择的一个典型问题。有一个潜在的细节。如果我们的AI对人类心理学和社会了解足够多,它们可以预测“我们会喜欢什么”?一开始看似它们可以成功地“挑选方向”。但计算不可约简性再次阻碍了我们——因为最终我们不能“知道我们会喜欢什么”,直到我们“到达那里”。
我们可以将这一切与生成式AI[87]联系起来,例如图像或文本。最初,我们可以想象枚举由任意像素数组组成的图像。但绝对压倒性的一部分不会对我们“有趣”;它们对我们来说只是“随机噪声”:
通过在数十亿个人类选择的图像上训练神经网络,我们可以让它产生某种“我们通常认为有趣”的图像。有时,生成的图像将是可识别的,以至于我们能够给出“它们看起来像什么”的叙述解释:
但很多时候我们会发现自己处于“概念间空间[88]”中的图像:
这些“有趣”吗?很难说。扫描一个人看着它们的大脑,可能会发现某种特定的信号——也许一个AI可以学会预测。但不可避免地,如果某种类型的“概念间图像”变得流行,并开始被认为是一种人们熟悉的艺术,这个信号会改变。
最终我们回到同一点:事物最终是“有趣的”,如果我们的文明选择使其如此。没有AI或任何东西可以“出去发现”的“有趣性”的抽象概念。
这就是科学。没有办法从所有ruliad的可能性中知道“什么是有趣的”;这最终由我们在“殖民”ruliad中做出的选择决定。
但如果——我们不深入到ruliad的“荒野”——而是接近已经在科学中完成的工作,并且已经“被认为有趣”的东西?AI可以帮助我们扩展现有的东西吗?在某种程度上,答案是肯定的,并且在实际中有许多用途。LLMs应该能够产生遵循学术论文模式的东西——带有“原创性”的点滴,来自LLM中使用的随机性。
这种方法能走多远?现有的学术文献充满了漏洞。现象A在系统X中被研究,B在Y中被研究,但没有相反的情况等。我们可以期望AI——特别是LLMs——在识别这些漏洞方面有用,并计划哪些科学(根据这一标准)值得做的科学。除此之外,我们还可以期望像LLMs这样的东西在绘制出科学的“通常和习惯性”路径方面有用。当涉及到实际“做科学”时,我们的计算语言工具——以及类似于计算控制的实验设备[89]——可能通常会更为核心。
但假设我们为科学定义了一些主要目标(例如“弄清楚如何逆转衰老”,或者更为谦逊地“解决冷冻保存”)。提出这样的目标意味着我们认为这是“有趣的”。然后实现这个目标的问题在概念上类似于证明定理或化学合成途径。我们有一些“可以采取的动作”,我们需要找到如何“串联这些动作”以达到目标。不可避免地,存在(多)计算不可约简性的问题:可能有不可约的步骤数,我们需要采取这些步骤才能到达结果。即使我们认为最终的目标“有趣”,也没有保证我们会发现中间步骤是稍微有趣的[90]。实际上,在许多证明中——以及在许多工程系统中——可能需要建立一个庞大的细节结构,以到达最终的“有趣结果”。
但让我们更多地谈谈要研究什么的问题——实际上,什么是“有趣的研究”。“正常科学”通常关心的是逐步进展,保持在现有范式内,但逐渐填补和扩展现有的东西。通常最富有成果的领域是在现有成熟领域之间的界面。最初,完全不清楚不同科学领域是否应该最终融合。但考虑到ruliad作为最终的基础结构,这开始变得不那么令人惊讶。然而,要实际看到不同科学领域如何被“编织在一起”,往往需要识别非常不同描述框架之间的类比,或许最初是相当令人惊讶的。“元数学中的可判定理论就像物理学中的黑洞”;“语言中的概念就像rulial空间中的粒子”;等等。
这是一个LLMs可以提供帮助的领域。看到一个领域的“语言模式”,可以期望它们看到其在另一个领域的对应——可能带来重要的结果。
但关于科学的新方向呢?历史上,这些通常是由于应用一些新的实际方法(例如进行新的类型实验或测量),恰好打开了一些“新的地方看”,而人们从未看过。但通常一个大的挑战是识别到看到的东西实际上是“有趣的”。要做到这一点,通常涉及创建某种新的概念框架或范式。
AI——如我们在这里讨论的——是否有可能做到这一点?似乎不太可能。AI通常是一些训练于现有的人类材料,旨在直接从中推断的东西。它不是为了“深入ruliad荒野”,远离任何已经与人类联系的东西而建立的。
但从某种意义上说,这正是“任意计算”的领域,以及我们可能枚举或在ruliology中随机选择的简单程序。是的,通过深入到“ruliad的荒野”很容易找到新的、新的东西,而这些东西尚未被科学吸收。挑战在于将它们与我们人类当前“理解”或“感兴趣”的任何事物联系起来。那,正如我们之前所说,根本上涉及人类选择和人类历史的怪癖。有无数的路径可以走。(是的,在“AI社会[91]”中,可以有AI追求某些集合的路径。)但最终,对我们人类和我们通常称为“科学”的企业重要的我们的内部经验[92]。这是我们最终必须为自己形成的东西。
超越“精确科学”
在物理科学等领域,我们习惯了能够开发出可以做定量预测的广泛理论的想法。但是还有许多领域——例如在生物学、人类学和社会科学中——倾向于以少得多的正式方式运作,并且很少有成功的理论推论的长链。
AI会改变这一点吗?似乎有一些有趣的可能性,特别是在AI启用的新型“测量”方面。“这些艺术品有多相似?”“这些有机体的形态有多接近?”“这些神话有多不同?”这些是过去人们主要需要通过写文章来解决的问题。但是现在AI有可能让这些事情变得更明确——从某种意义上更定量。
通常的关键思想是找出如何处理“非结构化原始数据”,并从中提取“有意义的特征”,以便以正式、结构化的方式处理。让这成为可能的主要原因是,我们有AI已在反映“我们世界中的典型事物”的大型语料库上训练——实际上形成了世界的明确内部表示,借此可以以数字列表的形式描述事物。
这些数字意味着什么?一开始我们通常不知道;它们只是一些神经网络编码器的输出。但是,重要的是它们是明确的,并且可以重复。给定相同的输入数据,总会得到相同的数字。更重要的是,通常当数据“对我们看起来相似”时,它往往会被分配到附近的数字。
在物理科学等领域,我们期望构建特定的测量设备来测量我们“知道如何解释”的数量。但是AI更像是一个黑箱:测量了一些东西,但至少一开始我们不一定对其有任何解释。有时我们可以通过训练与我们知道的一些描述相关联,从而得到一个大致的解释(例如在情感分析中的情况)。但通常不会。
(必须说,即使在物理科学中也会发生类似的情况。假设我们测试一种材料是否划伤了另一种材料的表面。大概我们可以将其解释为某种材料的硬度,但实际上它只是一个测量结果,如果我们能成功地将其与其他东西关联起来,这就变得有意义了。)
“AI测量”的一个特别值得注意的地方是,它们有可能从大量的非结构化数据中挑选出“小信号”。我们习惯于用统计等方法对结构化的数字数据做类似的事情。但问从数十亿的网页中,孩子们喜欢科学通常更喜欢猫还是狗,这是一个不同的故事。
但是给定一个“AI测量”,我们可以期望做什么?这些都还不太清楚,但至少有可能我们可以开始找到正式关系。也许这将是一个涉及数字的定量关系;也许它更适合用程序表示,描述一个计算过程,通过该过程,一个测量结果导致其他测量结果。
在像定量金融这样的领域,用简单形式的“AI测量”找到关系已经很常见——并且主要关注它们是否有效,而不是为什么它们有效,或者如何用叙述来描述它们。
某种程度上,基于“黑箱”AI测量来建立科学似乎不太令人满意,但在某种程度上,这只是加速了我们经常做的事情,例如用日常语言。我们暴露于一些新的观察或测量中。最终我们发明了描述它的词语(“它看起来像一个分形”等)。然后我们可以开始“以其为基础进行推理”等。
但是AI测量是一个更丰富的可形式化材料的来源。但我们如何进行这种形式化呢?计算语言似乎是关键。实际上,我们已经有Wolfram语言中的例子——例如ImageIdentity[93]或TextCases[94](或者,LLMFunction[95]),它们可以有效地进行“AI测量”,但然后我们可以获取它们的结果,并以符号方式进行处理。
在物理科学中,我们通常认为我们只处理“客观测量”(尽管我最近的“观察者理论[96]”暗示实际上我们的观察者性质也是关键的)。但AI测量似乎有一种即时的“主观性”——实际上它们的细节(例如与某个神经网络编码器的具体情况相关)对于我们使用的每个不同AI都将有所不同。但重要的是,如果AI是在大量的人类经验上训练的,它将具有一定的稳健性。从某种意义上说,我们可以将许多AI测量视为“社会观察者”的输出——使用类似于大量人类经验的东西,并因此获得一定的“中心性”和“惯性”。
基于“社会观察者”测量的科学我们可以期望是什么样的?在很大程度上,我们还不知道。我们有理由认为(如物理学[97]和元数学[98]中的情况),这些测量可能会利用计算可约简性口袋。如果是这样,我们可以期望我们能够开始做出诸如预测之类的事情——尽管可能仅限于“AI测量”的结果,我们会发现难以解释。但是通过将这些AI测量与计算语言联系起来,似乎有可能在从未可能的地方开始构建“形式化科学”——并在这样做时扩展我们称之为“精确科学”的领域。
(顺便提一句,现代AI的另一个有前途的应用是设置“可重复的角色”:实际上表现得像具有某些特征的人的实体,但可以在物理科学中进行大规模可重复的实验。)
所以……AI可以解决科学吗?
一开始,人们可能会对科学甚至可能存在感到惊讶。为什么世界上有我们可以识别的规律性,使我们能够形成“科学叙述”?实际上,我们现在知道,像ruliad的概念那样,计算不可约简性是不可避免的——以及由此带来的根本的不规则性和不可预测性。但事实证明,计算不可约简性的存在必然意味着存在计算可约简性的口袋,至少某些事情是有规律和可预测的。这是科学基本生活的地方——确实我们尝试操作和与世界互动的地方。
那么这与AI有什么关系呢?好吧,像我们在这里讨论的训练神经网络等的整个故事是利用计算可约简性的故事,特别是与人类思维也使用的计算可约简性对齐。在过去,捕捉和利用计算可约简性的主要方法是开发正式的方法来描述事物,通常使用数学和数学公式。AI实际上提供了一种利用计算可约简性的新的方式。通常没有人类层次的叙述来解释它如何工作;只是某种方式在训练好的神经网络中捕捉到某些规律性,使我们能够,例如,做出某些预测。
从某种意义上说,预测往往非常“人类风格”,通常对我们来说看起来“差不多对”,即使在精确的正式细节层面,它们不完全正确。它们根本上依赖于计算可约简性——当存在计算不可约简性时,它们几乎不可避免地会失败。从某种意义上说,AI在做“浅层计算”,但当存在计算不可约简性时,需要不可约的深层计算来确定会发生什么。
即使在与传统数学结构合作的地方,AI做的也不总是足够的科学所期望的。但在某些地方,“AI风格科学”可以在传统方法不能做到的地方取得进展。如果要做的事情是准确地(例如ODE)解一个方程,AI可能不是最佳工具。但如果你有一大堆方程(例如在机器人学中),AI可能会成功地给出一个有用的“粗略估计”结果,即使传统方法会陷入细节中。
机器学习——和AI——技术的一个普遍特征是,如果一个近似(“80%”)的答案足够好,它们可以非常有用。但它们往往在需要更“精确”和“完美”的东西时失败。有许多科学工作流(可能还有更多可以识别的),这是你所需要的。挑选出候选案例。识别可能重要的特征。建议要探索的可能问题。
有明显的限制,特别是在计算不可约简性存在的地方。从某种意义上说,典型的AI方法不涉及显式“形式化事物”。但在许多科学领域,形式化正是最有价值的,允许取得一系列结果。在最近的时间里,我们有了形式化事物的强大新想法,特别是使用计算语言来实现这一点。
有了这样的计算形式化,我们可以开始做不可约的计算,使我们达到无法预料的发现。例如,我们可以枚举可能的计算系统或过程,看到“根本的惊讶”。典型的AI中有随机性,使我们的探索具有一定程度的“原创性”。但它是一个根本上低于我们可以通过实际不可约的计算所达到的层次。
那么,我们对科学中AI的期望是什么呢?我们有一种新的、相当人类式的利用计算可约简性的方法。它是做科学的新工具,注定在实践中有许多用途。从根本的发现潜力来看,它与我们可以通过计算范式和我们所做的不可约计算构建的东西相比黯然失色。但是,可能在科学前进的过程中给我们最大的机会是结合AI和形式计算范式的优势。这确实是我们近年来通过Wolfram语言及其与机器学习和现在的LLM连接积极追求的一部分。
备注
我在这里的目标是概述我当前对AI在科学中基本潜力(和局限性)的思考——通过使用Wolfram语言及其AI能力进行各种简单实验来发展我的想法。我认为我在这里所做的只是一个开始。基本上每个实验都可以进行更详细、更深入的分析。(只需点击任何图片即可获得生成它的Wolfram语言,这样你可以重复或扩展它。)
“科学中的AI”是当今世界的热门话题,我肯定只了解了一小部分我所听到的东西。我的重点是试图“做显而易见的实验”并试图为自己拼凑出“全貌”要说的是,我对AI的出色工程创新印象深刻,而且我不会对未来这些创新改进实验结果感到惊讶,这些结果可能甚至改变我的“大图”结论。
我还必须道歉。虽然我听到了很多关于“科学中的AI”的讨论,尤其是过去一年,但我没有系统地研究这个领域的文献,也没有追踪其中想法的来源。因此,我必须留给其他人来将我在这里所做的工作与其他人可能(或可能没有)在其他地方做的工作联系起来。分析AI在科学中的历史可能很有趣,但我还没有机会做。
在我的努力中,Wolfram研究所的研究员Richard Assar(“Ruliad研究员”)和Nik Murzin(“Fourmilab研究员”)给予了我很大的帮助。我也感谢与我讨论过——或听说过——AI在科学中(及相关主题)的人们,包括Giulio Alessandrini,Mohammed AlQuraishi,Brian Frezza,Roger Germundsson,George Morgan,Michael Trott和Christopher Wolfram。
Stephen Wolfram:
Wolfram Research 创始人兼首席执行官
Mathematica、Wolfram|Alpha 和 Wolfram Language 的创建者
A New Kind of Science 等书籍 的作者
Wolfram 物理项目 的创始人
参考:
[1]
代码获取:
https://www.wolframcloud.com/obj/caa069ae-4bcc-451d-b6d3-63e26209c776
[2]
LLMs:
https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/
[3]
新的语言接口:
https://writings.stephenwolfram.com/2024/01/the-story-continues-announcing-version-14-of-wolfram-language-and-mathematica/#the-llms-have-landed
[4]
Wolfram语言:
https://www.wolfram.com/language/
[5]
向世界的根本计算表示的重大转变之中:
https://www.wolframscience.com/nks/p1--an-outline-of-basic-ideas/
[6]
计算语言:
https://writings.stephenwolfram.com/2019/05/what-weve-built-is-a-computational-language-and-thats-very-important/
[7]
计算宇宙中对简单程序的“ruliological”研究:
https://www.wolframscience.com/nksonline/toc.html
[8]
机器学习:
https://www.wolfram.com/language/core-areas/machine-learning
[9]
与我们能够思考或推理的事物连接或翻译:
https://writings.stephenwolfram.com/2023/12/observer-theory/
[10]
计算不可约性:
https://www.wolframscience.com/nks/chap-12--the-principle-of-computational-equivalence#sect-12-6--computational-irreducibility
[11]
物理项目:
https://www.wolframphysics.org/
[12]
计算等价性原理:
https://www.wolframscience.com/nks/chap-12--the-principle-of-computational-equivalence/
[13]
有趣的历史共鸣:
https://www.wolframscience.com/metamathematics/some-historical-and-philosophical-background/
[14]
Wolfram语言工具:
https://writings.stephenwolfram.com/2023/01/wolframalpha-as-the-way-to-bring-computational-knowledge-superpowers-to-chatgpt/
[15]
计算机和计算:
https://writings.stephenwolfram.com/2016/04/my-life-in-technology-as-told-at-the-computer-history-museum/
[16]