Densely Connected Convolutional Networks手动翻译

DenseNet:
1)特点:
1.缓解了消失梯度问题
2.增强了特征传播,改进了整个网络的信息流和梯度
3.促进了特征再用,以开发网络的潜力
4.更少的参数,因为不需要重新学习冗余的特征映射
5.密集连接具有正则化效果,可以减少过拟合
2)架构:
1.通过跳跃连接利用CNNs的多级特征对各种视觉任务都是有效的
2.以前馈的方式将每个层都连接到其他每一层,产生L(L+1)/2个直接连接
在这里插入图片描述
3.DenseNet层非常窄,只将一小部分特征映射添加到网络的“collective knowledge”中,并保持其余的特征映射不变,最后的分类器根据网络中的所有特征映射做出决策
3)算法:
在这里插入图片描述
1.H(·)定义为:BN+ReLU+Conv(3×3)
2.将网络划分为多个紧密连接的密集块,块之间的层称为转换层,执行卷积和池化
在这里插入图片描述
3.超参数k为网络的增长率,决定了每一层对全局状态贡献多少新信息
4.第l层有k0 + k × (l - 1)个输入特征映射
5.瓶颈层:在每个3×3个卷积之前可以引入一个1×1个卷积
6.压缩:如果密集块包含m个feature-maps,则生成[θm]个输出feature-maps(0< θ <1)
4)比较:
1.本文和2/3都具有一个关键的特征:创建了从早期层到后期层的短路径
2.ResNets通过identity连接将信号从一层绕过到另一层,以求和的方式来合并它们
在这里插入图片描述
3.高速公路网利用带有选通单元的旁通路径
4.GoogLeNe使用了Inception模块,将不同大小的过滤器产生的特征图连接起来。
5.Network in Network (NIN)[22]结构将微型多层感知器加入到卷积层的过滤器中,以提取更复杂的特征
5)实验:
1.在大多数基准测试任务上,我们的性能都明显优于当前最先进的测试结果
2.ImageNet 2017冠军

Abstract

最近的成果显示,如果神经网络各层到输入和输出层采用更短的连接,那么网络可以设计的更深、更准确且训练起来更有效率。在本文中,我们观察了这一点,并提出了Dense Convolutional Network (DenseNet),它以前馈的方式将每个层都连接到其他每一层。传统L层卷积网络有L连接,而DenseNet的任意层不仅与相邻层有连接,而且与它的随后的所有层都有直接连接,所以该网络有L(L+1)/2个直接连接。对于每个层,前面所有层的特征映射都用作输入,而它自己的特征映射用作所有后续层的输入。DenseNets有如下几个令人信服的优点:缓解了消失梯度问题,增强了特征传播,促进了特征再用,大大减少了参数的数量。本文计算架构在四个具有高度竞争的目标识别数据集(CIFAR-10、CIFAR-100、SVHN和ImageNet)上评估我们提出的体系结构。densenet在大多数方面都比最先进的技术有了显著的改进,同时需要更少的计算来实现更高的性能。代码和预训练模型如下https://github.com/liuzhuang13/DenseNet.

1. Introduction

