DenseNet主要提出了dense block模块,在任意两层间都有连接,残差比ResNet更密集。
轻量级神经网络采用了更复杂的连接,但是获得了更少的参数,因此计算量和数据量都适用于嵌入式设备中。
减轻了梯度消失问题
我理解的是层数越多多项式级数越大,相同的输出情况下级数多的系数会小,当级数达到一定程度导数会几乎消失,而将前面的层加到后面会建立一些级数较小的多项式,这样可以较少梯度消失问题。
参数更少
解决了梯度问题可以加入更多的层,网络可以更窄,在dense block中每个卷积层的输出feature map的数量都很小
每个dense block的3X3卷积前面都包含了一个1X1的卷积操作,就是所谓的bottleneck layer,目的是减少输入的feature map数量,既能降维减少计算量,又能融合各个通道的特征
在每两个dense block之间又加入了1X1卷积层,更多的1X1卷积层压缩了大量的参数。
DenseNet网络结构: