CNN 基本结构
本节定位
上一节我们已经知道卷积核是在图像上“滑动找局部模式”。
这一节要把这些零散部件组装起来,回答一个更完整的问题:
一整个 CNN 到底是怎么工作的?
你会看到,CNN 不是只有卷积层,而是由一串“提特征 -> 压缩 -> 决策”的模块组成。
学习目标
- 理解一个典型 CNN 由哪些模块组成
- 掌握
卷积 -> 激活 -> 池化 -> 分类头这条主线 - 理解通道数为什么会越来越多、空间尺寸为什么会越来越小
- 看懂一个最小 CNN 在 PyTorch 中的前向传播
- 分清
Flatten和Global Average Pooling两种分类头思路
一、先把整张地图看清楚
1.1 一个最典型的 CNN 长什么样?
最经典的 CNN 可以先粗略画成这样:
如果把它翻译成人话,就是:
- 先用卷积找局部特征
- 再用激活函数加入非线性
- 再用池化压缩尺寸、保留关键信息
- 重复几轮,得到越来越抽象的特征
- 最后把这些特征交给分类头做决策
1.2 一个帮助记忆的类比
你可以把 CNN 理解成一个“多层安检系统”:
- 第一层看边缘、纹理
- 第二层看局部形状
- 第三层看部件组合
- 最后几层才判断“这到底像猫还是狗”
也就是说,CNN 不会一上来就直接理解“猫”,
它是先理解“毛边、耳朵轮廓、眼睛区域、身体形状”,再一点点组合起来。