神经网络基础
00:00
感知机、激活函数、前向传播、损失函数与梯度下降。
1. 感知机
1.1 单层感知机
感知机是最简单的神经网络,实现线性二分类:
其中 为阶跃函数:
1.2 感知机局限性
单层感知机只能解决线性可分问题,无法解决XOR问题:
XOR问题:
(0,0) → 0 (0,1) → 1
(1,0) → 1 (1,1) → 0
无法用一条直线分隔两类
解决:多层感知机(MLP)引入隐藏层。
1.3 多层感知机(MLP)
- 隐藏层引入非线性变换
- 通用近似定理:含一个隐藏层的MLP可以近似任意连续函数
2. 激活函数
2.1 常用激活函数
| 激活函数 | 公式 | 值域 | 特点 |
|---|---|---|---|
| Sigmoid | 梯度消失 | ||
| Tanh | 零中心 | ||
| ReLU | 简单高效 | ||
| Leaky ReLU | 解决Dead ReLU | ||
| ELU | if ; if | 负区间平滑 | |
| GELU | Transformer常用 | ||
| Swish | 自门控 |
2.2 梯度消失与梯度爆炸
Sigmoid梯度消失:
多层累积后梯度指数衰减:
ReLU的优势:
正区间梯度恒为1,有效缓解梯度消失。
2.3 Softmax
多分类输出层激活函数:
数值稳定性:
3. 前向传播
3.1 计算流程
输入层 (d维) → 隐藏层1 (h1维) → 隐藏层2 (h2维) → 输出层 (K维)
z1 = W1·x + b1
a1 = σ(z1)
z2 = W2·a1 + b2
a2 = σ(z2)
z3 = W3·a2 + b3
output = Softmax(z3)
3.2 维度分析
| 层 | 输入 | 权重 | 输出 |
|---|---|---|---|
| 输入→隐藏1 | |||
| 隐藏1→隐藏2 | |||
| 隐藏2→输出 |
4. 损失函数
4.1 回归损失
均方误差(MSE):
平均绝对误差(MAE):
Huber Loss:
4.2 分类损失
交叉熵损失:
Focal Loss(解决类别不平衡):
- 减少易分类样本的损失权重
- 平衡正负样本
5. 正则化技术
5.1 Dropout
训练时以概率 随机将神经元输出置零:
推理时缩放:
5.2 Batch Normalization
- 训练时使用当前batch的均值和方差
- 推理时使用全局均值和方差
- 允许更大学习率,加速收敛
5.3 权重初始化
| 方法 | 公式 | 适用激活 |
|---|---|---|
| Xavier | Tanh | |
| He (Kaiming) | ReLU | |
| LSUV | 逐层初始化使方差为1 | 通用 |