cvpr2022论文的结果
[图像上传失败...(图片-306069-1652190795979)]
?除了准确性,模型的推理速度也很重要。为了获得部署友好和高精度的模型,许多最近的研究提出了基于结构重参数化来改善模型性能。用于结构再参数化的模型在训练阶段和推理阶段具有不同的结构。在训练中,使用复杂的结构来获得高精度,训练后,将复杂的结构压缩成可以通过等价变换快速推理的线性层。压缩模型通常具有简洁的体系结构,例如类似VGG或类似雷斯网的结构。从这个角度来看,重新参数化策略可以在不引入额外推理时间开销的情况下提高模型性能。微信官方账号之前在RepVGG上发了一篇文章解读RepVGG:VGG,永远的上帝!| 2021新文章,有兴趣可以去看看。
[图像上传失败...(图片-aab 93 a-1652190795979)]
?BN层是多参数模型的关键组成部分。在每个卷积层后增加一个BN层,如图1b,去掉BN层会导致精度严重下降。在推理阶段,复杂的结构可以压缩到单个卷积层中。在训练阶段,由于BN层需要非线性地将特征图除以其标准差,所以只能单独计算每个分支。因此有大量的中间计算操作(大FLOPS)和缓冲的特征映射(高内存使用率),带来巨大的计算开销。更糟糕的是,高昂的训练成本阻碍了对更复杂、可能更强大的重新参数化结构的探索。
?为什么BN层对重新参数化如此重要?通过实验和分析发现,BN层的比例因子可以使不同分支的优化方向多样化。基于这一发现,本文提出了一种在线再参数化方法OREPA,如图1c所示,包括两个步骤:
?OREPA减少了中间层带来的计算和存储开销,可以显著降低训练消耗(内存节省65%-75%,速度提高1.5-2.3倍),对性能影响不大,使得探索更复杂的重新参数化结果成为可能。为了验证这一点,本文进一步提出了几个重新参数化的组件以获得更好的性能。
?本文的贡献包括以下三点:
[图像上传失败...(图片-9cc 5d 8-1652190795979)]
?OREPA可以将训练时的复杂结构简化为单一卷积层,并保持精度不变。OREPA的变换过程如图2所示,包括两个步骤:块线性化和块挤压。
[图像上传失败...(图片-86e6f 1-1652190795979)]
?BN层是重参数多层多分支结构的关键结构,是重参数模型性能的基础。以DBB和RepVGG为例,去掉BN层(改为多分支统一BN操作)后,性能会明显下降,如表1所示。
?令人惊讶的是,使用BN层会带来过高的训练消耗。在推理阶段,多参数结构中的所有中间运算都是线性的,可以组合。在训练阶段,由于BN层是非线性的(需要除以特征图的标准差),无法进行组合计算。合并失败会导致中间运算需要单独计算,产生巨大的计算消耗和内存开销。此外,高成本也阻碍了对更复杂结构的探索。
?虽然BN层在训练时阻止了合并计算,但由于精度问题,仍然不能直接删除。为了解决这一问题,引入了通道线性缩放作为BN层的线性替换,并用可学习向量对特征图进行缩放。线性缩放层具有与BN层类似的效果,引导多个分支向不同方向优化,这是重新参数化性能的核心。
[图像上传失败...(图片-e 04663-1652190795979)]
?基于线性缩放层,通过以下三个步骤修改重新参数化的结构,如图3所示:
?在块线性化操作之后,多参数结构中只有一个线性层,这意味着在训练阶段可以合并结构中的所有组件。
?块挤压将计算量和存储量太大的中间特征图上的运算转化为在单个卷积核上的更快的运算,这意味着在计算量和存储量方面,重参数的额外训练成本从100%降低到100%,这里是卷积核的形状。
?一般来说,无论线性多参数结构有多复杂,以下两个性质始终成立:
[图像上传失败...(图片-fa8e 1d-1652190795979)]
?有了以上两个属性,多层(即序列结构)和多分支(即并行结构)就可以压缩成单个卷积,如图4a和4b所示。原文有部分换算公式证明,有兴趣的人可以看看原文的相应章节,不影响对Block Squeezing思想的理解。
?本文从梯度回归的角度分析了多分支和块线性化的作用,里面包含了一些公式推导,大家可以有兴趣的看看原文的相应章节。这里有两个主要结论:
?上述结论显示了块线性化步骤的重要性。去除BN层后,缩放层可以保持优化方向的多样性,避免多分支退化为单分支。
?由于OREPA节省了大量的训练消耗,为探索更复杂的训练结构提供了可能。基于DBB,设计了全新的重参数模块OREPA-ResNet,增加了以下组件:
[图像上传失败...(图片-75fb2e-1652190795979)]
[图像上传失败...(图片-bb4d 60-1652190795979)]
?OREPA-ResNet中的block的设计如图6所示,应该是一个下采样的block,最后合并成一个3×3的卷积进行训练和推理。
[图像上传失败...(图片-e30 EFC-1652190795979)]
?各组分的对比实验。
[图像上传失败...(图片-132 b64-1652190795979)]
?标度层对各层各分支相似性的影响。
[图像上传失败...(图片-35E6fb-1652190795979)]
?与线性扩展策略相比,通道式扩展是最好的。
[图像上传失败...(图片-8e 6901-1652190795979)]
?线上线下重参数训练耗时比较。
[图像上传失败...(图片-dad8de-1652190795979)]
?与其他重参数策略相比。
[图像上传失败...(图片-9EE25-1652190795979)]
?比较检测和分割任务。
?本文提出了在线重参方法OREPA,该方法可以在训练阶段将复杂的结构重参变成单一的可卷层,从而减少大量训练的耗时。为了实现这一目标,在训练中采用线性缩放层代替BN层,保持了优化方向的多样性和特征表达的能力。从实验结果来看,OREPA在各种任务中都具有良好的准确性和高效性。
?
?
?
?