卷积神经网络(CNNs)已经成为视觉对象识别的主流机器学习方法。虽然它们最初是在20多年前[18]引入的,但直到最近,计算机硬件和网络结构的改进才使训练真正深入的CNNs成为可能。最初的LeNet5[19]由5层组成,VGG有19层[28],直到去年高速公路网[33]和剩余网(ResNets)[11]才突破了100层屏障。
随着CNNs变得越来越深入,一个新的研究问题出现了:当有关输入或梯度的信息通过许多层时,它可能会“消失”,并在到达网络的末端(或开始)时被“洗去”。许多最近的论文都提到了这个或相关的问题。ResNets[11]和高速公路网[33]通过identity连接将信号从一层绕过到另一层。随机深度[13]通过在训练过程中随机丢弃层来缩短ResNets,以允许更好的信息和梯度流动。FractalNets[17]将多个具有不同卷积块数的并行层序列重复组合,以获得较大的nominal深度,同时保持了网络中的许多短路径。尽管这些不同的方法在网络拓扑结构和训练过程中有所不同,但它们都具有一个关键的特征:它们创建了从早期层到后期层的短路径。
在本文中,我们提出了一种架构,它将这种见解提炼为一种简单的连接模式:为了确保网络中各层之间的信息流达到最大,我们将所有层(具有匹配的特征图大小)直接连接在一起。为了保持前馈特性,每一层都从前面的所有层获得额外的输入,并将自己的特性映射传递给后面的所有层。图1概要地说明了这种布局。至关重要的是,与ResNets不同的是,我们从来不会在特征被传递到一个层之前通过求和来合并它们;相反,我们通过连接它们来组合特性。因此,第l层有l个输入,由之前所有卷积块的特征映射组成。它自己的特性映射被传递到所有的L-l个后续层。这在L层网络中引入了L(L+1)/2个连接,而不像传统架构中只引入L。由于其密集的连通性模式,我们将我们的方法称为密集卷积网络(DenseNet)。
在这里插入图片描述
这种密集连接模式的一个可能与直觉相反的效果是,它比传统的卷积网络需要更少的参数,因为不需要重新学习冗余的特征映射。传统的前馈结构可以看作是具有状态的算法,它在层与层之间传递。每个层从它的前一层读取状态并写入到后一层。它改变了状态,但也传递了需要保留的信息。ResNets[11]通过添加标识转换显式地保存了该信息。最近ResNets[13]的变体表明,许多层的贡献非常小,实际上可以在训练中被随机丢弃。这使得ResNets的状态类似于(展开的)循环神经网络[21],但是ResNets的参数数量要大很多,因为每一层都有自己的权值。我们提出的DenseNet体系结构明确区分了添加到网络中的信息和保留的信息。DenseNet层非常窄(例如,每层12个过滤器),只将一小部分特征映射添加到网络的“collective knowledge”中,并保持其余的特征映射不变,最后的分类器根据网络中的所有特征映射做出决策。
除了更好的参数效率外,DenseNets的一大优点是改进了整个网络的信息流和梯度,这使得它们更容易训练。每一层都可以直接访问从损耗函数到原始输入信号的梯度,从而实现一个隐式的深度监督[20]。这有助于训练更深层次的网络体系结构。此外,我们还观察到密集连接具有正则化效果,可以减少小训练集任务的过拟合。
我们在四个高度竞争性的基准数据集(CIFAR-10、CIFAR-100、SVHN和ImageNet)上评估DenseNets。与现有算法相比,我们的模型需要的参数要少得多,而且精度相当。此外,在大多数基准测试任务上,我们的性能都明显优于当前最先进的测试结果。

2. Related Work

