第 3 讲总结 · 深度计算机视觉
本页把 导览 与 3.1–3.10 压成一张可复习的骨架。用法:先只看「核心问题」列自问,答不全再读「关键结论」列,最后回「典型陷阱」列校核。
节一览
| 节 | 核心问题 | 关键结论 | 典型陷阱 |
|---|---|---|---|
| 3.1 为什么是卷积 | 图像为什么不能展平后交给 MLP? | 全连接的两宗罪:参数爆炸( 约 )与无视空间结构(定义 3.1.1);卷积 局部连接 权值共享 平移等变(定义 3.1.2);等变是前两条的推论(命题 3.1.1) | 把「等变」说成「不变」;把归纳偏置当无条件优势——位置本身带语义时卷积吃亏(定义 3.1.3) |
| 3.2 卷积运算 | 「核在图上滑动」怎么写成公式? | 框架算的是互相关(定义 3.2.1),与数学卷积只差一次核翻转(命题 3.2.1,无激活时可合并成一个核,定理 3.2.1);三条公式:尺寸 (3.2)、参数 (3.4)、MACs (3.5)(命题 3.2.2、命题 3.2.3);感受野递推 、(命题 3.2.4) | 核形状写反(应为 );以为参数量与图像大小有关;把理论感受野当实际上下文;忘记 卷积的偏置 |
| 3.3 池化、下采样与归一化 | 池化提供了什么?BN 为什么训推不一致? | 池化的不变性弱且有条件(例 3.3.1),真实价值是降分辨率、扩视野、省算力;最大池化与单调激活可交换(命题 3.3.1);BN 训练用批统计、推理用运行统计(定义 3.3.3);统计量的覆盖维度决定层与 batch size 的关系(定义 3.3.4);卷积 Dropout 必须按通道丢(定义 3.3.5) | 推理忘 model.eval();小 batch 硬用 BN;把逐元素 nn.Dropout 用在特征图上;增强放在归一化之后 |
| 3.4 经典骨干演进 | 三代网络各自解决了什么障碍? | AlexNet 是一套可训配方, 参数在全连接层(例 3.4.1);VGG 用 堆叠在同感受野下跌 参数、多非线性(命题 3.4.1), 参数在分类头(例 3.4.2);退化不是过拟合(定义 3.4.2),残差 给出直通项 (定理 3.4.1);瓶颈是「把通道预算换深度」(定义 3.4.4) | 用加正则解决退化;以为残差只是为了「防梯度消失」;忽略中间激活的显存代价;把小核堆叠当普适定律 |
| 3.5 现代视觉架构 | 不用卷积行不行?代价多大? | patchify 把 从 5 万降到 196(定义 3.5.1);ViT-B/16 共 M 参数,MLP 占每层 , GMACs 是 ResNet-50 的 倍(例 3.5.2);二次项要到 才与线性项持平(例 3.5.1);Swin 用窗口 移位窗口把注意力降为线性并给出多尺度(命题 3.5.2);ConvNeXt 说明差距很大程度来自配方与微观设计 | 以为 ViT 没有归纳偏置;以为「参数量相近就是同量级」;把 ConvNeXt 读成「卷积更好」;以为掩码比例越低越好(MAE 最优在 附近) |
| 3.6 迁移与自监督 | 为什么不能从零训练?没标签怎么办? | 迁移是工程默认起点:先冻结、再逐步解冻,骨干学习率小一个量级(定义 3.6.1,可训练参数差约 倍见 例 3.6.1);浅层学习率更小的分层衰减(方法 3.6.1);领域偏移最便宜的手段是重估归一化统计量(定义 3.6.2);InfoNCE 等价于在表示空间做 类分类(定义 3.6.3),其梯度是「吸引 排斥」(推导 3.6.1);BYOL / DINO 去负样本但机制无共识 | 预处理与骨干不匹配;一上来全网络微调;把「不用负样本也不崩塌」当已确立定理;以为自监督一定优于监督 |
| 3.7 检测、分割与基础模型 | 输出为什么不能只看准确率? | 输出从「一个标签」变成变长集合/稠密标签图(定义 3.7.1);IoU 是匹配与评估的共同基础(定义 3.7.2);NMS 是训练未去重时的补救(定义 3.7.3);AP 必须说清口径——VOC 11 点与 COCO 101 点 10 个 IoU 阈值,同一组预测差 个百分点(例 3.7.1);DETR 用一对一匈牙利匹配从训练层面消掉锚框与 NMS(定义 3.7.7),代价是收敛慢、小目标弱;SAM 把任务规格搬进提示(定义 3.7.8) | 用准确率评估检测;混淆 AP 与 mAP;以为 NMS 是必需步骤;把 SAM 当分类器(它不给语义标签);以为转置卷积能恢复信息 |
| 3.8 多模态视觉 | 图像怎么接到语言上? | CLIP 用 4 亿图文对的对称 InfoNCE 对齐,从而支持零样本分类(定义 3.8.1);双塔把编码次数从 降到 (例 3.8.2);VLM 三段式=对齐 / 指令微调 / 偏好优化(定义 3.8.2),视觉 token 数直接决定上下文预算(例 3.8.3);ControlNet 管「怎么摆」、LoRA 管「长什么样」(定义 3.8.3) | 以为 CLIP 会生成文本;以为双塔能表达组合关系;以为幻觉是「没看清」(实为语言先验压过视觉证据);跨论文直接比 VQA 数字 |
| 3.9 伦理与安全 | 强能力的代价是什么? | 数据偏见会被放大并有反馈回路(定义 3.9.1); 的总体准确率可以掩盖 倍的子群差异(例 3.9.1);误识与拒识代价不对称(定义 3.9.2);对抗样本存在且可迁移(定义 3.9.3),鲁棒性永远是相对攻击预算的陈述;深伪的「说谎者红利」损伤记录系统的可信基础(定义 3.9.4);有明确的出口判据 | 用总体准确率掩盖子群失败;把对抗样本归因于过拟合;把检测器当深伪唯一防线;把「只存模板」当隐私方案;把技术判断当价值判断 |
| 3.10 Lab 2 导读 | 怎么把零件装成能跑的检测系统? | 滑动窗口 = 在位置与尺度上搜索, 次前向约 s(例 3.10.1);正负样本匹配与忽略区(例 3.10.2);「先过拟合 10 个样本」是最有效的调试手段;FGSM 实验的价值在于亲手验证「不可察觉 / 行为跃变 / 防御不易」 | 框坐标顺序错(不报错但框乱飞);增强只改图不改框;NMS 条件方向写反;多尺度推理忘还原坐标;忘 model.eval() |
一条主线:因为图像是二维网格、而 MLP 对维度顺序不作任何假设,所以参数爆炸与无视空间结构这两宗罪无法靠堆数据根治(3.1)——由此必须把「局部性 权值共享」写进结构,并为此付出「先学会把滑动写成三条公式」的代价:尺寸、参数量、感受野(3.2);公式一落地就能看出分辨率、视野与训练稳定性是三笔互相兑换的预算,于是池化、步幅与归一化各占一角(3.3);把零件按正确的配方组装,才能依次跨过「可训 → 深度是变量 → 退化」三道障碍,而残差连接是把「恒等映射变便宜」的钥匙(3.4);一旦承认「先验可以换数据」,就会自然追问先验能否更弱(ViT / Swin / ConvNeXt)以及标签能否不要(迁移与自监督)(3.5–3.6);弱先验与无标签都把小数据变成常态,于是输出结构必须从「一个标签」升级为集合与掩码图,评测口径随之全面更换(3.7–3.8);而能力越强,继承并放大数据缺陷的后果越严重,所以必须补上分群评估、对抗预算与出口判据(3.9),最后在 Lab 2 里把这些原理装成一台能跑、且能说明使用边界的机器(3.10)。
三句话带走
- 第 3 讲的可迁移技能只有一条:不依赖代码的形状与量级推演。 尺寸公式 (3.2)、参数公式 (3.4)、MACs 公式 (3.5) 与感受野递推 (3.6) 覆盖了绝大多数「显存爆了 / 换了分辨率就报错 / 理论上更快实测更慢」的问题;预训练权重解决的是「从哪开始」,这四条公式解决的是「为什么」和「哪里出问题」。
- 所有结论都是条件性的。 卷积优于 MLP 以「平移统计结构成立」为前提(3.1);ViT 优于 CNN 以「数据充足」为前提(3.5);小核堆叠优于大核以「不在意延迟与中间激活」为前提(3.4);自监督优于监督以「标签稀缺或跨域」为前提(3.6);迁移有效以「输入分布共享低层结构」为前提(3.6)。凡不带条件的比较句,都应当被追问条件。
- 评测口径与失败模式比榜单数字重要。 准确率在极端类不平衡下几乎无信息量(3.7 的 );AP 必须说明是 11 点还是 101 点、跨了哪几个 IoU 阈值(3.7);总体指标必须配分群指标(3.9 的 vs );鲁棒性必须附带攻击模型与预算(3.9)。指标的选择由「错误的代价结构」决定,而不是由「大家都在报什么」决定。
值得记住的定量结论
| 结论 | 数值 / 形式 | 出处 |
|---|---|---|
| 全连接第一层的量级 | ;同规模 卷积()仅 | 例 3.1.1 |
| 输出尺寸 / 参数 / 算力 | ;; | 命题 3.2.2、命题 3.2.3 |
| 感受野与跳距 | 、;下采样让 近似几何增长 | 命题 3.2.4、例 3.2.3 |
| 可分离卷积的省算比 | , 时约 | 命题 3.2.6 |
| 三代骨干的参数量 | AlexNet ( 在 FC);VGG16 ( 在 FC);ResNet-50 | 例 3.4.1、例 3.4.2 |
| 残差梯度 | ,展开式中唯一不含 的项就是 | 定理 3.4.1 |
| ViT-B/16 | 参数、 GMACs(ResNet-50 的 倍)、MLP 占每层参数 | 例 3.5.2 |
| 二次项临界点 | ; 时为 | 例 3.5.1 |
| AP 的口径差 | 同一组 12 个预测:11 点插值 ,COCO 风格约 | 例 3.7.1 |
| 偏见被平均稀释 | 总体 ,而占比 的子群只有 (错误率差 倍) | 例 3.9.1 |
与后续的连接
- 第 4 讲 · 深度生成建模:本讲的每个模型都在回答「这是什么」或「在哪里」;第 4 讲换问「能不能生成新的图像」。本讲练出的骨干(卷积的或注意力的去噪网络)在那里成为扩散模型的去噪器;3.8 节的潜空间扩散与 ControlNet / LoRA 是那条线的接口层,而 3.9 节讨论的深伪,其技术根源正是第 4 讲要讲的生成能力。
- 第 6 讲 · 多模态与前沿:3.8 节只讲视觉这一侧的接口(对齐 / 连接 / 定制),语言模型侧的训练细节与偏好优化留给第 6 讲与它的 VLM 三段式。
- Lab 2 · 人脸检测系统:本讲的落点,3.10 是它的理论导读;Lab 3 的视觉—语言前端用的就是 3.4–3.5 的骨干。
- 期末项目方向:涉及图像的选题按 3.6.5 的决策顺序选骨干与迁移策略 → 按 3.7.2 定评估口径 → 按 3.9.5 写出使用边界;一份合格的视觉项目报告必须包含分群评估与失败模式分析。
- 复习入口:公式速查卡 的卷积公式一行、易混对照卡 的「卷积 vs 注意力」「BN vs LN」「AP vs mAP」;排错先走 工程工具箱,再做本讲 习题集 → 回忆卡 → 综合自测卷,最后用 学习目标自检表 对账 K3.x / S3.x / A3.1。