Densely Connected Convolutional Networks

07 December 2018

Authors: Gao Huang, Cornell University. Zhuang Liu, Tsinghua University. Laurens van der Maaten, Facebook AI Research. Kilian Q. Weinberger, Cornell University.

Abstract: Recent work has shown that convolutional networks can be substantially deeper, more accurate, and efficient to train if 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 Convolution 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 subsequent layer - our network has L(L+1) / 2 direct connections. For each layer, the feature-maps of all preceding layers are used 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 them, whilst requiring less computation to achieve high performance. Code and pre-trained models are available at https://github.com/liuzhuang13/DenseNet.

摘要:最近的工作表面,如果卷积网络在接近输入的层和那些接近输出的层之间包含较短的连接,则卷积网络可以显著的更深、更精确和有效地进行训练。在本文中,我们接受这个观察,并介绍密集卷积网络(DenseNet),它以前馈的方式将每个车连接到每个其他层。传统的L层网络有L个连接,每个层和它的后续层之间有一个,而我们的网络有L(L+1)/2个直接连接。对于每一层,使用前面所有层的feature maps作为输入,并且自身的feature maps作为所有后续层的输入。DenseNets有几个引人注目的优点:它们缓解了梯度消失的问题,加强了特征传播,鼓励特征重用,并且大大减少了参数的数量。我们在四个高度竞争的对象识别基准任务(CIFAT-10、CIFAT-100、SVHN和ImageNet)上评估了我们的架构。在大多数情况下,DenseNet比现有技术获得了显著的改进,同时需要较少的计算量就能实现好的性能。代码和与训练的模型在https://github.com/liuzhuang13/DenseNet可以获得。

当卷积神经网络越来越深,就会出现梯度消失的问题。很多方法,如ResNets、Highway Networks、FractalNets,他们都有一个共同的特征:他们创建了early layers和later layers的段路径。

在本文中,提出了一个架构,将次观察提炼为一种简单的连接模式:为了确保网络中层之间的最大信息流,我们将所有层(具有匹配的feature maps大小)直接彼此连接。为了保持前馈特性,每个层从前面的所有层获得额外的输入,并将自己的特征映射给后面的所有层。Figure 1示意性地说明了这个布局。

与ResNet不同的是,DenseNet不是通过summation来合并特征,而是通过concatenating来合并特征。

DenseNet不需要重新学习冗余的特征图。与正常预期相反的是,这种密集连接模式的卷积网络比传统卷积网络需要更少的参数,因为每一层输出的feature map(k1)较少,则第L层需要参数 (L·k1)· ksize · ksize · k1, 而假设传统卷积输入 k2, 输出k3 feature maps,则传统卷积需要参数 k2·ksize·ksize·k3,而往往k2和k3较大,所以需要更多的参数

另一个优点是DenseNet改进了整个网络的信息流和梯度,这使得它们易于训练。而且,dense connections具有正则化效果,这减少了对小训练集任务的过拟合。

DenseNets没有从极深或极宽的架构中来获取表示能力,而是通过特征重用来开发网络的潜力。

下面来看下DenseNets的架构。

它由许多(4个)的Dense Block组成,每一个Block中的每一层都是一个1 x 1和一个3 x 3卷积组成,而且每一卷积层的输出feature maps个数k是一样的。 卷积层之后加BN层和ReLU激活。

Dense Block中的过渡层包括一个BN层,一个1 x 1的卷积和一个2 x 2的均值pooling。

几种具体的配置如下图: