如果你曾经花时间为图像任务训练过卷积神经网络 (CNN) ,或许会注意到一个有趣的现象: 无论是在对猫进行分类、检测汽车,还是分割医学影像,第一层学到的滤波器通常都极为相似——一组边缘检测器、颜色斑块以及类似 Gabor 的纹理模式。

这种现象如此普遍,以至于引发了一个根本性的问题。我们知道,第一层会学习这些简单且似乎普遍适用的模式;我们也知道,最后一层必须高度针对特定任务——一个用于判断“这是一只西伯利亚哈士奇”的神经元,在识别不同类型椅子的网络中毫无用处。那么,如果网络的开端是通用,结尾是专用,这种转换究竟在什么时候发生?是突然在某一层完成,还是在整个网络深度中逐渐变化?

这不仅仅是一个哲学上的好奇。答案对现代深度学习中最强大的技术之一——迁移学习——有着深远影响。通过理解哪些层是通用的、哪些层是专用的,我们可以更高效地重用部分预训练网络来解决新问题,节省大量时间和数据成本。

在 2014 年的一篇经典 NIPS 论文《深度神经网络中的特征可迁移性如何?》 (“How transferable are features in deep neural networks?”) 中,来自康奈尔大学、怀俄明大学和蒙特利尔的研究人员系统地探讨了这些问题。他们设计了一系列巧妙的实验,逐层量化特征的通用性,并在此过程中揭示了迁移学习为何奏效、为何有时失效,以及它在某些情况下为何能带来意料之外的性能提升。

核心思想: 什么是迁移学习?

在深入探讨论文实验之前,我们先回顾一下迁移学习的概念。核心思想很简单: 如果没必要,就不要从零开始。

在像 ImageNet (超过一百万张图片,涵盖 1000 个类别) 这样的大规模数据集上训练一个大型神经网络,如著名的 AlexNet,可能需要数天甚至数周。但该网络所学习到的特征极具价值。

迁移学习的做法是: 将一个在大型基础数据集上预训练好的网络,调整用于新的目标任务。主要有两种策略:

  1. 特征提取 (冻结) : 将预训练网络作为固定的特征提取器。切掉最后的分类层,把新数据输入这个冻结的网络,使用某个中间层的激活作为新的、更小分类器的输入。在目标数据集很小时,这种方法能有效防止过拟合。
  2. 微调 (Fine-Tuning) : 替换最后一层,使用较小的学习率在新数据集上继续训练整个网络 (或部分网络) ,让预训练特征适应新任务。

该论文使用了这两种策略来探究不同层级特征的性质。

衡量可迁移性的巧妙实验设计

为了确定某一层是更“通用”还是更“专用”,作者需要一种可控的方法来测试迁移效果。

他们首先将 ImageNet 的 1000 个类别随机划分为互不重叠的两个集合,每个集合 500 个类别:** 数据集 A** 和 数据集 B。接着训练了两个结构完全相同的 8 层 AlexNet 风格网络:

  • baseA: 仅在数据集 A 上训练。
  • baseB: 仅在数据集 B 上训练。

baseB 作为参考基准——它在数据集 B 验证集上的表现是评估标准。

问题是: baseA 所学到的特征在多大程度上能帮助分类数据集 B?

为此,他们通过复制预训练的 baseAbaseB 的部分层构建新网络。例如,为了测试前三层 (n=3) 的可迁移性,他们进行了如下实验:

迁移实验设置概览。两个基础网络 (baseA 和 baseB) 在 ImageNet 的不同半区进行训练。新网络从这些基础网络复制前 ’n’ 层。A3B 是迁移网络 (从 baseA 复制,在 B 上训练) 。B3B 是控制组 (从 baseB 复制,在 B 上训练) 。“+”版本表示允许对复制的层进行微调。

图 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 的范围内运行这些实验,作者测量了可迁移性随网络深度的变化情况。

结果: 迁移学习的两大障碍和一个意外的提升

主要实验结果如下图所示:

