【图像分类】DenseNet论文理解

摘要

  最近的研究表明:
  如果卷积网络在靠近输入的层和靠近输出的层之间包含较短的连接,则可以进行更深入、更准确和有效的训练。
  连接方式:
  接受了上面的观点,介绍了密集卷积网络(DenseNet),该网络以前馈方式将每一层连接到其他每一层。
  ①传统卷积网络:具有L层则包含L个连接(每一层与其后一层之间包含一个连接);
  ②本文网络(DenseNet):具有L层则包含L(L + 1)/2个连接。对于每一层,所有先前层的特征图都用作该层的输入,而改成的特征图则用作所有后续层的输入。
   DenseNets的优点:
  减轻了消失梯度的问题、增强了特征传播、鼓励了特征重用、并大大减少了参数数量。
  实验表明:
  在四个竞争激烈的对象识别基准测试任务(CIF AR-10,CIF AR-100,SVHN和ImageNet)上评估了我们提出的体系结构。 DenseNet在大多数方面都比最新技术有了显着改进,同时需要较少的计算来实现高性能。

一、介绍

  卷积神经网络(CNN):
  已成为视觉目标识别的主要机器学习方法。 尽管它最初是在20多年前推出的,但当今计算机硬件和网络结构的改进才使真正的深度CNN训练成为可能。 最初的LeNet5 由5层组成、VGG具有19层,仅去年的Highway Networks和Residual Networks(ResNets)突破了100层障碍。
  梯度消失:
  随着CNN逐渐变深,出现了一个新的研究问题:随着输入或梯度的信息穿过许多层,到达网络末端(或起点)时,该信息逐渐消失甚至“消失”。
  解决梯度消失:
  ①ResNets和Highway Networks 通过身份连接将信号从一层旁路传输到下一层。 随机深度  ②随机深度:通过在训练过程中随机丢弃各层来缩短ResNets,以提供更好的信息和梯度流。
  ③FractalNets:反复将几个并行的层序列与不同数量的卷积块组合在一起,以获得较大的深度,同时保持网络中的许多短路径。
  这些不同的方法在网络拓扑和训练过程方面有所不同,但它们都具有一个关键特征:创建了从早期层到较后层的短路径。
  本文架构:
【图像分类】DenseNet论文理解_第1张图片

  本文架构将上述见解提炼为简单的连接模式:为了确保网络中各层之间的最大信息流,将所有层(具有匹配的特征图大小)直接同其它层相互连接。为了保留前馈特性,每一层都从所有先前的层中获取额外的输入,并将其自身的特征图传递给所有后续层。上图示意性地说明了这种布局。
  与ResNets相比:特征图s不会在传入某一层之前通过求和来组合。而是通过串联功能来组合它们。第l层具有l个输入(所有前面卷积层的特征图组成),第l层的输出特征图将传递到所有L-l个后续层。L层网络中引入L(L + 1)2个连接。传统体系结构中L层网络仅引入L个连接。由于其密集的连接模式,我们将这种方法称为密集卷积网络(DenseNet)。
  DenseNet:
  (1)高参数效率
  密集连接模式:可能与直觉相反的效果是与传统的卷积网络相比,它需要的参数更少,因为不需要重新学习冗余的特征图。
  传统的前馈体系结构:可以视为具有状态的算法,该状态会逐层传递,每一层都从其上一层读取状态,然后写入下一层。每一层可以更改状态,但也可以传递需要保留的信息。
   ResNets :通过附加身份转换使这种信息保存变得明确; ResNets的最新变体显示,许多层的贡献很小,在实际训练过程中可以随机丢弃,这使得ResNet的状态类似于(展开的)递归神经网络,但是ResNet的参数数量实质上更大,因为每一层都有其自己的权重。
  DenseNet体系结构:明确区分了添加到网络的信息和保留的信息。 DenseNet层非常窄(例,每层12个卷积核)仅向网络的“集体知识”添加少量特征图,并保持其余特征图不变。最终分类器基于网络中所有特征图做出决策。
  (2)改善整个网络中的信息和梯度流
  除了更好的参数效率外,DenseNets的一大优势是它们改善了整个网络中的信息流和梯度,这使得它们易于训练, 每层都可以直接访问来自损失函数的梯度和来自原始输入的信号,从而导致隐式的深度监督,这有助于训练更深层次的网络体系结构。 此外密集连接具有正则化效果,从而减少了训练集大小较小的任务的过度拟合。
  DenseNet评估:
  在四个竞争激烈的基准数据集(CIFAR-10,CIFAR-100,SVHN和ImageNet)上评估DenseNet。 与现有算法相比,对于一定准确性,DenseNet模型所需参数的往往要低得多。 此外在大多数基准测试任务上,我们的性能明显优于当前最新水平的结果。

