摘要
DBB(Diverse Branch Block)是一种类似Inception的多分支结构,用于网络结构重参数化。它通过多分支结构类型更丰富(多尺度卷积、平均池化等),感受野更多样性,各操作具有不同的计算复杂度,因此更具有通用性,可以用来替换单个卷积进行训练。在训练阶段,对模型中的任意一个 K×K卷积,都可以用DBB替换,由于DBB引入了不同感受野、不同复杂度的多分支结构,可以显著提升原有模型的精度。在推理阶段,通过这六种结构重参数转换方法,可以将DBB等价地再转换成一个 K×K卷积,这样就可以在模型结构、计算量、推理时间都不变的前提下无损涨点。
DBB是基于六种变换模块而实现的,分别为:Conv-BN合并、并行合并、串行合并、并行拼接、平均池化变换和多尺度卷积合并。如下图:
- 转换一:a conv for conv-BN——将卷积和紧跟着的BN融合转换成一个新的卷积。对于输入 I 经过卷积 F 和BN后的输出 O 的第 j 个通道可根据下式得到
O j ,