CSPNet论文笔记
论文地址:https://arxiv.org/pdf/1911.11929.pdf
开源代码:https://github.com/WongKinYiu/CrossStagePartialNetworks
作者提出Cross Stage Partial Network (CSPNet)来降低网络架构所需的算力。神经网络的计算量大很大程度上是由于在网络优化过程中出现的重复梯度信息导致的。
作者提出的网络架构可以在降低约20%计算量的情况下维持和原网络架构相同甚至高于原网络架构的准确度。CSPNet这种架构思想可以很方便的应用到像denseNet、ResNet、ResNeXt等结构的CNN网络上。
设计CSPNet的目的是在减少计算量的前提下实现丰富的梯度组合。它的核心思想是将某一阶段的(stage)输入特征图分成两部分,然后经过不同的处理后再合并起来。
CSPNet可以解决以下三个问题:
- 增强CNN的学习能力;
- 移除计算瓶颈,让整个模型的计算量分布更均匀,例如将每个stage的输入特征图分成两部分,只让其中一部分进入到dense layer,就能降低该stage的峰值计算量;
- 降低内存占用,在特征金字塔生成过程中,为了降低内存占用,作者采用跨通道池化技术(cross-channel pooling)来压缩特征图数量。
这篇文章还总结了目前SOTA的网络架构特点。DenseNet通过大量复用特征图来大大降低参数数量和计算量,它将某层之前的所有层的输出作为后续层的输入,这将最大化cardinality数量;基于梯度结合,王等进一步解释了多cardinality和稀疏连接可提高网络学习能力的原因,并提出了partial ResNet(PRN)。
在ImageNet上进行的图像分类任务表明,通过引入CSPNet结构,ResNet、ResNeXt和DenseNet的计算量降低了约10-20%,准确度也有一定程度提高。

上图中的dense block包含k个dense layer,每一层的输入与经过该层后的特征图concatenate后作为下一个层的输入。同一个block中,越后面的层,其输入的特征图数量越大。dense block后面有一个transition layer,输出为XT。对应的CSPDenseNet输入的特征图分成两部分,其中一部分x0’直接输出到该stage的最后,另外一部分x0"输入到正常的dense block进行计算正常dense block输出的特征图经过转换层后得到xT,xT和x0" concatenate后经过另一转换层得到xU。
CSPDenseNet在保留了DenseNet的复用特征的优点,同时通过截断梯度流动(例如只将部分特征图输入到denselayer进行计算)来降低重复的梯度信息。
Partial Dense Block的作用有三个:
- 增加梯度传输路径;
- 降低计算量;
- 降低内存阻塞(内存占用量)。
不同的特征融合策略:

Figure 3: Different kind of feature fusion strategies. (a) single path DenseNet, (b) proposed CSPDenseNet: transition → concatenation → transition, © concatenation → transition, and (d) transition → concatenation.
不同融合策略的效果对比:

Li等发现图片级别的标签对于CNN来说有些晦涩难懂,这很可能是导致一段检测器不如二段检测器效果好的原因,因为二段检测器输入到CNN的是候选区域。
将CSPNet思想用于其他架构的CNN:

作者提出了Exact Fusion Model(EFM),将分层特征融合策略(hierarchical feature fusion strategy)应用到特征金字塔生成过程;此外,从特征金字塔得到的特征图数量是巨大的,为了降低对应的计算量和内存占用,作者采用了Maxout technique来压缩特征图数量。
本文的EFM与FPN和GFM的架构对比(特征金字塔融合策略对比:):

Figure 6: Different feature pyramid fusion strategies. (a) Feature Pyramid Network (FPN): fuse features from current scale and previous scale. (b) Global Fusion Model (GFM): fuse features of all scales. © Exact Fusion Model (EFM): fuse features depand on anchor size.
PeleeNet-YOLO的计算瓶颈出现在头部整合特征金字塔时出现:

Figure 7: Computational bottleneck of PeleeNet-YOLO, PeleeNet-PRN and CSPPeleeNet-EFM
总结:本文主要工作有两个:利用跨阶段的特征融合策略和梯度截断来增强神经网络层学习到的特征多样性;提出EFM来压缩特征金字塔获得的特征图,大大降低了内存带宽,使得边缘端设备可以进行高效推理。
更多推荐



所有评论(0)