[paper]Densely Connected Convolutional Networks(2018)
[code]liuzhuang13/DenseNet
[mxnet code]miraclewkf/DenseNet
文章
摘要
最近的工作表明,如果卷积网络在靠近输入的层和靠近输出的层之间包含更短的连接,则它们可以更深入、更准确、更有效地进行训练。在本文中,我们接受了这一观察并介绍了密集卷积网络 (DenseNet),它以前馈方式将每一层连接到其他每一层。而具有 L 层的传统卷积网络有 L 个连接——每层与其后续层之间有一个连接——而我们的网络有 L ( L + 1 ) 2 \frac{L(L+1) }{2} 2L(L+1)个直接连接。对于每一层,所有先前层的特征图用作输入,其自身的特征图用作所有后续层的输入。DenseNets 有几个引人注目的优点:它们减轻了梯度消失问题,加强了特征传播,鼓励特征重用,并大大减少了参数的数量。我们在四个竞争激烈的对象识别基准任务(CIFAR-10、CIFAR-100、SVHN 和 ImageNet)上评估了我们提出的架构。DenseNets 在大多数情况下获得了比最先进的显着改进,同时需要更少的计算来实现高性能。代码和预训练模型可从 https://github.com/liuzhuang13/DenseNet 获得。
介绍
卷积神经网络 (CNN) 已成为视觉对象识别的主要机器学习方法。尽管它们最初是在 20 多年前推出的 [18],但直到最近,计算机硬件和网络结构的改进才使真正深度 CNN 的训练成为可能。最初的 LeNet5 [19] 由 5 层组成,VGG 有 19 个 [29],仅在去年,Highway Networks [34] 和 Residual Networks (ResNets) [11] 超过了 100 层的障碍。
随着 CNN 变得越来越深,一个新的研究问题出现了:当有关输入或梯度的信息经过许多层时,它可能会在到达网络的末尾(或开头)时消失并“洗掉”。许多最近的出版物解决了这个或相关的问题。ResNets [11] 和 Highway Networks [34] 通过身份连接将信号从一层绕过到下一层。随机深度 [13] 通过在训练期间随机丢弃层来缩短 ResNets,以允许更好的信息和梯度流。FractalNets [17] 反复组合多个具有不同卷积块数量的并行层序列,以获得较大的标称深度,同时在网络中保持许多短路径。尽管这些不同的方法在网络拓扑和训练过程上有所不同,但它们都有一个关键特征:它们创建了从早期层到后期层的短路径。
在本文中,我们提出了一种架构,将这种见解提炼为一种简单的连接模式:为了确保网络中各层之间的信息流最大化,我们将所有层(具有匹配的特征图大小)直接相互连接。为了保持前馈特性,每一层从所有前面的层获得额外的输入,并将它自己的特征图传递给所有后续层。图 1 示意性地说明了这种布局。至关重要的是,与 ResNets 相比,我们从不在将特征传递到层之前通过求和来组合特征; 相反,我们通过连接特征来组合特征。因此,第 l t h l^{th} lth层有 l l l输入,由所有前面卷积块的特征图组成。它自己的特征图被传递到所有 L − l L-l L−l后续层。这在 L L L 层网络中引入了 L ( L + 1 ) 2 \frac{L(L+1) }{2} 2L(L+1) 个连接,而不仅仅是传统架构中的 L L L。由于其密集的连接模式,我们将我们的方法称为密集卷积网络(DenseNet)。

