在设计深度神经网络时,我们通常关注数据如何在前向传播中流经模型。我们堆叠层、实现复杂的特征融合机制、添加注意力模块,以将输入转换为期望的输出。这种传统的“数据路径”视角为我们带来了 ResNet、DenseNet 和 Transformer 等强大架构。
但如果这种只关注前向传播的观点只讲了故事的一半呢?如果构建更高效、更强大网络的关键在于审视信息反向流动的方式呢?
近期的一篇研究论文 Designing Network Design Strategies Through Gradient Path Analysis 正是提出了这种范式转变。作者认为,由于网络是通过反向传播 (将误差信号 (梯度) 从输出向后发送以更新权重) 来进行学习,我们应该设计那些能主动优化梯度传播方式的架构。与只关注数据路径不同,他们引入了一种新的设计思路:** 梯度路径设计**。
在本文中,我们将剖析他们的思想,探讨为什么梯度路径如此重要,并逐一介绍论文中提出的三种新颖架构:
- 局部残差网络 (Partial Residual Network, PRN): 一种层级策略,增加每一层的学习信号多样性。
- 跨阶段部分网络 (Cross Stage Partial Network, CSPNet): 一种阶段级策略,提高梯度流效率同时提升推理速度。
- 高效层聚合网络 (Efficient Layer Aggregation Network, ELAN): 一种网络级策略,可将网络扩展到极深而不损失可学习性。
读完本文,你将不再仅仅将网络视为计算管道,而是优化过的学习系统。
两种路径的故事: 数据 vs. 梯度
作者首先挑战了一个深度学习中的普遍假设: 浅层学习“低层”特征,如边缘和纹理,而深层学习“高层”概念,如物体和场景。先前的研究表明,一个层学到的内容不仅取决于它在网络中的位置,还取决于它接收到的训练目标和梯度信号。
图 1: 在正确的训练目标引导下,浅层和深层网络都能学习到高层特征。
这引导他们提出一个核心区分:
图 2: 两种主要的网络设计策略。
**数据路径设计 **(图 2a) 关注前向传播,构建模块以实现:
- 特征提取: 如非对称卷积或多尺度滤波器。
- 特征选择: 如注意力机制或动态卷积。
- 特征融合: 如特征金字塔网络,将不同层的特征图进行融合。
这种方法直观且有效,但可能导致模型复杂、资源消耗大,有时增加复杂性甚至会损害性能。
梯度路径设计 (图 2b) 则将焦点转向反向传播。其目标是在反向传播期间:
- 梯度高效地传播到所有参数,
- 权重接收到多样化的学习信号,并且
- 训练保持稳定,从而用更小、更快的模型实现高精度。
层面 1: 层级设计——局部残差网络 (PRN)
应用梯度路径思维最简单的方式是在单个层上。作者旨在最大化到达每一层权重的梯度信号多样性——他们称之为梯度组合。
梯度组合的两个关键要素:
- 梯度来源: 梯度最初来自哪一层 (或哪些层) 。
- 梯度时间戳: 梯度到达所花费的时间 (以层数衡量) 。路径越短,携带的来自损失的信号越强。
为丰富这些要素,作者引入了局部残差网络 (PRN)。PRN 基于 ResNet 块,但用一个掩码修改其跳跃连接。
图 3: 掩码残差层——只有部分残差连接的通道被传递。
在标准残差块中,块的输出会与整个输入特征图相加。而在 PRN 中,只有跳跃连接中的部分通道被相加,其余通道则被阻断。
这一小改动在梯度反向传播中产生了巨大差异:
- 部分通道通过计算块接收梯度 (更长且经过转换的路径) 。
- 其他通道通过快捷连接接收梯度 (更短且直接的路径) 。
结果是:** 更丰富的梯度来源和时间戳**,使每一层的参数能从多样化的信息中学习。
层面 2: 阶段级设计——跨阶段部分网络 (CSPNet)
在层面验证概念后,作者将其扩展到整个阶段 (一组层) ,形成了跨阶段部分网络 (CSPNet)。
CSPNet 使用“分割与合并”技巧,在降低计算量的同时最大化梯度多样性。
图 4: 跨阶段部分 (CSP) 操作——分割特征以产生不同的梯度流。
过程如下:
- 分割输入特征图,沿通道维度分为两半。
- 处理一半,让其经过该阶段的主要计算块 (如 ResNet 层) 。
- 绕过另一半,直接送往阶段输出。
- 合并两半特征图。
其优势:
- 绕行路径提供快速、直接的梯度,处理路径提供经过转换、延迟的梯度。
- 大幅提升梯度组合多样性,提高学习能力。
- 节省计算: 仅一半通道经过复杂计算,降低 FLOPs、内存访问和参数数量。
作者还探索了融合策略,以在合并两条路径时减少冗余梯度。
图 5: 不同的 CSP 连接实现方式 (在不同位置进行融合) 。
层面 3: 网络级设计——高效层聚合网络 (ELAN)
将网络加深往往会出现收益递减甚至精度下降,因为某些层的最短梯度路径过长,削弱了强学习信号的作用。
高效层聚合网络 (ELAN) 通过在整个网络中精确控制梯度路径长度,使深度模型仍能高效训练。
图 6: ELAN 的堆叠计算块设计,即使在深层网络中也能保持最短梯度路径的简短。
在许多网络 (如 VoVNet) 中,每个块以过渡层结尾,这在堆叠多个块时会延长最短梯度路径。ELAN 的计算块内堆叠方法:
- 在过渡层之前,将多个计算单元放置在同一块内。
- 这样即使网络加深,最短梯度路径也能保持简短。
为何有效: 梯度分析
超越路径长度的指标
传统指标如最短梯度路径长度或聚合特征数量并不足以解释性能。例如,DenseNet 的路径非常短,但参数数量庞大。
表 1: 仅凭简单的路径指标无法预测准确率。
因此,作者关注:
- 梯度时间戳——梯度在反向传播中的到达时间。
- 梯度来源——梯度来自哪些层。
图 7: PRN 的掩码残差创造了更丰富的梯度时间戳。
图 8: PRN 也增加了梯度信号来源的多样性。
停止梯度实验
为证明短路径的重要性,他们在一个 ResNet 风格模型上进行了消融实验,通过强制“阻断”梯度:
- 在主路径中停止梯度 —— 强制梯度只能通过短跳跃连接。
- 在跳跃连接中停止梯度 —— 强制梯度走长计算路径。
图 9: 两种停止梯度的实验配置。
实验结果非常显著。阻断快捷连接 (让所有路径变长) 会严重降低精度——证实了短梯度路径对深度网络至关重要。
实验结果
在 MS COCO 数据集上的目标检测和实例分割实验验证了每个层级的策略。
层级: PRN
表 5: PRN 在不增加额外计算量的情况下,检测精度提高了 0.5% AP。
阶段级: CSPNet
表 6: CSPNet 将 FLOPs 降低 22%,同时精度提升 1.5% AP。
网络级: ELAN
表 7: ELAN 提升了精度并降低了计算成本。
最终比较
与 YOLOv5 等强基线模型相比,采用梯度路径设计的模型——尤其是 ELAN——在精度、参数和计算量之间实现了最佳平衡。
表 8: 梯度路径设计的架构优于同等规模或更大规模的基线模型。
结论: 为学习而设计,而不仅仅是为计算
这项研究重塑了网络设计思路。除了设计前向的数据路径,我们还可以通过优化反向的梯度路径——即网络的学习机制——获得巨大的收益。
所提出的三种架构——PRN、CSPNet 和 ELAN——展示了梯度路径设计在不同尺度上的作用:
- 层级: 丰富学习信号。
- 阶段级: 在节省计算的同时实现梯度多样化。
- 网络级: 在超深模型中保持有效的训练信号。
更重要的启示是: 我们未必需要更加复杂的计算单元。通过重新思考如何连接现有组件以优化学习动态,我们可以让神经网络更快、更精简、更强。
在深度学习中,向后的旅程与向前的旅程同样重要。