AI教父最新演讲:我们还能阻止人工智能体获得控制权吗?
2023智源大会上,Geoffrey Hinton做了闭幕主题演讲,对自己近年的研究工作进行了小结,介绍了「可朽计算」相较于传统和计算范式的优势,并将其与知识蒸馏技术联系了起来,介绍了如何实现智能体间的知识共享。最后,Hinton 针对当下热议的 AI 安全问题给出了自己的见解,期望青年一代能够实现可控的超级智能。
Geoffrey Hinton 的研究深深影响了这个时代,无论是反向传播、Dropout、知识蒸馏、胶囊网络,还是近年来主推的「可朽计算」(Mortal Computing),Hinton 总是以其对于人工智能独特的思考,一次次为研究者们指引前进的方向。他在2018年获得图灵奖,被称为“AI 教父”。
● ● ●
我今天要谈的是一项研究,它使我相信超级智能比我想象的要近得多。
我想谈两个问题,第一个问题,人工神经网络很快会比真实神经网络更智能吗?我认为这可能会很快发生,我将描述使我得出这一结论的研究。之后,我会稍微谈谈我们是否可以控制超级智能。
从传统计算范式到「可朽计算」
传统计算范式下,计算机要精确地遵循指令。
我们可以在不同的物理硬件上运行完全相同的程序或神经网络。这意味着存储于程序中的知识或神经网络的权重不依赖于任何特定的硬件,是「不朽」(immortal)的。
然而,实现这种性质的成本很高:我们需要高功率运行晶体管,使其以数字方式运作。我们无法充分利用硬件丰富、模拟信号、高度可变的特性。这是数字计算机存在的原因。
之所以让计算机遵循指令,是因为它们被设计成:人类先观察问题,确定解决问题所需的步骤,然后告诉计算机执行这些步骤的模式。
但现在,我们可以通过不同的方法来让计算机完成任务:从示例中学习。我们只需向计算机展示希望它完成的任务。为此,我们有可能要放弃计算机科学最基本的原则——软件应该与硬件相分离。
在我们放弃软硬件相分离的原则之前,让我们先回顾一下为什么它是一个很好的原则。
由于软件与硬件分离,我们可以在不同的硬件上运行相同的程序。我们还可以关注程序的特性,并对神经网络上的程序特性进行研究,而不必担心电子方面的问题。这也是为什么计算机科学系能够从电气工程系中独立出来。
我们试图放弃软件和硬件的分离,实现「可朽计算」。显然,它有很大的缺点,但也有一些巨大的优势。例如,能够以更低的能量训练、运行大型语言模型。放弃硬件和软件的分离,可以节约巨大的能量,可以如人类大脑一样实现非常低功率的模拟计算。
大脑中确实存在有单比特的数字计算——神经元要么触发,要么不触发。但大部分计算是以非常低的功率完成的模拟计算。此外,我们还可以获得更廉价的硬件。目前的硬件必须以二维方式精确制造,但实际上我们可以让硬件在三维环境下廉价生长,因为不需要完全理解硬件的连通性或每个部分的工作原理。
显然,这需要大量的新纳米技术,或者从基因上重新设计生物神经元(因为生物神经元已经大致能够实现我们想要的功能)。
「可朽计算」的优势之一是,我们明显可以通过使用模拟硬件,更便宜地完成计算。
将神经活动的向量与权重矩阵相乘,是神经网络的核心计算步骤。目前我们以非常高的功率驱动晶体管,以表示数字中的位。然后,我们执行复杂度为 O(n^2) 的操作将两个 n 位数相乘。在计算机上可能只是一个操作,但在位操作上却是 n^2 个操作。
另一种选择是将神经活动实现为电压,将权重实现为电导。在单位时间内,电压乘以电导会产生电流,而电流会相互叠加。可以通过电导矩阵乘以电压向量,提高能量效率上。已经存在以这种方式工作的芯片。
然而,人们使用模数转换器将模拟信号转换为数字信号,计算开销很大。如果可能的话,我们希望完全在模拟信号下工作。但是,不同的硬件部件最终将计算出略有不同的结果。
「可朽计算」的主要问题是,学习过程必须利用其运行的硬件的特定模拟特性,而我们无法确切知晓这些特性。例如,人们不知道将输入与神经元的输出相关联的确切函数,或其连通性。这意味着我们无法使用反向传播算法等方法来获得梯度。
我们现在高度依赖反向传播,如果不能使用反向传播,还能怎么学习?
一种方法是权重扰动学习(weight perturbation),为网络中的每个权重生成一个由小的临时扰动组成的随机向量。接着,度量少量样本上示例的全局目标函数的变化,作为该扰动的结果。通过目标函数的改进缩放扰动向量,永久地改变权重。
如果目标函数变得更糟,显然会朝另一个方向前进。该算法的优势在于,其行为与反向传播相同,是对反向传播梯度的无偏估计。而其存在的问题在于非常高的方差。因此,在权重空间中选择一个随机方向移动时,所产生的噪声与网络的大小成正比。这种算法适用于具有少量连接的网络,但不适用于大型网络。
另一种是算法活动扰动学习(activity perturbation),我们可以尝试扰乱网络的活动,考虑对每个神经元的全部输入进行扰动,得到梯度的无偏估计。
对少量示例进行随机扰动时,可以查看目标函数会发生什么变化。计算如何更改神经元的每个传入权重才能与梯度相符。这种方法也只是对梯度的估计,但与扰乱权重相比,它的噪音要小得多,足以学习像 MNIST 这样的简单任务。
使用非常小的学习率,它的行为与反向传播完全一样,但速度要慢得多。如果使用更大的学习率,会有噪声。它可以适用于 MNIST 这样的任务,但它的效果还不够好,无法将其扩展到大型神经网络。
扩展「可朽计算」到大型神经网络
要使其扩展,我们可以采取两种方法。
为了训练一个大的神经网络。我们可以将其分解为很多神经网络的小组,每一小组神经元都有自己的局部目标函数,而非对整个网络使用单一的全局的目标函数。可以使用活动扰动算法来学习小型多层神经网络。它将以与反向传播大致相同的方式学习,但噪声更大。我们通过引入更多小的局部神经元组,将其扩展到更大的网络,而不是扩大每个小组。
那么,这些目标函数从何而来?
一种可能的解决方案是:对局部图块进行无监督学习。对该局部图快提取多个层次的表征,每个层次都有局部图块。尝试使该神经网络对该图块的输出,与所有其它局部图块产生的平均表征一致。我们也试图使其与其它图像的平均表征不一致。
此外,我们可以为每个层次的网络添加几个隐藏层,实现非线性。这些层次使用活动扰动的贪婪算法学习,并且没有反向传播到较低层次。所以它不会像反向传播那样强大,因为它不能反向传播很多层。
通过使用活动扰动方法,Mengye Ren 证明对多个局部图块的对比学习可以得到不错的效果。为使该算法奏效,他投入了大量工作,但它仍然不如反向传播。当网络更深时,二者之间的差距会更大。
到目前为止,我们还没有找到一个真正可以利用硬件模拟属性的学习算法。但我们有足够好的学习算法可以用于像 MNIST 这样的任务,也可以学习 ImageNet 这样更大的数据集,但效果较差。
「可朽计算」的生命有限性
「可朽计算」的第二个大问题是:生命有限性(Mortality)。当一个特定的硬件「死掉」时,由于知识和硬件的细节错综复杂地纠缠在一起,它学到的所有知识也随之失效。该问题的最佳解决方案是:在硬件失效之前,将知识由「教师」提取给「学生」。
这类方法被称为知识蒸馏(knowledge distillation)。这个概念的思路就像老师教学生:老师向学生展示对各种输入的正确反应,然后学生尝试模仿老师的反应。
特朗普的推特就是这样运作的。很多人对特朗普不满,是因为他们认为觉得特朗普在试图阐述事实,但他经常说一些全无根据的事情。实际上特朗普完全没有尝试阐述事实。
特朗普所做的是选出一种情况,并对这种情况做出非常情绪化的反应。他的追随者看到后就能学会如何处理这个状况,并改变他们神经网络中的权重,这样他们对这种情况就会给出同样的情绪反应。这与事实无关,相当于一个邪教领袖向教众传播偏见,但是效果非常好。
为了探究蒸馏的效果,我们不妨考虑一个将图像分类为大约一千个非重叠类别的智能体。要给出正确的答案大约只需要 10 位信息。因此,在训练智能体时告诉其正确答案,只需要对网络的权重施加 10 位约束。
但如果我们要训练一个智能体与教师模型在 1024 个类上给出的回答保持一致(得到相同的概率分布),该如何呢?该概率分布包含 1023 个近似实数,如果这些概率都不小,就提供了数百倍的约束。
为了确保老师的输出概率都不小,可以在「高温」下运行教师网络,在训练学生网络时也在高温下运行学生。当采用 logits 蒸馏时,可以按温度缩放教师网络的 logits,得到更柔和的分布,在训练学生时使用相同的温度。
上图介绍了 soft targets 的工作原理。这是来自 MNIST 训练集的各种数字「2」的图像。显示在教师网络上使用高温时,分配给各个类别的概率。
对于第一行,教师网络很有信心将图片判别为「2」。对于第二行,它很确定那是「2」,但也认为它可能是「3」或「8」。你会发现第二行的「2」比其它的「2」更像「8」。
对于第三行,「2」显然很像「0」。老师告诉学生,当你看到这张图片时,你应该将其判断为「2」,但也应该记录它与「0」是相似的。这样一来,学生从该例中学到的知识比仅仅告诉它是「2」更多。
对于第四行,它非常有信心将其判断为「2」,但也有很小的可能为「1」。对于最后一行,老师判断错误了,以为图片是「5」。根据 MNIST 标签,它实际上是一个「2」。在这类,学生可以从老师的错误中学到知识。
我特别喜欢蒸馏的一个特殊性质,那就是当你用老师的概率训练学生时,你是在训练学生以与老师相同的方式进行概括。
通常而言,当你训练一个模型时,希望它在训练数据上预测出正确答案,然后能正确地泛化到测试数据上,它不要太复杂,要有较强的泛化能力。但通过蒸馏训练学生时,你是在直接训练学生以与教师相同的方式进行泛化。
显然,我们可以创建更丰富的蒸馏输出。例如,为图像给出一段描述,而不仅仅是一个标签,然后再训练学生预测描述中的单词,就像一个老师那样。
智能体间的知识共享
我现在想讨论智能体社区如何共享知识。事实证明,智能体社群共享知识的方式很大程度上决定了计算的方式。
有了数字模型,可以复制大量使用完全相同权重的智能体。你可以采用不同的智能体查看训练数据的不同部分,为训练数据的不同部分的权重计算梯度,然后对它们的梯度进行平均。
每个模型都学到了其它模型根据看到的数据学到的知识。这意味着,获得了查看大量数据的能力,只需共享梯度或分享权重就可以非常有效地共享知识。但这样做的代价是你必须拥有以完全相同的方式使用权重的数字智能体,制造和运行的能源成本非常高昂。
我们考虑使用蒸馏替代权重共享。如果生物模型利用特定硬件的模拟特性,那么就不能分享权重,必须使用蒸馏来分享知识。然而,它不是很有效,使用蒸馏很难分享知识,但它的带宽远低于仅共享梯度。
可以说我们有两种不同的计算方式,利用数字计算和利用模拟特性的生物计算,在不同智能体之间共享知识的效率方面有很大差异。
如今的大型语言模型(LLM)会使用数字计算和权重共享。但是模型的每个副本智能体,都以非常低效的方式从文档中蒸馏知识。
例如,LLM 试图预测下一个词时,并没有显示教师对下一个单词的概率分布。它只是随机选择文档的作者选择放在下一个词中的内容。这种 LLM 向人类学习的方式的带宽非常低。
然而,尽管每个副本通过蒸馏学习效率非常低,但是我们拥有数千份智能体副本。因此,他们比我们学到的知识多数千倍。
如果人工智能体变得比我们更聪明,将会发生什么?
现在的问题是如果这些数字智能不是通过蒸馏非常缓慢地向人类学习,而是开始直接从现实世界学习,将会发生什么?
尽管他们向人类学习时蒸馏的速度很慢,但他们正在学习非常抽象的东西。人类在过去的几千年里已经学到了很多关于这个世界的知识。人类可以用语言表达我们学到的知识。因此,数字智能可以学习到人类在过去几千年中记录的关于世界的一切知识。
但是每个数字智能体从文档中学习的带宽仍然很低。如果他们可以通过无监督方法对视频建模进行无监督学习,他们就可以从视频网站上所有的海量数据中学习。如果它们能够和物理世界交互,比如拥有机械臂进行交互,那也会有所帮助。
我相信,一旦这些数字智能体能做到这些,它们将能够比人类学得更快、更多。那么,如果智能体变得比我们更聪明,将会发生什么?
我认为,这些超级智能出现的时间可能比我过去认为的要早得多。一些别有用心的人会想利用它们来做诸如操纵选举或赢得战争。
如果你想让超级智能更有效率,你需要允许它创建子目标。有一个非常明显的子目标,它或多或少对你想要实现的任何事情都非常有帮助,那就是获得更多控制权。拥有的控制权越多,实现目标就越容易。而且我发现很难想象如何阻止数字智能试图获得更多控制权以实现他们的其他目标。
一旦它们这样做,我们就会遇到问题。超级智能会发现很容易通过操纵人来获得更多的权力。我们很难想象比我们聪明的智能体,以及如何与它们互动。
在我看来,超级智能显然会学得非常擅长欺骗人,可以让人们实际执行它喜欢的任何动作。这非常可怕!
现在我不知道如何防止这种情况发生。我老了,希望像你们这样年轻而才华横溢的研究人员弄清楚我们如何拥有这些超级智能,使我们的生活在不受超级智能控制的情况下变得更好。
我们有一个相当小的优势:超级智能是人类创造的,并不是进化而来。所以它们没有原始人所具有的竞争性、攻击性目标。也许我们可以为智能体设定道德原则。
但目前,我也感到紧张。因为我想不到在智力差距很大时,更智能的东西被更不智能的东西控制的例子。我想举的例子是,「假如青蛙创造了人,那现在是青蛙控制人类,还是人类控制青蛙」?
关注《知识分子》视频号
get更多有趣、有料的科普内容
微信扫码关注该文公众号作者