对网络结构的探索从一开始就是神经网络研究的一部分。最近神经网络的重新流行也使这一研究领域重新活跃起来。现代网络中不断增加的层数放大了架构之间的差异,激发了对不同连接模式的探索和对旧研究思想的重新审视。
类似于我们提出的密集网络布局的级联结构已经在20世纪80年代[3]的神经网络文献中进行了研究。他们的开创性工作集中在以逐层方式训练的完全连接的多层感知器上。最近,[39]提出了用批量梯度下降训练完全连接的级联网络[39]。尽管这种方法对小型数据集有效,但它只适用于具有几百个参数的网络。在[9,23,30,40]中,通过跳跃连接利用CNNs的多级特征被发现对各种视觉任务都是有效的。与我们的工作相平行,[1]为具有类似于我们的跨层连接的网络导出了一个纯理论框架。
高速公路网[33]是第一批提供了一种有效的方法来训练超过100层的端到端网络的架构之一。利用带有选通单元的旁通路径,可以毫无困难地优化数百层的高速公路网。旁通路径被认为是简化这些非常深的网络训练的关键因素。这一点得到了ResNets[11]的进一步支持,其中使用pure identity映射作为旁路路径。ResNets在许多具有挑战性的图像识别、定位和检测任务(如ImageNet和COCO对象检测[11])上取得了令人印象深刻的、破纪录的性能。最近,随机深度被提出作为一种成功训练1202层ResNet[13]的方法。随机深度通过在训练过程中随机丢层来改进深度残差网络的训练。这表明并不是所有的层都是需要的,并强调在深层(残余)网络中有大量的冗余。我们的论文在一定程度上受到了这一观察结果的启发。预激活的ResNets也有助于训练最先进的>1000层[12]的网络。
一种使网络更深入的正交方法(在跳跃连接的帮助下)是增加网络宽度。GoogLeNet[35,36]使用了Inception模块,它将不同大小的过滤器产生的特征图连接起来。在[37]中,提出了一种具有广泛泛化残差块的ResNets变体。事实上,只要增加每层ResNets的过滤器数量,只要深度足够[41],就可以改善其性能。FractalNets还使用广泛的网络结构[17]在多个数据集上获得了具有竞争力的结果。
densenet并没有从极深或极广的体系结构中汲取代表性的能力,而是通过特性重用来开发网络的潜力,从而生成易于训练且具有高度参数效率的精简模型。将不同层学习到的特征图串联起来,增加了后续层输入的变化,提高了效率。这是DenseNets和ResNets之间的一个主要区别。与连接来自不同层的特征的Inception网络相比[35,36],densenet更简单、更高效。
还有其他值得注意的网络架构创新,它们产生了具有竞争力的结果。Network in Network (NIN)[22]结构将微型多层感知器加入到卷积层的过滤器中,以提取更复杂的特征。在深度监督网络(DSN)[20]中,内层由辅助分类器直接监督,可以增强较早层接收到的梯度。梯形网络[26,25]将横向连接引入到自动编码器中,在半监督学习任务中产生了令人印象深刻的准确性。在[38]中,提出了通过结合不同基础网络的中间层来改善信息流的深度融合网(DFNs)。通过增加具有最小化重建损失的路径的网络,也可以改进图像分类模型[42]性能。

3. DenseNets

