概述
这种密集连接能够强化梯度传播,鼓励特征复用,并以远少于可比深度网络的参数实现高精度。
深入探讨
DenseNet 由 Huang、Liu、van der Maaten 和 Weinberger 于 2017 年提出,以前馈方式将每个层与其他层连接起来。总层数为 L 的层具有 L(L+1)/2 个直接连接,而不是通常的 L。至关重要的是,DenseNet 连接传入的特征图,而不是像 ResNet 那样对它们求和,因此每一层都看到所有早期层的集体知识,并且仅贡献少量新图(其增长率,通常为 k=12 或 32)。网络被分成由下采样的过渡层分隔的密集块。这种设计缓解了梯度消失问题,增强了特征传播,并且参数效率很高:DenseNet-BC 的参数大约相当于 ImageNet 上 ResNet 的三分之一。
现实世界的实施
医学成像管道(例如用于肺炎检测的 CheXNet)构建了 DenseNet-121 主干网,以高灵敏度对胸部 X 射线进行分类。
植物病害和作物分类移动应用程序使用紧凑的 DenseNet,因为它们用很少的参数就能达到很好的准确性。
卫星和遥感土地覆盖分类利用密集的特征重用来区分细微的纹理差异。
内存有限设备上的嵌入式视觉使用 DenseNet-BC 变体以较低的存储成本获得 ResNet 级别的精度。
DenseNet 和密集连接的未来
由于视觉变换器和 ConvNeXt 风格的设计引领基准,纯 DenseNet 不再占主导地位,但密集连接仍然具有影响力。它的串联思想再次出现在高效的主干网、医学成像模型和分段解码器中,其中功能重用在内存预算紧张的情况下很重要。预计混合设计会借用边缘设备的密集跳跃模式,并继续使用标记数据稀缺且参数效率超过原始规模的 DenseNet 变体。
付诸实践
为什么这很重要
- 成本与预算. 多年来,架构决策决定着性能和运营成本。
- 更清晰的判决. 技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
- 质量控制. 更好的工程选择可以减少生产中的可靠性事故。
留意
- 优化一项基准测试可以隐藏更广泛的系统弱点。
- 基础设施和维护成本常常被低估。
- 随着系统变得更加复杂,安全性和可观察性差距可能会扩大。
后续步骤
- 在实施之前定义延迟、质量和成本目标。
- 在实际负载和数据条件下进行基准测试。
- 仪器监控错误、漂移和用户影响。
- 在扩展之前准备回滚和事件响应路径。
不断探索
常见问题
什么是 DenseNet 与密集连接?
DenseNet 是一个卷积网络,其中每一层都接收所有前面层的特征图作为输入。这种密集的连接可以锐化梯度流,鼓励特征重用,并以比同类深度网络少得多的参数达到很高的准确性。
DenseNet 使用什么操作来组合前面各层的特征图?
DenseNet 沿着通道维度连接所有早期层的特征图,这与 ResNet 添加它们不同。
在DenseNet中,“增长率”k控制什么?
每层仅输出 k 个新特征图,保持通道线性增长和模型紧凑。
密集块中的 L 层之间存在多少个直接连接?
将每一层连接到所有后续层会产生 L(L+1)/2 直接连接。
DenseNet 中过渡层的主要用途是什么?
过渡层使用 1x1 卷积和池化来压缩和下采样密集块之间的特征图。
密集连接的一个主要好处是它有助于缓解哪些训练问题?
与损失的直接连接为每一层提供了一条短梯度路径,缓解了梯度消失并实现了深度监督。