论文:Densely Connected Convolutional Networks
论文链接:https
DenseNet
一、摘要
摘要提到本文模型的主要优点是:
1.它们缓解了梯度消失问题
2.加强了特征传播和特征复用
3.大大减少了参数数量
我们接下来在文中看本文的这些优点是如何得出的,先解释一下第一段标记的内容,其内容是说传统的CNN网络L层只有L个连接,而DenseNet,L层具有L(L+!)/2个连接,这是该模型的一个特点,我们接下来讨论一下这个连接数是如何得出的,从而也能加深对其优点的一个感性认识。
首先看论文中对DenseNet连接方式的一个示意图,如下:
我们接下来对该图进行一个分析,从而得出计算连接总数的公式,如下:
接下来讨论,其优点中的大大减少了参数数量,可以看下表,其比较对象为ResNet,从图中来看,相比于ResNet,DenseNet的参数量与运算量均呈数量级下降。
而对于缓解了梯度消失问题、加强了特征传播和特征复用这一优点,我认为其主要的原因可以归因于其大大减少了参数数量以及层数的加深和连接方式,参数量的减少可以缓解梯度消失的问题,而层数的加深以及DenseNet的连接方式卷能加强特征的传播。
二、模型结构
DenseNet的模型结构如下:
这里讲一下DenseNet-121 DenseNet-169…中数字代表的意思,数字表示网络中层的数量,例如121为:
1
+
6
∗
2
+
1
+
12
∗
2
+
1
+
24
∗
2
+
1
+
16
∗
2
+
1
=
121
1+6*2+1+12*2+1+24*2+1+16*2+1=121
1+6∗2+1+12∗2+1+24∗2+1+16∗2+1=121
需要注意到,DenseNet每次经过Dense块特征图的大小是不会改变的。
2.1.对ResNet的改进
本文对ResNet做了一个改进,ResNet使用恒等变换(Identify mapping)以及跳层实现,作者认为这种加性的方法会阻碍信息流的传播,因此作者对其做了改进,使L层的输入来自于L-1层之前的总和,形式如之前对连接方式的解读,同时定义H(.)函数是一个复合函数,其包含3个连续的操作:Conv(ReLU(BN(.)))。
ResNet
DenseNet
2.2.两个主要的块
Dense Block主要用来加深深度,而Transition Block主要用来减少特征图的数量,其主要原理是运用了1x1卷积核的降维作用,其原理可以见:1x1卷积核的理解。
Dense Block的结构,一个Dense Block块包含N个Bottlenck Layer,层与层之间顺序连接,如L1->L2->L3…
Transition Block结构