第10章 神经网络的早期模型与第一次低潮
本章核心问题
神经网络为何曾被看作希望所在,又为何很快陷入低潮?
更具体地说,第二编已经把机器学习推进到“表示问题”这一层面:研究者逐渐认识到,若模型没有足够表达能力,或者表示只能依赖人工设计,那么机器学习的潜力终究会受到限制。神经网络最早之所以被寄予厚望,正是因为它看起来提供了一种更接近“自动构造复杂表示”的方向;但它很快又遭遇第一次重大挫折。本章要回答的是:这种早期希望究竟建立在什么数学原型之上,它为什么曾显得合理,以及它又为何在单层结构的限制面前迅速受阻。
1. 问题背景
第二编的结尾已经把一个核心问题摆在台前:表示能否由模型自己学出,而不再完全依赖人工特征工程?第7章说明了显式特征构造如何把非线性问题改写成特征空间中的线性问题,第8章说明了核方法如何在不显式进入高维空间的前提下获得非线性能力,第9章又进一步说明即使没有标签,数据本身也可能包含可被提取的结构。换言之,到这一阶段为止,人工智能研究者已经越来越清楚地意识到,学习的困难不只在于拟合,更在于表示。
神经网络的早期出现,正是在这一背景下发生的。它并不是在“深度学习时代”才突然出现的新事物,而是一条远比现代深度学习更早的思想路线。其最初灵感来自生物神经系统:如果大脑中的智能行为依赖大量神经元之间的相互作用,那么是否可以用某种简化的数学单元去模拟这种信息处理方式?
这种想法之所以有吸引力,不只是因为“神经”这一名称带来的启发,更因为它似乎暗示了一条与传统线性模型不同的道路。在线性模型中,研究者往往先规定特征,再训练参数;而在神经网络设想中,多个简单神经元的组合有可能直接形成更复杂的判别机制。也就是说,它似乎提供了一种通过结构组合获得表达能力的可能性。
最早的形式神经元模型和感知机正是在这种背景下形成的。它们让研究者一度相信:如果一个人工神经元可以进行简单判别,那么由许多神经元构成的系统也许可以逐步模拟更复杂的认知任务。然而,这一乐观情绪很快遭遇了一次严厉的数学检验。问题的关键不是神经网络“效果不够好”,而是单层阈值结构在表达能力上存在明确边界。
因此,本章的任务并不是单纯回顾早期历史,而是要把这一历史写成数学问题:形式神经元的结构到底是什么,感知机是如何学习参数的,单层阈值网络为什么只能解决线性可分问题,而像 XOR 这样的简单任务为什么会暴露出结构性失败。正是这些问题的集中爆发,导致神经网络研究在历史上第一次明显降温。
2. 数学原理
2.1 形式神经元的最早抽象
早期神经网络研究的出发点,是把复杂的生物神经活动抽象成一个极简数学单元。设输入信号为
这里 $x_i$ 表示第 $i$ 个输入分量,$d$ 表示输入维数。再设权重向量为
偏置记为 $b\in\mathbb R$。则一个最基本的形式神经元首先计算加权和
这里 $a$ 常被称为激活前的线性响应或净输入。它的意义是:不同输入分量按照权重 $w_i$ 的大小被加权汇总,再加上偏置项 $b$,从而形成神经元对当前输入的总体响应。
这一步与第一编中的线性模型形式非常接近。真正让它成为“神经元”而不只是普通线性函数的,是接下来施加的非线性阈值机制。
2.2 McCulloch-Pitts 神经元
McCulloch-Pitts 神经元是最早的经典形式化模型之一。它把神经元输出写成一个阈值函数:
这里 $y$ 表示输出,$H(\cdot)$ 表示阶跃函数。若把阶跃函数定义为
则神经元的工作方式就是:当加权和超过阈值时输出 1,否则输出 0。这个结构看似简单,却包含了两个极重要的思想。
第一,它说明信息处理可以被写成“线性组合 + 非线性决策”的两阶段结构。第二,它说明多个输入信号的组合不再只是线性回归式的连续输出,而可以通过阈值操作形成明确的离散判别。
从现代眼光看,McCulloch-Pitts 神经元仍然非常粗糙,因为它几乎没有连续可导结构,也不适合复杂优化;但从历史角度看,它第一次把“神经计算”转化成了可以写公式、可以分析的数学单元。
2.3 阈值函数与线性判别
为了更清楚理解单个神经元的能力,我们把输出写成二分类形式。设标签空间为
则阈值神经元也可写成
这里 $\hat y$ 表示模型预测标签,$\mathrm{sign}(\cdot)$ 表示符号函数:输入非负时输出 $+1$,输入为负时输出 $-1$。在这种写法下,形式神经元实际上就是一个线性判别器。
其决策边界由
确定。这个方程在二维平面中对应一条直线,在三维空间中对应一个平面,在更高维空间中则对应超平面。因此,一个单层阈值神经元本质上只能把输入空间分成两个半空间。
这一步十分关键,因为它立即揭示出一个后来将成为核心的事实:尽管“神经元”这一名称听起来充满生物色彩,但单个形式神经元在数学上并不神秘,它与第二编已经讨论过的线性分类器本质上属于同一家族。于是,真正的问题不在于单个神经元能否进行线性判别,而在于多个神经元的组合能否超越单层超平面的限制。
2.4 感知机模型
感知机是早期神经网络研究中最著名的模型之一。它可以看作在 McCulloch-Pitts 神经元基础上加入了“可学习参数”这一机制。给定样本 $(x,y)$,其中 $x\in\mathbb R^d$ 是输入向量,$y\in\{-1,+1\}$ 是真实标签,感知机预测为
与前面的阈值神经元相比,感知机最重要的新增点不在模型形式,而在参数 $w,b$ 不再由人工固定,而要通过样本来学习。也就是说,感知机真正引入了“神经网络如何从数据中调整连接强度”这一问题。
从这个角度看,感知机是神经网络历史上的重要转折点:它第一次把“神经元结构”与“学习规则”结合在了一起。
2.5 感知机的误分类准则
若对某个样本 $(x_i,y_i)$,感知机预测错误,则有
这里 $y_i(w^\top x_i+b)$ 的含义与第8章支持向量机中的符号间隔类似:若样本被正确分类,它为正;若被错误分类,它为非正。于是,感知机学习可以围绕“如何修正那些使该量非正的样本”来展开。
一种常见的感知机准则可以写成对误分类样本求和:
这里 $\mathcal M$ 表示当前被误分类样本的索引集合。之所以取负号,是因为对于误分类样本,$y_i(w^\top x_i+b)\le 0$,因此负值越大,说明错误越严重;最小化这个目标,就意味着希望把这些样本逐步推回到正确一侧。
这一目标虽然不如现代优化问题那样光滑,也不像支持向量机那样具有完整凸规划结构,但它已经清楚表达了感知机学习的直觉:参数更新的方向,应当由当前分类错误的样本来决定。
2.6 感知机更新规则的推导
设当前考虑一个被误分类样本 $(x_i,y_i)$。为了减小该样本带来的误分类准则项
最自然的想法是沿着其负梯度方向调整参数。对 $w$ 求梯度,可得
这里 $\nabla_w$ 表示对参数向量 $w$ 的梯度。于是,沿负梯度方向更新就得到
其中 $\eta>0$ 表示学习率,用来控制每一步更新幅度。类似地,对偏置项可写成
若把标签写成 $y_i\in\{0,1\}$ 的形式,则常见更新也可写成
这里 $\hat y_i$ 表示模型当前输出。这两种写法本质上表达的是同一个思想:若样本被错分,就沿着有利于把它推向正确一侧的方向调整参数。
这一步推导非常重要,因为它说明感知机并不是单纯靠经验修修补补,而是已经隐含了一种“由误差驱动参数修正”的原理。后来的梯度下降、反向传播和现代神经网络训练,都会保留这一核心精神,只是数学机制更复杂、更系统。
2.7 感知机收敛直觉
若训练数据线性可分,则感知机更新通常会在有限步内找到一个正确分类超平面。这一结论在神经网络早期极具鼓舞性,因为它意味着:至少对于一类非平凡任务,模型不仅有清楚结构,还有明确学习机制。
从几何上看,每次更新
都会让参数向量 $w$ 朝着更有利于纠正当前误分类样本的方向移动。若数据确实存在线性分界面,那么这种纠偏过程最终可能把所有样本放到超平面的正确一侧。
这也是为什么感知机一经提出,就引发了极大乐观情绪:研究者看到的不是一个静态阈值单元,而是一个能够依据样本逐步学习判别边界的系统原型。
2.8 单层结构的表达边界
然而,感知机的数学能力也有极明确的上限。因为无论参数怎样更新,单层感知机的输出始终由
给定,所以它能表示的决策边界永远只是单个超平面。换言之,训练算法或许能改变超平面的方向和位置,但无法改变“单层线性分割”这一结构事实。
因此,单层感知机所能解决的问题,与是否线性可分严格绑定。若数据可被一个超平面分开,那么它可能成功;若数据本身需要非线性边界或更复杂的组合结构,那么无论训练多久,它都不可能完成任务。
这说明神经网络早期遭遇的困难,并不是单纯的参数没调好,而是模型结构本身存在表达边界。
2.9 XOR 问题为何构成决定性反例
XOR 问题是这种表达边界最经典的例子。设输入空间为四个二值点:
定义标签为
这里 $x=(x_1,x_2)^\top$。这意味着 $(0,1)$ 和 $(1,0)$ 属于一类,而 $(0,0)$ 与 $(1,1)$ 属于另一类。
若存在单层线性阈值分类器,则应存在参数 $w=(w_1,w_2)^\top$ 与偏置 $b$,使得两类点可由一条直线分开。把四个点代入,可得到一组不等式约束。以标签空间 $\{-1,+1\}$ 写法为例,可要求
而另外两点应满足
把后两式相加,得到
但把前两式相加,则得到
这构成直接矛盾。因此,不存在任何单个线性阈值单元能够表示 XOR。
这件事的意义远远超过一个玩具例子本身。它说明:即使任务逻辑极其简单,只要其结构不是线性可分的,单层感知机就会彻底失败。也就是说,神经网络早期的困难并不是“小问题还没解决”,而是连某些最基本的非线性逻辑关系都无法表达。
2.10 组合结构为什么暗示多层网络
XOR 的真正启示并不是“神经网络不行”,而是“单层结构不够”。例如,XOR 可以被理解为对两个条件的组合:输入是否处于不同象限模式,或者是否满足两个子判别结果的特定逻辑关系。这意味着,若网络能够先由某些中间单元表示局部线性条件,再由更高一层把这些条件组合起来,就有可能突破单层超平面的限制。
换言之,XOR 实际上已经在数学上暗示了多层网络的必要性:若一个模型族无法直接表示目标函数,就需要通过层次组合把简单函数叠加成更复杂函数。这一思想后来会在第11章反向传播与多层网络中真正展开。
但在本章所处的历史阶段,问题恰恰在于:虽然人们已经隐约看到多层结构可能是出路,却还缺少一套有效训练多层网络的通用机制。于是,神经网络的第一次低潮便不可避免地到来了。
3. 代表模型或算法
3.1 McCulloch-Pitts 神经元
McCulloch-Pitts 神经元的模型结构可以写成
它由线性加权和与阈值函数两部分组成。结构上,这一模型把多个输入信号汇总后进行一次离散决策;训练上,它通常并不强调通过数据自动学习参数,而更像是一种逻辑计算原型;推理时,只需对输入做加权求和并判断是否越过阈值即可。
它在本章中的典型性在于:这是神经网络思想的最早数学原型。它首次明确展示了“线性组合 + 非线性阈值”这一后续神经网络反复出现的基础结构。
3.2 感知机算法
感知机在结构上延续了阈值神经元的形式:
但训练方式发生了决定性变化:参数不再固定,而由误分类样本驱动更新。其典型更新规则可写成
推理时,感知机与普通线性阈值分类器无异,仍然是计算符号函数;真正的关键在于训练过程中,模型会根据样本不断修正参数。
它在本章中的典型性最强,因为它第一次把“神经单元”与“学习规则”结合起来,并在历史上直接引发了早期神经网络的乐观浪潮。
4. 典型应用
4.1 简单线性分类
在最早的模式识别任务中,输入常被表示为低维特征向量,而任务目标是把样本分成两类。此时,感知机模型
在应用中的意义非常直接:它把分类问题翻译成“寻找一个超平面,把两类样本分开”。这里本章的数学对象与应用任务一一对应:权重向量 $w$ 对应分类边界的方向,偏置 $b$ 对应边界位置,阈值函数对应最终的类别判定。
若样本近似线性可分,则感知机更新
就对应“每次遇到错分样本,就略微旋转或平移分类边界,使其更有利于纠正错误”。因此,应用中的“学习分类规则”,在数学上正是由误分类驱动的边界修正过程。
4.2 模式识别原型任务
在早期字符识别、简单图形识别与传感器二值判别等原型任务中,输入模式往往先被编码为数值向量,然后交给阈值神经元或感知机处理。这类任务的成功通常建立在一个前提上:特征空间已经被设计得足够好,以至于样本在该空间中接近线性可分。
在这个应用中,McCulloch-Pitts 神经元的阈值结构对应“是否触发某种模式反应”,而感知机则进一步对应“如何根据训练样本自动调整触发条件”。也就是说,本章中的数学结构并不是抽象符号游戏,而是早期模式识别任务中“输入特征如何转化为类别决策”的直接机制。
4.3 XOR 作为失败型应用
XOR 虽然常被视为玩具问题,但它在历史上本身就是一个极具代表性的“应用失败案例”。它说明:若任务本身需要非线性组合结构,那么单层感知机即使面对极小规模、极规则的数据,也无法完成分类。
这里本章中的数学推导与应用之间的对应关系尤其紧密。四个输入点构成一个极简单数据集;判别任务也极基础;然而由直线分割所对应的超平面结构却与任务逻辑不匹配。于是,应用中的失败被准确地翻译成了数学上的不可表示性。这种“失败案例”的重要性甚至不亚于成功案例,因为它直接暴露了模型族的结构边界。
5. 局限性与历史转折
早期神经网络之所以很快陷入低潮,并不是因为研究者突然失去兴趣,而是因为其数学局限被清楚暴露出来。首先,单层阈值结构本质上只能表示线性可分边界,这使其无法处理大量稍微复杂一点的非线性任务。XOR 只是最著名、也最清楚的反例。
其次,即使研究者已经意识到多层结构可能突破单层限制,彼时也缺少一套通用、稳定、可操作的训练机制。换言之,问题不只是“需要更多层”,而是“即使把层数加上去,也不知道如何系统地调整内部参数”。这使多层网络在很长一段时间里更像一种设想,而不是成熟方法。
再次,从统计学习和优化角度看,早期神经网络也缺少后来那种完整的理论与算法支撑。感知机虽然有其收敛意义,但它仅适用于线性可分情形;一旦超出这一条件,学习过程就会失去明确保证。
于是,神经网络研究在历史上出现了第一次明显降温。许多研究者转而投向更容易分析、训练更稳定或理论更明确的方法,例如核方法、概率模型与其他统计学习路线。
但这种低潮并不意味着神经网络方向本身是错误的。恰恰相反,本章已经显示出它真正缺少的并不是“表达复杂函数的潜力”,而是把多层结构真正训练起来的机制。也正是在这个意义上,本章的失败不是终点,而是下一章的出发点。第11章将要讨论的反向传播,正是神经网络重新获得生命力的关键。
本章小结
本章讨论了神经网络最早的数学原型以及它们为何在历史上迅速遭遇第一次低潮。McCulloch-Pitts 神经元把神经计算抽象成“线性组合 + 阈值决策”,感知机进一步把这一结构与参数学习结合起来,从而形成了最早可训练的神经网络模型。
然而,本章的核心结论并不是“早期神经网络成功了什么”,而是“单层阈值结构只能表示线性可分问题”。XOR 反例清楚表明,哪怕任务本身极其简单,只要其结构超出单层超平面的表达范围,感知机就会彻底失效。
因此,神经网络早期的失败并不意味着方向错误,真正缺少的是多层结构的可训练机制。正因为这一点,第10章并不是神经网络故事的结束,而恰恰是其下一次复兴的逻辑起点。
关键公式
关键概念
- 形式神经元
- McCulloch-Pitts 神经元
- 感知机
- 阈值函数
- 线性可分
- XOR
- 神经网络第一次低潮