ACNet:深度网络重参数化.

1. 重参数化

卷积神经网络等深度学习模型包括学习(learn)推理(inference)两个阶段。在学习阶段(即训练阶段)通过训练集的训练获得满足精度要求的模型参数,在推理阶段(即测试阶段)根据模型参数对新的数据样本计算输出。通常的模型在这两个阶段使用同一套模型参数。

深度模型的重参数化(re-parameterize)是指在学习阶段使用一套模型参数进行训练,训练完成后将其等价转换为另一套模型参数进行推理。通过重参数化能够提高模型的性能。

该方法之所以可行,作者认为主要原因是深度模型的动力学特征是复杂的。两套不同的模型参数即使在前向传播中是等价的,其反向传播并不等价。用更高的学习成本学习更复杂的模型参数,在推理阶段使用其等价参数;对于模型的使用者(仅做推理)来说,在没有引入额外计算量的情况下获得性能的提升。

2. ACNet

作者提出了一种深度模型重参数化的应用,基于非对称卷积块(Asymmetric Convolution Block)ACNet。具体地,作者提出了一种对$3 \times 3$卷积层进行重参数化的方法:

ACNet从宏观上分为训练阶段和推理阶段。训练阶段强化卷积的特征提取,推理阶段进行卷积核融合,而不增加任何计算量。

上述等价转换能够实现,是因为卷积操作具有齐次性和可加性:

\[I * (pF) = p(I * F), \quad \forall p \in \Bbb{R}\] \[I * F^{(1)} + I * F^{(2)} = I * (F^{(1)}+F^{(2)})\]

作者认为,将$3 \times 3$卷积替换成$3 \times 3$卷积+$1 \times 3$卷积+$3 \times 1$卷积能够增强模型对图像翻转和旋转的鲁棒性。如下图所示,训练好的$1 \times 3$卷积在图像垂直翻转后仍能提取正确的特征,而$3 \times 3$卷积提取的特征显然是不同的。同理,使用$3 \times 1$卷积能够提升模型对图像水平翻转的鲁棒性。