4实验更精彩
4.1 消融实验
虽然已经通过前面的实验证明了ACNet的有效性,但仍然希望找到一些解释。在本小节中试图通过一系列消融实验来研究ACNet。具体来说,主要关注以下三个设计决策:
- 水平kernel的使用
- 垂直kernel的使用
- 每个分支中的BN层的使用
为了具有可比性,使用相同的训练配置,在ImageNet上用不同的消融训练几个AlexNet和ResNet-18模型。值得注意的是,如果去除分支中的BN层,将对整个ACB 的输出进行批归一化,即批归一化层的位置从前求和变为后求和。
从表4中可以看出,去掉这三种设计中的任何一种都会降低模型的质量。然而,虽然水平卷积和垂直卷积都能提高性能,但由于在实际应用中对水平方向和垂直方向的处理不平等,可能会存在一定的差异。
例如,通常会对训练数据进行随机左右翻转,而不进行上下翻转。因此,如果一个上下颠倒的图像输入模型,最初3 x3层应该产生意义的结果,这是自然的,但水平kernel将产生相同的输出在原始图像上的轴对称位置(图4)。也就是说,ACB仍然可以提取一部分正确的特征。考虑到这一点,假设ACB可以增强模型对旋转畸变的鲁棒性,使模型能够更好地泛化未知数据。
然后,用整个验证集包括逆时针90度旋转、180度旋转和上下翻转在内的旋转扭曲图像对之前训练的模型进行测试。当然,每个模型的精度都显著降低,但水平kernel模型在180度旋转和上下翻转的图像上的精度明显更高。
例如,在原始输入上,只配备水平kernel的ResNet-18的精度略低于只配备垂直kernel的ResNet-18,但在180个旋转输入上的精度要高0.75%。与基础模型相比,该模型在原始/180翻转图像上的准确率分别提高了0.34% / 1.27%。可以预见,在180度旋转和上下翻转输入条件下,模型具有相似的性能,因为180度旋转加上左右翻转等于上下翻转,并且由于数据增强方法,模型对左右翻转具有鲁棒性。
综上所述,已经证明ACB的有效性,特别是其中的水平kernel,可以通过一个可观察的边际来增强模型对旋转畸变的鲁棒性。虽然这可能不是ACNet有效的主要原因,但作者认为它有希望对旋转不变性问题的进一步研究起到启发作用。
4.4 ACB提升方形kernel的skeleton
直观地说,在方形kernel上添加水平和垂直kernel可以被视为显式增强skeleton部分的一种手段,作者试图通过研究skeleton和corner权重之间的差异来解释ACNet的有效性。
受CNN剪枝方法的启发,从去除不同空间位置的一些权重开始,并在CIFAR-10上使用ResNet-56观察性能的下降。具体地说,在kernel中随机设置一些单独的权值为零,并测试模型。如图5a所示,对于标记为corner的曲线,从每个3×3 kernel的4个corner中随机选择权值,并将其设为零,以获得每个卷积层给定的全局稀疏比。注意,作为4/9=44.4%,稀疏比的44%意味着去除4个corner的大部分权重。对于skeleton,只从每个kernel的skeleton中随机选择权重。对于全局的,kernel中的每个个体权重都有相等的机会被选择。用不同的随机种子重复5次,并绘制了平均±std曲线。
可以观察到,由于随机效应,所有曲线随着稀疏比的增加而呈下降趋势,但由于随机效应,而不是单调的。很明显,从corner去除权重对模型的损害较小,但修剪skeleton的危害更大。这一现象表明,skeleton的权重对模型的表征能力更为重要。
将继续验证这一观察结果是否适用于ACNet。通过BN和分支融合对ACNet对等物进行转换,然后对其进行同样的实验。如图5b所示,可以观察到一个更显著的差距,例如,修剪几乎所有的corner的权重只会使模型的精度降低到60%以上。另一方面,修剪skeleton造成的损伤更大,当修剪skeleton所获得的全局稀疏度比仅达到13%,即去除13%×9/5=23.4%的skeleton权重时,模型被破坏。
然后通过对kernel的数值分析,探讨了产生上述现象的原因。使用大小(即绝对值)作为参数重要性的度量,这是许多之前的CNN修剪工作所采用的。具体来说,将卷积层中所有融合的二维kernel相加,取最大值逐层归一化,最后得到所有层归一化kernel的平均值。式中,设为第个滤波器在第个3 × 3层的3D kernel,L为所有这些层的个数,max和abs分别为max和元素的绝对值,计算kernel的平均大小矩阵为:
在图6a和图6b中给出了正常训练的ResNet-56和融合的ACNet,其中一定网格的数值和颜色表示3×3层相应位置的平均相对重要性,即值越大,背景色越深表示参数的平均重要性较高。
从图6a可以看出,正常训练的ResNet-56以不平衡的方式分布参数的大小,即中心点的大小最大,4角处的点最小。从图6b可以看出,ACNet加剧了这种不平衡,4个角的A值下降到0.400以下,skeleton点的A值在0.666以上。特别是,中心点的a值为1.000,这意味着这个位置在每一个3×3层中始终具有主导重要性。值得注意的是,正方形、水平和垂直kernel对应位置的权值有可能出现符号的相反增长,因此加起来可能会产生更大或更小的幅度。但都可以观察到一个一致的现象,即模型总是学会增强每一层的skeleton。
如果将非对称核添加到其他位置而不是中心skeleton,模型将如何?
具体来说,使用与之前相同的训练配置训练ResNet-56的ACNet,但将水平卷积向输入的底部移动一个像素,并将垂直卷积向右移动。因此,在分支融合过程中,将与BN融合的不对称kernel添加到正方形kernel的右下角边界(图6c),以得到一个等价的网络。可以观察到,这种ACBs也可以增强边界,但不像常规ACBs对skeleton的强度高。该模型的准确率为94.67%,比常规的ACNet模型低0.42%。此外,还在融合模型上进行了类似的剪枝实验(图5c)。正如观察到的,修剪角落仍然提供最好的准确性,修剪增强的右下角边界并没有比左上角的2×2方块更好的结果,也就是说,虽然边界的大小增加了,其他部分仍然是必不可少的。
综上所述:
- 在标准方形kernel中,skeleton本质上比Corner更重要
- ACB能显著增强skeleton,进而提升性能
- 与普通ACB相比,在边界上添加水平和垂直kernel会降低模型的性能
因此,将ACNet的有效性部分归因于其进一步增强skeleton的能力。ACNet直观地遵循方形卷积核的性质。
4.2 分类实验
1、CIFAR10
2、CIFAR100
3、ImageNet
如表3所示,AlexNet、ResNet-18和DenseNet-121的Top-1准确率分别提高了1.52%、0.78%和1.18%。
在实践中,针对同一精度目标,可以利用ACNet增强一个更高效的模型,以更少的推理时间、能量消耗和存储空间实现目标。另一方面,在计算预算或模型大小的相同限制下,可以使用ACNet来明显地提高精度,这样从终端用户的角度来看,所获得的性能可以被视为免费的好处。
5参考
[1].ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks