论文笔记 | Densely Connected Convolutional Networks

来源:互联网 发布:实况8李惠堂数据 编辑:程序博客网 时间:2024/06/07 00:14

原文链接:Densely Connected Convolutional Networks

摘要

  • 在卷积神经网络邻近输入或输出的层之间加入短连接(shorter connection),可使网络更深、更准、更高效。
  • 该文章中,作者对该结论进行延伸,引入密集连接卷积网络(Dense Convolutional Network, DenseNet),将前向网络架构中每层与其他层都连接起来。
  • 传统的L层卷积神经网络,包含L个层与层之间连接,而该网络包含L(L+1)2个直接连接。对于每个层,其所有前驱层的特征图作为其输入,而其特征图也会作为所有后驱层的输入。

DenseNets有如下几个优点:

  • 一定程度上减轻梯度消失问题;
  • 增强特征融合;
  • 特征重用,减少参数数量。

作者在四个高挑战度物体识别数据集上(CIFAR-10,CIFAR-100,SVHN及ImageNet)上对架构进行验证。DenseNets相比当前大多数架构,其识别效果觉有显著提升,在达到较高的识别性能时,计算量更少。

引言

  • 计算机硬件及网络架构的提升使得训练较深的神经网络成为可能,但当层数加深时,出现梯度消失的问题。
  • ResNet及Highway Network通过等价连接(identity connections),将一层的信号传输给下一层。随机深度方法通过训练时丢弃某些层从而减少ResNets的深度。FractalNets通过以不同数量的卷积块,反复融合几个平行层,从而达到最大名义上的深度,因为,其网络中存在许多短路(short path)。这些网络设计的关键之处:在靠前及靠后的层之间设置短路。
  • 为了确保网络中层间最大信息流,作者将所有的层(进行特征图大小匹配)进行连接。所有的层从所有前驱层中获得输入,并将其特征图传递给所有后驱层。
  • 与ResNets不同的是,在特征传递给下一层之前,该网络并未对其求和(summation),而是通过拼接得到组合特征。因此第l层包含所有l个前驱块中的输入。其自身的特征图将会传给所有的Ll个后继层。因此在L层的网络中共引入L(L+1)2个连接,而非传统架构中的L个。
  • 一个直观的效果就是密集连接项由于不必学习冗余的特征,可以减少参数数量。
    • 传统前向传播架构可以看做状态在层间传播的算法,每层读取前驱层的状态,并将其写入到后继层中。每层在改变状态的同时也会传播需要保留的信息。
    • ResNets通过增加等价连接,使要保留的信息更加明确。ResNets近期的变式也显示出许多层对模型贡献极小,甚至在训练时可以随机丢弃(drop)。这使得ResNets的状态与递归神经网络类似,但相比递归神经网络,ResNets由于每层都有自身的权重,故其参数量巨大。
    • 参数量少。DenseNets对网络中新加入的信息及需要被保留的信息进行明确区分。DenseNets层相对较窄(每层只有12个滤波器),仅仅向网络中添加少数特征图以收集网络中的知识,同时保持原有特征图不变,最终分类器根据网络中所有的特征图进行判决。
  • 提升的信息流和梯度。使网络容易训练。同时每层都有直接通向损失函数及原始输入信号的梯度,这意味着隐式的深层监督,有助于训练更深的网络架构。
  • 正则化。密集连接有一定的正则化作用,减少了小训练集上的过拟合风险。
  • 作者在四个高竞争性的数据集上对DenseNets(CIFAR-10,CIFAR-100,SVHN及ImageNet)模型进行验证,在可比的准确率下,DenseNets所需的参数量较少。进一步地,DenseNets在大部分数据集上的性能都超过了当前最优模型。

