
詹姆斯·奥布莱恩为 《Quanta》杂志
L 看一张猫的照片,你瞬间就能认出它是猫。但若要编程让计算机识别猫咪照片,你很快会发现这绝非易事。你需要编写代码,精准捕捉无数猫咪照片中跨越独特背景与不同拍摄角度的核心特征。该从何入手?
如今计算机能轻松识别猫咪照片,并非因程序员发现了提炼“猫性”精髓的诀窍,而是借助神经网络——这种人工智能模型通过学习数以亿计的图像样本实现视觉识别。神经网络还能生成惊人流畅的文本,掌握复杂游戏规则,解决数学与生物学难题——这一切皆无需明确指令。
研究者对神经网络的内部运作机制仍有诸多未知,但它们并非完全不可捉摸。通过将神经网络分解为基本构建模块,我们可以探究它们如何学会区分虎斑猫与桌布。
简单分类器
猫检测是研究者所称的分类任务范例。给定一个对象(此处为图片),目标是将其归入正确类别。某些分类任务远比区分“猫”与“非猫”简单。让我们设想一个奇妙的例子:假想的三角领地与方形州。
你获得一个由经纬度坐标描述的新点位,需判断该点位于哪个区域。但你没有显示边界的地图,仅掌握两地已知点位集。


要构建能自动分类未知点的“分类器”系统,必须先划定边界。此后当获得新点位时,分类器只需判断其位于边界哪一侧即可。
但如何确定边界位置?这正是神经网络发挥作用之处。它们基于初始已知数据点集,找出最可能的边界。
要理解该过程,我们需暂且搁置地图,先探索神经网络的基本构建单元——神经元。神经元本质上是数学函数,拥有多个输入端和单一输出端。输入若干数值,它便会输出新数值——仅此而已。
更简而言之,输出值几乎总是接近0或接近1。具体取值取决于输入数据以及另一组称为参数的数值。具有两个输入的神经元拥有三个参数。其中两个称为权重,决定每个输入对输出的影响程度;第三个参数称为偏置,决定神经元输出0或1的整体倾向。

现在让我们观察输入与输出的关系。下图展示了三组不同参数的神经元。当输入值变化时,它们会穿越一条边界线——此时神经元输出将从0骤升至1。在这些图表中,该边界始终呈现直线形态。参数决定了这条直线的位置与倾斜角度。
要构建能判定新数据点属于“方形区域”还是“三角区域”的分类器,我们需要调整这条直线,使其精确反映两区域的分界线。在此,若输出值接近0则判定点位于方形区域,接近1则判定为三角区域。
调整边界线需通过训练过程修改神经元参数。第一步是将参数设为随机值,这意味着神经元的初始边界线与实际边界毫无相似之处。
训练过程中,我们将每个已知数据点的经纬度输入神经元。神经元根据当前参数输出结果,再将其与真实值进行比较。有时它能给出正确答案。
其他数据点则会被错误分类。
现在可以将分类器应用于未参与训练的新数据了。虽然不完美,但多数情况下能给出正确答案。
神经元网络
单个神经元在简单示例中表现良好,但仅因三角领地与方形州之间的真实边界接近直线。面对更复杂的任务,我们需要使用众多相互连接的神经元组成的集合——即神经网络。如同单个神经元,整个网络本质上也是数学函数:输入数字,输出数字。
神经网络内部的神经元被分组排列成称为层的结构。
单层可包含任意数量神经元,网络可拥有任意层数。每层神经元的输出结果将成为下一层神经元的输入。
大型网络拥有众多参数:每个神经元对应一个偏置值,神经元间的每条连接对应一个权重值。这些额外参数使网络能够识别更复杂的边界。
例如,假设你尝试完成相同的地图分类任务,但真实边界远非直线。
虽然可尝试用单神经元分类器拟合边界,但效果必然欠佳。总体而言,网络规模越大,处理复杂任务的能力越强,但同时也需要更多训练数据。
从地图到猫咪
我们已知增加神经元数量能提升网络能力,但此前仅探讨过双输入网络。神经网络的输入数量并无上限。多数实用任务都需要多输入网络。
先前示例中,神经元的两个输入是地图上点的经纬度坐标。神经网络的输入数值也可表示其他类型数据。例如,0到1之间的数值可代表单个像素的灰度值。
这意味着任意两个像素点都能在二维空间中绘制为一个点。
同理,三个像素点对应三维空间中的一个点。
像素数量增加需更高维度。虽然人类无法直观感知三维以上空间,但研究者已开发出观察这些抽象空间三维表示的方法,类似于透视三维空间的二维快照。在九维空间中,我们可通过三乘三网格呈现不同模式。
为理解其应用价值,让我们将输入维度从九维跃升至2500维——这相当于50×50像素网格。如此规模的网格上,不同图案可呈现有意义的图像,例如猫咪照片。每张猫咪照片都对应着2500维空间中的独特坐标点。
该空间中的其他点则对应着咖啡杯的图像。
当数据点足够丰富时,我们就能训练大型神经网络区分猫与非猫。
所有猫咪照片都分布在2500维空间中某个复杂区域。训练算法会反复调整网络参数,直至找到这个无法直观呈现的区域边界。
训练完成的网络便能正确识别训练数据之外的新图像。瞧:我们构建出能“识别”猫咪图像的网络了。
不止是猫咪
我们的猫检测网络拥有大量神经元和输入端口,但仅有一个输出端口。若增加输出端口,便能训练网络识别多种物体类别,而不仅限于猫。每个类别将对应2500维空间中的不同区域。更复杂的图像识别网络已在天体物理学、细胞生物学、医学等众多领域得到应用。
神经网络还能完成分类之外的任务。ChatGPT等大型语言模型基于神经网络,其输入输出数值代表着单词。尖端网络规模庞大,参数数量达数十亿乃至数万亿级。这使得精确解析网络各部分功能变得极其困难。理解大型神经网络的运作机制,已成为当今众多研究者面临的挑战。