2024年12月8日,诺贝尔物理学奖首次授予了人工智能领域的科学家,John Hopfield和Geoffrey Hinton因其在神经网络领域的开创性贡献获此殊荣。在瑞典斯德哥尔摩的颁奖典礼上,被称为"人工智能之父"的Hinton讲述了一个引人深思的话题:人工智能如何逐渐学会理解人类。
"为什么打开短视频,推荐的内容总是那么对你胃口?为什么购物平台总能准确预测你的购物偏好?"这些日常生活中的现象,揭示了人工智能已经开始像人类大脑一样思考和理解。正如诺贝尔评审委员会所说:"神经网络理论让机器开始像人类一样思考,这将彻底改变人类社会的未来。在演讲中,Hinton教授用通俗语言解释人工智能如何"思考"的过程。如果说:"当我们看到一支插在水中的铅笔,它看起来是弯的,但我们的大脑知道它是直的。这种理解能力,正是我们希望赋予人工智能的。" 他同时表示:"AI可能是继人类掌握火种后最重要的发明,它能帮助我们解决从疾病治疗到气候变化等重大挑战。
考虑很多读者可能对专业术语感到陌生,让我们用一个生活中常见的例子来理解Hinton的理论:想象你在寻找回家的路线,可能有多条路可以选择。有些路看起来很近但可能会遇到堵车,有些路绕远一点但最终能更快到家。神经网络的工作方式也很像这个过程,它会不断尝试找到最好的"解释",就像我们在找最佳路线一样。让我们通过下面的图示来直观理解:
演讲文稿
注:本次演讲中专业术语比较多
今天,我将做一件非常冒险的事情,我将尝试向普通观众解释一个复杂的技术概念,而且不会使用任何公式。首先,我需要介绍 Hopfield 网络,我将以一种二元神经元的版本来解释,它们的状态是 1 或 0。
1、Hopfield 网络
图展示了一个小型的 Hopfield 网络,最重要的是,神经元之间有对称加权的连接。整个网络的全局状态被称为“配置”(configuration),为了显得更接近物理学,我们采用了这个术语。每个配置都有一个“良度”(goodness),良度的定义非常简单,就是所有同时激活的神经元对的权重之和(如红色框中的权重)。将这些权重相加,得到一个值,比如这里是 4,这就是网络当前配置的良度。而能量(energy)则是良度的相反数。
这些网络会趋向于能量的最低点(energy minima)。Hopfield 网络的核心是,每个神经元可以局部计算自己需要采取的动作来降低能量,也就是降低“坏度”(badness)。如果来自其他激活神经元的总加权输入是正的,该神经元应该打开(激活);如果是负的,则应该关闭(不激活)。如果每个神经元按照这个规则行动,并且我们随机选择神经元持续应用这一规则,那么网络最终会稳定在一个能量最低点。
图中配置实际上是一个能量最低点,它的能量是 -4。如果查看其中的任何一个神经元,已经激活的神经元会继续保持激活,因为它们接收到的是总的正输入;未激活的神经元会保持未激活状态,因为它们接收到的是总的负输入。然而,这并不是唯一的能量最低点。一个 Hopfield 网络可以有多个能量最低点,网络的最终状态取决于初始配置以及随机选择神经元更新的顺序。
现在我们看到另一个更好的能量最低点:三角形单元被激活了,这个配置的良度是3+3−1=5,所以能量是 -5,这是一个更好的最低点。
Hopfield 提议,这类网络的一种好用法是让能量最低点对应于记忆。通过使用上述的二元决策规则(神经元是否打开或关闭),可以对不完整的记忆进行“清理”。你可以从一个部分记忆开始,不断应用该决策规则,最终稳定在一个能量最低点。这种将能量最低点表示为记忆的方法,就实现了一种“内容可寻址的记忆”(content-addressable memory),即通过启动某些记忆内容,网络能够自动补全。
Terry Sejnowski 和我(Terry 是 Hopfield 的一位学生)提出了这些网络的另一种用途:与其用来存储记忆,不如用来对感官输入构建解释。其核心思想是,一个网络可以同时包含可见神经元和隐藏神经元。可见神经元用来接收感官输入,比如一个二元图像;隐藏神经元则用来构建对感官输入的解释。网络某种配置的能量表示解释的“坏度”,我们希望获得能量较低的解释。当我们遇到模糊线条的图画时,大脑通常会产生两种不同的理解方式。这种现象很常见——同一幅二维线条图可以被解读为两种不同的三维物体。这个现象引发了一个有趣的问题:我们能否构建一个神经网络来模拟这种双重解释的能力?
要解决这个问题,首先需要思考图像中的线条如何对应三维世界中的边缘。在现实中,当我们通过某个平面(比如窗户)观察外界时,二维平面上的一条线可能对应三维空间中的多种不同边缘。这些不同的三维边缘都可能在二维平面上投影出相同的线条。这就带来了一个根本性的视觉问题:如何从二维图像中的线条推断出三维世界中的真实边缘。由于物体的不透明性和相互遮挡关系,图像中的每条线只能对应一个真实的三维边缘,但确定具体是哪一个则十分困难。
为了解决这个问题,我们可以设计一个特殊的神经网络。首先,用"线条神经元"来表示图像中的线条,这些神经元的激活状态对应着图像中出现的具体线条。然后,由于每条线条可能对应多个三维边缘,我们需要通过兴奋性连接将这些线条神经元连接到一系列"边缘神经元"。但是,由于每条二维线只能对应一个真实的三维边缘,这些边缘神经元之间需要相互抑制。但仅有这些还不够,我们还需要加入一些基本的视觉解释原则。比如,当图像中的两条线相连时,我们往往认为它们在三维空间中也是相连的。为了实现这一点,我们可以在那些共享端点的三维边缘神经元之间添加强化连接。特别是当两条边缘呈直角相交时,这种连接会更强,因为直角是一种常见且重要的视觉特征。
通过这种方式,神经网络就能够模拟人类视觉系统对二维图像进行三维解释的过程,并可能产生多种合理的解释结果。
2、两个主要问题
现在我们希望,通过调整连接的权重,我们可以得到一个网络,它具有两种可能的稳定状态,分别对应于对Necker Cube的两种不同解读。这引出了两个主要问题:
搜索问题:如果我们希望用隐藏神经元(hidden neurons)来解读由可见神经元(visible neurons)的状态表示的图像,该如何避免陷入局部最优解?网络可能会停留在一个相对较差的解读中,而无法跳跃到一个更好的解读。
学习问题:我之前暗示这些连接是我手动添加的,但实际上我们希望神经网络能够自己学会添加这些连接。
在搜索问题中,神经元的随机性扮演着关键角色。在标准的 Hopfield 网络中,神经元采用确定性的决策规则:系统一旦进入某个能量最低点,就只能沿着能量下降的方向移动。这意味着系统可能会被困在局部最优解中,无法达到全局最优解。
为了克服这个限制,我们引入了随机二元神经元的概念。这种神经元虽然仍然只有两种状态(激活或关闭,即1或0),但它们的行为是概率性的。当神经元接收到强烈的正输入信号时,它几乎必然会被激活;当接收到强烈的负输入信号时,它几乎必然会关闭。然而,当输入信号接近零时,神经元的行为就变得不确定:即使在正输入的情况下,它也可能偶尔保持关闭状态;在负输入的情况下,它也可能偶尔被激活。这种概率性决策机制在处理二元图像时特别有用。具体来说,我们可以将图像的二元数据固定在可见单元上,然后对隐藏神经元采用随机初始化。在更新过程中,我们随机选择一个隐藏神经元,计算它从其他激活神经元接收到的总输入,然后根据输入的强度和符号做出概率性决策:
如果总输入为强正值,该神经元很可能被激活 如果总输入为强负值,该神经元很可能被关闭 如果总输入接近零,神经元的状态将通过概率分布来决定
通过持续应用这个随机更新规则,系统最终会达到一种称为"热平衡"的状态。热平衡是一个源自物理学的概念,它描述了系统在随机波动中达到的一种动态平衡状态。这种机制使得网络能够跳出局部最优解,探索更广阔的解空间,从而有可能找到更好的全局解。
3、热平衡和详细平衡
一旦达到热平衡,隐藏神经元的状态就成为了对输入的解读。在奈克方块的例子中,隐藏神经元可能会有一个神经元为每条线条神经元激活,从而得到一个解读,这种解读会是对Necker Cube的两种解读之一。我们希望低能量的解读是对数据的良好解读。
因此,对于这幅线条图,如果我们能够学习到二维线条神经元和三维边缘神经元之间的正确权重,并且能够学习到三维边缘神经元之间的正确权重,那么网络的低能量状态就可能对应于对图像的良好解读,也即看到3D矩形物体。
关于热平衡,它并不是表面上看起来的"系统达到某种稳定状态"。真正稳定下来的不是系统的状态本身,而是一个更抽象、更难以理解的东西:系统所有配置的概率分布。对于普通人来说,这很难理解。系统会趋向于一种特定的分布,称为"玻尔兹曼分布"(Boltzmann distribution)。在达到热平衡后,系统处于某一特定配置的概率仅由该配置的能量决定,而能量较低的配置会有更高的概率。
关于热平衡(thermal equilibrium),好的状态(低能量状态)比坏的状态(高能量状态)更可能出现。为了帮助理解热平衡,有一个物理学家常用的小技巧。想象有一个非常大的集合(Ensemble),包含无数个完全相同的网络。这些 Hopfield 网络都具有完全相同的权重,因此它们本质上是同一个系统,但每个网络的初始状态是随机的,并且它们各自独立地做出随机决策。
在这个集合中,每个可能的配置都会对应一定比例的网络。最开始,这个比例只取决于它们的初始状态,比如如果你让它们随机初始化,那么所有的配置会等概率出现。在这个巨大的集合中,每个可能的配置都会有相同数量的网络。然而,当你开始运行这个算法时,不断更新神经元的状态,使其倾向于降低能量(虽然偶尔也会升高能量),逐渐地,每个配置对应的网络比例会稳定下来。每个网络可能会在不同的配置之间跳跃,但所有网络中某一特定配置的比例会保持稳定。这种现象被称为详细平衡(detailed balance),此时,系统的配置比例就会稳定下来。
4、生成图像原理
接下来说说生成图像(generating an image)。这里不是解读图像,而是生成图像。生成图像的方式是,从所有神经元(包括隐藏神经元和可见神经元)的随机状态开始。然后,你随机选择一个隐藏神经元或可见神经元,并根据通常的随机规则更新它的状态。如果它接收到大量的正输入,它可能会激活;如果接收到大量的负输入,它可能会关闭;如果输入值接近零,它的行为会有些随机。你不断重复这一过程,直到系统接近热平衡状态。此时,可见单元的状态就是这个网络生成的图像,这个图像来源于网络所“相信”的分布——玻尔兹曼分布(Boltzmann distribution),在这种分布中,低能量的配置比高能量的配置更可能出现。
这个网络“相信”许多可能的图像,你可以通过运行这一过程从中选择一个它“相信”的图像。在玻尔兹曼机(Boltzmann Machine)中的学习目标是使网络在生成图像(可以看作网络“做梦”时随机想象出来的内容)时,这些图像看起来像它在真实感知中看到的图像。如果能实现这一点,那么隐藏神经元的状态将成为解读真实图像的一个有效方式,它们将捕获图像的潜在原因。这种学习方式的另一个表述是,学习网络中的权重等价于找到一种使用隐藏神经元的方法,使得网络能够生成看起来像真实图像的图像。
这听起来像是一个极其困难的问题,大家都认为这种学习算法会非常复杂。然而,Terry Sejnowski 和我却采取了一种过于乐观的方法。问题是,是否可以从一个随机权重的大型神经网络开始,这个网络包括许多隐藏神经元和随机初始化的权重,然后只需要给它展示大量真实的图像。我们希望的是一种看似荒谬的结果:当网络感知到足够多的真实图像时,它会自动在隐藏神经元之间,以及隐藏神经元和可见神经元之间,创建所有必要的连接,并正确地调整这些连接的权重,从而以合理的方式解释图像,比如识别在直角处连接的 3D 边缘。
这听起来非常乐观,而且你可能会认为实现这一目标的学习算法会非常复杂。但令人惊讶的是,玻尔兹曼机的学习算法非常简单。这是我和 Terry Sejnowski 在 1983 年发现的。
5、学习两个阶段
学习算法分为两个阶段:唤醒阶段(Wake phase) 和 睡眠阶段(Sleep phase)。
1、在唤醒阶段,网络被输入图像。你将图像固定在可见单元上,让隐藏单元自由活动,直到它们与可见单元达到热平衡。一旦隐藏单元达到热平衡,对于每一对连接的神经元(可能是两个隐藏单元,也可能是一个隐藏单元和一个可见单元),如果它们都处于激活状态,你就增加它们之间权重的一小部分。这是一个非常简单的学习规则,而且符合唐纳德·赫布(Donald Hebb)提出的学习理论。但是,如果你仅运行唤醒阶段,权重只会不断增加,很快所有的权重都会变为正值,所有的神经元会一直保持激活状态。这显然没有用。因此,你需要引入睡眠阶段。
2、在睡眠阶段,你可以将网络看作是“做梦”。通过更新所有神经元(隐藏和可见神经元)的状态,网络趋于热平衡。一旦达到热平衡,对于每一对连接的神经元,如果它们都处于激活状态,你就从它们之间的权重中减去一小部分。这是一个非常简单的学习算法,而且令人惊讶的是,它的确能够实现目标。
因此,在平均意义上,这种学习算法会调整权重,使得网络在“做梦”时生成的图像更有可能看起来像它在感知真实世界时看到的图像。这部分不适合普通观众,所以请不要读接下来的两行内容。对于统计学家和机器学习领域的人来说,这种算法的本质是,在期望意义上(也就是说,这个算法有一定随机性,偶尔会做错事,但从平均意义上看),它沿着对数似然的梯度进行优化。换句话说,它使得网络在“做梦”时生成的图像更可能是它在“清醒”时观察到的图像。或者换句话说,权重的变化使得网络认为合理的图像(低能量状态)与它“清醒”时看到的图像更加相似。
在这个学习过程中发生的事情是:在“清醒”(Wake)阶段,你降低网络在看到真实数据时到达的整体配置的能量;在“睡眠”(Sleep)阶段,你提高这些配置的能量。换句话说,你试图让网络“相信”它在“清醒”时看到的东西,同时“否定”它在“睡眠”时“梦到”的东西。如果你问达到热平衡的过程实现了什么,那就令人惊叹了。这一过程使得网络的每个权重所需了解的关于其他所有权重的信息都能被提取出来。为了调整一个权重,你需要知道它与所有其他权重的交互关系。而所有需要知道的信息都会体现在两个相关性之间的差异中:一是网络在观察真实数据时,两神经元共同激活的频率;二是网络在“做梦”时,两神经元共同激活的频率。这些相关性在两种情况下的差异包含了权重调整所需的全部信息。
令人惊讶的是,与反向传播等算法不同,这种方法并不需要一个向后传播的过程来传递关于其他权重的信息。在反向传播中,前向传播是传递神经元的激活到后续层,而反向传播传递的是敏感性(sensitivities),这种信息完全不同。反向传播因此显得不太可能是人脑的工作原理。然而,当 Terry 提出了玻尔兹曼机的这种学习方法时,我们完全相信这一定就是大脑的工作方式。我们甚至决定,我们将因为这一理论而获得生理学或医学领域的诺贝尔奖。当时我们从未想到,即使这不是大脑的工作方式,我们可能也会因此获得物理学的诺贝尔奖。唯一的问题在于,对于大型网络来说,达到热平衡的过程非常缓慢,尤其是当权重较大时。如果权重很小,热平衡可以快速达到;但在权重较大时,这个过程会非常缓慢。因此,尽管玻尔兹曼机是一种浪漫的、令人着迷的理论——它有一个极其简单的学习算法,却能实现非常复杂的功能,比如构建隐藏单元的网络以解释数据,但其学习过程实在太慢了。所以,这就是玻尔兹曼机在当时的局限性。讲到这里,演讲其实本应该结束了。但是,在 17 年之后,我意识到,如果对玻尔兹曼机进行大量限制,比如隐藏单元之间没有连接,那么就可以得到一个更快的学习算法。
如果隐藏神经元之间没有连接,那么“清醒”阶段会变得非常简单。你只需要将输入固定在可见单元上以表示一个图像,然后可以并行更新所有隐藏单元的状态。这些隐藏单元会根据它们接收到的可见输入随机选择一个状态,更新完成后,它们就立即达到了与数据的热平衡。这是隐藏单元的改进。但在“睡眠”阶段仍然有问题:你需要让网络进入一个随机状态,然后更新隐藏单元、再更新可见单元,循环这个过程许多次,直到达到热平衡。这仍然是一个非常耗时的过程,因此这个算法依然不可行。不过,后来发现有一个捷径可以解决这一问题。
6、捷径学习算法
尽管这个捷径并不能完全准确地实现目标,但在实践中效果相当不错。其步骤如下:
将数据输入到可见单元上,这是一个图像。 并行更新所有隐藏单元,使它们与数据达到热平衡。 更新所有可见单元,得到一个“重构”,它会与输入数据相似,但不完全相同。 再次更新所有隐藏单元,然后停止。
学习算法的实现方式是:你计算两神经元(一个是可见单元,一个是隐藏单元)在显示数据并达到热平衡时共同激活的频率,然后计算它们在显示“重构”并达到热平衡时共同激活的频率。这两个频率的差值就是学习的依据。你根据这个差值调整权重,权重的变化与这个差值成比例。这种算法运行得非常快,使得玻尔兹曼机终于在实践中变得可行。
Netflix 曾经使用受限玻尔兹曼机(Restricted Boltzmann Machines, RBM),结合其他方法,来决定向你推荐哪些新电影。这是基于与你有相似偏好的其他用户的偏好来进行推荐的。实际上,这种方法奏效了。结合 RBM 和其他方法,他们赢得了 Netflix 举办的关于如何更好预测用户喜好的比赛。不过,仅仅使用隐藏神经元之间没有连接的受限玻尔兹曼机,你无法构建特征检测器的多层网络,而这是识别图像中的物体或语音中的单词所必需的。表面上看,这种只使用一层隐藏单元且隐藏单元之间没有连接的限制显得很强,但实际上你可以绕过这个限制。
你可以通过堆叠多个受限玻尔兹曼机来解决这个问题。首先,你将数据输入一个受限玻尔兹曼机。它只有一层隐藏单元,使用对比散度算法,通过多次上下采样学习权重,使隐藏单元能够捕获数据中的结构。隐藏单元会变成特征检测器,捕获数据中常见的相关性。然后,你将这些隐藏单元的二元激活模式作为数据,输入另一个 RBM。第二个 RBM 会分析这些由第一个 RBM 提取的特征的相关性。
你可以不断重复这个过程。通过这种方式,你逐渐捕获了数据中越来越复杂的相关性,
,以此类推。每个受限玻尔兹曼机都在上一层隐藏单元中找到结构。
接着,你可以将这些 RBM 堆叠起来,将它们视为一个前馈网络。此时忽略连接是对称的这一事实,只使用单向连接。通过这种方法,在第一层隐藏单元中,你提取了捕获原始数据相关性的特征;在第二层隐藏单元中,你提取了捕获第一层特征相关性的特征,依此类推。这样,你会得到越来越抽象的特征,捕获“相关性的相关性”。当你堆叠这些层后,你可以添加一个最终的隐藏层,并进行监督学习。这时你可以告诉网络这些特征对应的名称,例如“猫”或“狗”(类别标签)。然后你需要学习这些类标签的权重,但此时的网络已经通过学习多个 RBM 进行了初始化。
这种初始化方式带来了两个显著的好处:
1、网络的学习速度比随机初始化时快得多,因为它已经学到了一些对建模数据结构有用的特征。虽然它尚未学会物体的名称,但它学到了数据中的结构。因此,学习物体名称变得相对快速。就像小孩子一样,他们不需要被重复告知“那是一头牛”2000 次才能学会。他们自己能够推断出“牛”的概念,当母亲告诉他们“那是一头牛”时,他们很快就能记住,大概只需要听两次就足够了。
2、网络的泛化能力更强,因为它的大部分学习过程并未依赖标签。网络不需要大量标签,也不是通过标签提取信息,而是通过数据中的相关性提取信息。这使得它在标签较少的情况下仍然具有很好的泛化能力。
7、实际应用
这一方法非常有效。从 2006 年到 2011 年,人们广泛使用叠加的 RBM 来预训练前馈神经网络。特别是在我的实验室、Yoshua Bengio 的实验室以及 Yann LeCun 的实验室中,这种方法得到了深入研究。2009 年,我实验室的两位学生 George Dahl 和 Abdel-rahman Mohamed 证明了这种技术在识别语音片段方面比当时的最佳技术略胜一筹。
这改变了语音识别领域的状况。我的研究生们纷纷加入各大领先的语音识别团队。到 2012 年,基于叠加受限玻尔兹曼机的方法被 Google 投入生产,显著提升了语音识别的效果。突然之间,Android 设备上的语音识别性能大幅提升。
不幸的是,随着我们证明深度神经网络通过叠加受限玻尔兹曼机进行预训练可以取得优异的性能,人们找到了一些其他初始化权重的方法,这些方法不再需要使用 RBM。然而,化学家们知道,酶是非常有用的工具。即使 RBM 不再使用,它们帮助我们完成了从“认为深度神经网络永远无法工作”到“看到深度神经网络实际上可以轻松工作”这一转变。一旦完成这个转变,就不再需要“酶”了。因此,可以把 RBM 看作是一种历史性的“酶”。
尽管如此,使用“睡眠”来进行去学习(unlearning),以获得一种更具生物学合理性的算法,并避免反向传播的逆向路径,我仍然认为这种思想具有很大的潜力。我仍然乐观地相信,当我们最终理解人脑如何学习时,这将涉及使用睡眠来进行去学习的过程。因此,我仍然充满希望。
好了,我的演讲到此结束。谢谢大家!
【往期回顾】
💡 看到很多读者在问"如何开始AI转型",我们建了个实战派AI团队(成员来自复旦、浙大、华为、阿里等),专注帮企业做"轻量级"AI落地:
🎯 公司该从哪个环节开始用AI?
🛠️ 具体怎么落地才不会踩坑?
💰 投入产出比怎么才最大?
我们团队专注企业AI解决方案
联系负责人:Milo-1101(仅限企业客户)
原视频链接:https://www.youtube.com/watch?v=r1Bi10Xt0fc&ab_channel=StanfordGraduateSchoolofBusiness
素材来源官方媒体/网络新闻