news 2026/5/30 10:33:44

DenseNet-121 深度解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DenseNet-121 深度解析

1. 核心思想:密集连接 (Dense Connectivity)

DenseNet 的革命性之处在于它提出了密集连接的概念,这与之前的网络(如 ResNet)有本质区别。

与 ResNet 的对比

  • ResNet (残差网络): 引入了残差连接 (Residual Connection)。它通过一个 “短路连接”(shortcut connection)将输入x直接加到卷积层的输出F(x)上,即y = F(x) + x。这种设计有助于解决梯度消失问题,并允许网络学习恒等映射。

  • DenseNet (密集网络): 提出了密集连接 (Dense Connection)。在一个由L个卷积层组成的密集块(Dense Block)中,第l层的输入不仅包括第l-1层的输出,还包括前面所有l-1层的输出。

2. DenseNet-121 的网络结构

DenseNet-121 是 DenseNet 系列中的一个具体模型,“121” 代表网络的总层数(卷积层 + 全连接层)。其整体结构可以分为以下几个部分:

1. 初始卷积层 (Initial Convolution)

网络的开始是一个标准的卷积层,通常使用 7x7 的大卷积核和步长 2,用于快速降低特征图的尺寸并提取初步特征。后面通常会跟着一个批归一化(Batch Normalization)层、一个 ReLU 激活函数和一个最大池化层(Max Pooling)。

2. 密集块 (Dense Blocks)

这是 DenseNet 的核心部分。DenseNet-121 包含 4 个密集块。每个密集块内部都遵循上述的密集连接规则。

  • 增长速率 (Growth Rate,k): 这是 DenseNet 的一个关键超参数。它定义了每个卷积层在密集块中新生成的特征图的通道数。由于每个层的输入是前面所有层输出的拼接,网络的宽度(通道数)会随着层数的增加而线性增长。例如,在一个密集块中,如果增长速率k=32,那么第l层的输入通道数大约是k * (l-1)

3. 过渡层 (Transition Layers)

在两个密集块之间,设置有过渡层(Transition Layer)。它的主要作用是:

  1. 降维: 使用一个 1x1 的卷积层来减少特征图的通道数,以控制模型的整体复杂度。通常会引入一个压缩因子 (Compression Factor,θ),将通道数乘以θ(例如θ=0.5)。
  2. 降采样: 使用一个步长为 2 的平均池化层(Average Pooling)来降低特征图的高度和宽度。

4. 分类器 (Classifier)

在经过所有密集块和过渡层之后,特征图的尺寸已经变得很小。最后,通过一个全局平均池化层(Global Average Pooling, GAP)将每个通道的特征图转换为一个单一的数值,然后连接一个全连接层(Fully Connected Layer)进行最终的分类。

DenseNet-121 结构概览:

层类型输出特征图尺寸描述
初始卷积112x1127x7 卷积,64 通道,stride=2
最大池化56x563x3 池化,stride=2
密集块 156x56包含 6 个密集连接层
过渡层 128x281x1 卷积 (压缩), 2x2 平均池化
密集块 228x28包含 12 个密集连接层
过渡层 214x141x1 卷积 (压缩), 2x2 平均池化
密集块 314x14包含 24 个密集连接层
过渡层 37x71x1 卷积 (压缩), 2x2 平均池化
密集块 47x7包含 16 个密集连接层
全局平均池化1x1对每个通道进行平均池化
全连接层-输出类别数 (例如 ImageNet 为 1000)

(注意:层数的计算会包含卷积、池化、BN 等,不同文献统计方式略有差异,但核心结构不变)

3. DenseNet 的优势

  1. 更强的特征复用 (Feature Reuse): 由于每一层都能直接访问前面所有层的特征,网络可以更有效地复用特征,减少了冗余计算。
  2. 缓解梯度消失 (Alleviates Vanishing Gradients): 密集连接提供了更短的梯度传播路径。梯度可以通过短路连接直接从后面的层传播到前面的层,这使得训练非常深的网络成为可能。
  3. 参数效率高 (Parameter Efficiency): 与具有相似性能的其他网络(如 ResNet)相比,DenseNet 使用的参数更少。因为它通过特征复用减少了对大量新特征图的需求。
  4. 隐式的深度监督 (Implicit Deep Supervision): 靠近输入的层会收到来自多个后续层的梯度信号,这相当于对浅层特征进行了多次监督,有助于学习更好的特征表示。

