本系列文章介绍一种最近比较火的设计网络的思想,即利用网络的重参数化(意义在于训练时间模型有一组参数,而推理时间模型有另一组参数),把多层合成一层,进行网络加速。
RepNAS: Searching for Efficient Re-parameterizing Blocks中将参数重组的思想应用于网络结构搜索技术。
该方法的核心思想是在训练过程中将不同块之间的一些分支修剪掉,如下图所示:
它有两个基本步骤:
- 给定CNN架构。在原始卷积运算中插入一些线性运算作为其分支,如下图所示。对于每个分支,设置一个表示重要性的可学习参数。在训练过程中进行优化。
- 在推理中,将其余分支直接融合到原来的卷积运算中。
其实这篇论文的思路挺简单的,作者设计的块结构就是把ACNet和DDB模块的分支加起来。在网络结构搜索的时候对每个模块的分支数量进行修剪,只留下重要的分支。剪枝的时候块与块之间相互独立,因此可以是不同的,这样相比于使用固定的块结构可以得到更优的性能。