news 2026/4/23 17:28:56

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/4/23 12:47:36

Finereport利用JS获取当前编辑行单元格行号

在单元格内添加一个文本框控件,选择事件,编辑后事件,输入JS,利用aler函数输出行号和列号,其实这里的列号好像和我们自己用肉眼数出来的列号不太一样,所以要用函数获取吧。var location this.options.locat…

作者头像 李华
网站建设 2026/4/23 11:26:41

不止是整理

一、痛点深剖:为何你的Mac桌面永远整理不好? 我们都经历过这样的循环:下定决心花半小时整理桌面,感觉焕然一新。但三天后,下载的文件、临时的截图、待处理的文档又铺满了屏幕。问题不在于“不整理”,而在于…

作者头像 李华
网站建设 2026/4/23 13:16:54

云服务器 vs 传统服务器:核心区别与选型指南​

在服务器选型的决策中,云服务器与传统物理服务器的差异直接决定了业务的灵活性、成本控制与运维效率。两者的核心区别体现在架构设计、资源分配、成本模式和运维管理四个维度:传统服务器基于实体硬件,资源固定且利用率较低,需企业…

作者头像 李华
网站建设 2026/4/23 14:30:51

荣膺行业殊荣,iBox以数字科技激活文化传承新生态

在近日举行的2025全球文化IP产业发展大会上,iBox联合中数文科推出的龙泉青瓷《秦颂玄鸟》荣膺“2025数字文创IP”奖项。这不仅是对单件作品文化内涵与数字化表达的高度认可,更标志着iBox作为行业代表,其在推动传统文化当代表达、构建创新生态…

作者头像 李华
网站建设 2026/4/23 8:17:19

搞懂 Nginx 垂直扩容的核心理解逻辑(从根到果,层层通透)

想要彻底吃透Nginx 垂直扩容,是记配置、堆硬件,而是要建立「瓶颈溯源→原理支撑→优化逻辑→落地闭环→上限认知」的完整思维链,核心是搞懂「Nginx 是谁→瓶颈在哪→为什么这么优化→优化后边界在哪」,一共 6 层核心逻辑&#xff…

作者头像 李华
网站建设 2026/4/23 9:57:03

CCF-GESP计算机学会等级考试2025年12月一级C++T2 手机电量显示

B4446 [GESP202512 一级] 手机电量显示 题目描述 小杨的手机就像一个聪明的小助手,当电量变化时,它会用不同的方式来提醒我们,假设当前的电量百分比为 PPP: 当电量非常低(不超过 10,即 P≤10P \leq 10P≤10…

作者头像 李华