LeNet架构
- **应用场景**:手写数字识别(MNIST数据集)。
- **结构特点**:
- 卷积编码器:2个卷积层(5×5卷积核 + Sigmoid激活)。
- 全连接密集块:3个全连接层。
- **意义**:首个成功应用的CNN模型,但规模较小,适用于简单任务。
---
#### **AlexNet(2012)**
- **核心改进**:
1. **网络深度**:8层(5卷积层 + 2全连接隐藏层 + 1输出层),显著加深网络结构。
2. **激活函数**:使用ReLU替代Sigmoid,缓解梯度消失问题,加速训练。
3. **正则化技术**:引入Dropout(应用于全连接层),防止过拟合。
4. **池化策略**:采用最大池化层(优于平均池化)。
5. **数据增强**:通过图像变换扩充数据集,提升泛化能力。
- **性能**:赢得2012年ImageNet竞赛,验证了深度CNN在大规模数据集上的有效性。
---
#### **VGG网络**
- **设计理念**:通过重复的卷积块构建更深的网络,模块化设计提升可扩展性。
- **关键结构**:
- **VGG块**:由多个3×3卷积(填充=1)堆叠,后接2×2最大池化层(步幅=2)。
- **典型架构**:VGG-16(13卷积层 + 3全连接层)、VGG-19(16卷积层 + 3全连接层)。
- **优势**:
- 更深的网络(比AlexNet更深)捕捉更复杂的特征。
- 小卷积核(3×3)叠加等效于大感受野,减少参数量的同时增强非线性表达能力。
- **意义**:成为后续模型(如ResNet)的基础,推动“深度优先”的设计范式。
---
#### **视觉分层理论与模型发展**
- **特征抽象层级**:
- **浅层**:提取边缘、颜色等底层特征。
- **中层**:捕捉条纹、形状等纹理特征。
- **高层**:识别语义特征(如物体部件)。
- **发展脉络**:
- **LeNet → AlexNet**:从浅层到深层,引入ReLU、Dropout等技术。
- **AlexNet → VGG**:通过模块化堆叠卷积块,实现更深且高效的特征学习。
---
卷积层核心公式
1. 交叉相关运算(实际卷积实现):
$$(I * K)_{i,j} = \sum_{m=0}^{k_h-1}\sum_{n=0}^{k_w-1} I(i+m, j+n) \cdot K(m, n) + b$$
- \(I\): 输入矩阵,\(K\): 卷积核,\(b\): 偏置,\(k_h/k_w\): 核高/宽
2. 输出尺寸计算(含填充和步幅):
$$H_{out} = \left\lfloor \frac{H_{in} + 2P - k_h}{S} \right\rfloor + 1$$
$$W_{out} = \left\lfloor \frac{W_{in} + 2P - k_w}{S} \right\rfloor + 1$$
- \(P\): 填充数,\(S\): 步幅,\(\lfloor \cdot \rfloor\): 向下取整
---
多通道卷积参数计算
- 参数量公式:
$$\text{Params} = (C_{in} \times k_h \times k_w + 1) \times C_{out}$$
- \(C_{in}\): 输入通道数,\(C_{out}\): 输出通道数
*示例:RGB输入(3通道)→ 10通道输出,3×3卷积核 → 参数量 = (3×3×3+1)×10 = 280*
---
池化层公式化表达
1. 最大池化:
$$y_{i,j} = \max_{(m,n) \in W} x_{i \cdot S + m, j \cdot S + n}$$
2. 平均池化:
$$y_{i,j} = \frac{1}{W} \sum_{(m,n) \in W} x_{i \cdot S + m, j \cdot S + n}$$
- \(W\): 池化窗口,\(S\): 步幅
---
经典网络参数对比
网络 核心改进点 参数计算示例(单层) 总参数量级
LeNet 2卷积+池化 → 3全连接 输入28x28 → 5x5卷积 → 输出6通道 → 参数:(5×5×1+1)×6=156 约6万
AlexNet 5卷积+3全连接,ReLU+Dropout 输入224x224x3 → 11x11卷积(stride=4)→ 输出96通道 → 参数:(11×11×3+1)×96=34,944 约6千万
VGG16 重复3x3卷积块 输入224x224x64 → 3x3卷积x2 → 输出128通道 → 参数:2×(3×3×64+1)×128 = 2×73,984=147,968 约1.38亿
---
关键设计原则公式化
1. 局部性约束:
$$\text{感受野} = 1 + \sum_{i=1}^L (k_i - 1) \times \prod_{j=1}^{i-1} S_j$$
- \(L\): 卷积层数,\(k_i\): 第i层核大小,\(S_j\): 第j层步幅
2. 参数共享:
$$\text{共享参数比例} = \frac{\text{卷积层参数}}{\text{全连接等效参数}} = \frac{C_{in}C_{out}k_hk_w}{H_{in}W_{in}C_{in}H_{out}W_{out}C_{out}}}$$
---
视觉分层理论数学表达
- 特征抽象层级:
$$\text{浅层}: f(x) = \sigma(W_{\text{edge}} * x)$$
$$\text{中层}: f(x) = \sigma(W_{\text{texture}} * f_{\text{edge}}(x))$$
$$\text{高层}: f(x) = \sigma(W_{\text{semantic}} * f_{\text{texture}}(x))$$
- \(\sigma\): ReLU激活函数,\(W\): 卷积核权重
---
VGG 网络公式化
1. VGG 块结构
每个块包含:
- \( n \) 个 \( 3 \times 3 \) 卷积层(参数:\( 3 \times 3 \times C_{in} + 1 \))
- 1 个 \( 2 \times 2 \) 最大池化层
2. VGG-16 参数总量
- 卷积层参数:约 \( 1.38 \times 10^8 \)
- 全连接层参数:约 \( 1.38 \times 10^7 \)
- 总参数:约 \( 1.52 \times 10^8 \)