二、相关工作

  自最初发现以来,对网络体系结构的探索一直是神经网络研究的一部分。 最近神经网络的复苏也使这一研究领域复兴。 现代网络中越来越多的层数扩大了架构之间的差异,并激发了对不同连通模式的探索和对旧研究思想的重新审视。
  **级联结构:**在1980年代的神经网络文献中,已经研究了类似于DenseNet布局的级联结构。 他们的开拓性工作专注于以逐层方式训练的全连接的多层感知器。
  使用批量梯度下降训练的全连接级联网络: 此方法对小型数据集有效,但仅可扩展到具有数百个参数的网络。
  在一些文献中:发现通过跳跃连接在CNN中使用多级特征对于各种视觉任务都是有效的。
  Highway Networks(高速公路网络): 是最早提供可有效训练100层以上的端到端网络的方法的体系结构之一。Highway Networks使用旁路路径和汇集单元,可以毫无困难地优化具有数百层的网络。旁路路径被认为是简化这些非常深层网络训练的关键因素。
  ResNets(残差网络): 进一步支持了这一点,其中纯identity映射用作旁路路径。 ResNets在许多具有挑战性的图像识别、定位和检测任务中取得了令人印象深刻的创纪录性能。
  随机深度: 成功训练1202层ResNet的一种方法。随机深度可通过在训练过程中随机丢弃层来改善对深层残差网络的训练。这表明可能并不需要所有的层,并突出表明在深度(残差)网络中存在大量冗余。
   GoogLeNet : 使网络更深的正交方法是增加网络宽度。 GoogLeNet 使用“Inception 模块”,将不同大小的过滤器生成的特征图连接起来。
  广泛广义残差块的ResNets的变体:证明只要深度足够,只需增加ResNets每层中的过滤器数量就可以改善其性能。 FractalNets还使用广泛的网络结构在多个数据集上取得了竞争性结果。
  DenseNets: 通过功能重用来挖掘网络的潜力,从而生成易于训练且参数高效的浓缩模型。 连接(串联)不同层学习到的特征图会增加后续层输入的变化并提高效率——DenseNet和ResNet之间的主要区别。 相较于Inception网络它也将不同层次的特征连接在一起,DenseNets更简单、高效。
  NIN(网络中的网络): 将微多层感知器包含到卷积层的过滤器中,以提取更复杂的特征。
  DSN(深度监督网络): 内部层由辅助分类器直接监督,这可以加强早期层接收到的梯度。
  Ladder Networks : 将横向连接引入自动编码器,从而在半监督学习任务上产生了令人印象深刻的准确性。
  DFN(深度融合网络): 通过组合不同基础网络的中间层来改善信息流, 用最小化重建损失的途径增强网络也可以改善图像分类模型。

