2014 年,瑞典皇家理工学院 (KTH) 的 Sharif Razavian 等人发表了一篇结构反传统的论文——全文以「教授和学生对话」的形式展开,把 DeCAF 的迁移学习思想推向了极致。他们用 OverFeat 网络的现成特征加上一个简单的线性 SVM,在 12 个不同的视觉识别任务上做实验——从基础物体分类,到细粒度识别、属性检测、场景分类、图像检索——几乎每一项都打平或超过专门设计的方法。论文副标题就是大写的 "AN ASTOUNDING BASELINE"——令人震惊的基线。这篇论文的结论后来成了所有视觉论文的「最低门槛」:任何新方法都必须先打过"CNN 特征 + 简单分类器"这个基线。本文是这篇 CVPR 2014 Workshop 论文的中文精校版。
这篇论文最有趣的地方是它的叙事结构——作者把整个研究写成了"教授和学生在咖啡室对话"的形式。教授问"这个深度网络能不能用在你的问题上",学生先怀疑、再尝试、再被震惊。每一个章节都是一个对话循环——从图像分类到细粒度到属性到检索,每一次"应该不行了吧",结果都是"还是好用"。
这篇论文的开篇非常特别——作者直接进入一段虚构的对话——
"深度学习。你觉得它能用在你的计算机视觉问题上吗?"——这是论文里"教授"在小组咖啡室问的第一句话。这个问题,论文作者说,"很可能你的研究组里也讨论过"——有人引用近期的成功案例,有人表示怀疑。你可能离开咖啡室时还在想——"可惜我没时间、没 GPU 编程能力、也没大量标注数据来训自己的网络"。
但 OverFeat 网络的公开发布——一个由 NYU 团队预训练好的、在 ILSVRC 2013 上拿了定位冠军的 CNN——改变了这个困境。论文作者问的不再是"我能不能训一个深度网络解决我的问题",而是——能不能用别人在 ImageNet 上训好的网络提取的特征,去解决多种多样的视觉问题?
论文接下来的 7 个章节,每一节都是一个"教授提出怀疑、学生尝试、得到震撼结果"的循环——
· 教授:"图像分类应该能行吧,毕竟跟 ImageNet 任务相近?" → 学生确认能行
· 教授:"那细粒度识别呢,需要捕捉很微妙的差异?" → 居然也能行
· 教授:"属性检测呢,需要 part-based 模型?" → 简单 SVM 也胜过专门方法
· 教授:"那图像检索呢?SIFT 和 BoW 是几十年的工程?" → 也被打过去了
整篇论文的结构其实就是"持续的惊讶"。这个叙事风格本身就传达了一个信号——2014 年初,整个视觉社区对深度学习的迁移能力还没有共识。这篇论文是少数把所有人惊讶的过程完整记录下来的工作。
"是不是新派的描述符
能在老派的主场里打败老派?"
—— 论文里的学生这样问
结论:能。
方法简单到几乎可以一句话讲完——用 OverFeat 的第 22 层激活作为 4096 维特征向量,L2 归一化,输入线性 SVM 分类(或 L2 距离做检索)。整个 backbone 完全冻结,只学一个线性层。论文叫这套方法 CNN-SVM。
论文用的是 NYU 团队公开的 OverFeat 网络。OverFeat 的结构跟 AlexNet 类似,5 个卷积层 + 3 个全连接层,在 ImageNet ILSVRC 2013 上训练,赢下了那年的定位任务。论文用的是 OverFeat 的 "large" 版本,输入是 221×221 的彩色图像。
方法只有几行——
第一步:把任何输入图像 resize 到 221×221。
第二步:前向传播到 OverFeat 的第一个全连接层(在论文的计数里是第 22 层)。这层输出一个 4096 维向量。
第三步:对这个 4096 维向量做 L2 归一化(让向量长度为 1)。
第四步:把归一化后的向量送进一个线性 SVM,做下游任务的分类。对于图像检索任务,则直接用 L2 距离做相似度比对。
就这样。整个 OverFeat 的参数完全冻结,不微调、不重新训练。下游唯一要学的就是那个线性 SVM 的权重。论文把这套方法叫做 CNN-SVM。
对比 2014 年之前的传统方法——一个细粒度识别 pipeline 可能包括:part 检测器、姿态对齐、多种手工特征(SIFT、HOG、LBP)的提取与编码、Fisher Vector 聚合、再加上 SVM 分类。少则上千行代码,多则一篇论文一整套。
而 CNN-SVM 总共可能不到 50 行代码——加载 OverFeat、提取一层激活、L2 归一化、scikit-learn 的线性 SVM。"工程简单"本身就是巨大的工程贡献。
论文先在两个分类数据集上验证——PASCAL VOC 2007(与 ImageNet 接近)和 MIT 67 室内场景(差异较大)。两个任务上 CNN-SVM 都拿到了明显领先于专门设计方法的成绩。在 MIT Indoor 上更令人惊讶——一个为 1000 类物体训的网络,居然在专门的室内场景任务上超过了所有专门设计的特征。
第一个实验——验证"基本盘"。用两个有不同性质的分类数据集——
PASCAL VOC 2007——20 类常见物体(人、狗、自行车、椅子等)。这个任务跟 ImageNet 比较接近,所以 OverFeat 应该有"主场优势"。CNN-SVM 在 VOC 2007 上拿到 73.9% mAP,比之前所有非深度学习方法都高。
MIT 67 Indoor Scenes——67 类室内场景(厨房、办公室、教堂等)。这个任务跟 ImageNet 差异更大——是场景分类,不是物体分类。但 CNN-SVM 依然拿到 58.4% 准确率,明显超过当时最强的专门方法。
这两个结果本身不算特别新鲜(DeCAF 已经做过类似实验),但论文用更系统的方式验证了——即使在跟 ImageNet 任务差异较大的数据集上,CNN 特征依然能赢。
论文做了细粒度识别——CUB-200 鸟类和 Oxford Flowers 花卉。CNN-SVM 在 CUB 上拿到 53.3%,在 Oxford Flowers 上 74.7%,不带任何 part 对齐。加上简单的数据增强后,超过当时所有专门为这两个任务设计的方法——包括 DPM、Symbiotic、Pose-Pooling 等复杂 pipeline。
这是论文最让"教授"感到震惊的实验——细粒度识别。前面我们在 DeCAF 篇讲过,CUB-200 是区分 200 种鸟的难任务。当时业界为它专门设计了复杂的 pipeline——part 检测、姿态对齐、symbiotic 模型——每一个都是一篇论文级别的工程。
这篇论文的"学生"问——你觉得通用的 OverFeat 特征能捕捉这么细微的差异吗?比如不同种鸟的喙的弧度、尾羽的纹理?
结论是——能。
| 数据集 | 之前最好 | CNN-SVM | CNN + 数据增强 |
|---|---|---|---|
| CUB-200 鸟类 | 56.8% (DPD) | 53.3% | 61.8% |
| Oxford Flowers | 80.7% | 74.7% | 86.8% |
注意两件事——
第一,"最朴素的 CNN-SVM"在 CUB 上 53.3%,比专门方法稍低(56.8%)。但这是不用任何细粒度专门设计得到的结果。
第二,加上简单的数据增强(jittering 之类),结果跳到 61.8%——超过专门方法 5 个点。在 Oxford Flowers 上更夸张,86.8% vs 之前最好的 80.7%。
这个结果在 2014 年初的视觉社区掀起了轩然大波——一个为通用物体分类训的网络,居然在专门的细粒度识别任务上比所有为该任务定制的方法都强。这意味着——"为任务 X 设计特征 X"的传统思路开始动摇。
属性检测——识别人物属性(戴眼镜、穿外套)和物体属性(材质、颜色)——是当时另一个有专门方法的领域,主流方案是 poselets(部件结构模型)和 DPM(可变形部件模型)。CNN-SVM 不做任何部件对齐,全局提一个 4096 维特征,居然就超过了 poselets 和 DPM。论文作者感叹——"哇,它们是怎么做到的?"
"接下来挑战属性检测?我们看看 OverFeat 特征是否编码了人和物的语义属性"——论文里教授这样说。
属性检测的任务是——给一张图像,判断里面的人或物有哪些属性。H3D 数据集包含人物属性(戴眼镜?短发?穿外套?穿牛仔裤?)。UIUC 物体属性数据集包含物体的视觉属性(金属?毛茸茸?方形?)。
当时主流方法是 poselets——一种基于部件结构的模型。判断"戴眼镜"前先把人脸对齐,判断"穿外套"前先把上半身对齐。这种"先对齐再判断"是当时的金标准。
论文的"学生"问——不做任何部件对齐,全局从人物的 bounding box 提一个 CNN 特征,能行吗?毕竟人有各种姿态和遮挡。
结果——CNN-SVM 的平均准确率超过了 poselets 和 DPM。在物体属性数据集上效果也极好。论文作者忍不住感叹——"哇,它们是怎么做到的?也许这些 OverFeat 特征真的编码了属性信息?"
不做任何部件对齐、不做任何姿态归一化,
就一个全局 CNN 特征加 SVM——
超过了 poselets 和 DPM。
图像检索是SIFT 和 VLAD 的主场——10 多年的工程优化。论文挑战这块时持谨慎态度——"教授"明说"应该不会赢吧"。结果在 Holidays、Oxford Buildings、UKBench 等基准上,CNN 特征加上标准的 PCA/whitening/renormalization 处理后,在除了 Sculptures 之外的所有数据集上都超过了 SIFT/VLAD。"新派描述符在老派主场里打过了老派"。
这是论文最有挑战性的实验——图像检索。给一张查询图像,从数据库里检索"同一物体"或"同一地点"的所有图像。
这个任务为什么特别?因为——它是 SIFT 和 VLAD 的家。SIFT 描述符就是为了这个任务发明的(1999 年 Lowe)。后来 BoW(视觉词袋)、Fisher Vector、VLAD 等一系列方法都是为图像检索精心调优的。这是计算机视觉传统派经过 10 多年优化的看家本领。
论文里"教授"对这块也持谨慎态度——"或许 CNN 特征在这里没机会赢"。"学生"提了一个聪明的限定——"我们不跟带 3D 几何约束的方法比,就比纯描述符的效果。新派描述符能不能在老派主场里打败老派?"
论文测了多个标准检索基准——
· Holidays(个人照片集):CNN 特征在加上 PCA + whitening + renormalization 处理后超过 VLAD
· Oxford Buildings(牛津地标):超过
· UKBench(物体识别):超过
· Sculptures(雕塑):失利——这是唯一一个 SIFT 还赢的数据集,因为雕塑的纹理特征非常依赖局部不变描述符
除 Sculptures 外的所有数据集,CNN 特征都超过了低内存占用的传统方法。论文给出的解释是——CNN 学到的语义抽象在大多数检索场景里比手工的局部不变描述符更有用。
论文证明,仅在数据端做一点简单增强(crop 抖动、水平翻转、几种角度旋转),就能让 CNN-SVM 的成绩再上一台阶——从"打平 SOTA"变成"超过 SOTA"。这是几乎免费的提升,因为只是对同一张图多算几次特征再平均,不动 CNN 本身。
论文最实用的一节——简单的数据增强能再提升一大截。
方法朴素到令人发指。对每一张训练或测试图像,做以下事——
· 抖动 crop——在原图上以略微偏移的位置裁出多个 221×221 的子图
· 水平翻转——把图像左右翻转一次
· 几个简单旋转——比如 -10 度、+10 度
· 对每一个变体提取 4096 维特征,最后平均或拼接
就这么简单。但效果非常显著——在大多数任务上,CNN-SVM 加增强能比裸 CNN-SVM 提升 3-8 个百分点。前面提到的 CUB-200 鸟类,从 53.3% 跳到 61.8%,就是靠这个增强。
这套增强策略有个特别诱人的属性——它几乎免费。CNN 本身不需要任何修改、不需要重新训练。增强只是在推理时多前向传播几次。今天工业界部署模型时常用的 test-time augmentation (TTA),思路根源就在这里。
这篇论文最深的影响不在于刷了 12 个 benchmark,而在于它设定了一条"任何新方法必须先超过的基线"。从 2014 年起,任何视觉论文如果不打过"预训练 CNN + 简单分类器",几乎都不会被审稿人接受。这件事彻底改变了视觉研究的工作方式——设计专门方法之前,先用预训练特征跑一遍,比较是否有真的提升。
2014 年 3 月,这篇论文挂上 arxiv,5 月在 CVPR DeepVision Workshop 上正式发表。它的影响不是开创了新方法——方法本身只有几行代码。它的影响是开创了一种"严格"的研究文化。
从 2014 年起,任何视觉研究者要发表新方法,都必须先回答一个问题——"你的方法能不能打过 CNN 特征加简单 SVM 这个基线?"如果不能,审稿人会说——"那你的复杂方法贡献是什么?"
这件事改变了整个研究的工作流——
· 之前——研究者会花数月设计一个 specialized 算法,论文里只跟其他 specialized 算法比较
· 之后——研究者必须先跑一遍预训练 CNN baseline,看清自己的方法是否真的有"额外贡献",否则就只是在"复杂方法的内部 reshuffle"
这种"baseline-first"的研究文化对整个领域有巨大的健康作用——它把很多"看起来花哨但实际上没有真正提升"的工作过滤掉了。
这篇论文的真正贡献,
不是某个新算法,
而是给所有人定了一条新地板线——
设计专门方法之前,
先用预训练特征跑一次。
论文最后一句话总结得非常好——"It's all about the features."(一切都是特征的问题。)SIFT 和 HOG 描述符在十年前带来了一次性能跃升,现在深度卷积特征带来了类似的突破。把成熟的视觉 pipeline 套用到 CNN 表示上,结果还可能继续提升。无论如何,如果你设计任何识别任务的新算法,都必须跟"通用深度特征 + 简单分类器"这个强基线比较。
这两篇姐妹论文——DeCAF 和 CNN off-the-shelf——共同标志了 2014 年视觉社区的一次范式转移。从手工特征时代(SIFT、HOG、Fisher Vector)到预训练特征时代(ImageNet pre-trained CNN)。这个转移后来又延伸到了 NLP(BERT/GPT)、语音、多模态——"在大数据上预训练,再迁移到下游"成了所有现代 AI 系统的基础范式。
下一集,我会回到生成式 AI 的主线,讲BatchNorm——Ioffe 和 Szegedy 2015 年的另一个关键贡献,让训练超深网络变得切实可行。这也是后续 ResNet 能成功的另一个隐藏前提。