DenseNet note

Densely Connected Convolutional Networks

[链接] (http://xueshu.baidu.com/s?wd=paperuri%3A%28c8482c3b8fed1b2a8adc6189ffef3ec3%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2Farxiv.org%2Fpdf%2F1608.06993v3.pdf&ie=utf-8&sc_us=10320627036575446904)
FB AI出品 2016.12
Q note 2017.7.10


摘要
  • 本文主要介绍了一个DenseNet,通过一种feed-forward的方法将层连接在一起。传统连接方式都是 L 个层有L个连接,但是这里每一个层都会接受前面所有层的输入,并成为后面所有层的输入。
  • DenseNet有几大优势:
    1. 能有效缓解梯度消失的问题
    2. 增强特征的传播,鼓励特征的再利用
    3. 减少参数
Introduction
  • 卷积网络的发展已经有超过20年的历史,从最初的LeNet5,到VGG19再到最近的Highway Network和ResNets超过一百行。卷积的加深会导致梯度的消失。很多由ResNet进展的工作,如Stochastic depth、FractalNets等都有上一层加到这一层的共性。
  • 本文提供一个简单的连接模式:为了确保网络中各层之间的最大信息流,我们将所有图层(匹配的特征图大小)直接连接起来。为了保持前馈性质,每个层从所有以前的层获得额外的输入,并将其自身的特征图传递到所有后续层。至关重要的是,与ResNets相反,我们从未将特征通过求和合并到一个层;相反,我们通过连接它们来组合。
  • Highway Networks提供了一种能训练超过100层网络的方法,利用bypassing path和gating单元,能通过SGD有效地训练,ResNet继承了这种思想并取得了惊人的效果,最近stochastic depth成功训练了一个1202层的ResNet,通过在训练时随机扔掉一些层,这说明网络中很多层是冗余的。还有一种垂直方向的方法,通过增加width来加深网络。GoogLeNet使用了一种Inception的模块来产生不同size的特征图。
  • DenseNet相比ResNet使用了更过层作为输入,相比GoogLeNet更加简单且高效。
  • 还有很多有意思的结构:NIN在层之间使用了MLP来提取复杂特征;Deeply Supervised Network在内部就使用了辅助分类器,增强了低层的梯度;Deeply-Fused Nets通过组合不同中间层来提高信息流。
DenseNets


  • Hl(.) 可以看作第 l 层的非线性转换映射,xl是第 l 层的输出
  • ResNets的skip-connection公式如下:xl=Hl(xl1)+xl1
    ResNets的优势是梯度可以直接通过恒等映射传播,但是结合的方式是求和,这可能会阻碍信息在网络间流动
  • Dense connectivity. 第 l 层接受前面所有层作为输入,xl=Hl([x0,x1,...,xl1]),concatente多维输入为一个tensor
  • Composite function
    定义 Hl(.) 作为三个连续操作,BN+Relu+Conv
  • Pooling layers
    当特征图的尺寸变化时,转换是不可行的。然而,卷积网络的一个重要部分就是池化层来改变特征图的大小。为了方便在我们的架构中进行汇集,我们将网络分为多个密集连接的dense blocks;我们将块之间的层称为过渡层,它们进行卷积和池化。我们实验中使用的过渡层由BN层和1×1卷积层组成,后跟2×2平均池化层。
  • Growth rate
    当每个转换函数有 k 个输出时,第l层有 k(l1)+k0 个输入特征map,为了防止过于wide,要限制 k 的值,这里k=12,我们称 k 为Growth rate.
    对于较小k 值也能得到不错结果,作者给出一个可能的解释:

One explanation for this is that each layer has access
to all the preceding feature-maps in its block and, therefore,to the network’s “collective knowledge”. One can view the feature-maps as the global state of the network. Each layer adds k feature-maps of its own to this state. The growth rate regulates how much new information each layer contributes to the global state. The global state, once written, can be accessed from everywhere within the network and, unlike in traditional network architectures, there is no need to replicate it from layer to layer.
  • Bottleneck layers

    每层的输入都会特别多,因此采用1*1卷积来减少输入数量,因此这里的转化层组合为BN-ReLU-Conv(1×1)-BN-ReLU-Conv(3×3),也是试验出来的
  • Compressions

    为了提高model的compactness,我们减少在转换层的特征数,如果dense block有 m 个特征map,乘上一个压缩因子θ, 0<θ<1 ,这里我们取为0.5.
  • Implementation Details

    1. SGD
    2. batch size=64
    3. epoch=40
    4. initial lr=0.1 and is divided by 10 at 50% and 75% of the total number
    of training epochs
    5. momentum=0.9
    6. weight decay= 104
Discussion
  1. DenseNets和ResNets很相似,只是在转换函数的输入上有区别,看似很小的改动效果却还不错。
  2. 在参数的efficiency上,通过与ResNets等比较,在相同参数数目下能有更好的表现。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值