三、DensNet

  通过卷积网络传递单个图像x0, 该网络包含L个层,每个层执行一个非线性变换H l(·),其中l为该层索引,Hl(·)可以是诸如批归一化(BN)、整流线性单位(ReLU)、池化或卷积之类运算的复合函数。 将第l层的输出表示为x l
  ResNet:
  传统卷积前馈网络将第l层的输出作为第(l+ 1)层的输入,转换为:xl= Hl(xl-1)。
   ResNets添加了一个跳跃连接,该连接使用identity函数绕过非线性变换,ResNet的转换为:
在这里插入图片描述
  ResNets的优点:梯度可以直接通过identity函数从后面的层流到前面的层。 但identity函数和Hl的输出通过求和相结合,但这可能会阻碍网络中的信息流。
  Dense connectivity(密集连接):
  为进一步改善层之间的信息流,提出了一种不同的连接模式:引入从任何层到所有后续层的直接连接。第l层接收所有先前所有x0 … xl−1层的输出作为输入:
在这里插入图片描述
  其中[x0,x1…xl−1]表示第0,1…l-1层中生成的特征图的串联, 由于其紧密连接性,将此网络体系结构称为密集卷积网络(DenseNet)。
【图像分类】DenseNet论文理解_第2张图片
  复合函数:
  我们将Hl(·)定义为三个连续操作的复合函数:批归一化(BN)、整流线性单元(ReLU)和3×3卷积( 转换)。
  池化层:
  当特征图的大小更改时,等式(2)中使用的串联操作是不可行的。 但卷积网络的重要组成是下采样层,这些层会更改特征图的大小。 为了便于在我们的体系结构中进行下采样,我们将网络划分为多个密集连接的密集块,密集连接块之间的层称为过渡层——进行卷积和池化。 本文实验使用的过渡层包括批处理归一化层和1×1卷积层、2×2平均池化层。
【图像分类】DenseNet论文理解_第3张图片
  增长率:
  如果每个函数Hl产生了k个特征图,则说明第l层具有k0 + k×(l-1)个输入特征图,其中k0是输入层中的通道数。 DenseNet与现有网络架构之间的一个重要区别是DenseNet可以具有非常狭窄的层(如k =12),我们将超参数k称为网络的增长率,即使相对较小的增长率也足以在测试的数据集上获得良好的表现。对此的一种解释是每个层都可以访问其块中的所有先前层的特征图,因此可以访问网络的“集体知识”。可以将特征图视为网络的全局状态,每层将自己的k个特征图添加到此状态。增长率调节每一层对全局状态的贡献量。写入后的全局状态可以从网络中的任何位置进行访问,并且与传统的网络体系结构不同,它不需要逐层复制。
  瓶颈层:
  尽管每层仅产生k个输出特征图,但每层通常会有更多的输入。 在每个3×3卷积之前引入1×1卷积作为瓶颈层,以减少输入特征图的数量,从而提高计算效率——此设计对DenseNet特别有效。将具有这种瓶颈层的网络BN-ReLU-Conv(1×1)-BN-ReLU-Conv(3×3)版本,称为DenseNet-B 。 在本文实验中,每个1×1卷积产生4k个特征图。
  压缩:
  为进一步提高模型的紧凑性,可以减少过渡层的特征图数量。 如果一个密集块包含m个特征图,则让后续的过渡层生成θm个输出特征图(0 <θ≤1),θ称为压缩因子,当θ= 1时,跨过渡层的特征图数量保持不变。 将θ<1的DenseNet称为DenseNet-C,并在实验中将θ设置为0.5。 同时使用过渡层和瓶颈层时的网络,称为DenseNet-BC。
  实施细节:
  在除ImageNet之外的所有数据集上,实验中使用的DenseNet具有三个密集块,每个密集块具有相等的层数。在进入第一个密集块之前,对输入图像执行16个卷积(或DenseNet-BC增长率的两倍)的卷积。对于内核大小为3×3的卷积层,输入的每一侧都用一个像素补零,以保持特征图的大小固定。两个连续密集块之间的过渡层:使用1×1卷积、2×2平均池作为。最后一个密集块的末尾:执行全局平均池化,然后附加softmax分类器。三个密集块中的特征图大小分别为32×32、16×16和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上的实验中,在224×224输入图像上使用具有4个密集块的DenseNet-BC结构。 初始卷积层包括2k个大小为7×7的卷积,步幅为2; 其他所有层的特征图数量也设置k。

