深度学习入门笔记之DenseNet网络

目录

  • 设计理念
  • DenseNet优势
  • DenseNet的网络基本结构图
  • Dense Block模块
  • 参考资料

论文:Densely Connected Convolutional Networks
论文链接:https://arxiv.org/pdf/1608.06993.pdf
代码的github链接:https://github.com/liuzhuang13/DenseNet
MXNet版本代码(有ImageNet预训练模型): https://github.com/miraclewkf/DenseNet

设计理念

相比ResNet,DenseNet提出了一个更激进的密集连接机制:即互相连接所有的层,具体来说就是每个层都会接受其前面所有层作为其额外的输入。图1为ResNet网络的短路连接机制(其中+代表的是元素级相加操作),作为对比,图2为DenseNet网络的密集连接机制(其中c代表的是channel级连接操作)。可以看到,ResNet是每个层与前面的某层(一般是2~3层)短路连接在一起,连接方式是通过元素级相加。而在DenseNet中,每个层都会与前面所有层在channel维度上连接(concat)在一起(这里各个层的特征图大小是相同的,后面会有说明),并作为下一层的输入。对于一个 L L L层的网络,DenseNet共包含 L ( L + 1 ) 2 \frac{L(L+1)}{2} 2L(L+1)个连接,相比ResNet,这是一种密集连接。而且DenseNet是直接concat来自不同层的特征图,这可以实现特征重用,提升效率,这一特点是DenseNet与ResNet最主要的区别。
深度学习入门笔记之DenseNet网络_第1张图片
深度学习入门笔记之DenseNet网络_第2张图片
如果用公式表示的话,传统的网络在 l l l层的输出为:
x l = H l ( x l − 1 ) x_{l}=H_{l}(x_{l-1}) xl=Hl(xl1)
而对于ResNet,增加了来自上一层输入的identity函数:
x l = H l ( x l − 1 ) + x l − 1 x_{l}=H_{l}(x_{l-1})+x_{l-1} xl=Hl(xl1)+xl1
在DenseNet中,会连接前面所有层作为输入:
x l = H l ( [ x 0 , x 1 , . . . , x l − 1 ] ) x_{l}=H_{l}([x_{0},x_{1},...,x_{l-1}]) xl=Hl([x0,x1,...,xl1])
其中,上面的 H l ( ⋅ ) H_l(\cdot) Hl()代表是非线性转化函数(non-linear transformation),它是一个组合操作,其可能包括一系列的BN(Batch Normalization),ReLU,Pooling及Conv操作。注意这里 l l l层与 l − 1 l-1 l1层之间可能实际上包含多个卷积层。

DenseNet的前向过程如图3所示,可以更直观地理解其密集连接方式,比如 h 3 h_3 h3 的输入不仅包括来自 h 2 h_2 h2 x 2 x_2 x2 ,还包括前面两层的 x 1 x_1 x1 和$x_2 ,它们是在channel维度上连接在一起的。
深度学习入门笔记之DenseNet网络_第3张图片
CNN网络一般要经过Pooling或者stride>1的Conv来降低特征图的大小,而DenseNet的密集连接方式需要特征图大小保持一致。为了解决这个问题,DenseNet网络中使用DenseBlock+Transition的结构,其中DenseBlock是包含很多层的模块,每个层的特征图大小相同,层与层之间采用密集连接方式。而Transition模块是连接两个相邻的DenseBlock,并且通过Pooling使特征图大小降低。图4给出了DenseNet的网路结构,它共包含4个DenseBlock,各个DenseBlock之间通过Transition连接在一起。

DenseNet优势

(1)解决了深层网络的梯度消失问题;
(2)加强了特征的传播 ;
(3)鼓励特征重用;
(4)减少了模型参数。

DenseNet的网络基本结构图

主要包含DenseBlock和transition layer两个组成模块。其中Dense Block为稠密连接的highway的模块,transition layer为相邻2个Dense Block中的那部分。
在这里插入图片描述

Dense Block模块

深度学习入门笔记之DenseNet网络_第4张图片

参考资料

DenseNet:比ResNet更优的CNN模型
DenseNet算法详解

你可能感兴趣的:(深度学习,深度学习,cnn,计算机视觉)