考虑通过卷积网络传递的单个图像x0。网络由L层组成,每层实现一个非线性变换Hl(·),其中l对层进行索引。Hl(·)可以是批归一化(BN)[14]、修正线性单元(ReLU)[6]、池化[19]或卷积(Conv)等操作的复合函数。我们用xl表示第l层的输出。
ResNets:
传统卷积前馈网络连接l层的输出作为l+1层的输入[16],这产生了以下层过渡
在这里插入图片描述
ResNets[11]添加一个skip-connection以跳过非线性转换,恒等函数如下:
在这里插入图片描述
ResNets的一个优点是梯度可以直接通过identity函数从较晚的层流向较早的层。但是,恒等函数和Hl的输出通过求和的方式进行组合,可能会阻碍网络中的信息流。
Dense connectivity:
为了进一步改进层之间的信息流,我们提出了一种不同的连接模式:我们将任何层直接连接到所有后续层。图1概要地说明了生成的DenseNet的布局。因此,第l层接收所有前层的特征映射,即x0,…xl-1,作为输入:
在这里插入图片描述
其中[x0,x1,…,xl-1]表示在0,…,l层中生成的特征映射的拼接;::;1。由于其密集的连通性,我们将这种网络架构称为密集卷积网络(DenseNet)。为了便于实现,我们将式(2)中的多个Hl(·)输入串联成一个张量。
Composite function:
在[12]的启发下,我们将H(·)定义为三个连续操作的复合函数:批归一化(BN)[14],然后是一个修正线性单元(ReLU)[6]和一个3×3卷积(Conv)。
Pooling layers:
当特征映射的大小发生变化时,Eq.(2)中使用的连接操作是不可行的。然而,卷积网络的一个重要部分是向下采样层,它可以改变特征图的大小。为了便于在我们的架构中进行向下采样,我们将网络划分为多个紧密连接的密集块,参见图2。我们将块之间的层称为转换层,它执行卷积和池化。我们实验中使用的转换层包括一个批处理归一化层和一个1×1个卷积层,以及一个2×2个平均池化层。
在这里插入图片描述
Growth rate:
如果每个函数Hl产生k个特征映射,则第l层有k0 + k × (l - 1)个输入特征映射,其中k0是输入层的通道数。DenseNet与现有网络架构之间的一个重要区别是,DenseNet可以具有非常窄的层,例如k = 12。我们称超参数k为网络的增长率。我们在第4节中展示了,一个相对较小的增长率就足以在我们测试的数据集上获得最好的结果。对此的一种解释是,每一层都可以访问其块中的所有上述特征映射,因此也可以访问网络的“collective knowledge”.。可以将特征映射图视为网络的全局状态。每个层都将自己的k个特征映射添加到这个状态。增长率决定了每一层对全局状态贡献多少新信息。全局状态一旦编写完成,就可以从网络中的任何地方访问它,并且与传统的网络架构不同,不需要在层与层之间复制它。
Bottleneck layers:
尽管每个层只产生k个输出特性映射,但它通常有更多的输入。在[36,11]中已经注意到,在每个3×3个卷积之前可以引入一个1×1个卷积作为瓶颈层,以减少输入特征映射的数量,从而提高计算效率。我们发现这种设计对DenseNet特别有效,我们在我们的网络添加这样一个瓶颈层,即对于H层的BN-ReLU-Conv(1×1)-BN-ReLU-Conv(3×3)版本,DenseNet-B。在我们的实验中,我们让每个1×1个卷积产生4k的特征图。
Compression:
为了进一步提高模型的紧凑性,我们可以减少转换层的特征映射的数量。如果密集块包含m个特征图,我们使下面的转换层生成[θm]个输出feature-maps。θ(0< θ <1)被称为压缩因子。当θ = 1时,转换层特征图的数量保持不变。我们将θ < 1的DenseNet设为DenseNet-C,在实验中我们设置θ = 0.5。当同时使用瓶颈层和θ < 1时,模型称为DenseNet-BC。
Implementation Details:
在除ImageNet外的所有数据集上,我们实验中使用的DenseNet有三个密集的块,每个块具有相同数量的层。在第一个稠密块之前,对输入图像进行16(或两倍于DenseNet-BC的生长速度)输出通道的卷积。对于内核大小为3×3的卷积层,输入的每一边都用一个像素进行零填充,以保持特征图的大小不变。我们使用1×1卷积和2×2平均池作为两个相邻密集块之间的转换层。在最后一个密集块的末尾,执行一个全局平均池,然后附加一个softmax分类器。三个密集块的特征图大小分别为32×32、16×6、8×8。我们用配置为{L=40,K=12} 、{L=100,K=12} 、{L=100,K=24} 的基本DenseNet结构进行了实验。对于DenseNetBC,配置为{L=100,K=12} 、{L=250,K=24} 、{L=190,K=40} 。
在我们的ImageNet实验中,我们使用了一个DenseNet-BC结构,在224×224输入图像上有4个密集块。初始卷积层包括2k个大小为7×7的卷积,stride为2;所有其他层的特征图的数量也跟随k的设置。我们在ImageNet上使用的网络配置如表1所示。
在这里插入图片描述

4. Experiments

我们在几个基准数据集上证明了DenseNet的有效性,并与最先进的体系结构,特别是与ResNet及其变体进行了比较。

4.1 Datasets

CIFAR:
两个CIFAR数据集[15]由32×32像素的彩色自然图像组成。CIFAR-10 (C10)由来自10个类的图像组成,CIFAR-100 (C100)由来自100个类的图像组成。训练集和测试集分别包含50,000和10,000张图像,我们取出5,000张训练图像作为验证集。我们采用一个标准的数据扩充方案(镜像/移位),该方案被广泛应用于这两个数据集[11,13,17,22,27,20,31,33]。我们在数据集名称的末尾用+号表示这个数据扩充方案(例如,C10+)。对于预处理,我们使用通道均值和标准差对数据进行归一化处理。在最后一次运行中,我们使用了所有50,000张训练图像,并在训练结束时报告最后的测试错误。
SVHN:
街景门牌号码(SVHN)数据集[24]包含32×32的彩色的数字图像。训练集中有73,257张图像,测试集中有26,032张图像,还有531,131张图像用于额外的训练。按照惯例[7,13,20,22,29],我们使用所有的训练数据,没有任何数据扩充,从训练集中分割出一个包含6,000张图像的验证集。我们选择训练中验证误差最小的模型,并报告测试误差。我们按照[41],将像素值除以255,这样它们就在[0,1)范围内。
ImageNet:
ILSVRC 2012分类数据集[2]包含120万张用于训练的图像,以及5万张用于验证的图像。共1000类。我们对训练图像采用与[8,11,12]相同的数据增强方案,并在测试时应用大小为224×224的single-crop或10-crop。和[11,12,13]一样,我们报告了验证集上的分类错误。

