本文共 981 字,大约阅读时间需要 3 分钟。
DenseNet是2017年CVPR最佳论文之一,它与ResNet和GoogLeNet不同,DenseNet通过更密集的特征连接实现了性能的提升。这种网络结构的核心思想是充分利用特征层,使模型性能更优,同时减少参数,提高性能。密集连接是本文的核心贡献之一。
DenseNet由多个Dense Block组成,每个Dense Block都有特定的结构。其核心原理是每个层都会接受其前面所有层作为输入,这样可以实现特征的极致利用。具体来说,每个Dense Block包括两个卷积操作:一个1×1卷积和一个3×3卷积,通过BN+ReLU作为非线性变换。这样设计既保留了特征尺寸,便于后续拼接,又减少了参数数量。
以下是Dense Block的详细分析:输入的特征图经过非线性变换后,与前一层的特征图进行拼接,这样每个层的输出都包含前面所有层的特征信息。这种方式实现了密集连接,使得网络能够更好地利用特征信息。代码实现中,通过循环结构构建多个卷积模块,每个模块包含BN、激活函数、1×1卷积和3×3卷积等操作,最终将所有输出特征拼接起来。
与ResNet相比,DenseNet的核心结构不同。ResNet通过残差边连接,直接将前一层的输出与当前层的输出相加,减少了梯度消失问题。DenseNet则通过更密集的特征连接,实现特征的重用和充分利用。
Transition Layer的作用是整合上一个Dense Block的特征,并对宽高进行下采样。它的结构包括BN、ReLU、1×1卷积和2×2平均池化。通过这种方式,DenseNet能够在不同Dense Block之间保持特征的连贯性,同时减小特征图的尺寸。
整个DenseNet网络结构包含多个Dense Block和Transition Layer。例如,DenseNet-121由121个卷积层组成,计算层数时采用1+2×6+1+2×12+1+2×24+1+2×16+1的方式。网络从7×7卷积开始,随后是池化操作,接着是多个Dense Block和Transition Layer,最后通过7×7平均池化和全连接层完成分类任务。
实验结果显示,DenseNet在性能上优于ResNet。其优势在于充分利用特征信息,但模型复杂度较高。尽管如此,DenseNet的密集连接思想具有重要意义,为后续网络设计提供了参考。
转载地址:http://qjip.baihongyu.com/