这种密集连接模式的一个可能违反直觉的影响是它需要比传统卷积网络更少的参数,因为不需要重新学习冗余特征图。传统的前馈架构可以被视为具有状态的算法,该状态在层与层之间传递。每一层从其前一层读取状态并将其写入后续层。它会改变状态,但也会传递需要保留的信息。ResNets [11] 通过附加的身份转换使这种信息保存变得明确。ResNets [13] 的最新变化表明,许多层贡献很小,实际上可以在训练期间随机丢弃。 这使得 ResNets 的状态类似于(展开的)循环神经网络 [21],但 ResNets 的参数数量要大得多,因为每一层都有自己的权重。我们提出的 DenseNet 架构明确区分添加到网络的信息和保留的信息。DenseNet 层非常窄(例如,每层 12 个过滤器),仅将一小组特征映射添加到网络的“集体知识”中并保持其余特征映射不变——最终分类器基于网络中的所有特征图做出决策。
除了更好的参数效率外,DenseNets 的一大优势是改进了整个网络的信息流和梯度,这使得它们易于训练。每一层都可以直接访问来自损失函数和原始输入信号的梯度,从而导致隐式的深度监督 [20]。这有助于训练更深的网络架构。此外,我们还观察到密集连接具有正则化效果,这减少了对具有较小训练集大小的任务的过度拟合。
我们在四个竞争激烈的基准数据集(CIFAR-10、CIFAR-100、SVHN 和 ImageNet)上评估 DenseNets。我们的模型往往需要比具有可比精度的现有算法少得多的参数。此外,我们在大多数基准任务上的表现明显优于当前最先进的结果。
相关工作
自最初发现以来,对网络架构的探索一直是神经网络研究的一部分。最近神经网络的流行回潮也使这一研究领域复苏。现代网络中层数的增加放大了架构之间的差异,并激发了对不同连接模式的探索和对旧研究思想的重新审视。
在 1980 年代的神经网络文献中已经研究了类似于我们提出的密集网络布局的级联结构 [3]。他们的开创性工作侧重于以逐层方式训练的全连接多层感知器。最近,提出了用批量梯度下降训练的全连接级联网络 [40]。尽管对小数据集有效,但这种方法仅适用于具有几百个参数的网络。在 [9, 23, 31, 41] 中,已经发现通过跳过连接在 CNN 中利用多级特征对各种视觉任务是有效的。平行于我们的工作,[1]导出用于与类似于我们跨层网络连接纯理论的框架。
高速公路网络 [34] 是最早提供一种方法来有效训练 100 层以上的端到端网络的架构之一。使用旁路路径和门控单元,可以毫不费力地优化具有数百层的公路网络。绕过路径被认为是简化这些非常深网络的训练的关键因素。ResNets [11] 进一步支持这一点,其中使用纯身份映射作为绕过路径。ResNets 在许多具有挑战性的图像识别、定位和检测任务(例如 ImageNet 和 COCO 对象检测 [11])上取得了令人印象深刻、破纪录的性能。最近,随机深度被提出作为一种成功训练 1202 层 ResNet [13] 的方法。随机深度通过在训练期间随机丢弃层来改进深度残差网络的训练。这表明并非所有层都需要,并强调深度(残差)网络中存在大量冗余。我们的论文部分受到了这一观察的启发。具有预激活功能的 ResNet 还有助于训练具有 > 1000 层的最先进网络 [12]。使网络更深的正交方法(例如,在跳过连接的帮助下)是增加网络宽度。GoogLeNet [36, 37] 使用“Inception 模块”,该模块连接由不同大小的过滤器生成的特征图。在 [38] 中,提出了一种具有广泛广义残差块的 ResNets 变体。事实上,只要深度足够,简单地增加每层 ResNet 中的过滤器数量就可以提高其性能 [42]。FractalNets 还使用广泛的网络结构在多个数据集上取得了有竞争力的结果 [17]。
DenseNets 不是从极深或极宽的架构中汲取表征能力,而是通过特征重用来利用网络的潜力,产生易于训练且参数效率高的浓缩模型。连接不同层学习的特征图会增加后续层输入的变化并提高效率。这构成了 DenseNets 和 ResNets 之间的主要区别。与也连接来自不同层的特征的 Inception 网络 [36, 37] 相比,DenseNets 更简单、更高效。
还有其他显着的网络架构创新已经产生了有竞争力的结果。网络中的网络 (NIN) [22] 结构将微型多层感知器包含在卷积层的过滤器中,以提取更复杂的特征。在深度监督网络(DSN)[20]中,内部层由辅助分类器直接监督,这可以加强早期层接收到的梯度。梯形网络 [27, 25] 将横向连接引入自动编码器,在半监督学习任务上产生令人印象深刻的准确性。在 [39] 中,提出了深度融合网络 (DFN),通过组合不同基础网络的中间层来改善信息流。具有最小化重建损失的路径的网络增强也被证明可以改进图像分类模型 [43]。
DenseNets
考虑通过卷积网络的单个图像 x 0 x_0 x0。该网络由 L L L 层组成,每一层都实现了一个非线性变换 H l ( ⋅ ) H_l(·) Hl(⋅),其中 l l l为该层索引。 H l ( ⋅ ) H_l(·) Hl(⋅)可以是诸如批量归一化 (BN) [14]、整流线性单元 (ReLU) [6]、池化 [19] 或卷积 (Conv) 等操作的复合函数。 我们将第 l t h l^{th} lth层的输出表示为 x l x_l xl。
ResNets. 传统的卷积前馈网络将第 l t h l^{th} lth层的输出作为输入连接到第 ( l + 1 ) t h (l+1)^{th}

DenseNet是一种新型卷积神经网络架构,通过密集连接每一层到其他所有层来加强特征传播和减少参数数量。该网络在多个基准数据集上取得了显著改进的结果,同时需要较少的计算资源。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