4.2 Training

所有网络均采用随机梯度下降法(SGD)进行训练。在CIFAR和SVHN上,我们使用batch为64的批处理分别进行300、40个epoch进行训练。初始学习率设置为0.1,分别为训练周期总数的50%和75%后除以10。在ImageNet上,我们训练了90个epoch的模型,批量大小为256个。学习速率最初设置为0.1,在epoch 30和60时分别降低10倍。由于GPU内存的限制,我们最大的模型(DenseNet-161)使用batch为128进行训练。为了弥补批量较小的不足,我们对该模型进行了100个epoch的训练,并在epoch 90时将学习率除以10。
在[8]之后,我们的权重衰减为10^(-4),Nesterov动量[34]为0.9而没有衰减。我们采用了[10]引入的权值初始化。对于三个没有数据扩充的数据集,即, C10, C100, SVHN,我们在每个卷积层(第一个层除外)后添加一个dropout层[32],并将dropout rate设置为0.2。对于每个任务和模型设置,只评估一次测试错误。

4.3 Classification Results on CIFAR and SVHN

我们对DenseNets进行了不同深度、L、生长速率、k的训练。CIFAR和SVHN的主要结果如表2所示。为了突出总体趋势,我们用黑体标记所有超过现有最先进技术的结果,用蓝色标记总体最佳结果。
在这里插入图片描述
表2:CIFAR和SVHN数据集的错误率(%)。k为网络的增长率。超过所有竞争方法的结果是粗体的,总体最佳结果是蓝色的。“+”表示标准的数据扩充(转换和/或镜像)。“”表示我们自己运行的结果。所有不增加数据的DenseNets (C10, C100, SVHN)的结果都是使用Dropout获得的。与ResNet相比,DenseNets使用更少的参数实现更低的错误率。在没有数据扩充的情况下,DenseNet的表现要好得多。*

Accuracy:
最明显的趋势可能来自表2的最下面一行,该表显示DenseNet-BC的L = 190和k = 40在所有CIFAR数据集上都优于现有的技术。其在C10+上的错误率为3.46%,在C100+上的错误率为17.18%,明显低于宽ResNet架构[41]的错误率。我们在C10和C100上的最佳结果(不增加数据)甚至更令人鼓舞:两者都比使用drop-path正则化[17]的FractalNet低近30%。在SVHN上,L = 100和k = 24的DenseNet在使用dropout时也超过了目前宽ResNet的最佳结果。然而,250层的DenseNet-BC并没有进一步改进其更浅版本的性能。这可以解释为SVHN是一个相对简单的任务,极深的模型可能会过拟合训练集。
Capacity:
在没有压缩或瓶颈层的情况下,一般的趋势是随着L和k的增加,DenseNets的表现会更好。我们把这主要归因于模型容量的相应增长。C10+和C100+这两个列最能说明这一点。在C10+上,随着参数数量从1.0M增加到7.0,M27.2M,误差从5.24%下降到4.10%,最后下降到3.74%。在C100+上,我们观察到类似的趋势。这表明,DenseNets可以利用更大、更深层次模型增加的表征能力。这也表明它们不存在过拟合或残差网络优化困难[11]。
Parameter Efficiency:
表2中的结果表明,DenseNets比其他体系结构(特别是ResNets)更有效地利用了参数。在转换层,具有瓶颈结构和降维的DenseNet-BC特别具有参数效率。例如,我们的250层模型只有15.3M的参数,但它始终优于其他模型,如FractalNet和宽ResNets,它们的参数超过30M。我们还强调了DenseNet-BC在L = 100和k = 12时的性能与1001层预激活ResNet的性能相当,而参数少90%(例如,在C10+上的性能是4.51%vs4.62%,在C100+上的性能是22.27%vs22.71%)。图4(右面板)显示了这两个网络在C10+上的训练损失和测试错误。1001层深度ResNet收敛到一个较低的训练损失值,但类似的测试错误。下面我们将更详细地分析这种影响。
在这里插入图片描述
Overfitting:
更有效地使用参数的一个积极作用是,DenseNets不太倾向于过度拟合。我们注意到,在没有数据扩充的数据集上,DenseNet体系结构相对于以前工作的改进特别明显。在C10中,改进表明错误相对减少了29%,从7.33%减少到5.19%。在C100上,从28.20%到19.64%降低了约30%。在我们的实验中,我们观察到在单一设置下的潜在过拟合:在C10上,将k =12增加到k =24所产生的参数增加4倍,导致误差从5.77%小幅增加到5.83%。DenseNet-BC的瓶颈和压缩层似乎是对抗这一趋势的有效方法。

