我们从最基础的神经元模型开始,理解感知机、多层感知机(MLP),以及围绕它们的一系列核心理论。这些构成了现代深度学习的基石。
一、感知机:最早的神经元数学模型
1958年,Frank Rosenblatt 提出了感知机,这是第一个从算法上完整描述的神经网络单元。
1. 模型结构
感知机模拟一个神经元:接收多个输入 (x_1, x_2, …, x_n),每个输入有权重 (w_i),加上偏置 (b),加权求和后通过阶跃函数输出:
[
\text{output} = \begin{cases}
1 & \text{if } \sum_i w_i x_i + b > 0 \
0 & \text{otherwise}
\end{cases}
]
它本质上是一个线性二分类器,决策边界是一条直线(或超平面)。
2. 学习算法
感知机使用一种简单的误差驱动规则,而非梯度下降(阶跃函数不可微):
- 对每个样本,若预测正确,权重不变。
- 若正类误判为负类: (w \leftarrow w + \eta x)
- 若负类误判为正类: (w \leftarrow w - \eta x)
只要数据线性可分,感知机算法保证在有限步内收敛,找到完美分类面。
3. 致命局限
感知机无法解决简单的异或(XOR)问题——一条直线不可能将XOR的四个点分开。1969年,Minsky和Papert在《感知机》一书中严格论证了这一缺陷,直接导致了神经网络的第一次寒冬。
二、多层感知机(MLP):打破线性枷锁
多层感知机在输入和输出之间插入隐藏层,并使用非线性可微激活函数,彻底改变了局面。
1. 结构定义
一个典型的三层MLP如下:
[
\begin{aligned}
z^{[1]} &= W^{[1]} x + b^{[1]}, \quad a^{[1]} = \sigma(z^{[1]}) \
z^{[2]} &= W^{[2]} a^{[1]} + b^{[2]}, \quad a^{[2]} = \sigma(z^{[2]}) \
\hat{y} &= \sigma_{\text{out}}(z^{[2]}) \quad (\text{如分类用 Softmax})
\end{aligned}
]
每一层的神经元与下一层全连接,信息单向流动,因此也称为前馈神经网络。
2. 激活函数:注入非线性的灵魂
若没有非线性激活函数,多层线性变换叠加后仍是线性映射,多个隐藏层等价于一层。常用激活函数:
- Sigmoid / Tanh:早期标准,平滑可微,但容易饱和导致梯度消失。
- ReLU(( \max(0,z) )):非饱和、计算快,极大缓解了梯度消失,成为隐藏层的默认选择。
- Leaky ReLU / ELU:在负区间保留微小梯度,避免神经元“死亡”。
3. 如何解决XOR问题
只需一个隐藏层(含两个神经元)就能解决XOR:
- 隐藏层两个神经元分别学习两条直线,将空间重新映射。
- 输出层在新的表示空间上学习一条直线,即可完美分开四类点。
这直观展示了隐藏层的核心作用:学习对原始输入的非线性变换,使其在新空间内线性可分。
4. 训练:反向传播 + 梯度下降
MLP的参数通过反向传播高效计算梯度,再用梯度下降及其变体(SGD、Adam等)更新。这套组合让训练深层网络成为可能,是MLP从理论走向实用的关键。(具体算法见前一轮回答)
5. 万能逼近定理
具有至少一个隐藏层、且神经元足够多的MLP,能以任意精度逼近任何连续函数(在紧致域上)。该定理赋予了MLP理论基础,但并未指明隐藏层该多宽、多深,也未保证学习算法能找到最优参数。
三、其他相关重要理论与概念
1. 损失函数:训练的导向标
- 均方误差(MSE): (J = \frac{1}{2}|\hat{y} - y|^2),常用于回归。
- 交叉熵损失:分类任务标配。与Softmax输出层搭配时,梯度形式简洁为 (\hat{y} - y),收敛极快。
损失函数定义了优化的目标,其选择直接影响模型输出层的设计和收敛速度。
2. 隐藏层与表示学习
传统机器学习依赖手工特征,MLP的隐藏层则能自动学习层次化特征表示:
- 浅层可检测边缘、纹理等简单模式。
- 更深层组合底层特征,形成更抽象、任务相关的表示。
这种自动特征提取能力是神经网络的核心优势。
3. 过拟合与正则化
MLP参数量大,极易过拟合。常用对策:
- L1/L2 正则化:限制权重大小,等价于梯度更新时加入衰减项。
- Dropout:训练时随机丢弃部分神经元,相当于每次训练一个不同的子网络,强效防过拟合。
- 早停:监控验证集误差,在开始上升前停止训练。
- 批量归一化(BatchNorm):在层间标准化激活值,不仅加速训练,本身也带有轻微正则化效果。
4. 权重初始化的讲究
不合理的初始化会直接导致梯度消失或爆炸,让网络无法训练。
- Xavier 初始化:保持输入输出方差一致,适合 Sigmoid/Tanh。
- He 初始化:针对方差放大适配 ReLU,是当下搭配 ReLU 的标准做法。
好的初始化让各层梯度保持健康尺度,是深层MLP成功训练的前提。
5. 从MLP到深度学习的演进
单纯的MLP堆叠很多层会遭遇梯度消失/爆炸,使深层网络反而不如浅层。之后的结构化创新(CNN、RNN)、改进的激活函数(ReLU)、批归一化和残差连接等,逐步解锁了超过百层的网络。因此,MLP是深度学习最基础的“原子”结构,所有复杂网络都可看作其变体或扩展。
总结
- 感知机:线性分类器的鼻祖,催生了神经网络,但被XOR问题锁死。
- 多层感知机:加入隐藏层与非线性激活,破解XOR,被证明是万能函数逼近器。
- 训练与理论:反向传播+梯度下降实现参数优化,正则化防止过拟合,合理的初始化与归一化保障深层训练。
感知机和MLP的设计思想——“加权求和、非线性变换、逐层抽象”——贯穿了此后所有神经网络模型,是理解一切深度学习技术的出发点。
评论
请登录后发表评论
暂无评论,快来发表第一条评论吧!