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

目录

论文: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}2 L (L +1 )​个连接,相比ResNet,这是一种密集连接。而且DenseNet是直接concat来自不同层的特征图,这可以实现特征重用,提升效率,这一特点是DenseNet与ResNet最主要的区别。

深度学习入门笔记之DenseNet网络
深度学习入门笔记之DenseNet网络
如果用公式表示的话,传统的网络在l l l层的输出为:
x l = H l ( x l − 1 ) x_{l}=H_{l}(x_{l-1})x l ​=H l ​(x l −1 ​)
而对于ResNet,增加了来自上一层输入的identity函数:
x l = H l ( x l − 1 ) + x l − 1 x_{l}=H_{l}(x_{l-1})+x_{l-1}x l ​=H l ​(x l −1 ​)+x l −1 ​
在DenseNet中,会连接前面所有层作为输入:
x l = H l ( [ x 0 , x 1 , . . . , x l − 1 ] ) x_{l}=H_{l}([x_{0},x_{1},…,x_{l-1}])x l ​=H l ​([x 0 ​,x 1 ​,…,x l −1 ​])
其中,上面的H l ( ⋅ ) H_l(\cdot)H l ​(⋅)代表是非线性转化函数(non-linear transformation),它是一个组合操作,其可能包括一系列的BN(Batch Normalization),ReLU,Pooling及Conv操作。注意这里l l l层与l − 1 l-1 l −1层之间可能实际上包含多个卷积层。

DenseNet的前向过程如图3所示,可以更直观地理解其密集连接方式,比如h 3 h_3 h 3 ​ 的输入不仅包括来自h 2 h_2 h 2 ​ 的x 2 x_2 x 2 ​ ,还包括前面两层的x 1 x_1 x 1 ​ 和$x_2 ,它们是在channel维度上连接在一起的。

深度学习入门笔记之DenseNet网络
CNN网络一般要经过Pooling或者stride>1的Conv来降低特征图的大小,而DenseNet的密集连接方式需要特征图大小保持一致。为了解决这个问题,DenseNet网络中使用DenseBlock+Transition的结构,其中DenseBlock是包含很多层的模块,每个层的特征图大小相同,层与层之间采用密集连接方式。而Transition模块是连接两个相邻的DenseBlock,并且通过Pooling使特征图大小降低。图4给出了DenseNet的网路结构,它共包含4个DenseBlock,各个DenseBlock之间通过Transition连接在一起。
深度学习入门笔记之DenseNet网络

; DenseNet优势

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

DenseNet的网络基本结构图

主要包含DenseBlock和transition layer两个组成模块。其中Dense Block为稠密连接的highway的模块,transition layer为相邻2个Dense Block中的那部分。

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

; Dense Block模块

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

参考资料

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

Original: https://blog.csdn.net/ysukitty/article/details/123532318
Author: ysukitty
Title: 深度学习入门笔记之DenseNet网络

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/519741/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球