4.4 Classification Results on ImageNet

我们在ImageNet分类任务中评估了不同深度和增长率的DenseNet-BC,并将其与最先进的ResNet体系结构进行了比较。为了确保两种架构之间的公平比较,我们通过采用ResNet公开的Torch实现[8](https://github.com/facebook/fb.resnet.torch),消除了数据预处理和优化设置方面的差异等所有其他因素。我们只需将ResNet模型替换为DenseNet-BC网络,并保持所有实验设置与用于ResNet的设置完全相同。
我们在表3中报告了DenseNets在ImageNet上的单茬和10茬验证错误。图3显示了DenseNets和ResNets的single-crop top-1验证错误作为参数数量(左)和FLOPs(右)的函数。图中所示的结果表明DenseNets的性能与最先进的ResNets相当,同时需要更少的参数和计算来实现可比较的性能。例如,一个包含20M参数的DenseNet-201模型与一个包含超过40M参数的101层ResNet产生类似的验证错误。类似的趋势也可以从右侧面板中观察到,该面板将验证错误绘制为FLOPs次数的函数:与ResNet-50相同计算量的DenseNet与需要两倍计算量的ResNet-101的性能相当。
在这里插入图片描述

值得注意的是,我们的实验设置意味着我们使用了为ResNets优化的超参数设置,而不是为DenseNets优化的超参数设置。可以想象,更广泛的超参数搜索可能会进一步提高DenseNet在ImageNet上的性能。

5. Discussion

从表面上看,DenseNets与ResNets非常相似:Eq.(2)与Eq.(1)的区别仅在于对H(·)的输入进行了连接而不是求和。然而,这种看似很小的修改所带来的影响导致了两种网络架构的本质不同。
Model compactness:
作为输入连接的一个直接结果,DenseNet的任何层所学习的特征映射都可以被所有后续层访问。这鼓励了整个网络中的特性重用,并导致了更紧凑的模型。
图4中左边的两个图显示了一个实验的结果,该实验的目的是比较DenseNets的所有变体的参数效率(左)和一个可比较的ResNet体系结构(中)。我们在C10+上训练多个不同深度的小网络,并绘制它们的测试精度作为网络参数的函数。与其他流行的网络架构,如AlexNet[16]或VGG-net[28],预激活的ResNets使用更少的参数,而通常实现更好的结果[12]。因此,我们将DenseNet (k = 12)与此体系结构进行比较。DenseNet的训练设置与前一节相同。
在这里插入图片描述
由图可知,DenseNet- BC始终是DenseNet最具参数效率的变体。为了达到同样的精度,DenseNet-BC只需要大约1/3的ResNets参数(中间的plot)。这个结果与我们在图3中展示的ImageNet上的结果一致。图4中的右图显示,只有0.8M可训练参数的DenseNet-BC能够达到与具有10.2M参数的1001层(预激活)ResNet[12]相当的精度。

Implicit Deep Supervision:
稠密卷积网络精度提高的一种解释可能是,单个层通过较短的连接从损失函数获得额外的监督。人们可以把DenseNets解释为一种深层监督。深度监督的好处已经在深度监管网络(DSN;[20])展示,其在每个隐藏层上都附加了分类器,迫使中间层学习有区别的特征。
DenseNets以一种隐式的方式执行类似的深度监视:网络顶部的单个分类器通过最多两到三个转换层直接监督所有层。然而,DenseNets的损失函数和梯度基本上没有那么复杂,因为所有层之间共享相同的损失函数。

Stochastic vs. deterministic connection:
稠密卷积网络与随机深度正则化残差网络[13]之间存在着有趣的联系。在随机深度中,残差网络中的层被随机丢弃,从而在周围层之间建立起直接的联系。由于池化层从未被丢弃,因此网络的连接模式与DenseNet类似:如果所有中间层都被随机丢弃,那么相同池化层之间的任何两层直接连接的概率都很小。虽然这两种方法最终有很大的不同,但DenseNet对随机深度的解释可能为这种正则化器的成功提供一些见解。

Feature Reuse:
通过设计,densenet允许所有前层访问特性映射(尽管有时通过转换层)。我们进行了一个实验来调查一个训练有素的网络是否利用了这个性质。我们首先在C10+上训练一个DenseNet, L = 40, k = 12。对于块内的每个卷积层l,我们计算分配给与s层连接的平均(绝对)权重。图5显示了所有三个密集块的热图。
在这里插入图片描述
图5:训练后的DenseNet中卷积层的平均绝对滤波权值。像素的颜色(l,s)编码一个稠密块中连接卷积层s到l的权值的平均L1范数(按输入特征映射的数量归一化)。三个用黑色矩形重点标出的列对应两个转换层和分类层。第一行编码连接到稠密块的输入层的权重

平均绝对权重代替了卷积层对前一层的依赖。位置上的红点(l,s)表示该层平均较多地使用了之前生成的s层的特征映射。从图中可以观察到几个现象:

  1. 所有层都将它们的权重分散到同一块中的多个输入上。这表明,由非常早期的层提取的特征,实际上,是由整个相同密集块的深层直接使用的。
  2. 过渡层的权值也将它们的权值分散到前面密集块内的所有层上,这表示从DenseNet的第一个层到最后一个层的信息流通过几个间接的方向。
  3. 第二个和第三个密集块内的层一致地将最小的权重分配给转换层(三角形的顶行)的输出,这表明转换层输出了许多冗余特性(平均低权重)。这与DenseNet-BC的强大结果相一致,这些输出正是在这里被压缩的。
  4. 虽然最后的分类层(如最右边所示)也使用了整个密集块的权重,但似乎集中在最终的特征图上,这表明在网络的后期可能会产生一些更高级的特征。

6. Conclusion

我们提出了一种新的卷积网络架构,我们称之为密集卷积网络(DenseNet)。它引入了具有相同特征映射大小的任意两个层之间的直接连接。我们证明了DenseNets可以自然地扩展到数百个层,而没有表现出优化的困难。在我们的实验中,随着参数数量的增加,DenseNets的精度会不断提高,而不会有任何性能下降或过拟合的迹象。在多种设置下,它在几个高度竞争的数据集中实现了最好的结果。此外,DenseNets需要更少的参数和更少的计算来实现最先进的性能。由于我们在研究中采用了针对残差网络优化的超参数设置,因此我们认为,通过更详细地调整超参数和学习速率调整,可以进一步提高DenseNets的精度。
通过遵循一个简单的连接规则,DenseNets自然地集成了恒等映射、深度监督和多样化深度的特性。它们允许特性在整个网络中重用,因此可以学习更紧凑的模型,根据我们的实验,也可以学习更精确的模型。由于其紧凑的内部表征和减少的特征冗余,DenseNets可能是基于卷积特征的各种计算机视觉任务的很好的特征提取器,如[4,5]。我们计划在未来的工作中与DenseNets一起研究这种特征转移。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值