在设计深度神经网络时,我们通常关注数据如何在前向传播中流经模型。我们堆叠层、实现复杂的特征融合机制、添加注意力模块,以将输入转换为期望的输出。这种传统的“数据路径”视角为我们带来了 ResNet、DenseNet 和 Transformer 等强大架构。

但如果这种只关注前向传播的观点只讲了故事的一半呢?如果构建更高效、更强大网络的关键在于审视信息反向流动的方式呢?

近期的一篇研究论文 Designing Network Design Strategies Through Gradient Path Analysis 正是提出了这种范式转变。作者认为,由于网络是通过反向传播 (将误差信号 (梯度) 从输出向后发送以更新权重) 来进行学习,我们应该设计那些能主动优化梯度传播方式的架构。与只关注数据路径不同,他们引入了一种新的设计思路:** 梯度路径设计**。

在本文中,我们将剖析他们的思想,探讨为什么梯度路径如此重要,并逐一介绍论文中提出的三种新颖架构:

  1. 局部残差网络 (Partial Residual Network, PRN): 一种层级策略,增加每一层的学习信号多样性。
  2. 跨阶段部分网络 (Cross Stage Partial Network, CSPNet): 一种阶段级策略,提高梯度流效率同时提升推理速度。
  3. 高效层聚合网络 (Efficient Layer Aggregation Network, ELAN): 一种网络级策略,可将网络扩展到极深而不损失可学习性。

读完本文,你将不再仅仅将网络视为计算管道,而是优化过的学习系统。


两种路径的故事: 数据 vs. 梯度

作者首先挑战了一个深度学习中的普遍假设: 浅层学习“低层”特征,如边缘和纹理,而深层学习“高层”概念,如物体和场景。先前的研究表明,一个层学到的内容不仅取决于它在网络中的位置,还取决于它接收到的训练目标和梯度信号

图示表明,根据训练配置,浅层和深层都可以学习高阶特征。

图 1: 在正确的训练目标引导下,浅层和深层网络都能学习到高层特征。

这引导他们提出一个核心区分:

对比数据路径设计与梯度路径设计的图表。

图 2: 两种主要的网络设计策略。

**数据路径设计 **(图 2a) 关注前向传播,构建模块以实现:

  • 特征提取: 如非对称卷积或多尺度滤波器。
  • 特征选择: 如注意力机制或动态卷积。
  • 特征融合: 如特征金字塔网络,将不同层的特征图进行融合。

这种方法直观且有效,但可能导致模型复杂、资源消耗大,有时增加复杂性甚至会损害性能。

梯度路径设计 (图 2b) 则将焦点转向反向传播。其目标是在反向传播期间:

  • 梯度高效地传播到所有参数,
  • 权重接收到多样化的学习信号,并且
  • 训练保持稳定,从而用更小、更快的模型实现高精度。

层面 1: 层级设计——局部残差网络 (PRN)

应用梯度路径思维最简单的方式是在单个层上。作者旨在最大化到达每一层权重的梯度信号多样性——他们称之为梯度组合

梯度组合的两个关键要素:

  1. 梯度来源: 梯度最初来自哪一层 (或哪些层) 。
  2. 梯度时间戳: 梯度到达所花费的时间 (以层数衡量) 。路径越短,携带的来自损失的信号越强。

为丰富这些要素,作者引入了局部残差网络 (PRN)。PRN 基于 ResNet 块,但用一个掩码修改其跳跃连接。

掩码残差层的图示。

图 3: 掩码残差层——只有部分残差连接的通道被传递。

在标准残差块中,块的输出会与整个输入特征图相加。而在 PRN 中,只有跳跃连接中的部分通道被相加,其余通道则被阻断。

这一小改动在梯度反向传播中产生了巨大差异:

  • 部分通道通过计算块接收梯度 (更长且经过转换的路径) 。
  • 其他通道通过快捷连接接收梯度 (更短且直接的路径) 。

结果是:** 更丰富的梯度来源和时间戳**,使每一层的参数能从多样化的信息中学习。


层面 2: 阶段级设计——跨阶段部分网络 (CSPNet)

在层面验证概念后,作者将其扩展到整个阶段 (一组层) ,形成了跨阶段部分网络 (CSPNet)

CSPNet 使用“分割与合并”技巧,在降低计算量的同时最大化梯度多样性。

跨阶段部分操作的图示。

