在过去的15到20年里,机器学习的发展呈现爆炸式增长,它利用的是一种被称为人工神经网络的结构。如今,当我们谈论"人工智能"时,通常指的就是这种类型的技术。
尽管计算机不能思考,但机器现在可以模仿记忆和学习等功能。这些功能在约翰·霍普菲尔德(John J. Hopfield)和杰弗里·辛顿(Geoffrey E. Hinton)的帮助下得以实现。他们从20世纪80年代开始就在人工神经网络方面开展了重要的工作。利用物理学的基本概念和方法,他们开发出了能利用网络结构来处理信息的技术。
他们也因此被授予2024年的诺贝尔物理学奖,以表彰他们"通过人工神经网络实现机器学习的基础性发现和发明"。
约翰·霍普菲尔德,美国物理学家、神经科学家,普林斯顿大学教授。他在1982年发明了著名的“霍普菲尔德神经网络”(Hopfield neural network),这是第一个能够储存多种模式,并具备记忆功能的神经网络模型,是神经网络发展早期的一座重要的里程碑。霍普菲尔德神经网络利用了描述材料的原子自旋特性的物理学。它的诞生为递归神经网络的发展铺平了道路,其提出的能量最小化原理,对于解决优化问题产生了深远影响。
杰弗里·辛顿,英裔加拿大计算机科学家、神经科学家,加拿大多伦多大学教授,前“谷歌大脑”负责人。辛顿是神经网络早期(且一直没有放弃)的重要研究者之一。20世纪80年代,他为将反向传播算法(backpropagation)引入多层神经网络训练做出了重要贡献,并发明了“玻尔兹曼机”——一种利用统计物理学、在霍普菲尔德神经网络的基础上发展而来的随机递归神经网络。在2012年,辛顿及两位学生Alex Krizhevsky、Ilya Sutskever发明的AlexNet在计算机视觉竞赛ImageNet中以压倒性优势取得冠军,创造了深度神经网络发展的里程碑,并激发了大量采用卷积神经网络(CNN)和图形处理器(GPU)加速深度学习的研究。辛顿与Yoshua Bengio 和Yann LeCun并称为“深度学习三巨头”“AI教父”,共同获得2018年图灵奖。
模仿大脑
如今我们常常听到的“机器学习”“人工神经网络”等技术,最初是受到了脑结构的启发。在人工神经网络中,脑的神经元是由具有不同值的节点表示的。这些节点通过类比于突触的连接相互影响,而且这些连接可以加强或减弱。这种网络可以被训练,例如通过加强同时具有高值的节点之间的连接。
左:脑的神经网络是由具有复杂内部机制的活细胞(神经元)构建而成的。它们可以通过突触相互发送信号。当我们学习时,一些神经元之间的连接变得更强,而其他的则会变得更弱。
右:人工神经网络是由编码了数值的节点构建而成的。这些节点相互连接,当网络接受训练时,同时激活的节点之间的连接变得更强,而其他的则变得更弱。
起初,研究神经网络的科学家只是想要理解大脑的工作机制。20世纪40年代,研究人员已经开始探索大脑神经元和突触网络背后的数学原理。此外,心理学领域也为这一领域提供了重要线索,神经科学家Donald Hebb的假设指出,学习之所以发生,是因为当神经元共同工作时,它们之间的连接得到了加强。
随后,科学家循着这样的想法,通过计算机模拟构建了人工神经网络,从而重现大脑网络的功能。在这些模拟中,节点构成了大脑的神经元,每个节点被赋予不同的值,而突触则由节点之间的连接表示,这些连接可以被加强或削弱。Donald Hebb的假设至今仍是通过训练来更新人工网络的基本规则之一。
20世纪60年代末,一些令人沮丧的理论结果导致许多研究人员怀疑这些神经网络永远不会真正有用。然而,到了20世纪80年代,一些重要思想(包括今年两位获奖者的工作)产生的影响,重新点燃了人们对人工神经网络的兴趣。
联想记忆
想象一下,你试图回忆一个相当不寻常且很少使用的词,比如用于描述电影院或者无障碍通道中那种倾斜地面的词汇。你在脑海中搜寻:它有点像斜面(ramp)……或许是滑坡(radial)?不,不是。对了,是斜坡(rake)!
这种通过搜索相似词来找到正确词汇的过程,就类似于霍普菲尔德于1982年发现的联想记忆模型——霍普菲尔德神经网络——它能够存储模式,并且可以重现这些模式。“霍普菲尔德神经网络”利用了描述材料的原子自旋特性的物理学。整个网络是以等同于物理学中自旋系统能量的方式来描述的,并通过找到节点之间连接的值来进行训练,使得保存的图像具有低能量。当向霍普菲尔德神经网络输入一个畸变或不完整的图像时,它会系统地遍历节点并更新它们的值,这样网络的能量就会下降。如此一来,网络就能逐步找到与输入的不完美图像最相似的已保存图像。
为什么霍普菲尔德会想到用物理学来描述“生物学”?有一次,他受邀参加一场关于神经科学的会议,接触到了有关大脑结构的研究。会议内容令他着迷,并让他开始思考简单神经网络的动力学特性——当神经元共同作用时,它们能产生新的、强大的特性,如果你只关注网络中的每一个独立神经元,是很难察觉这些特性的。
1980年,霍普菲尔德离开了彼时就职的普林斯顿大学,他的研究兴趣已超越了物理学同僚们的研究领域。后来,他接受了加州理工学院在南加州帕萨迪纳的化学与生物学教授职位。在那里,他得以利用学校的计算机资源进行免费实验,并发展他对神经网络的构想。
同时,他并未放弃自己的物理学基础,还从中汲取了灵感,理解了由众多协同工作的小组件构成的系统如何产生新的有趣现象。他尤其受益于具有特殊特性的磁性材料,这些特性源于其原子自旋——一种使每个原子成为微小磁体的性质,相邻原子的自旋会相互影响,这使得自旋方向一致的区域得以形成。他利用描述自旋相互影响时材料特性如何变化的物理学原理,构建了一个包含节点和连接的模式网络。
网络用“地形”保存图像
霍普菲尔德构建的神经网络中,节点与节点之间连接的强度是不同的。每个节点可以存储一个单独的值——在霍普菲尔德的早期工作中,这个值可以是0或1,就像黑白照片中的像素一样。
霍普菲尔德用物理学中的自旋能量来描述这个网络的整体状态。能量是通过一个公式计算的,该公式利用了所有节点的值和它们之间所有连接的强度。霍普菲尔德神经网络通过将图像输入到节点中进行编程,节点被赋予黑色(0)或白色(1)的值。然后,能量公式会调整网络的连接,使得存储的图像能量更低。当另一个模式输入到网络中时,程序会依照特定规则遍历每个节点,看看如果改变该节点的值,网络的能量是否会降低。如果发现将黑色像素变为白色会降低能量,则改变其颜色。这个过程会持续进行,直到能量再也无法降低。当实现这一点时,网络通常已经能重现训练时所用的原始图像。
如果你只存储一种模式,这可能看起来并不那么惊人。你可能会想,为什么不直接保存图像本身,然后与要测试的另一幅图像进行比较呢?但霍普菲尔德的方法之所以特别,是因为它可以同时存储多幅图像,并且经常能通过网络区分它们。
霍普菲尔德将在网络中搜索特定保存状态的过程比作“一个小球在山丘和山谷之间滚来滚去”,滚动的球因摩擦而减慢。如果球从一个特定位置被放下,它将滚入最近的谷底并停在那里。如果给网络输入的模式接近某个已经被存储的模式,它将以同样的方式继续前进,直到到达能量景观中某个谷底,从而找到记忆中最接近的模式。
霍普菲尔德神经网络可以用来重现包含噪声或被部分擦除的数据。图片来源:Johan Jarnestad/The Royal Swedish Academy of Sciences
霍普菲尔德等人继续深入研究了霍普菲尔德神经网络功能的细节,包括可以存储任何值的节点,而不仅仅是0或1。如果你将节点视为图片中的像素,它们可以有不同的颜色,而不仅仅是黑色或白色。改进后的方法使得存储更多图片并区分它们成为可能,即使这些图片非常相似。只要信息是由许多数据点构建的,识别或重构任何信息都是可能的。
“玻尔兹曼机”
记住图像是一回事,但理解一张图像的意思需要再多一点点努力。
即使是年幼的孩子也能自信地分辨出一只动物是狗、猫还是松鼠。起初小孩可能会偶尔出错,但很快他们就可以做到几乎每次都正确。即使没有看到任何关于物种或哺乳动物等概念的图表或解释,小孩也能学会这一点。在接触过每种动物的几个例子后,孩子便会逐渐明晰不同的动物类别。通过观察、体验周围的环境,人们能学会识别猫,或理解一个单词,或进入房间并注意到有些东西发生了变化。
当霍普菲尔德发表关于联想记忆的论文时,杰弗里·辛顿正在美国卡内基梅隆大学工作。他曾在英格兰和苏格兰学习实验心理学和人工智能,当时他就思考:机器是否能像人类一样学会处理模式,自行分类和解读信息。辛顿与同事Terrence Sejnowski一起,从霍普菲尔德神经网络出发,结合统计物理学的思想,扩展并构建了新的模型。
统计物理学描述由许多相似元素组成的系统,例如气体中的分子。追踪气体中所有独立分子的行为是非常困难的,甚至可以说是不可能的。但我们可以将所有分子视作一个整体,从而确定气体的总体特性,如压力或温度。气体分子各自以不同的速度在一定体积内扩散,但仍能产生相同的集体特性,这其中有许多潜在的方法。
统计物理学可以分析各个组件能够共同存在的各种状态,并计算它们出现的概率。有些状态比其他状态更有可能发生,这取决于可用能量的多少,19世纪物理学家路德维希·玻尔兹曼(Ludwig Boltzmann)曾用方程来描述这种行为。而辛顿的网络正是利用了这一方程。1985年,他以“玻尔兹曼机”这一引人注目的名称发表了这一神经网络。
玻尔兹曼机通常使用两种不同类型的节点:一种节点接受信息,被称为可见节点;另一种节点构成隐藏层,隐藏节点的值及其连接也会影响整个网络的能量。
这种机器通过逐一更新节点值的规则运行。最终,玻尔兹曼机将进入这样一种状态:节点的模式可以变化,但网络的整体性质保持不变。根据玻尔兹曼方程,每种可能的模式都有由网络能量决定的特定概率。当机器停止运行时,它已生成了一种新模式,这使得玻尔兹曼机成为生成模型的早期实例。
玻尔兹曼机能够学习——不是通过指令,而是通过输入的示例学习。它的训练方式是更新网络连接中的值,使得在训练时输入到可见节点的示例模式,在机器运行时出现的概率最高。如果同一个模式在训练过程中重复出现多次,那这种模式的出现概率会更高。训练还会影响机器输出与训练示例相似的新模式的概率。
经过训练的玻尔兹曼机能够识别它未曾见过的信息中的熟悉特征。想象一下,当你遇到一位朋友的兄弟姐妹,你立刻就能看出他们一定是亲戚。同样地,如果玻尔兹曼机遇到一个属于训练数据集中某一类别的新示例,它就能识别出来,并能将其与不相似的信息区分开来。
在最初的形式下,玻尔兹曼机的效率相当低,寻找解决方案需要很长时间。当它以各种方式发展时,情况变得更有趣了,而辛顿也一直在探索这些发展。后来的版本已经过简化,因为一些单元之间的连接已被移除。结果表明,这可能会使机器更高效。
20世纪90年代,许多研究人员对人工神经网络失去了兴趣,但辛顿是那些继续在该领域工作的人之一。他还帮助开启了新一轮激动人心的成果爆发。2006年,他与同事Simon Osindero、Yee Whye Teh和Ruslan Salakhutdinov共同开发了一种方法,通过一系列分层堆叠的玻尔兹曼机来预训练网络。这种预训练为网络中的连接提供了更好的起点,优化了识别图像中元素的训练。
玻尔兹曼机通常被用作更大型网络的一部分。例如,它可以根据观众的喜好来推荐电影或电视剧。
机器学习:当下与未来
约翰·霍普菲尔德和杰弗里·辛顿自20世纪80年代以来的工作,为2010年左右开始的机器学习革命奠定了基础。
我们现在所见证的人工智能盛况得益于能被用于训练网络的海量数据,以及计算能力的巨大提升。如今的人工神经网络通常非常庞大,由多层构成。这些被称为深度神经网络,它们的训练方法被称为深度学习。
霍普菲尔德1982年关于联想记忆的文章中,他使用了一个包含30个节点的网络。如果所有节点都相互连接,会有435个连接。节点有各自的值,连接有不同的强度,总共有不到500个参数需要跟踪。他还尝试了一个包含100个节点的网络,但对于当时的计算机来说过于复杂。我们可以将其与如今以ChatGPT为代表的大语言模型进行比较,这些模型构建为网络,可以包含超过一万亿个参数。
许多研究人员正在开发机器学习的应用领域。哪些领域最具可行性还有待观察,同时围绕这项技术的发展和使用也引发了广泛的伦理讨论。
物理学为机器学习的发展提供了工具,而反过来,在过去很长一段时间的物理科研中,其实也已经充满了机器学习的身影,包括使用机器学习来筛选和处理发现希格斯粒子所需的大量数据、减少测量黑洞碰撞产生的引力波的噪声或寻找系外行星等等。