Densely Connected Convolutional Networks,
- 文章信息
- 背景与动机
- DenseNet
- Dense block
- DenseNet
- DenseNet的集中经典配置
- 总结
文章信息
题目:Densely Connected Convolutional Networks,
发表:CVPR,2017
作者:Gao Huang, Zhuang Liu, Laurens van der Maaten, Kilian Q. Weinberger
这篇文章所提出的DenseNet模型被称为是最经典4种卷积架构之一。
背景与动机
卷积网络是是一类非常强大的网络结构,从最早的Google LNet, 到AlexNet,VGG, 再到ResNet, ResnetXt, 可以发现:
(1)网络的结构变得越来越深,
(2)这些网络架构基本上都是以前馈方式顺序级联的,仅相邻的层之间有连接,很少有跨层连接(即使是ResNet,也仅仅只是增加了Short cut path),
作者主要是从信息流动的角度出发,提出了一种的新型卷积网络模型 密集连接网络Densely -connetced neural network (DenseNet).
DenseNet
Dense block
下图直观的展示了一个5层的growth rate为4的Dense block的示意图, 其中不同颜色的框代表Feature map,
H
i
H_{i}
Hi表示一个由Convolution, Relu,Batch Normalization组成的符合操作,对应的输出为
x
i
x_{i}
xi。 可以看到其与以往的卷积网络的最大不同点:
以往的网络都是仅相邻的两个层之间有连接,而这里是任意两个Layer之间都以前馈的方式连接,换言之,每个layer的输出都作为后继所有layers的输入的一部分, 对于每个layer来说,之前所有layer的输出作为该layer的输入的一部分。
DenseNet
下面展示了基于Dense block搭建的一个包含3个Dense block的DenseNet的示意图。
总结以下DenseNet的几个特点、优势:
(1) Dense connectity
对于传统的卷积网络,
x
l
=
H
l
(
x
l
−
1
)
x_{l}=H_{l}(x_{l-1})
xl=Hl(xl−1),
对于ResNet,
而对于DenseNet, 第l层的输入与之前的所有层的输出都有关,
另外有一点需要特别注意:
在Resnet中,short cut path是直接把直接把输入叠加到卷积的输出上,这样一种生硬的方式可能会阻碍信息的流动,而在DenseNet中,是把之前所有层的输出聚合起来作为输入,这与Resnet有本质的区别。
(2) Composite function
Dense block中每一层都为一个由Convolution, Relu, Batch Normalization组成的复合操作,
(3)Pooling layers.
由于公式(2)中每个层的输入为之前所有层的输出的聚合,这意味着这些输出的尺寸必须保持一致,然而,众所周知, 卷积网络的一个基本的特点是:feature map的尺寸在不断变小而feature map的厚度在不断增加, 那么在DenseNet中如何考虑这个呢? 由此,作者引入了Transition layer的概念,Transition layer位于相邻的两个Dense block之间,由Batch Normalization, 1x1 convolution, 2x2的 Pooling layer组成,主要的目的是为了进行下采样,同时可能降维。
(4)Growth rate
对于给定的Dense block, 其中每个复合操作
H
l
H_{l}
Hl的输出的feature map的数量相等记为k,假设输入的feature map的数量为
k
0
k_{0}
k0,则该层输入feauture map的数量为
k
0
+
k
(
l
−
1
)
k_{0}+k(l-1)
k0+k(l−1).
传统的卷积网络中feature map的数量都是随着网络深度的增加成倍甚至直输暴增的,而这里,通过控制参数k,可以得到很窄/瘦的网络。
(5)Bottleneck layers
尽管每个复合操作输出的feature map数量为k,然而因为每个层的输入由多个之前层的输出组成,最终输入的feature map的数量可能比较大,因此可以在3x3卷积之前再加一个1x1卷积,也就是所谓的Bottlenet layer, 这样一来可以进一步提高季孙效率。
(6)Compression.
假设一个Dense block的输出包含m个feature map, 经过Transition layer以后输出feature map的数量为
θ
m
\theta m
θm,其中
θ
\theta
θ称之为压缩因子。
DenseNet的集中经典配置
总结
作者从信息流的角度思考设计了这么一种网络,看起来也特别简单,挺有意思。最近也有一些工作通过尝试结合物理方面的知识来设计网络,这一块值得研究。