4. 应用

DenseNet-121 因其优秀的性能和相对较小的模型尺寸,在学术界和工业界都有广泛的应用:

  • 图像分类: 在 ImageNet 等大型图像分类数据集上表现出色。
  • 目标检测与分割: 常被用作目标检测(如 Faster R-CNN)和图像分割(如 U-Net)任务中的骨干网络(Backbone),以提取强大的特征。
  • 迁移学习: 由于其良好的特征提取能力,DenseNet-121 是一个非常好的预训练模型,广泛应用于各种计算机视觉的下游任务中。

在主流的深度学习框架(如 PyTorch 和 TensorFlow/Keras)中,你可以非常方便地直接调用预训练好的 DenseNet-121 模型。

例如,在 PyTorch 中:

import torch import torchvision.models as models # 加载预训练好的 DenseNet-121 模型 model = models.densenet121(weights=models.DenseNet121_Weights.IMAGENET1K_V1) # 将模型设置为评估模式 model.eval() # 创建一个随机的输入张量 (batch_size=1, channels=3, height=224, width=224) input_tensor = torch.randn(1, 3, 224, 224) # 进行前向传播 with torch.no_grad(): output = model(input_tensor) # output 是一个包含 1000 个类别的预测分数的张量 print(output.shape) # 输出: torch.Size([1, 1000])

总结

DenseNet-121 是通过密集连接机制构建的高效神经网络。它通过让每一层都与前面所有层进行连接,实现了特征的最大化复用,从而在减少参数数量的同时,提升了模型的性能和训练稳定性。它是深度学习发展史上的一个重要里程碑,至今仍在许多场景中发挥着重要作用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 17:35:02

换能器件阻抗分析仪

换能器件阻抗分析仪 自动平衡电桥设计在宽阻抗范围和次宽频率范围内提供了出色的准确性。它能够测量从毫欧到100兆欧的阻抗,扫描频率从几赫兹到110兆赫兹。然而,当频率超过100千赫兹时,其阻抗范围会逐渐变窄。换能器件阻抗分析仪 IV型分析…

作者头像 李华
网站建设 2026/5/22 22:44:01

无代码二维码系统助力产品线上展示和传播

无代码二维码系统为企业提供了创新的产品展示方式。用户可以轻松生成网页二维码,通过扫二维码直接访问详细的产品信息。这种方式使得企业产品信息传播变得更加高效,不再需要依赖传统的宣传手段。客户只需拿出手机,即可快速获取所需的详细内容…

作者头像 李华
网站建设 2026/5/21 23:48:40

从“技术盆景”到“产业森林”:2025岁末的多智能体系统崛起与产业革命

2025年的最后几天,人工智能领域并未因岁末而沉寂,反而接连投下几枚重磅炸弹。从英伟达发布旨在构建“可扩展多智能体系统”的开源模型Nemotron 3,到浪潮开源高效多模态模型Yuan 3.0 Flash,再到工业领域首个智能体中台的正式发布。这一系列密集的进展,清晰地勾勒出一个正在…

作者头像 李华
网站建设 2026/5/29 17:46:54

微软要对 C++“动刀”了:一场写进软件工程史的重构实验

如果你以为“重写代码”只是某个团队的技术债清理,那你可能低估了这次事件的重量级。微软正在推进一项跨度接近十年的工程目标:在 2030 年之前,彻底清理核心代码库中的 C / C,并系统性迁移到 Rust。这不是一行宣言,而是…

作者头像 李华
网站建设 2026/5/20 22:30:03

什么是Agentic AI?通俗解释为什么企业都在做智能体

如果你最近频繁听到一个词——Agentic AI(自主式人工智能),但又隐约觉得它不像是“又一个AI概念”,那你的直觉是对的。我先给一个结论式判断:Agentic AI不是AI的新功能,而是企业用AI的“新方式”。它标志着…

作者头像 李华
网站建设 2026/5/20 15:15:26

微网优化调度:Matlab + Yalmip 实现之旅

微网优化调度matlab 采用matlabyalmip编制含分布式和储能的微网优化模型,程序采用15分钟为采集节点,利用cplex求解,程序考虑发电机的启停约束,程序运行可靠在能源领域不断发展的当下,微网优化调度成为了热门话题。今天…

作者头像 李华