神经网络基础
从感知机到多层神经网络,理解深度学习最核心的构建模块。
感知机(Perceptron)
- 原理:单层线性分类器 $y = \text{sign}(w \cdot x + b)$
- 学习规则:权重更新 $w \leftarrow w + \eta(y - \hat{y})x$
- 局限:只能解决线性可分问题,无法处理 XOR
多层感知机(MLP)
- 结构:输入层 → 隐藏层 → 输出层
- 隐藏层的意义:引入非线性,提高表达能力
- 万能近似定理(Universal Approximation Theorem):单隐藏层 MLP 可近似任意连续函数
激活函数
Sigmoid
- $\sigma(x) = \frac{1}{1+e^{-x}}$,输出 $(0,1)$
- 问题:梯度饱和(两端梯度接近 0)、非零中心
Tanh
- $\tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}$,输出 $(-1,1)$
- 零中心,但仍有梯度饱和
ReLU(Rectified Linear Unit)
- $\text{ReLU}(x) = \max(0, x)$
- 优点:计算简单、缓解梯度消失、稀疏激活
- 问题:神经元死亡(Dead ReLU)
Leaky ReLU / PReLU / ELU
- Leaky ReLU:$\max(\alpha x, x)$,$\alpha$ 通常 0.01
- PReLU:$\alpha$ 可学习
- ELU:$x \ge 0$ 时 $x$,$x < 0$ 时 $\alpha(e^x-1)$
GELU(Gaussian Error Linear Unit)
- $\text{GELU}(x) = x \cdot \Phi(x)$,$\Phi$ 是标准正态分布 CDF
- 在 Transformer(BERT/GPT)中广泛使用
- 近似:$\text{GELU}(x) \approx 0.5x\left(1+\tanh\left(\sqrt{\frac{2}{\pi}}(x+0.044715x^3)\right)\right)$
Swish / SiLU
- $\text{Swish}(x) = x \cdot \sigma(\beta x)$,$\beta=1$ 时为 SiLU
- 平滑、非单调、下界有界
前馈传播(Forward Propagation)
- 逐层计算:$z^{[l]} = W^{[l]}a^{[l-1]} + b^{[l]}$,$a^{[l]} = g^{[l]}(z^{[l]})$
- 最终输出与损失函数计算
反向传播(Backpropagation)
- 链式法则(Chain Rule)逐层计算梯度
- $\frac{\partial L}{\partial W^{[l]}} = a^{[l-1]} \cdot \delta^{[l]}$,其中 $\delta^{[l]}$ 是误差项
- 梯度下降更新权重
损失函数
- 回归:MSE(均方误差)
- 二分类:BCE(二元交叉熵)
- 多分类:Cross-Entropy Loss + Softmax
梯度下降变体
- Batch GD、SGD(随机梯度下降)、Mini-batch GD
- Momentum、Nesterov、AdaGrad、RMSProp、Adam
权重初始化
- 零初始化问题
- Xavier/Glorot 初始化(适合 Sigmoid/Tanh)
- He/Kaiming 初始化(适合 ReLU)
总结
激活函数对比
| 激活函数 | 公式 | 输出范围 | 优点 | 缺点 |
|---|---|---|---|---|
| Sigmoid | $\sigma(x) = 1/(1+e^{-x})$ | $(0, 1)$ | 输出可解释为概率 | 梯度饱和、非零中心 |
| Tanh | $\tanh(x) = (e^x-e^{-x})/(e^x+e^{-x})$ | $(-1, 1)$ | 零中心 | 仍有梯度饱和 |
| ReLU | $\max(0, x)$ | $[0, \infty)$ | 计算简单、缓解梯度消失 | Dead ReLU |
| Leaky ReLU | $\max(\alpha x, x)$ | $(-\infty, \infty)$ | 缓解 Dead ReLU | $\alpha$ 需手动设定 |
| GELU | $x \cdot \Phi(x)$ | $(-\infty, \infty)$ | 在 Transformer 中效果好 | 计算略复杂 |
| Swish/SiLU | $x \cdot \sigma(\beta x)$ | $(-\infty, \infty)$ | 平滑、非单调 | 计算成本较高 |
优化器对比
| 优化器 | 核心思想 | 自适应学习率 | 动量 | 适用场景 |
|---|---|---|---|---|
| SGD | 随机梯度下降 | 否 | 否 | 基础优化、小批量 |
| Momentum | 累积历史梯度方向 | 否 | 是 | 加速收敛、逃离局部最优 |
| AdaGrad | 自适应学习率 | 是 | 否 | 稀疏特征场景 |
| RMSProp | 指数加权移动平均梯度平方 | 是 | 否 | 非平稳目标 |
| Adam | Momentum + RMSProp | 是 | 是 | 默认首选,适用大部分场景 |