重参数化学习笔记(未完待续)

结构重参数化笔记

    • RepVGG

参考:https://zhuanlan.zhihu.com/p/370438999

结构重参数化(structural re-parameterization)指的是首先构造一系列结构(一般用于训练),并将其参数等价转换为另一组参数(一般用于推理),从而将这一系列结构等价转换为另一系列结构。

RepVGG

重参数化学习笔记(未完待续)_第1张图片

  1. 1x1卷积是相当于一个特殊 (卷积核中有很多0) 的3x3卷积。
  2. 恒等映射是一个特殊(以单位矩阵为卷积核)的1x1卷积,因此也是一个特殊的3x3卷积。

所以我们只需要:

  1. 把Identity转换为1x1卷积,只要构造出一个以单位矩阵为卷积核的1x1卷积即可。
  2. 把1x1卷积等价转换为3x3卷积,只要用0填充即可。

注意: 三个分支都有BN层,其参数包括累积得到的均值及标准差和学得的缩放因子及bias。这并不会妨碍转换的可行性,因为推理时的卷积层和其后的BN层可以等价转换为一个带bias的卷积层(也就是通常所谓的“吸BN”)。
3种不同的BN操作为:
在这里插入图片描述
输出的特征为:
重参数化学习笔记(未完待续)_第2张图片
BN操作可以等价为:
重参数化学习笔记(未完待续)_第3张图片
可以将BN合并到卷积层中
在这里插入图片描述
合并后的卷积层变为:在这里插入图片描述
推理时的卷积层和其后的BN层可以等价转换为一个带bias的卷积层。对三分支分别“吸BN”之后(注意恒等映射可以看成一个“卷积层”,其参数是一个2x2单位矩阵!),将得到的1x1卷积核用0给pad成3x3。最后,三分支得到的卷积核和bias分别相加即可。这样,每个RepVGG Block转换前后的输出完全相同,因而训练好的模型可以等价转换为只有3x3卷积的单路模型。
重参数化学习笔记(未完待续)_第4张图片

你可能感兴趣的:(模型压缩,学习,深度学习,神经网络)