机器学习 / A LEAF IN THE GARDEN

CNN总结

机器学习 · 动手深度学习。来自 Daily Learning 的学习笔记。

学到的网络

沐神讲了 CNN 从 1998 年诞生直到 2015 年的时代巅峰

LeNet(1998)

第一个卷积神经网络

  • 关键创新
    • 确立了 卷积+池化+全连接 的 CNN 基本结构
  • 特点:
    • 结构简单,参数量小
  • 意义
    • 确立 CNN 的概念和范式

AlexNet(2012)

力大砖飞

  • 关键创新
    • 更深、更大的网络
    • ReLU 和 Dropout 等细节
    • 使用数据增强和多 GPU 训练
  • 特点:
    • 结构复杂混乱,参数量大
    • 大型卷积核、重叠池化
  • 意义
    • ImageNet 上的成绩引发深度学习热潮

VGG(2014)

使用块结构的深度网络

  • 关键创新
    • 使用小卷积核堆叠代替大卷积核
    • VGG 块使网络结构规整
    • 进一步增加网络深度
  • 特点:
    • 结构规整
    • 小卷积核堆叠
    • 参数量巨大
  • 意义
    • 证明“深度网络”的有效性
    • 简单设计结构成为风尚

NiN(2014)

NiN 巧设连环计,MLP 误上断头台

  • 关键创新
    • 使用 1x1 卷积进行通道交互
    • 全局平均池化替代全连接层
  • 特点:
    • 完全无 MLP,参数量很小
    • NiN 块结构规整
  • 意义
    • 1x1 卷积将被广泛使用
    • 提出全局平均池化

GoogLeNet(2014)

我全要!多尺度卷积的并行连接

  • 关键创新
    • Inception 块使用多种卷积核并行提取特征
    • 使用 1x1 卷积降维,减少计算和参数
  • 特点:
    • 结构非常复杂,但参数量小
    • 辅助分类器
  • 意义
    • 开创多分支卷积设计先河
    • 证明高效的网络设计可以更深、更复杂,但保持参数量不大

ResNet(2015)

残差连接!千层网络!!

数据统计

我使用 RTX 5090,在 Fashion-MNIST 数据集上训练了这些网络,得到如下统计数据。超参数等等没有严格控制,数据量也不够,不能精准对比,但能大致看出这些网络的特性。

模型参数量计算量内存占用训练速度测试精度
LeNet61K0.41M0.3 MB106508.1 /s0.839
LeNet-BN62K0.42M0.36MB79099.6 /s0.879
AlexNet58.3M1.06G238.7 MB7083.2 /s0.916
VGG128.8M7.55G574.9 MB6058.3 /s0.920
NiN1.99M763.82M20.4 MB7365.1 /s0.851
GoogLeNet5.98M276.66M28.69 MB2977.4 /s0.882
ResNet11.18M1.74G83.25 MB3048.0 /s0.925
  • 计算量: 前向传播和反向传播的总计算量,单位 FLOPs
  • 内存占用: 模型参数和中间特征图占用的总内存
  • 训练速度: 每秒训练的样本数

CNN 的“未来”

2015 年以后的现代 CNN

  • DenseNet(2016)
  • MobileNet(2017)
  • ShuffleNet(2017)
  • SENet(2017)
  • ResNXet(2017)
  • EfficientNet(2019)
  • ConvNeXt(2022)

这些不在沐神的 d2l 课程里,将来我还要自己去学习。