图 4: 跨阶段部分 (CSP) 操作——分割特征以产生不同的梯度流。

过程如下:

  1. 分割输入特征图,沿通道维度分为两半。
  2. 处理一半,让其经过该阶段的主要计算块 (如 ResNet 层) 。
  3. 绕过另一半,直接送往阶段输出。
  4. 合并两半特征图。

其优势:

  • 绕行路径提供快速、直接的梯度,处理路径提供经过转换、延迟的梯度
  • 大幅提升梯度组合多样性,提高学习能力。
  • 节省计算: 仅一半通道经过复杂计算,降低 FLOPs、内存访问和参数数量。

作者还探索了融合策略,以在合并两条路径时减少冗余梯度。

CSPNet 融合策略的变体。

图 5: 不同的 CSP 连接实现方式 (在不同位置进行融合) 。


层面 3: 网络级设计——高效层聚合网络 (ELAN)

将网络加深往往会出现收益递减甚至精度下降,因为某些层的最短梯度路径过长,削弱了强学习信号的作用。

高效层聚合网络 (ELAN) 通过在整个网络中精确控制梯度路径长度,使深度模型仍能高效训练。

架构比较: VoVNet、CSPVoVNet 和 ELAN。

图 6: ELAN 的堆叠计算块设计,即使在深层网络中也能保持最短梯度路径的简短。

在许多网络 (如 VoVNet) 中,每个块以过渡层结尾,这在堆叠多个块时会延长最短梯度路径。ELAN 的计算块内堆叠方法:

  • 在过渡层之前,将多个计算单元放置在同一块内。
  • 这样即使网络加深,最短梯度路径也能保持简短。

为何有效: 梯度分析

超越路径长度的指标

传统指标如最短梯度路径长度聚合特征数量并不足以解释性能。例如,DenseNet 的路径非常短,但参数数量庞大。

比较网络在参数、路径长度和聚合特征上的表格。

表 1: 仅凭简单的路径指标无法预测准确率。

因此,作者关注:

  • 梯度时间戳——梯度在反向传播中的到达时间。
  • 梯度来源——梯度来自哪些层。

梯度时间戳的可视化。

图 7: PRN 的掩码残差创造了更丰富的梯度时间戳。

梯度来源的可视化。

图 8: PRN 也增加了梯度信号来源的多样性。


停止梯度实验

为证明短路径的重要性,他们在一个 ResNet 风格模型上进行了消融实验,通过强制“阻断”梯度:

  1. 在主路径中停止梯度 —— 强制梯度只能通过短跳跃连接。
  2. 在跳跃连接中停止梯度 —— 强制梯度走长计算路径。

停止梯度实验设置。

图 9: 两种停止梯度的实验配置。

实验结果非常显著。阻断快捷连接 (让所有路径变长) 会严重降低精度——证实了短梯度路径对深度网络至关重要


实验结果

在 MS COCO 数据集上的目标检测和实例分割实验验证了每个层级的策略。

层级: PRN

PRN 消融实验结果。

表 5: PRN 在不增加额外计算量的情况下,检测精度提高了 0.5% AP。


阶段级: CSPNet

CSPNet 消融实验结果。

表 6: CSPNet 将 FLOPs 降低 22%,同时精度提升 1.5% AP。


网络级: ELAN

ELAN 消融实验结果。

表 7: ELAN 提升了精度并降低了计算成本。


最终比较

与 YOLOv5 等强基线模型相比,采用梯度路径设计的模型——尤其是 ELAN——在精度、参数和计算量之间实现了最佳平衡。

与基线模型 (YOLOv5、YOLOR 变体) 的比较。

表 8: 梯度路径设计的架构优于同等规模或更大规模的基线模型。


结论: 为学习而设计,而不仅仅是为计算

这项研究重塑了网络设计思路。除了设计前向的数据路径,我们还可以通过优化反向的梯度路径——即网络的学习机制——获得巨大的收益。

所提出的三种架构——PRN、CSPNet 和 ELAN——展示了梯度路径设计在不同尺度上的作用:

  • 层级: 丰富学习信号。
  • 阶段级: 在节省计算的同时实现梯度多样化。
  • 网络级: 在超深模型中保持有效的训练信号。

更重要的启示是: 我们未必需要更加复杂的计算单元。通过重新思考如何连接现有组件以优化学习动态,我们可以让神经网络更快、更精简、更强

在深度学习中,向后的旅程与向前的旅程同样重要。