在相似数据集划分下,Top-1 准确率与层迁移深度的关系。蓝色显示同源网络 (BnB) ,红色显示迁移网络 (AnB) ,带“+”版本允许微调。性能下降的原因是中层脆弱的协同适应性和后层特征的专用性。微调恢复了性能,甚至提升了泛化能力。

图 2: 相似数据集上的主要实验结果。上: 单次运行;下: 平均趋势。标签对应第 4.1 节的解释。

发现 1: 两种不同问题阻碍了迁移效果

巧妙的 BnB 控制组揭示了性能下降的两个原因:

  1. 脆弱的协同适应性:BnB (蓝线) 中,早期层 (n=1,2) 表现正常,但中层 (n=3–5) 明显下滑。这说明冻结的底层破坏了它们与上层之间复杂的配合,仅靠重新训练顶层无法恢复。
  2. 特征专用性:AnB (红线) 中,表现进一步下降。BnBAnB 的差距反映了将不同数据集上学习的特征迁移到新任务时的成本——它们并不那么有效。

早期层 (1–2) 特征高度通用;中层 (3–5) 主要受协同适应性影响;后期层 (6–7) 则更多受特征专用性影响。

发现 2: 神秘的泛化提升

更令人惊讶的是,微调的迁移网络 (AnB⁺) 不仅消除了性能下降,还超过了从零训练的参考网络 baseB

作者认为,在大型、多样化的数据集上进行预训练 (即便类别不重叠) 起到了一种正则化作用。网络会从数据集 A 中习得自然图像的广泛属性,从而在数据集 B 上更容易收敛到更优解。

这种提升在所有层数范围内都是一致的:

表格显示微调迁移网络相对于控制组的平均性能提升,幅度在 1.4%–2.1% 之间,保留层数越多提升略高。

表 1: AnB⁺ 相对控制组的平均准确率提升。无论迁移多少层,增益始终存在,保留更多层时提升更显著。

即使是在大数据集上,从预训练网络起步也可能比从零训练获得更好的泛化表现。

发现 3: 任务相似性的重要性

作者还测试了一个极端差异的划分:** 人造物体** vs. 自然物体

非相似任务 (人造 vs. 自然) 与相似随机划分任务的迁移性能对比,以及与随机权重的比较。非相似任务的迁移性能下降更陡峭,但仍优于随机权重。

图 3: 左上: 非相似任务性能下滑。右上: 随机、未训练滤波器的影响。下: 归一化性能对比——非相似任务表现逊于相似任务,但两者均远好于随机特征。

非相似任务 (橙线) 的性能下降更剧烈——到第 7 层,相似任务的迁移只有约 8% 的性能差距,而非相似任务的迁移则差了约 25%。高层特征会调节至训练数据的语义——“汽车”的特征更适用于“卡车”,而非“斑马”。

发现 4: 预训练特征胜过随机特征

在小数据集上,随机卷积滤波器可能偶尔表现不错。但在像 ImageNet 这样的大型数据集上的深度网络中则不然。一旦冻结超过一两层随机权重,性能会急剧崩溃。

图 3 下方面板显示,即使是来源于完全不同任务的特征,也远胜于随机滤波器。对于大规模视觉任务,预训练提供了坚实的基础。

结论与启示

这篇论文为深度网络的特征迁移提供了详细且定量的视角,揭示了:

  1. 迁移的两大障碍: 冻结迁移性能下降源于**脆弱的协同适应性 (优化困难,发生在中层) 和特征专用性 **(表示不匹配,发生在顶层) 。
  2. 微调优势显著: 从迁移权重开始并进行微调,可以提升泛化能力,甚至超过从零训练——即使在大数据集上也如此。
  3. 任务相似性重要: 基础任务和目标任务越相似,越能有效复用更深的层。
  4. 预训练优于随机: 来自任何大型自然图像任务的预训练特征都远胜于随机初始化。

这些洞察已影响了现代实践。将一个在 ImageNet 上预训练的模型下载下来并微调用于新视觉任务,正是基于本文所量化的原则。作者通过系统地“剖析”网络,绘制了其从通用到专用的转变图谱,为我们利用迁移学习提供了有效指南。