综述:DenseNet—Dense卷积网络(图像分类)

简介: 与 ResNet 和 Pre-Activation ResNet 相比,DenseNet 具有较少的参数和较高的精度。那么,让我们看看它是如何工作的。

目录

 ●   Dense Block
 ●   DenseNet 结构
 ●   DenseNet 的优势
 ●   CIFAR & SVHN 小规模数据集结果
 ●   ImageNet 大规模数据集结果

 ●  特征复用的进一步分析

Dense Block

fd24fd0dcadb8b7cb093a83632fee2a95bfef17e

在Standard ConvNet中,输入图像经过多次卷积,得到高层次特征。

21cd3f4dbe1934c248e85b905f95dd745fa17a99

在ResNet中,提出了恒等映射(identity mapping)来促进梯度传播,同时使用使用 element 级的加法。它可以看作是将状态从一个ResNet 模块传递到另一个ResNet 模块的算法。

cb73b9ea9850c3fe9c1f9896e1802fe7293ee6cf

在 DenseNet 中,每个层从前面的所有层获得额外的输入,并将自己的特征映射传递到后续的所有层,使用级联方式,每一层都在接受来自前几层的“集体知识(collective knowledge)”。

dbf5dd7ccb58fe9777b52398bdc1dd78ba0c3d3d

由于每个层从前面的所有层接收特征映射,所以网络可以更薄、更紧凑,即信道数可以更少。增长速率k是每个层的附加信道数。

因此,它具有较高的计算效率和存储效率。下图显示了前向传播中级联的概念:

d9d6875bc1e62bb97db00f11581fcafded60afae

DenseNet 结构

1. 基础 DenseNet 组成层

e76116ed4bb0cb696254a5684215ff3f255db3c1

对于每个组成层使用 Pre-Activation Batch Norm (BN) 和 ReLU,然后用k通道的输出特征映射进行 3×3 卷积,例如,将x0、x1、x2、x3转换为x4。这是 Pre-Activation ResNet 的想法。

2. DenseNet-B (Bottleneck 层)

b604a14071d9aa1a8f135efec52680ca3eeedf9a

为了降低模型的复杂度和规模,在BN-ReLU-3×3 conv之前进行了BN-ReLU-1×1 conv.

3. 具有转换层(transition layer)的多Dense块

ade4217ea4dfebba582257a75d2611a9c60db49e

采用1×1 Conv和2×2平均池化作为相邻 dense block 之间的转换层。

特征映射大小在 dense block 中是相同的,因此它们可以很容易地连接在一起。

在最后一个 dense block 的末尾,执行一个全局平均池化,然后附加一个Softmax分类器。

4. DenseNet-BC (进一步压缩)

如果 Dense Block 包含m个特征映射,则转换层(transition layer)生成 θm 输出特征映射,其中 0<θ≤1 称为压缩因子。

当θ=1时,跨转换层的特征映射数保持不变。在实验中,θ<1的 DenseNet 称为 DenseNet-C,θ=0.5。

当同时使用 bottleneck 和 θ<1 时的转换层时,该模型称为 DenseNet-BC 模型。

最后,训练 with/without B/C 和不同L层和k生长速率的 DenseNet。

DenseNet的优势

1.强梯度流

38c430f50ed421e2af29eb950f563fe7cef493df

误差信号可以更直接地传播到早期的层中。这是一种隐含的深度监督,因为早期的层可以从最终的分类层直接获得监督。

2. 参数和计算效率

09f7de98ab470aed4a0fa700234118327ce89638

对于每个层,RetNet 中的参数与c×c成正比,而 DenseNet 中的参数与1×k×k成正比。

由于 k<<C, 所以 DenseNet 比 ResNet 的size更小。

3. 更加多样化的特征

9aee3d663f56efd062cec655b032c7e1f5f84dc2

由于 DenseNet 中的每一层都接收前面的所有层作为输入,因此特征更加多样化,并且倾向于有更丰富的模式。

4. 保持低复杂度特征

f9ae4ac8b8734471d9346c062ab4af7fa23d18d7

在标准ConvNet中,分类器使用最复杂的特征。

d2e8ae131c2bf3b685a11367f3a228ad63b79ec3

在 DenseNet 中,分类器使用所有复杂级别的特征。它倾向于给出更平滑的决策边界。它还解释了为什么 DenseNet 在训练数据不足时表现良好。

CIFAR & SVHN 小规模数据集结果

1. CIFAR-10

25b647882f28738365a372ae8b14637ea9539983

详细比较Pre-Activation ResNet。

数据增强(C10+),测试误差:

 ●  Small-size ResNet-110: 6.41%
 ●  Large-size ResNet-1001 (10.2M parameters): 4.62%
 ●  State-of-the-art (SOTA) 4.2%
 ●  Small-size DenseNet-BC ( L =100, k =12) (Only 0.8M parameters): 4.5%
 ●  Large-size DenseNet ( L =250, k =24): 3.6%

