系列文章见: 《回忆AI时代-从图灵机到人工智能》
本章目录
关于神经网络的演进
1943年,神经生理学家Warren McCulloch(沃伦·麦卡洛克)与数理逻辑学家 Walter Pitts(沃尔特·皮茨)提出了人类历史上首个人工神经元数学模型,M-P神经元模型(McCulloch-Pitts Neuron),它是一种模仿生物神经元工作方式的计算模型,奠定了人工神经网络的理论基础。
但它很快遇到了一个关键问题,没有学习能力。模型中的权重需要人工设定,只能完成简单的逻辑推理任务(AND、OR 等),无法根据数据自动调整自身参数。
1948年,图灵在《Intelligent Machinery》中提出了”无组织机器(Unorganized Machines)”模型,系统探讨了由大量简单计算单元组成并能够学习的网络结构,虽然当时这些想法尚未真正落地,但这篇论文对后来的神经网络、机器学习以及深度学习的发展产生了深远影响,被认为是人工智能早期的重要理论基础之一。
1958年,心理学家和计算机科学家Frank Rosenblatt提出了感知机(Perceptron)。他在M-P模型的基础上引入了权重自动调整机制,使模型能够根据训练数据学习规律,从而解决了“无法训练”的核心缺陷。
感知机成为历史上第一个真正具备学习能力的神经网络模型,开启了机器学习研究的新阶段。
1969年,人工智能先驱Marvin Minsky与Seymour Papert合著了《Perceptrons》一书系统指出了单层感知机的核心局限,如
- 只能解决线性可分问题;
- 无法处理 XOR(异或)等非线性问题;
- 网络结构过于简单,仅包含单层神经元。
此后1974–1980年间进入了AI的寒冬期。
1986年,David Rumelhart、Geoffrey Hinton和Ronald Williams等人,系统推广了BP神经网络(Backpropagation Neural Network)。
BP神经网络通过反向传播(Backpropagation)算法训练多层神经网络,使网络能够自动学习隐藏层中的复杂特征,成功解决了单层感知机无法处理XOR等非线性问题的缺陷。然而,随着网络层数增加,新的挑战也逐渐显现:
- 计算量巨大,而当时 CPU 性能有限;
- 容易出现梯度消失或梯度爆炸问题;
- 缺乏大规模训练数据;
- 存储和计算资源不足。
因此,神经网络研究在随后再次进入低潮期。
M-P神经元
神经元(英语:neuron)又名神经细胞(nerve cell),是组成神经系统结构和执行神经功能活动的一大类高度分化细胞,由胞体和胞突(树突和轴突)组成,属神经组织的基本结构和功能单位。神经元大致分为:感觉(传入)神经元,运动(传出)神经元、联络(中间)神经元三类。
神经元具有感受刺激、整合信息和传导冲动的能力。神经元感知环境的变化后,再将信息传递给其他的神经元,并指令集体做出反应。神经元占了神经系统约一半,其他大部分由神经胶质细胞所构成。神经元的基本构造包括:树突、轴突、髓鞘和细胞核。传递形成电流,在其尾端为受体,借由化学物质(神经传递物质,如多巴胺、乙酰胆碱等)传导,在适当的量传递后在两个突触间形成电流传导。
据估计,人脑中约有850-1200亿个神经元,神经胶质细胞的数目则更是其10倍之多。
神经元引发了科学家的思考,并在基础上抽象的数学公式。以下是一个M-P神经元计算过程:
1 | 输入 x1、x2、x3 |
其中X为输入、W为X对应的权重、经过阀值,最终输出结论。它计算的流程图:
1 | x1 ----(w1)--- |
举个今天是否适合骑车的案例:
| 输入 | 权重 |
|---|---|
| 天气 | 2.0 |
| 周末 | 1.0 |
| 身体状态 | 3.0 |
因为不同的因素影响不同,所以会有权重。阀值表示门槛,如果达到门槛以上就输出1反之为0。关于M-P神经元的案例可以参考 M-P神经元案例,可以更好的理解神经元。
注:神经网络通常把阈值 θ 改写成偏置(Bias)b
感知机
感知机(Perceptron)是一种能够通过学习自动调整权重,从而完成分类任务的人工神经元模型。
在M-P神经元的案例中W(权重)和Thres(阀值)是指定的好的。但现实生活中我们并不知道:
- 天气到底是怎么样的?
- 身体状态到底占多少分?
- 阈值应该设成多少?
所以感知机就是在神经元的基础上去自己学习W(权重)和Thres(阀值)参数,这是感知机诞生的主要原因,关于感知机可以参考 感知机案例。
以下是感知机工作流程:

感知机与神经元的差别就是加权链接和阀值是自己学习的。
BP神经网络
感知机解决了能够学习权重与阀值的问题,但是它也有致命的缺点,只有一层,很多问题学不会。最经典的案例就是单层感知机无法解决XOR(异或)的问题。
以下表格是与或非的计算:
| x1 | x2 | 输出 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
当时也有想到既然一层不够,那就多加几层,这种叫多层感知机,但随之也出现了一些问题,第一层20个神经元、第二层30个神经元权重就有可能有成百上千,这些权重怎么学习就成为了难题。
BP神经网络(Back Propagation Neural Network,中文译反向传播神经网络)就是能解决多层感知机的问题,它是一种训练多层神经网络的方法。以下是BP神经网络训练过程:
1 | 开始训练 |
训练BP神经网络可以概括为四个步骤:
- 前向传播(Forward Propagation):输入数据经过各层计算,得到预测结果。
- 计算损失(Loss):比较预测值与真实值,计算误差大小。
- 反向传播(Backpropagation):利用链式法则,从输出层开始计算每层参数的梯度。
- 更新参数(Gradient Descent):按照梯度方向调整权重和偏置,使损失减小。
BP算法解决了多层神经网络无法训练的问题,使隐藏层的权重也能够自动学习。今天几乎所有深度学习模型如CNN(卷积神经网络)、RNN(循环神经网络)、LSTM或是Transformer——虽然网络结构不同,但训练时都仍然依赖反向传播算法来计算梯度和更新参数。
这一突破使神经网络能够学习复杂的非线性关系,为后来的深度学习奠定了基础。