CSPNet 论文演练:只有更好,无需权衡

对 Cross-Stage Partial Network 论文的回顾——以及从头开始的 PyTorch 实现 CSPNet 后的论文演练:更好,没有权衡首先出现在 Towards Data Science 上。

来源:走向数据科学

基于CNN的模型更轻量级?只需采用该模型的较小版本,对吗?例如,就像 ResNet 一样,如果 ResNet-152 感觉太重,为什么不直接使用 ResNet-101 呢?或者就 DenseNet 而言,为什么不选择 DenseNet-121 而不是 DenseNet-169? — 是的,确实如此,但你必须为此牺牲一些准确性。基本上,如果你想要一个更轻的模型,那么你应该预计你的准确性也会下降。

现在,如果我告诉您一个比其基础更轻量但仍然可以在准确性方面竞争的模型,会怎么样?认识 CSPNet(跨阶段部分网络)。您会惊讶地发现它可以有效降低计算复杂性,同时保持高精度 — 无需权衡!在本文中,我们将讨论 CSPNet 架构,包括它的工作原理以及如何从头开始实现它。

CSPNet 简史

CSPNet was first introduced in a paper titled “CSPNet: A New Backbone That Can Enhance Learning Capability of CNN” written by Wang et al.back in November 2019 [1]. CSPNet 最初是为了解决 DenseNet 的局限性而提出的。 Despite already being computationally cheaper than ResNet, the authors thought that the computation of DenseNet itself is still considered expensive.查看下面图 1 中 DenseNet 的主要构建块即可了解原因。

Before we get into CSPNet, I actually have a whole separate article specifically talking about DenseNet (reference [3]), which I highly recommend you read if you want the full picture of how this architecture works.

目标

CSPNet的目标是使网络具有更便宜的计算复杂度和更好的梯度组合。后者的原因是 DenseNet 中的大多数梯度信息都是由彼此的重复组成的。值得注意的是,CSPNet 不是一个独立的网络。相反,它是我们应用于 DenseNet 的新范式。

详细的 CSPNet 架构

实验结果

CSPDenseNet 的数学表达式