无数据增强(C10),测试误差:

 ●  Small-size ResNet-110: 11.26%
 ●  Large-size ResNet-1001 (10.2M parameters): 10.56%
 ●  State-of-the-art (SOTA) 7.3%
 ●  Small-size DenseNet-BC ( L =100, k =12) (Only 0.8M parameters): 5.9%
 ●  Large-size DenseNet ( L =250, k =24): 4.2%

在 Pre-Activation ResNet 中出现严重的过拟合,而 DenseNet 在训练数据不足时表现良好,因为DenseNet 使用了复杂的特征。

0e5212b218910ff6a7af8999363700f9a89c91bd

左:DenseNet-BC获得最佳效果。

中:Pre-Activation ResNet 已经比 alexnet 和 vggnet 获得更少的参数,DenseNet-BC(k=12)的参数比 Pre-Activation ResNet 少3×10,测试误差相同。

右:与 Pre-Activation ResNet-1001有10.2m参数相比,0.8参数的DenseNet-BC-100具有相似的测试误差。

2. CIFAR-100

CIFAR-100类似的趋势如下:

5c7d75b007e1918a4c81c9ab7997f47762858840

3. 具体结果

06de49252874292c5701ff44a4f8f06e84a3b696

SVHN是街景房屋编号的数据集。蓝色代表最好的效果。DenseNet-BC不能得到比基本 DenseNet 更好的结果,作者认为SVHN是一项相对容易的任务,非常深的模型可能会过拟合。

ImageNet 大规模数据集结果

67624fe445e2e57bd47a7b84ce37b805047f3dd1

左:20M参数的DenseNet-201与大于40M参数的ResNet-101产生类似的验证错误。

右:相似的计算次数趋势(GOLOPS)。

底部:DenseNet-264(k=48)最高误差为20.27%,前5误差为5.17%。

特征复用的进一步分析

c8d9a40becbb8146295aba6cc9bcc9f9a3801cd7

 ●  从非常早期的层中提取的特征被同一 Dense Block 中的较深层直接使用。
 ●  转换层的权重也分布在前面的所有层中。
 ●  第二和第三dense block内的各层一贯地将最小权重分配给转换层的输出。(第一行)

 ●  在最终分类层,权重似乎集中在最终feature map上。一些更高级的特性在网络中产生得很晚。


原文发布时间为:2018-11-26

本文作者:Xiaowen

本文来自云栖社区合作伙伴“专知”,了解相关信息可以关注“专知”。

相关文章
|
7天前
|
机器学习/深度学习 编解码 自动驾驶
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
31 3
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
|
1月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
130 5
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
2月前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
349 55
|
5天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
42 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
11天前
|
机器学习/深度学习 编解码 自动驾驶
YOLOv11改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
YOLOv11改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
39 16
YOLOv11改进策略【模型轻量化】| 替换骨干网络为MoblieNetV1,用于移动视觉应用的高效卷积神经网络
|
11天前
|
机器学习/深度学习 存储
YOLOv11改进策略【模型轻量化】| PP-LCNet:轻量级的CPU卷积神经网络
YOLOv11改进策略【模型轻量化】| PP-LCNet:轻量级的CPU卷积神经网络
37 15
YOLOv11改进策略【模型轻量化】| PP-LCNet:轻量级的CPU卷积神经网络
|
9天前
|
机器学习/深度学习
YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
40 8
YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
|
7天前
|
机器学习/深度学习 编解码 移动开发
RT-DETR改进策略【Conv和Transformer】| TPAMI-2024 Conv2Former 利用卷积调制操作和大核卷积简化自注意力机制,提高网络性能
RT-DETR改进策略【Conv和Transformer】| TPAMI-2024 Conv2Former 利用卷积调制操作和大核卷积简化自注意力机制,提高网络性能
26 5
RT-DETR改进策略【Conv和Transformer】| TPAMI-2024 Conv2Former 利用卷积调制操作和大核卷积简化自注意力机制,提高网络性能
|
11天前
|
机器学习/深度学习 编解码 移动开发
YOLOv11改进策略【Conv和Transformer】| TPAMI-2024 Conv2Former 利用卷积调制操作和大核卷积简化自注意力机制,提高网络性能
YOLOv11改进策略【Conv和Transformer】| TPAMI-2024 Conv2Former 利用卷积调制操作和大核卷积简化自注意力机制,提高网络性能
23 7
YOLOv11改进策略【Conv和Transformer】| TPAMI-2024 Conv2Former 利用卷积调制操作和大核卷积简化自注意力机制,提高网络性能
|
7天前
|
机器学习/深度学习
RT-DETR改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
RT-DETR改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
35 11

热门文章

最新文章