如果你曾经花时间为图像任务训练过卷积神经网络 (CNN) ,或许会注意到一个有趣的现象: 无论是在对猫进行分类、检测汽车,还是分割医学影像,第一层学到的滤波器通常都极为相似——一组边缘检测器、颜色斑块以及类似 Gabor 的纹理模式。
这种现象如此普遍,以至于引发了一个根本性的问题。我们知道,第一层会学习这些简单且似乎普遍适用的模式;我们也知道,最后一层必须高度针对特定任务——一个用于判断“这是一只西伯利亚哈士奇”的神经元,在识别不同类型椅子的网络中毫无用处。那么,如果网络的开端是通用,结尾是专用,这种转换究竟在什么时候发生?是突然在某一层完成,还是在整个网络深度中逐渐变化?
这不仅仅是一个哲学上的好奇。答案对现代深度学习中最强大的技术之一——迁移学习——有着深远影响。通过理解哪些层是通用的、哪些层是专用的,我们可以更高效地重用部分预训练网络来解决新问题,节省大量时间和数据成本。
在 2014 年的一篇经典 NIPS 论文《深度神经网络中的特征可迁移性如何?》 (“How transferable are features in deep neural networks?”) 中,来自康奈尔大学、怀俄明大学和蒙特利尔的研究人员系统地探讨了这些问题。他们设计了一系列巧妙的实验,逐层量化特征的通用性,并在此过程中揭示了迁移学习为何奏效、为何有时失效,以及它在某些情况下为何能带来意料之外的性能提升。
核心思想: 什么是迁移学习?
在深入探讨论文实验之前,我们先回顾一下迁移学习的概念。核心思想很简单: 如果没必要,就不要从零开始。
在像 ImageNet (超过一百万张图片,涵盖 1000 个类别) 这样的大规模数据集上训练一个大型神经网络,如著名的 AlexNet,可能需要数天甚至数周。但该网络所学习到的特征极具价值。
迁移学习的做法是: 将一个在大型基础数据集上预训练好的网络,调整用于新的目标任务。主要有两种策略:
- 特征提取 (冻结) : 将预训练网络作为固定的特征提取器。切掉最后的分类层,把新数据输入这个冻结的网络,使用某个中间层的激活作为新的、更小分类器的输入。在目标数据集很小时,这种方法能有效防止过拟合。
- 微调 (Fine-Tuning) : 替换最后一层,使用较小的学习率在新数据集上继续训练整个网络 (或部分网络) ,让预训练特征适应新任务。
该论文使用了这两种策略来探究不同层级特征的性质。
衡量可迁移性的巧妙实验设计
为了确定某一层是更“通用”还是更“专用”,作者需要一种可控的方法来测试迁移效果。
他们首先将 ImageNet 的 1000 个类别随机划分为互不重叠的两个集合,每个集合 500 个类别:** 数据集 A** 和 数据集 B。接着训练了两个结构完全相同的 8 层 AlexNet 风格网络:
- baseA: 仅在数据集 A 上训练。
- baseB: 仅在数据集 B 上训练。
baseB
作为参考基准——它在数据集 B 验证集上的表现是评估标准。
问题是: baseA
所学到的特征在多大程度上能帮助分类数据集 B?
为此,他们通过复制预训练的 baseA
和 baseB
的部分层构建新网络。例如,为了测试前三层 (n=3
) 的可迁移性,他们进行了如下实验:
图 1: 实验处理与控制组。顶行: 仅在各自数据集上训练的基础网络。第三行: 同源控制网络从 baseB 复制前 n 层并在 B 上训练,复制的层被冻结 (B3B) 或微调 (B3B⁺) 。第四行: 迁移网络从 baseA 复制前 n 层并在 B 上训练,复制的层被冻结 (A3B) 或微调 (A3B⁺) 。
迁移网络 (AnB
)
从 baseA
复制前 n
层 (如 A3B
) ,冻结它们,随机初始化剩余上层 (第 4–8 层) ,然后在数据集 B 上训练。如果 baseA
第三层的特征确实是通用的,A3B
表现应接近 baseB
。若这些特征针对数据集 A 高度专用,则性能会下降。
“同源”控制网络 (BnB
)
从 baseB
自身复制前 n
层,冻结它们,然后在数据集 B 上训练其他层。乍看应与 baseB
性能一致,但如果 BnB
表现更差,说明存在优化困难: 原始网络的底层与上层可能存在脆弱的协同适应,一旦底层被冻结,这种关系难以重建。
微调版本 (AnB⁺
和 BnB⁺
)
重复上述步骤,但允许复制的层在训练中更新。带“+”的网络以迁移的权重为初始值,并在目标任务上进行适应性调整。
通过在 n
从 1 到 7 的范围内运行这些实验,作者测量了可迁移性随网络深度的变化情况。
结果: 迁移学习的两大障碍和一个意外的提升
主要实验结果如下图所示:
图 2: 相似数据集上的主要实验结果。上: 单次运行;下: 平均趋势。标签对应第 4.1 节的解释。
发现 1: 两种不同问题阻碍了迁移效果
巧妙的 BnB
控制组揭示了性能下降的两个原因:
- 脆弱的协同适应性: 在
BnB
(蓝线) 中,早期层 (n=1,2
) 表现正常,但中层 (n=3–5
) 明显下滑。这说明冻结的底层破坏了它们与上层之间复杂的配合,仅靠重新训练顶层无法恢复。 - 特征专用性: 在
AnB
(红线) 中,表现进一步下降。BnB
与AnB
的差距反映了将不同数据集上学习的特征迁移到新任务时的成本——它们并不那么有效。
早期层 (1–2) 特征高度通用;中层 (3–5) 主要受协同适应性影响;后期层 (6–7) 则更多受特征专用性影响。
发现 2: 神秘的泛化提升
更令人惊讶的是,微调的迁移网络 (AnB⁺
) 不仅消除了性能下降,还超过了从零训练的参考网络 baseB
。
作者认为,在大型、多样化的数据集上进行预训练 (即便类别不重叠) 起到了一种正则化作用。网络会从数据集 A 中习得自然图像的广泛属性,从而在数据集 B 上更容易收敛到更优解。
这种提升在所有层数范围内都是一致的:
表 1:
AnB⁺
相对控制组的平均准确率提升。无论迁移多少层,增益始终存在,保留更多层时提升更显著。
即使是在大数据集上,从预训练网络起步也可能比从零训练获得更好的泛化表现。
发现 3: 任务相似性的重要性
作者还测试了一个极端差异的划分:** 人造物体** vs. 自然物体。
图 3: 左上: 非相似任务性能下滑。右上: 随机、未训练滤波器的影响。下: 归一化性能对比——非相似任务表现逊于相似任务,但两者均远好于随机特征。
非相似任务 (橙线) 的性能下降更剧烈——到第 7 层,相似任务的迁移只有约 8% 的性能差距,而非相似任务的迁移则差了约 25%。高层特征会调节至训练数据的语义——“汽车”的特征更适用于“卡车”,而非“斑马”。
发现 4: 预训练特征胜过随机特征
在小数据集上,随机卷积滤波器可能偶尔表现不错。但在像 ImageNet 这样的大型数据集上的深度网络中则不然。一旦冻结超过一两层随机权重,性能会急剧崩溃。
图 3 下方面板显示,即使是来源于完全不同任务的特征,也远胜于随机滤波器。对于大规模视觉任务,预训练提供了坚实的基础。
结论与启示
这篇论文为深度网络的特征迁移提供了详细且定量的视角,揭示了:
- 迁移的两大障碍: 冻结迁移性能下降源于**脆弱的协同适应性 (优化困难,发生在中层) 和特征专用性 **(表示不匹配,发生在顶层) 。
- 微调优势显著: 从迁移权重开始并进行微调,可以提升泛化能力,甚至超过从零训练——即使在大数据集上也如此。
- 任务相似性重要: 基础任务和目标任务越相似,越能有效复用更深的层。
- 预训练优于随机: 来自任何大型自然图像任务的预训练特征都远胜于随机初始化。
这些洞察已影响了现代实践。将一个在 ImageNet 上预训练的模型下载下来并微调用于新视觉任务,正是基于本文所量化的原则。作者通过系统地“剖析”网络,绘制了其从通用到专用的转变图谱,为我们利用迁移学习提供了有效指南。