相关研究

  • 网络架构探索
    网络结构的探索自从神经网络第一次被提出就已成为神经网络研究的一部分。最近神经网络的复兴也使得这个研究领域成为热门。层数的增加放大了不同架构之间的差异,同时也激发了针对不同连接模式的探索。
    与DenseNets类似的架构早在20世纪80年代就已经被研究。之前的工作集中于逐层训练的全连接多层感知机。近期,全连接级联网络的批量梯度下降方式被提出。尽管该方式在小数据集上较为高效,但只适用于包含几百参数的网络。跳跃式连接,可以融合CNN中多层间的特征,被发现可以提高多种视觉任务的效率。
  • 更深
    Highway网络是第一个能够高效地端到端训练100多层的网络架构。使用带有门单元的支路,几百层的Highway网络可以被毫无困难地优化。ResNets也使用了与支路相同的等价连接。ResNets在图像识别、定位、检测等诸多视觉任务上已经达到不可思议的、破纪录的性能,如ImageNet、COCO物体检测等。最近提出的随机深度方法能够训练1202层ResNets。随机深度通过训练过程中随机丢弃一些层提高深度残差网络的训练过程。这表明,在极深的网络中,不是所有层都是必须的,存在大量冗余。使用预激活(pre-activation)的ResNets也促进了超过1000层网络的训练。
  • 更宽
    另外一种加深网络的方式是增加网络宽度。GoogleNet使用起始模块(Inception module)将不同大小滤波器产生的特征图进行拼接。实际上,增加ResNets中每层滤波器的数量能够提高其性能,说明深度是充分的。FractalNets同样使用较宽的网络架构在几个数据集上取得较好结果。
  • 密集连接
    与加深或拓宽网络提高其表示能力不同,DenseNets通过特征重用开发网络表示潜力,模型易于训练、参数效率高。通过拼接不同层之间特征图提高后续层输入的变动,提高效率。相比Inception网络,DenseNets不同层间特征融合方式更加简单、高效。
  • 其他
    网中网(NIN,Network in Network)通过向卷积层滤波器中引入微多层感知机从而提取更加复杂的特征。在强监督网络(Deeply Supervised Network,DSK),内部层被辅助分类器直接监督,从而增强底层滤波器产生的梯度。梯形网络(Ladder Network)向自编码器中引入侧向连接,从而在半监督学习任务上取得卓越的精确度。深度融合网络(Deeply-Fused Nets)通过结合基于不同网络的中间层从而提升信息流。带有支路网络能够最小化重构误差的效果同样也显示在图像分类模型中。

DenseNets

假设输入到神经网络的图像为x0,网络包含L层,每层实现了一个非线性转化Hl()Hl()可以是批正则化(Batch Normalization,BN)、线性整流单元(rectified linear units,ReLU)、池化或卷积等。记lth层的输出为xl

  • ResNets
    传统前向网络将lth层的输出作为(l+1)th层的输入,即,xl=Hl(xl1)。ResNets添加了跳跃连接,通过等价函数对非线性函数进行传输,即,xl=Hl(xl1)+xl1
    优点:靠后层的梯度可以直接通过等价函数传递给之前的层。
    缺点:等价函数及Hl的输出通过加法组合,可能会混淆网络中信息流传播。
  • 密集连接
    为了进一步提高层间信息流,DenseNets采用不同的连接形式:从任意层到所有后继层都有直接连接,即,lth层接收所有前驱层的输出x0,...,xl1作为其输入:
    xl=Hl([x0,x1,...,xl1])。其中xl=Hl([x0,x1,...,xl1])为层0,...l1输出特征图的串联,在实现中,我们将Hl()的多个输入拼接为一个张量。
  • 组合函数
    Hl()为批正则化、线性整流单元、3X3卷积操作的组合。
  • 池化层
    当特征图大小改变时,特征图的串联操作变得不可行。卷积网络中使用下采样改变特征图大小是必要的。为了方便下采样,作者将网络划分为几个密集连接的密集块(dense block)。将密集块间的层称为过渡层,过渡层包含批正则化、1X1卷积层及2x2
  • 增长率
    Hl()产生k个特征图,之后lth层有k0+k×(l1)输入特征图,k0为输入层的通道数。DenseNets与其他网络的不同之处就是DenseNets层较窄,例如,k=12。将k称为网络的增长率。
  • 瓶颈层
    1X1卷积也被称为瓶颈层可以减少输入特征图数量,提高计算效率。
  • 压缩
    为了使网络更加简洁,在过渡层减少特征图数量。如果密集块产生m个特征图,则使过渡层产生θm0<θ1个特征图。在实验中设置θ=0.5
阅读全文
0 0