DenseNet来源论文《Densely Connected Convolutional Networks》读后总结

前言

这是一些对于论文《Densely Connected Convolutional Networks》的简单的读后总结,首先先奉上该文章的下载超链接:DenseNet

这篇文章是由 Cornell University、 Tsinghua University、Facebook AI Research这三个机构的人员合作完成的,作者分别是Gao Huang、Zhuang Liu、Laurens van der Maaten和Kilian Q. Weinberger。代码下载超链接:code。该文章是著名的DenseNet的来源文章,其性能优于ResNet,但参数更少计算量更小,其探索了一种新的网络结构。

文章主要内容与贡献

该文章的贡献为:

  1. 设计了密集卷积网络(Dense Convolutional Network, DenseNet);
  2. 使用了瓶颈层(Bottleneck layers)和压缩(Compression)技术。

设计了密集卷积网络(Dense Convolutional Network, DenseNet)

下图是该文章的图1,是一个5层密集块,生长速度 k = 4 k=4 k=4。每一层都以前面所有的特征图作为输入。
5层密集块,生长速度k=4
由上图可知,该网络的连接方式与通常的网络非常不一样,其每一层都直接连接之前所有的输出,这增强了各层的关联性,且越后面的层的输入越多,即信息越多。

下图为具有三个密集块的深DenseNet。两个相邻块之间的图层称为过渡图层,并通过卷积和池化更改特征图的大小。
具有三个密集块的深DenseNet
由上图可知,DenseNet并非在每一层都卷积或池化,而是有选择性的以密集块来作为一个单元,第一个密集块前只有卷积,密集块之间都是先卷积后池化,最后一个密集块后仅有池化层和一个线性化层。

其每一层的方程为: x ℓ = H ℓ ( [ x 0 , x 1 , … , x ℓ − 1 ] ) x_\ell=H_\ell([x_0,x_1,\dots,x_{\ell-1}]) x=H([x0,x1,,x1]),不同于ResNet的 x ℓ = H ℓ ( x ℓ − 1 ) + x ℓ − 1 x_\ell=H_\ell(x_{\ell-1})+x_{\ell-1} x=H(x1)+x1,因此DenseNet拥有更好的性能。

DenseNet在每次的 3 × 3 3\times3 3×3卷积前会先进行批归一化和ReLU的处理。

增长率(Growth rate)的定义为如果每个函数 H ℓ H_\ell H都生成 k k k个特征映射,则第四层具有 k 0 + k × ( ℓ − 1 ) k_0+k\times(\ell-1) k0+k×(1)个输入特征映射,其中 k 0 k_0 k0是输入层中的信道数。DenseNet与现有网络体系结构的一个重要区别是,densenet可以有非常窄的层,例如 k = 12 k=12 k=12

不同深度的DenseNet的结构如下表所示:
不同深度的DenseNet的结构
由上表可知,DenseNet的结构具有很强的规律,不同深度的DenseNet皆由4个密集块组成,唯一的区别便是第三和第四密集块的层数。在此处使用 1 × 1 1\times1 1×1卷积来构建瓶颈层。

使用了瓶颈层(Bottleneck layers)和压缩(Compression)技术

瓶颈层(Bottleneck layers)

虽然每个层只产生k个输出特征映射,但它通常有更多的输入。在每个 3 × 3 3\times3 3×3卷积之前引入 1 × 1 1\times1 1×1卷积作为瓶颈层,以减少输入特征映射的数量,从而提高计算效率。这种设计

K. He, X. Zhang, S. Ren, and J. Sun. Delving deep into
rectifiers: Surpassing human-level performance on imagenet
classification. In ICCV, 2015. 5

C. Szegedy, V. Vanhoucke, S. Ioffe, J. Shlens, and Z. Wojna.
Rethinking the inception architecture for computer vision. In
CVPR, 2016. 2, 3, 4

对于DenseNet特别有效,具体在该网络中为BN-ReLU-Conv( 1 × 1 1\times1 1×1)-BN-ReLU-Conv( 3 × 3 3\times3 3×3),其中BN是批归一化。在实验中设置每个 1 × 1 1\times1 1×1卷积产生 4 k 4k 4k个特征图。

压缩(Compression)技术

作者为了进一步提高模型的紧凑性,因此减少过渡层特征映射的数量。通过减少每个密集块的特征输出来压缩,实验中设置每个密集块的特征输出是前一个密集块的0.5倍。

该文章中最好的网络就是结合了瓶颈层和压缩技术的DenseNet-BC。

数值结果

下图是不同网络在不同数据集上的结果表,其中最好的结果以蓝色字体标出:
在这里插入图片描述
带有‘+’号的为采用数据增强方案的数据集。CIFAR-10(C10)和CIFAR-100(C100)分别为10个类和100个类的图像集。SVHN为街景房屋编号(The Street View House Numbers, SVHN)数据集。由上表可知DenseNet的性能最优,且k越大效果越好,同时,DenseNet在无数据增强的数据集上的性能远优于其它网络。

在ImageNet数据集上的效果如下表所示:

由上可知,DenseNet随深度的增加会有更好的性能。

其在ImageNet上单分割图像时与ResNet的top-1精度比较如下图所示:
在这里插入图片描述
其中左图是参数数量,由图是计算量,由上图可知,DenseNet在拥有更高的精度的同时,参数更少,计算量也更少。

下图是DenseNet和ResNet在C10+数据集上的性能比较,
在这里插入图片描述
其中,左图是不同Densenet在C10+上的变量参数效率的对比图;中间比较的是DenseNet-BC和(预激活)ResNet的参数效率,DenseNet-BC仅需要大约1/3的Resnet的参数数量就能达到类似的精度;右图是1001层的ResNet和100层的DenseNet-BC的对比图,其中1001层预激活Resnet的训练和测试曲线具有10M以上的参数,100层DenseNet仅有0.8M的参数。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值