论文信息
- 年份:2017
- 作者:Gao Huang
- 会议/期刊:CVPR
- 论文地址:Densely Connected Convolutional Networks
- 源码:torchvison densenet
论文解读
Abstract
近年来,很多研究表明,如果在网络结构中在输出层和输入层之间加上“short-path”,会使得网络可以训练得更深、更准确。基于此,作者提出了DenseNet,该网络以前馈方式将每一层输出连接到后面的每一层中。传统的神经网络假设有有
作者认为,该网络缓解了消失梯度的问题,加强了特征传播,使得神经元可以重用,并大大减少了参数的数量。该模型在CIFAR-10、CIFAR-100、SVHN和ImageNet上均取得了最好的效果。
1 Introduction
卷积神经网络在计算机视觉中占据非常重要的地位,LeNet5包含5层卷积层、VGG包含19层、HighwayNet和ResNet都超过100层。当卷积神经网络的层数逐渐变深时,输入或者梯度的信息通过许多层时,当它到达网络的结束(或开始)时,它就会被消失并“洗掉”。这会出现“模型降级”问题,即深度越深,效果越差。
很多研究针对该问题提出了一些解决方案: 1. ResNet和Highway Networks的做法是通过一个旁路信号连接来传递原始信息; 2. Stochastic depth通过在训练过程中随机丢弃层,以获得更好的信息和梯度流; 3. FractalNets通过将多个不同数量的卷积blocks的平层层拼接在一起,来达到较深的深度;
作者发现,上述几种方法的本质都是:创建从模型前面层到后面层的短路径
在这篇文章中,作者提出了一个架构,将这种观点提炼成一个简单的连接模式:为了确保网络中各层之间的最大信息流,我们将所有层直接连接在一起。为了保持前馈特性,每一层都从前面的所有层获得额外的输入,并将其自身的特征映射传递给后面的所有层。如下图所示。
与ResNet的处理方式不同,作者通过concatenate的方式将前面所有输入拼接在一起。
另外,作者说明,DenseNet具有更少的模型参数,这不太符合直觉。因为,DenseNet被设计得非常“窄”,通常只有12个卷积核。另一个好处是,由于每一层都可以从原始输入信号直接访问梯度,从而实现了“implicit deep supervision”。作者还提到,该网络具有正则化的效果。
2 Related Work
网络体系结构的探索是神经网络研究的一个组成部分。作者列举了一些和DenseNet比较像的网咯结构:
- 1980年提出的,以逐层方式训练的完全连接的多层感知器;
- 通过跳跃连接在CNN挖掘多层次特征;
- Highway Network提出了绕行路径来简化深层网络的训练;
- ResNets直接使用identity mappings作为绕行路径;
- Stochastic depth通过随机丢弃一些层来训练了1202层ResNet网络;
另外一种使得网路更深的方法是,增加网络的宽度:
- GoogLeNet的"Inception module"包含了不同大小到的卷积核生成的特征图;
- 等等;
DenseNet没有采用上述的做法,而是通过特征重用的方式来挖掘模型的潜力,生成高参数密集且易于训练的模型。
3 DenseNet
ResNet
ResNet的优点是,梯度可以通过identity连接,从较后层流到较早层。但是,这两种信息通过求和进行组合,这可能会阻碍网络中的信息流。
DenseNet
其中,
Composition function
作者定位
Pooling layers
为了便于DenseNet中进行下采样,作者将网络划分为多个密集连接的block。并把block之间的连接层称为transition layers,该层主要进行卷积和池化操作。
Growth rate
如果每个
Bottleneck layers
尽管DenseNet可以输出较少的特征图,但是每一层都有很多的输入。为了解决维度问题,作者引入了
Compression
为了进一步提高模型的密集性,作者尝试在transition层中减少特征图的数量。该层会输出