结构重参数(Structural Re-parameterization)已在多领域证实了其优秀的"涨点"优势
已有的方案均是对所有操作通过重参数机制进行结构增广,这种“静态”处理机制会导致了昂贵的训练代价。为解决该问题,本文设计了一种DyRep(Dynamic Re-parameterization)方案以最小代价引导训练,DyRep将重参数技术编码到训练过程中对网络结构进行动态进化。
相比“静态”重参数机制,本文所提DyRep效率更高:它可以对给定网络平滑进化而非构建一个过参数化网络。DyRep可以提升ResNet18的性能达2.04%,同时训练耗时降低22%。
1Method
关于结构重参数可行的指导准则可参考DBB一文中的描述,这里不再赘述,我们仅对DyRep的核心思想进行简单介绍。
CVPR2021|“无痛涨点”的ACNet再进化,清华大学&旷视科技提出Inception类型的DBB
上述给出了本文所提DyRep方案示意图,它聚焦于在训练阶段对网络贡献最大的分支进行自适应增广,而非常规的训练前“静态”增广方式。
Minimizing Loss with Dynamic Structures
在DyRep中,不同分支的贡献通过其梯度信息评估,也就是说:小梯度对应低贡献,进而代表分支冗余。DyRep的评估方案是在synflow基础上扩展而来,表示如下
上图给出了本文所用到的重参数流程:在定位到最重要的分支后,我们采用重参数技术将其从单一卷积扩展为DyRep模块,扩展分支的参数随机初始化。为确保扩展前后的等价性,对其参数进行如下处理
De-parameterizing for Better Efficiency
除了对最重要的分支进行重参数扩展外,我们还需要不重要的分支进行去冗余,称之为de-parameterization(Dep)。此时,我们将要移除的分支参数折叠到最重要分支中:
Progressive Training with Rep and Dep
上图给出了DyRep训练流程说明,通过组合Rep与Dep,网络结构可以进行更高效的增广。具体来说,DyRep每t个epoch重复一次Rep与Dep操作:
- Rep:它包含最重要分支的选择、扩展以及参数修正;
- Dep:它包含冗余分支定位、移除以及参数修正。
2Experiments
上表给出了ImageNet ResNet基线上DBB与DyRep的性能对比,从中可以看到:相比DBB,所提方案可以取得显著性能提升,同时需要训练耗时更短。
上表给出了所提方案与RepVGG以及RepNAS的性能对比,从中可以看到:相比RepVGG与RepNAS,DyRep取得了更高的精度。比如DyRep-B3取得了81.12%,比RepVGG-B3高0.6%,比RepNAS高0.15%。
上表给出了下游任务上的性能对比,从中可以看到:相比DBB方案,所提方案可以取得更高的性能提升。