知识点深化 · CNN
卷积神经网络 CNN:拿放大镜一小块一小块看图
人脸识别、自动驾驶、医学影像读片,背后都是 CNN(卷积神经网络)。它不像全连接那样把图拉成一长串,而是用一个小窗口在图片上滑动,一小块一小块地找边缘、纹理、部件。这一页搞懂卷积、padding、stride、权值共享和池化,你就明白为什么计算机能认出照片里的猫。
① 小白第一课怎么学(4 步走,约 55 分钟)
CNN 就是给"看图"这件事专门设计的神经网络:
1看直观(10 分钟)
读第②③部分:把卷积想象成一个小窗口在图片上"滑动扫雷"。
2记概念(15 分钟)
背第④部分:卷积、padding、stride、权值共享、池化。
3算例题(15 分钟)
精读第⑤部分,手算一次特征图尺寸变化。
4刷题纠错(15 分钟)
做第⑦⑩部分,错题回到第⑥部分。
本课小目标学完你要能:① 说清卷积层在做什么;② 用公式算输出特征图尺寸;③ 解释"权值共享"为什么能大幅减少参数;④ 区分 Max 池化和 Avg 池化。
② 一图看懂:CNN 是怎么逐层缩小、逐层变深的
读法:CNN 一条流水线:卷积→激活→池化,重复好几轮,最后接全连接分类。空间尺寸越缩越小,通道数越变越深。
③ 先认识它:卷积就是"拿放大镜一小块一小块看"
把一张大图想象成一张巨大的寻人启事墙,你手里只有一个小放大镜(卷积核 filter):
· 放大镜只有 3×3 那么大,贴着墙从左上角开始,一格一格向右滑动。
· 每停在一个位置,就把放大镜盖住的 9 个像素和放大镜上的 9 个数字对应相乘再求和,得到一个数。
· 滑完整张图,得到一张新的"特征图"——这个放大镜专门负责找某一种局部图案,比如"竖边"或"色块"。
多个放大镜(多个卷积核)= 多个特征图叠在一起,通道数就变多了。
为什么 CNN 比全连接更适合图像全连接把整张图拉成一长串数字,一个 1000×1000 的图就是 100 万维权重,根本训不动,还丢了"相邻像素"这个空间关系。CNN 用小窗口看局部、权值共享,参数少得多,还天然保留了"上下左右"的位置信息。
④ 完整体系与公式表
输出特征图尺寸公式
输入 n × n,卷积核 f × f,padding p,步幅 stride s
输出尺寸 O = (n + 2p − f) / s + 1 (结果向下取整)
关键概念对照
| 概念 | 作用 | 大白话 |
| 卷积核 filter | 提取一种局部特征(边、角、纹理) | 一个放大镜 |
| padding | 在图外围补 0 | 给照片加白边,防止越扫越小 |
| stride 步幅 | 窗口每次跳几格 | 跳 2 格就扫得稀疏、图缩一半 |
| 权值共享 | 同一个核扫全图共用一套权重 | 一个放大镜找遍整张墙 |
| 池化 pooling | 缩小特征图尺寸 | 把一小块区域浓缩成一个数 |
池化两种方式
| 方式 | 做法 | 特点 |
| Max Pooling | 窗口内取最大值 | 保留最强响应,最常用,更抗噪 |
| Avg Pooling | 窗口内取平均值 | 平滑整体信息,常用于最后全局池化 |
经典架构直觉LeNet(1998,手写数字)→ AlexNet(2012,ImageNet 夺冠,首次用深层+GPU+ReLU+Dropout)。规律:层数越深,浅层学边缘、中层学纹理/部件、深层学整张脸/物体。
⑤ 应用场景与典型例题
例1(算尺寸)输入 32×32,卷积核 5×5,无 padding,stride=1,输出多大?
套公式 O=(n+2p−f)/s+1。
O = (32 + 0 − 5)/1 + 1 = 27 + 1 = 28×28。这正是 LeNet 第一层。
例2(padding 保持尺寸)输入 28×28,想输出仍是 28×28,卷积核 3×3,stride=1,padding 取几?
令输出=输入,反解 p。
28 = (28 + 2p − 3)/1 + 1 → 28 = 26 + 2p → p=1。即补一圈,叫 same convolution。
例3(Max 池化)2×2 区域数字 [[1,3],[2,6]],2×2 Max 池化结果是多少?Avg 呢?
Max 取最大,Avg 取平均。
① Max = max(1,3,2,6) = 6。
② Avg = (1+3+2+6)/4 = 12/4 = 3。
权值共享为什么省参数假设一张图 1000×1000,若全连接到隐藏层 1000 个神经元,需要 10⁹ 个权重。用一个 3×3 卷积核,不管图多大,都只有 9 个权重!这就是 CNN 能处理大图的原因。
⑥ 高频错误诊断(4 条)
错误 1:混淆卷积和互相关入门阶段不必纠结是否翻转卷积核,工程上"滑动窗口对应相乘求和"就叫卷积,会算尺寸即可。
错误 2:算尺寸忘记 +1O=(n+2p−f)/s+1,漏了最后的 +1 是最常见错误。比如 32→28,忘了 +1 会算成 27。
错误 3:以为池化有可训练参数Max/Avg 池化是固定操作,没有权重,不参与反向传播训练。
错误 4:把通道数和空间尺寸搞反卷积让"空间高宽缩小、通道数变多"。一个卷积核输出 1 张特征图;用 k 个核,通道就变 k。
⑦ 考点与真题演练(4 题)
考点分布
| 考法 | 出题形式 | 应对 |
| 尺寸计算 | 给 n/f/p/s 求输出 | 套 O=(n+2p−f)/s+1 |
| 权值共享 | 问为什么参数少 | 一个核扫全图共用权重 |
| 池化 | Max/Avg 取值 | Max 取最大 |
真题1. 输入 5×5,卷积核 3×3,padding=0,stride=1,输出特征图尺寸是?
真题2. CNN 中"权值共享"指的是?
真题3. 2×2 区域 [[1,2],[3,4]] 做 Max Pooling(2×2, stride=2)结果是?
真题4. 卷积神经网络最适合处理哪类数据?
⑧ 必背公式卡
输出尺寸:O=(n+2p−f)/s+1 向下取整
same 卷积:p=(f−1)/2,输出=输入 常配 3×3 核 p=1
通道数:用 k 个卷积核 → 输出 k 个通道 每核一提特征
权值共享:一个核只有 f×f 个权重,与图大小无关 大幅省参数
Max 池化:窗口取最大值 最常用
整体:卷积→ReLU→池化,叠若干轮→全连接分类 高宽缩、通道增
⑨ 应用输出:用 CNN 思维建模
建模场景:手写数字识别(28×28 灰度图)
第 1 层:6 个 5×5 卷积核 → 24×24×6,提取边缘和小笔画。
第 2 层:2×2 Max 池化 → 12×12×6,尺寸减半、位置更鲁棒。
第 3 层:16 个 5×5 卷积核 → 8×8×16,组合出"圈圈、斜线"等部件。
flatten 拉平接全连接 → 输出 10 类(0~9)概率,最大的就是识别结果。
口述训练说三句:"卷积就是小窗口滑动对应相乘求和;输出尺寸套 (n+2p−f)/s+1;池化缩小尺寸、Max 取最大,卷积让高宽缩小通道变多。"
⑩ 分层练习 18 题(基础 6 + 中档 6 + 拔高 6)
▍基础 6 题
基础1卷积层的核心操作是什么?
小窗口(卷积核)在输入上滑动,对应位置相乘求和,输出特征图。
基础2输入 7×7,核 3×3,p=0,s=1,输出?
(7−3)/1+1=5×5。
基础3padding=1 的作用?
外围补一圈 0,保持特征图尺寸、不丢失边缘信息。
基础4stride=2 对尺寸有什么影响?
窗口每次跳 2 格,输出尺寸约缩小一半。
基础5Max 池化 2×2 区域 [[5,1],[3,2]] 结果?
max= 5。
基础6一个卷积核输出几个通道?
1 个。k 个核输出 k 通道。
▍中档 6 题
中档7输入 28×28,核 3×3,p=1,s=1,输出?
(28+2−3)/1+1=28×28(same)。
中档8权值共享为什么能减少参数?
同一个核在全图所有位置用同一组权重,不随位置翻倍。
中档9池化层有可训练参数吗?
没有,Max/Avg 是固定操作。
中档10浅层卷积和深层卷积分别学什么?
浅层学边缘/纹理,深层学部件/物体。
中档11Avg 池化 2×2 [[4,0],[0,0]] 结果?
(4+0+0+0)/4=1。
中档12LeNet 是用来做什么的?
手写数字识别(MNIST),最早的 CNN 之一。
▍拔高 6 题
拔高13输入 5×5,核 3×3,p=1,s=2,输出?
(5+2−3)/2+1=2/2+1=2,2×2。
拔高14AlexNet 相比 LeNet 的关键改进(说两条)?
① 更深;② 用 ReLU 替代 Sigmoid;③ Dropout 防过拟合;④ GPU 训练大数据。
拔高15为什么用小卷积核(3×3)堆叠比大核好?
两个 3×3 堆叠感受野相当于一个 5×5,但参数更少、非线性更多。
拔高16感受野是什么?
输出一个神经元在原图上能看到的区域大小,层数越深感受野越大。
拔高17全局平均池化 GAP 作用?
把整张特征图平均成一个数,替代全连接,大幅减少参数、防过拟合。
拔高18CNN 平移不变性怎么来的?
卷积核扫全图 + 权值共享,物体挪到哪都能被同一个核检测到。
⑪ 记忆口诀 + 7 天复习计划
三句口诀
① 卷积:小窗滑动乘加和,一核一图提特征。
② 尺寸:O=(n+2p−f)/s+1,padding 补边、stride 跳格。
③ 池化:Max 取最大缩尺寸,权值共享省参数。
| 天 | 任务 | 自检 |
| 第 1 天 | 读②③④,画卷积滑动图 | 能说清卷积在干嘛 |
| 第 2 天 | 背尺寸公式 + 基础 1-6 | 3 道尺寸题全对 |
| 第 3 天 | 做中档 7-12 | 讲清权值共享 |
| 第 4 天 | 做拔高 13-18 | 会算带 stride 的尺寸 |
| 第 5 天 | 做⑦真题 4 题 | 限时每题 2 分钟 |
| 第 6-7 天 | 合上书口述三句口诀 | 不看资料全说对 |
← 返回算法与AI总览