[深度学习]DenseNet论文笔记

论文:Densely Connected Convolutional Networks 

代码的github链接:https://github.com/liuzhuang13/DenseNet 

这篇论文是CVPR2017的oral(比例约是提交论文的前5%)。论文的作者总结了一下最近提出的ResNets and Highway Networks,Stochastic depth他们共同的特点是:

they create short paths from early layers to later layers.

他们都在创造一些更短路径,使得前面的层的数据可以通过“捷径”传输到后面的层。

而论文作者也借鉴了这种思想,甚至把它发挥到极致,在每一层都有连接其他不同层的前项传播路径。假设我们具有L层的传统卷积网络具有L个连接 - 每层与其后续层之间的连接 - 我们的网络具有L(L + 1)/ 2个直接连接。直观的理解就像是离散数学里的完全图。Dense Block具体如下图。

下面就是DenseNet的传播公式,可以看到,每一层的输入都包括之前所有层的输出。 

 

一个完整的DenseNet网络结构:

 

DenseNet因此具有的优点是:

  1. 可以缓解梯度弥散问题
  2. 加强特征传播
  3. 加强特征重用
  4. 大幅减少参数数量

值得注意的是,与ResNets相比,DenseNet从未在将features传递到图层之前通过求和来组合特征; 相反,是通过concatenating连接它们来组合features。 简单点说,ResNet是直接相加,DenseNet是堆叠。

比较反直觉得是,为什么这样能够大幅减少参数量,明明连接的路径多了?这种密集连接模式需要比传统卷积网络更少的参数,是因为不需要重新学习冗余特征映射。传统的前馈结构可以被视为具有状态的算法,该状态在层与层之间传递。每个层从其前一层读取状态并写入后续层。在更改状态的同时,还传递需要保留的信息。 ResNets通过加性身份转换使这些信息,使它们保持明确。最近的变化表明,许多层贡献很少,实际上在训练期间可以随机丢弃。这使得ResNets的状态类似于(展开的)递归神经网络。但ResNets的参数数量要大得多,因为每个层都有自己的权重。而DenseNet架构明确区分了添加到网络的信息保留的信息
DenseNet图层非常窄(例如,每层12个filter),只为网络的“集体信息”添加一小组特征图,并保持其余的特征图不变 - 最终分类器根据feature-maps所有特征做出决策。

 

论文也给出了多个不同版本的实现,具体结构如下图:

上面图面的k就是growth rate,k0就是一开始input channels,然后之后的第i层的chanenls就会变为k*(i-1)+k0.

还有两个实现的要点:

1.Bottleneck layers.简单点说就是在3*3conv之前使用1*1conv来降低输入的feature map的数量。

2.Compression.为了进一步提高模型的紧凑性,可以减少过渡层的特征图数量。利用压缩因子θ(0 <θ≤1)压缩feature map。当θ= 1时,跨过层的特征映射的数量保持不变。

将DenseNet的θ<1称为DenseNet-C。当使用θ<1的Bottleneck layers和Compression时,将模型称为DenseNet-BC。

最后来看看结果:整体比ResNet强,参数更少,计算复杂度更小而且错误率降低了。

左边的图表示不同类型DenseNet的参数和error对比。中间的图表示DenseNet-BC和ResNet在参数和error的对比,相同error下,DenseNet-BC的参数复杂度要小很多。右边的图也是表达DenseNet-BC-100只需要很少的参数就能达到和ResNet-1001相同的结果。

总结一下,DenseNet于建立了不同层之间的连接关系充分利用了feature,减轻了梯度消失问题。另外,利用bottleneck layer,Comparison以及较小的growth rate使得网络变窄,参数减少,有效抑制了过拟合,同时计算量也减少了。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值