Densely Connected Convolution network笔记

1、摘要部分

卷积网络现在做得越来越深,精确,并且训练起来越来越高效。本文根据这一个结论,提出了一种稠密卷积神经网络(DenseNet)。传统的L层卷积神经网络又L个连接——位于每一层和它后面一层,而我们的神经网络有\frac{L(L+1)}{2},对于每一层,其输入的特征是之前的所有层,而它自己的输出特征则作为之后所有层的输入。

2、Advantage

  • alleviate the vanishing-gradient problem
  • improve flow of information
  • requires few parameters
  • feature reuse

3、DenseNet与ResNet对比

作者主要受到ResNet和Highway Networks的启发,下面来看看结构。

最原始的convolution network
ResNet,除了本层与下一层的连接之外,还有skip connection
DenseNet,让第l层直接影响后面的所有层。因为每一层都包含了之前所有层的输出,因此l-1向l输入只是需要很少的特征图(channels数量吧?)就行。可以减少参数数量。

4、结构详解

DenseNet的整体结构包括稠密块(Dense block)和过渡块(transition layers)。可以简单看作是Dense block——transition layers——Dense block——transition block。

之所以要分成这两层是因为,transition layers中包含的pooling层会改变特征图的大小,而Dense Block内部必须保持特征图大小的一致,否则连接不上。

上图是一个包含了五层,层宽度(Growth rate)为k=4的Dense Block,层与层之间的激励函数H_l(.)为BN-ReLU-Conv(3x3)的结构【其中BN为batch-norm】。这个Growth rate实际上就是每一层特征图的数量,这样第l层就有k_0+(l-1)*k个特征图输入(k为通道数量)。为了进一步减少参数数量,作者又进一步做了如下改进:

  • H_l(.)改为BN-ReLU-Conv(1*1)-BN-ReLU-Conv(3*3)的结构,记为DenseNet-B。
  • 为了进一步减少参数量,在DenseNet-B的基础上,对过渡层的特征图进行压缩,产生\left \lfloor \theta m \right \rfloor个特征图,其中0< \theta \leq 1
DenseNet在ImageNet上的一个结构图

5、缺点

DenseNet在训练的时候十分的耗内存。

以下关于Batch-Borm:

Batch-Norm:可以加速收敛。BN可以用于网络中任意的activation set:https://www.zhihu.com/question/38102762

猜你喜欢

转载自blog.csdn.net/github_37973614/article/details/81326287