人工智能可以解决科学问题吗?(二)

人工智能能预测将会发生什么吗?

这不是科学的唯一角色——在接下来的章节中,我们将探讨其他方面。但从历史上看,成功的科学常常被视为其定义特征:它能预测将会发生什么吗?所以现在我们可以问:人工智能是否给了我们一种戏剧性改善这一能力的方式?

在最简单的情况下,我们基本上想要使用人工智能进行归纳推理。我们输入一系列测量结果,然后要求人工智能预测我们尚未进行的测量的结果。在这个层面上,我们将人工智能视为一个黑盒;内部发生的事情无关紧要;我们只关心人工智能是否给出了正确的答案。我们可能会认为某种方式可以设置人工智能,使其“不做任何假设”——只是“遵循数据”。但不可避免地,人工智能中会有一些基础结构,使其最终假定某种数据模型。

是的,这个模型中可以有很大的灵活性。但不能有真正的“无模型模型”。可能人工智能基于一个巨大的神经网络,有数十亿个数值参数可以被调整。甚至网络的架构也可以改变。但整个神经网络设置不可避免地定义了一个最终的基础模型。

让我们来看一个非常简单的案例。设想我们的“数据”是这里的蓝色曲线——可能代表一个悬挂在弹簧上的重量的运动——而“物理学”告诉我们它会继续变成红色曲线:

现在让我们采用一个非常简单的神经网络

并让我们训练它使用上面的“蓝色曲线”数据,以获得一组特定的权重的网络:

现在让我们应用这个训练有素的网络来重现我们原始的数据并扩展它:

我们看到的是,网络在重现它被训练的数据方面做得还不错,但当它涉及到“预测未来”时,它基本上失败了。

那么,发生了什么?我们只是没有训练足够长的时间吗?以下是随着训练轮数的增加所发生的情况:

img

似乎这并没有多大帮助。那么,问题可能是我们的网络太小了。以下是具有一系列大小的网络所发生的情况:

img

是的,更大的大小有所帮助。但它们并没有解决使我们的预测成功的问题。那么,我们还能做什么呢?好吧,网络的一个特征是其激活函数:我们如何从输入的加权总和中确定每个节点的输出。这里是一些结果,使用各种(流行的)激活函数

img

这里有一个值得注意的地方——强调了“没有无模型模型”的观点:不同的激活函数导致不同的预测,预测的形式似乎直接反映了激活函数的形式。事实上,这里没有魔法;只是神经网络对应于一个其核心元素为激活函数的函数。

例如,网络

对应于函数

其中ϕ代表在这种情况下使用的激活函数。

当然,用一些标准函数的某种组合来近似一个函数的想法是极其古老的(想想:本轮和之前)。神经网络允许人们使用更复杂(和分层的)非线性函数的更复杂的组合,并提供了一种更流畅的方式来“拟合涉及的所有参数”。但从根本上讲,这是同一个想法。

例如,这里是一些用更直接的数学函数构造的“数据”近似:

img

这些有一个优点,即通过“给出其公式”很易于说明“每个模型是什么”。但就像我们的神经网络一样,在进行预测时也存在问题。

(顺便说一下,像时间序列预测这样的方法涉及到许多方法,包括“拟合递归关系”的想法——在现代时代,使用变换器神经网络。尽管这些方法恰好能够很好地捕捉到像正弦波这样的周期信号,但我们不期望它们能够广泛成功地准确预测函数。)

好吧,也许可以说,我们尝试使用和训练我们的神经网络的方式太狭窄了。毕竟,似乎对ChatGPT的成功至关重要的是有大量关于各种事物的训练数据,而不仅仅是某个狭窄的特定领域。当然,这些广泛的训练数据可能让ChatGPT学习到了“通用的语言和常识模式”,这是它从更狭窄的训练数据中无法获得的。

那么,对我们来说类似的是什么呢?也许我们希望我们的神经网络对函数如何工作有一个“通用的概念”——例如了解函数的连续性,或者说,周期性或对称性。所以,是的,我们可以继续,不仅仅是在上面那样的特定“数据窗口”上训练,而是在整个函数族上训练——比如说三角函数的集合,或者也许是Wolfram语言中所有内置的数学函数。

无需说,如果我们这样做,我们肯定能够成功预测我们上面的正弦曲线——就像我们如果使用传统的傅立叶分析一样,以正弦曲线作为我们的基础。但这是“做科学”吗?

本质上,这是在说,“我以前见过类似的东西,所以我想现在会发生这种情况。”无疑,这可能是有用的;事实上,这是一个典型的经验丰富的人类在某个特定领域能够做到的事情。我们稍后将回到这一点。但现在的主要观点是,至少当涉及到预测函数这样的事情时,似乎神经网络——以及今天的人工智能——无法以任何明显的方式“看得更远”,超出它们的构建和训练。没有“突现的科学”;它只是相当直接的“模式匹配”。

