23.jpg
1.简介
DenseNet是在ResNet发表后深受其影响,同时又更为优秀的一种网络结构,由康威大学清华大学、facebook的三位作者共同提出,论文发表于2017,获得了CVPR 2017的最佳论文奖。其核心即dense block稠密块继承和发扬了ResNet中shortcut这一设计使得layer之间可以“稠密”互联,同时,正如其名,不只是层于层间的连接,而且是稠密连接(也借鉴了Inception模块的思想),DenseNet里对于dense block中的每一层,都以前面的所有层作为输入(而其自身也用作后续所有层的输入),层和层之间正是通过ResNet中的shortcut方式进行连接。这种稠密连接的优点:它们减轻了消失梯度的问题,增强了特征传播,鼓励特征重用,并大大减少了参数数量。
1.1 资源下载
2.Abstract
Abstract
Recent work has shown that convolutional networks can be substantially deeper, more accurate, and efficient to trainif they contain shorter connections between layers close to the input and those close to the output. In this paper, we embrace this observation and introduce the Dense Convolutional Network (DenseNet), which connects each layer to every other layer in a feed-forward fashion. Whereas traditional convolutional networks with L layers have L connections—one between each layer and its subsequen tlayer—our network has
direct connections. Foreach layer, the feature-maps of all preceding layers areused as inputs, and its own feature-maps are used as inputs into all subsequent layers. DenseNets have several compelling advantages: they alleviate the vanishing-gradient problem, strengthen feature propagation, encourage feature reuse, and substantially reduce the number of parameters. We evaluate our proposed architecture on four highly competitive object recognition benchmark tasks (CIFAR-10,CIFAR-100, SVHN, and ImageNet). DenseNets obtain significant improvements over the state-of-the-art on most ofthem, whilst requiring less computation to achieve high performance. Code and pre-trained models are available at https://github.com/liuzhuang13/DenseNet
翻译
最近的工作表明,如果卷积网络在靠近输入的层和靠近输出的层之间包含较短的连接,则可以训练它们更深入,更准确和有效。 在本文中,我们支持此结论并介绍了密集卷积网络(DenseNet),该网络将每个层以前馈方式连接到每个其他层。 具有L层的传统卷积网络具有L个连接——每个层与其后续层之间有一个连接——我们的网络具有
个连接。 对于每个层,所有先前层的特征图都用作输入,而其自己的特征图则用作所有后续层的输入。 DenseNets具有多种引人注目的优点:它们减轻了梯度消失的问题,加强了特征的传播,鼓励了功能的重用并大大减少了参数数量。 我们在四个竞争激烈的对象识别基准测试任务(CIFAR-10,CIFAR-100,SVHN和ImageNet)上评估了我们提出的体系结构。 DenseNets在大多数方面都比最新技术有了显着改进,同时需要较少的计算即可实现高性能。代码和预训练模型在: https://github.com/liuzhuang13/DenseNet
3.网络结构
3.1 示意图
densenet.png
上图为一个由3个dense block稠密块构成的DenseNet。稠密块之间的连接称为Transition layer过渡层,过渡层由BN+卷积层+池化层构成。论文中主要由BN+1×1卷积+2×2池化构成。连接层除了连接dense block外,主要作用有二:1.通过1×1卷积改变通道维;2.池化层down sampling + 使feature maps的尺寸减半
3.2 稠密块
论文中给出了一个5层的稠密块示意图:
DenseNet.png d****ense block稠密块内部的layer通过复合函数H来连接,****复合函数H由BN + ReLU + Conv串联构成。layer包含特征图的层数由输入和增长率k是(超参数)决定,上图k = 4。
1_9ysRPSExk0KvXR0AhNnlAA.gif
在DenseNet的实现里,H有两种版本:
BN + RuLU + 3×3卷积
BN + ReLU + 1×1卷积 →输出→ BN + RuLU + 3×3卷积
1.BN + RuLU + 3×3卷积,主要作用为特征提取
1_IwvJGTxBAcb1H5tSJR6Lng.gif
2.BN + ReLU + 1×1卷积 →输出→ BN + RuLU + 3×3卷积
主要作用除了特征提取外,还通过1×1卷积改变通道维控制整体维度,尤其是dense block内靠后的layer。
1_dniz8zK2ClBY96ol7YGnJw.png
3.3 DenseNets结构
image.png
以DenseNet-121为例,看下其