四、讨论

  从表面上看,DenseNets非常类似于ResNets: (2)不同于式(1)仅在于将Hl(·)的输入连接起来而不是求和。 但这种看似很小的修改导致两种网络体系结构的行为截然不同。
  模型紧凑:
  输入级联的直接结果是,所有后续层都可以访问DenseNet任一层学习的特征图。 这鼓励了整个网络中特征的重用,并导致了更紧凑的模型。
  DenseNet-BC始终是DenseNet最具参数效率的变体。 此外为了达到相同的精度水平,DenseNet-BC仅需要ResNets参数的大约1/3。
  隐式深度监督:
   卷积网络精度提高的一种解释可能是,各个层通过较短的连接从损失函数中获得了额外的监控,DenseNets 可以解释为执行了一种“深度监督”。 深度监管的好处在深度监管网络(DSN)中得到了证明,该网络在每个隐藏层都附加了分类器,从而迫使中间层学习判别特征
  DenseNets以隐式方式执行类似的深度监督:网络顶部的单个分类器通过最多两个或三个过渡层对所有层提供直接监控,但损失函数和DenseNets的梯度不复杂,因为在所有层之间共享相同的损失函数。
  随机VS确定连接:
  密集卷积网络与残差网络的随机深度正则化之间存在有趣的联系。 在随机深度中,残留网络中的各层会随机丢弃,从而在周围各层之间建立直接连接,由于池化层永远不会丢失,因此网络会产生与DenseNet类似的连通性模式。
  特征重用:
   根据设计,DenseNets允许层访问所有先前层的特征图(尽管有时通过过渡层)。 一项实验调查训练的网络是否利用了这一机会:在C10 +上训练一个DenseNet,其L = 40和k =12,对于一个块中的每个卷积层l,计算分配给层s连接的平均(绝对)权重。 平均绝对权重是卷积层对其先前层的依赖性。 可以得出以下几点结论:
  1.所有层将权重分布在同一块内的许多输入上表明:很早的层提取的特征实际上确实被整个同一密集块中的深层直接使用。
  2.过渡层的权重也将其权重分布在前一个密集块内的所有层上表明:少量信息通过间接从DenseNet的第一层流向最后一层。
  3.第二个和第三个密集块中的层始终将最小的权重分配给过渡层的输出表明:过渡层输出许多冗余特征(平均权重较低)。 这与DenseNet-BC的结果保持一致,在DenseNet-BC中,这些输出被精确压缩。
  4.最终分类层也使用了整个密集块的权重,但似乎对最终特征图的关注程度很高表明:在网络的后期可能会产生更多的高级特征。

五、结论

  提出了一种新的卷积网络架构——密集卷积网络(DenseNet):它在任何两个具有相同特征图大小的层之间引入直接连接;DenseNets自然可以扩展到数百个层,同时没有优化困难。
  DenseNets倾向于随着参数数量的增加而不断提高精度,而没有任何性能下降或过度拟合的迹象。 在多种设置下,它在几个竞争激烈的数据集上均取得了最先进的结果。DenseNets需要更少的参数和更少的计算来实现最先进性能。
  DenseNets遵循简单的连接规则,自然地集成了身份映射、深度监督和多样化深度的属性,允许在整个网络中重用特征,从而可以学习更紧凑的模型。 由于其紧凑的内部表示形式和减少的特征冗余,DenseNets可能是用于基于卷积特征的各种计算机视觉任务的良好特征提取器。

你可能感兴趣的:(图像分类,计算机视觉,卷积,神经网络,人工智能,机器学习)