前言
在计算机视觉领域, 卷积神经网络已经成为最主流的方法, 比如GoogleNet, VGG-19, Incepetion等模型。CNN史上的一个里程碑事件是ResNet模型的出现, ResNet可以训练出更深的CNN模型,从而实现更高的准确度。ResNet模型的核心是通过建立前面层与后面层之间的‘短路连接’, 这样有助于训练过程中梯度的反向传播,从而能训练出更深的CNN网络。DenseNet网络的思想基本与ResNet一致,但是它建立的是前面所有层与后面层的密集连接。DenseNet的另一大特色是通过特征在channels上的连接来实现特征重用。这些特点让DenseNet在参数和计算成本更少的情况下实现biResNet更优的性能。
设计理念
相比ResNet, DenseNet提出了一个更激进的密集连接机制: 即互相连接所有的层, 具体来说就是每个层都会接受前面所有层作为其额外的输入,。可以对比看出,ResNet是每个层与前面的某层短路连接在一起,连接方式是通过元素级相加,而在DenseNet中,每个层都会与前面所有层在channels维度上连接,并作为下一层的输入。而且DenseNet是直接连接来自不同的特征图, 这个可以实现特征重用,提升效率,这一特点是DenseNet与Resnet最主要的区别。
DenseNet的前向过程如下图所示,可以更直观地理解其密集连接方式,比如h3的输入不仅包括来自h2的x2,还包括前面两层的x1和x2 ,它们是在channel维度上连接在一起的。