densenet网络结构_论文笔记 - DenseNet

58b870a1cd0c0008671e61ffa16655b7.png

论文信息

  • 年份:2017
  • 作者:Gao Huang
  • 会议/期刊:CVPR
  • 论文地址:Densely Connected Convolutional Networks
  • 源码:torchvison densenet

论文解读

Abstract

近年来,很多研究表明,如果在网络结构中在输出层和输入层之间加上“short-path”,会使得网络可以训练得更深、更准确。基于此,作者提出了DenseNet,该网络以前馈方式将每一层输出连接到后面的每一层中。传统的神经网络假设有有

层卷积层,则会有有
个连接,而
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的平层层拼接在一起,来达到较深的深度;

作者发现,上述几种方法的本质都是:创建从模型前面层到后面层的短路径

在这篇文章中,作者提出了一个架构,将这种观点提炼成一个简单的连接模式:为了确保网络中各层之间的最大信息流,我们将所有层直接连接在一起。为了保持前馈特性,每一层都从前面的所有层获得额外的输入,并将其自身的特征映射传递给后面的所有层。如下图所示。

41772f9e16c9ac9ecbd4aa3b14a68fd7.png

与ResNet的处理方式不同,作者通过concatenate的方式将前面所有输入拼接在一起。

另外,作者说明,DenseNet具有更少的模型参数,这不太符合直觉。因为,DenseNet被设计得非常“窄”,通常只有12个卷积核。另一个好处是,由于每一层都可以从原始输入信号直接访问梯度,从而实现了“implicit deep supervision”。作者还提到,该网络具有正则化的效果。

2 Related Work

网络体系结构的探索是神经网络研究的一个组成部分。作者列举了一些和DenseNet比较像的网咯结构:

  1. 1980年提出的,以逐层方式训练的完全连接的多层感知器;
  2. 通过跳跃连接在CNN挖掘多层次特征;
  3. Highway Network提出了绕行路径来简化深层网络的训练;
  4. ResNets直接使用identity mappings作为绕行路径;
  5. Stochastic depth通过随机丢弃一些层来训练了1202层ResNet网络;

另外一种使得网路更深的方法是,增加网络的宽度:

  1. GoogLeNet的"Inception module"包含了不同大小到的卷积核生成的特征图;
  2. 等等;

DenseNet没有采用上述的做法,而是通过特征重用的方式来挖掘模型的潜力,生成高参数密集且易于训练的模型。

3 DenseNet

ResNet

ResNet的优点是,梯度可以通过identity连接,从较后层流到较早层。但是,这两种信息通过求和进行组合,这可能会阻碍网络中的信息流。

DenseNet

其中,

表示由
层产生的特征图。

Composition function

作者定位

为三个连续的操作:batch normalization、ReLU、
卷积;

Pooling layers

为了便于DenseNet中进行下采样,作者将网络划分为多个密集连接的block。并把block之间的连接层称为transition layers,该层主要进行卷积和池化操作。

7c79735c3b15e7bd837740824e5c140c.png

Growth rate

如果每个

函数产生
个特征图,第
层会产生
个特征图。作者提出,DenseNet可以使用非常“窄”的层,也能达到比较好的效果,比如设置
。作者把
定义为“增长率”。“增长率”控制着每一层对全局状态贡献的新的信息量。

Bottleneck layers

尽管DenseNet可以输出较少的特征图,但是每一层都有很多的输入。为了解决维度问题,作者引入了

bottleneck layers来减少输入特征图的数量。

Compression

为了进一步提高模型的密集性,作者尝试在transition层中减少特征图的数量。该层会输出

个特征图,其中
。本实验中,作者设置为0.5。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值