预测计算过程

预测一个函数是一项特别简单的任务,人们可能会想象,“真实的过程”——例如在自然中——会有更多的“环境结构”,人工智能可以使用这些结构作为预测的“立足点”。作为我们可能认为的“人造自然”的一个例子,我们可以考虑诸如元胞自动机这样的计算系统。以下是一个特定元胞自动机规则的示例,给定一个特定的初始条件:

img

这里有简单和复杂的混合。作为人类,我们可以很容易地预测将会发生什么在简单的部分,但基本上对其他部分不能说出太多。那么人工智能会怎么做呢?

显然,如果我们的“人工智能”只是运行元胞自动机的规则,那么它将能够预测一切,尽管需要巨大的计算努力。但真正的问题是人工智能是否可以绕过所有那些计算工作,成功地做出预测——换句话说,人工智能是否可以成功找到并利用计算可约简性的口袋。

所以,作为一个具体的实验,让我们设置一个神经网络,尝试高效预测我们的元胞自动机的行为。我们的网络基本上是一个直接的——尽管是“现代”的——卷积自动编码器,有59层,总共大约800,000个参数:

卷积自动编码器

它的训练方式类似于LLM。我们得到了许多关于我们的元胞自动机演化的示例,然后我们向网络展示了每一个的“上半部”,并尝试让它成功地继续这一过程,以预测“下半部”。在我们所做的具体实验中,我们给了3200万个例子,每个例子宽64个单元的元胞自动机演化。(是的,与所有可能的初始配置相比,这个例子的数量很少。)然后我们尝试输入64个单元宽、64步长的元胞自动机演化的“块”,并查看网络为不同可能的续集分配的概率。

以下是一系列不同初始条件的结果:

img

我们看到的结果正如我们所期望的:当行为足够简单时,网络基本上得到了正确的结果。但当行为更复杂时,网络通常处理得不太好。它仍然通常至少“大致正确”——但细节并不在那里。

或许,有人可能会认为,网络只是没有经过足够长时间的训练,或者没有足够的例子。为了了解更多训练的效果,这里展示了连续四分之一百万轮训练中预测概率的演变:

img

这些应该与确切的结果进行比较:

img

是的,随着训练的进行,有所改进,但到最后似乎它可能不会变得更好。(尽管它的损失曲线在训练过程中确实显示了一些突然的下降,可能是在“发现”时——我们不能确定不会有更多这样的情况。)

机器学习非常典型的是,它能够做得很好,得到“大致正确”的结果。但抓住细节并不是机器学习擅长的。所以当一个人试图做的事情取决于此时,机器学习将受到限制。在我们这里考虑的预测任务中,问题是一旦事情即使稍微偏离轨道,一切基本上就会从那里变得更糟。

识别计算可约简性

计算可约简性是我们通常认为的“做科学”的核心。因为它不仅负责让我们做出预测,它还让我们识别规律,构建模型和对我们看到的内容进行压缩总结——并开发出我们可以在心中捕捉的理解。

但我们如何找到计算可约简性?有时它非常明显。比如当我们对某种行为(如上面的元胞自动机演化)做可视化时,立即认出简单的特征。但实践中,计算可约简性可能并不那么明显,我们可能需要深入研究大量细节才能找到它。这是人工智能可能大有帮助的地方。

在某种程度上,我们可以将其视为“找到正确的参数化”或“正确的坐标系统”的故事。作为一个非常直接的例子,考虑看似相当随机的点云:

img

只需将这特定的点云转到适当的角度就能揭示明显的规律

img

但是否有一种通用方式来挑选出规律,如果它们存在的话?有传统的统计学(“A和B之间有相关性吗?”,等)。有模型拟合(“这是高斯函数的和吗?”)。有传统的数据压缩(“它在行程编码后是否更短?”)。但所有这些只能挑选出相当特定的规律类型。那么人工智能能做得更多吗?它是否可能以某种方式提供一种通用方式来找到规律?

说我们在某物中发现了规律,基本上等同于说我们不需要单独指定该物的所有细节:从中可以有效重建该物的存在着某种简化的表示。因此,例如,给定上图中的“点位于直线上”的规律,我们不需要单独指定所有点的位置;我们只需要知道它们形成的条纹具有某种间隔。

好的,那么让我们设想我们有一个图像,有一定数量的像素。我们可以问是否存在涉及更少数据的简化表示——可以从中有效重建图像。而对于神经网络,有一个可能被认为是技巧的方法来找到这样的简化表示。

基本思想是设置一个神经网络作为自动编码器,它接受输入并将其作为输出再现。人们可能会认为这将是一个微不足道的任务。但并非如此,因为数据必须在神经网络的内部流动,有效地在开始时被“研磨”并在结束时被“重组”。但关键是,通过足够多的可能输入的例子,有可能训练神经网络成功再现输入,并作为自动编码器操作。

但现在的想法是查看自动编码器内部,并提取出它想出的简化表示。当数据从一层流向另一层时,它总是试图保留重现原始输入所需的信息。如果某一层的元素更少,那么在该层处的内容必须对应于原始输入的某种简化表示。

让我们从一个标准的现代图像自动编码器开始,它已经在几十亿典型的网络图像上训练过。给它一个猫的图片,它会成功再现看起来像原始图片的东西:

img

但在中间,将会有一个简化表示,有着更少的像素——以某种方式仍然捕获了猫所需的内容(这里显示了其4个颜色通道分开):

我们可以将其视为猫图片的一种“黑盒模型”。我们不知道模型中的元素(“特征”)意味着什么,但不知何故,它成功地捕获了图片的“本质”。

那么如果我们将这种方法应用于“科学数据”,或例如“人造自然过程”如元胞自动机会怎样呢?这里是一个成功压缩的案例:

img

在这种情况下,成功不是那么显著:

img

而在这些情况下——存在基础计算不可约简性——它遇到了麻烦:

img

img

但这个故事还有更多。你看,我们使用的自动编码器是在“日常图像”上训练的,而不是这些“科学图像”。所以实际上它正试图用类似猫的眼睛和耳朵这样的结构来建模我们的科学图像。

那么如果——就像在上面的元胞自动机预测案例中一样——我们更具体地针对我们想要的图像类型训练一个自动编码器会怎样呢?

这里是两个非常简单的神经网络,我们可以将其用作自动编码器的“编码器”和“解码器”:

img

现在让我们使用标准的MNIST图像训练集,并使用这些训练自动编码器:

img

这些图像每个有28×28像素。但在自动编码器的中间,我们有一个只有两个元素的层。这意味着我们要求它编码的任何东西都必须简化为仅两个数字:

我们在这里看到的是,至少对于看起来或多或少像它被训练的那些图像的图像,自动编码器设法重建了至少大致正确的东西,即使是从这种激进的压缩中。如果你给它其他种类的图像,然而,它就不会那么成功了,而是基本上只是坚持将它们重建为看起来像其训练集中的图像:

好的,那么训练它使用元胞自动机图像会怎样呢?让我们采取1000万张使用特定规则生成的图像:

现在我们在这些图像上训练我们的自动编码器。然后我们尝试给它提供类似的图像:

img

结果至多是非常大致的;这个小神经网络并没有成功地学习到这个特定元胞自动机的“详细工作方式”。如果它成功地用两个数字来描述元胞自动机演化的所有明显复杂性,那么我们可以认为这是一项令人印象深刻的科学工作。但并不奇怪,神经网络实际上被计算不可约简性所阻挡。

但即使它不能“严肃地破解计算不可约简性”,神经网络仍然可以“做出有用的发现”,通过发现计算可约简性的小片段和小规律。因此,例如,如果我们取“噪声字母”的图像,并使用神经网络将它们简化为一对数字,并使用这些数字放置图像,我们得到了一个“降维特征空间图”,将不同字母的图像分开:

img

但考虑例如不同规则的元胞自动机的集合:

img

这是一个典型的神经网络将这些图像在“特征空间”中排列的方式:

img

是的,这几乎自动发现了我在1983年初确定的四类行为。但它并不完全对。尽管从某种意义上讲,这是一个困难的案例,与计算不可约简性面对面。但有很多情况(想想:基于元素属性对周期表进行排列;基于雷诺数的流体流动的相似性;等等),我们可以期望一个神经网络关键到计算可约简性的口袋,并至少成功重申现有的科学发现。

人工智能在非人类世界中

人工智能最初的概念是开发人类智能的人造类似物。的确,人工智能近期的巨大成功——例如在视觉对象识别或语言生成中——都是关于拥有可再现人类所做之事精髓的人造系统。并不是有一个精确的理论定义来区分一张图片是猫还是狗。重要的是我们可以有一个神经网络得出与人类相同的结论。

那么这为什么有效呢?可能是因为神经网络捕捉了实际大脑的架构本质。当然,人工神经网络的细节与生物大脑不同。但在某种意义上,现代人工智能的大惊喜是,似乎有足够的普适性,使得人工神经网络在功能上类似于人脑,至少在视觉对象识别或语言生成方面。

但关于科学的问题怎么样呢?我们可以在一个层面上问人工智能是否可以模拟人类科学家所做的事情。但还有另一个层面:人工智能是否可以直接弄清楚系统——比如自然中的系统——是如何行为的?想象我们正在研究某个物理过程。人类科学家可能会找到该系统的某种人类水平的描述,例如用数学方程式。但系统本身就是直接做它所做的事情。问题是,这是神经网络可以捕捉的吗?

如果人工智能在“类人任务”上“起作用”,只是因为它们在架构上类似于大脑,那么没有直接理由认为它们应该能够捕捉与大脑无关的“原始自然过程”。那么,当人工智能做类似预测蛋白质折叠这样的事情时,是怎么回事呢?

我怀疑的一个部分故事肯定是,即使蛋白质折叠的物理过程与人类无关,但我们认为它的哪些方面是重要的却是如此。我们不期望神经网络会预测每个原子的确切位置(在自然环境中,蛋白质中的原子甚至没有精确的固定位置)。相反,我们想知道的是诸如蛋白质是否有“正确的整体形状”,具有正确的“可识别特征”(如alpha螺旋),或正确的功能属性。这些现在是更多“人的”问题——更多的是“观察者的眼中”——更像是区分图像是猫还是狗的问题。所以,如果我们得出结论说神经网络“解决了蛋白质折叠的科学问题”,这至少部分上只是因为我们的大脑(“主观地”)应用的成功标准是神经网络——凭借其类似大脑的架构——恰好能够提供的。

这有点像使用生成性AI产生图像。在基本的人类视觉感知层面,它可能看起来像我们认识的某样东西。但如果我们仔细检查它,我们可以看到它并不是“客观上”我们认为的那样:

img

用“第一原理物理学”弄清楚蛋白质是如何折叠的从来都不是真正实用的。所以,神经网络即使能得到大致正确的答案也是令人印象深刻的。那么,它们是如何做到的呢?很大一部分肯定是有效地将蛋白质的块匹配到训练集中的内容——然后找到“合理”的方式来“缝合”这些块在一起。但也可能还有其他东西。我们熟悉蛋白质中某些“规律性片段”(如alpha螺旋和beta折叠)。但似乎很可能神经网络实际上是在利用其他类型的规律性;它们已经发现了我们之前不知道的可约简性的口袋。特别是如果这些可约简性的口袋一遍又一遍地出现,它们将有效地代表新的、一般的“科学成果”(比如,在蛋白质结构中常见的某种新类型的“元结构”)。

但虽然我们基本上可以肯定地期待在最终存在无限数量的计算可约简性口袋,我们一开始并不清楚它们在我们关心的事物中的重要性,或者神经网络方法在发现它们方面的成功程度如何。我们可能会想象,如果神经网络能够找到可约简性,那么就会有某种表示形式——或者说,可视化——在其中,可约简性对我们来说将是“显而易见”的。但有很多方式可能会导致这种失败。例如,可约简性可能是“视觉上显而易见”的,但只有在3D体积中,例如很难区分不同结构的蓬松云朵。或者,也许可约简性只能通过某种计算来揭示,这不是神经网络容易处理的。

不可避免地,许多系统表现出计算不可约简性,并且至少在它们的完整形式中,必须对任何“快捷方法”不可接近,无论是基于神经网络还是其他方法。但我们所问的是,当存在可约简性的口袋时,它是否可以被神经网络捕捉到。

但我们再次面临到一个事实:没有“无模型模型”。某种类型的神经网络将很容易捕捉到某种类型的计算可约简性;另一种将很容易捕捉到其他类型。是的,你总能构建一个神经网络来近似任何给定的特定函数。但在捕获某种一般类型的计算可约简性时,我们正在寻求更多——我们可以得到的将不可避免地取决于神经网络的基本结构。

但假设我们已经让一个神经网络成功地钥匙进入了特定系统中的计算可约简性。这是否意味着它可以预测一切?通常不会。因为几乎总是可约简性只是一个“口袋”,并且存在大量的计算不可约简性和“意外”在“外面”。

实际上,即使在像蛋白质折叠这样的情况下,这似乎也是如此。这里有一些我们认为结构相当简单的蛋白质的例子——神经网络预测(黄色)与物理实验的结果(灰色管道)相当吻合:

img

但对于我们认为结构更复杂的蛋白质,一致性通常并不那么好:

img

这些蛋白质都至少与用来训练神经网络的蛋白质相似。但对于非常不同的蛋白质——比如具有随机氨基酸序列的蛋白质怎么样?

img

很难知道神经网络在这里的表现如何;似乎很可能,特别是如果存在“惊喜”,它不会成功地捕捉到它们。(当然,可以说所有“合理的蛋白质”,通常在生物学中出现的,可能具有某些特征,并且将神经网络应用于“非生物学的”随机蛋白质可能是“不公平的”——尽管例如在适应性免疫系统中,生物学确实有效地生成了至少短的“随机蛋白质”。)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值