【ML&DL】【skimming】ACNet: Strengthening the Kernel Skeletons for Powerful CNN

略读2019 ICCV的ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric
Convolution Blocks[1],文章将普通的方形核卷积分解成了竖条纹卷积核横条纹卷积,与方形核卷积相结合,能够做到不带来任何负担的提点,并且可以嵌入到任何一个现成的CNN框架中。

痛点

许多对于CNN的改进多半集中在下面几点:1)改变CNN层之间的连接方式,如直接简单堆叠,犹如ResNet的残差链接,如DenseNet的密集连接。2)不同层的output相融合。如Inception家族。3)构建一些现成的架构如SENet中的SE模块,直接与现如今的CNN结合。

如此一来CNN的这些改进能够以各种各样的方式组合,来构建现成的CNN网络,提高模型效果。

但作者认为。仅通过采用更多可训练的参数和复杂的连接来增强模型可能是不切实际的。文章指出不进行额外的推理时间计算,内存占用或能源消耗的情况下,提高CNN的性能更有意义。

本文则走了一条不同的道路,通过挖掘正交关系来增强标准卷积层:权重及其在内核中的空间位置之间的关系,即本文的ACNet。

模型

文章提出的不对称卷积块ACB(Asymmetric Convolution Block)主要有三条平行处理层,dxd卷积核,dx1卷积核和1xd卷积核。三个输出最后求和的到最终的输出,示意图如下图左:
【ML&DL】【skimming】ACNet: Strengthening the Kernel Skeletons for Powerful CNN

训练完成后,通过将每个ACB中的非对称核添加到骨架上来将模型转换为与原始结构相同的结构,该骨架是方形核的交叉部分,如上图右。

保持可加性的关键是三层可以共享同一滑动窗口。 因此,如果将conv2和conv3的内核添加到conv1的相应位置上,则使用结果内核对原始输入进行操作将产生相同的结果(图1左的输出个图1右的输出是一样的),只有使用乘法的分布特性才能容易地对其进行验证
【ML&DL】【skimming】ACNet: Strengthening the Kernel Skeletons for Powerful CNN

对于BN层的处理,令I成为输入特征图M的任意通道,对于每个分支首先将批量归一化的参数等效地融合到卷积核和一个偏差项中,然后将融合核和偏差项相加以获得单层。BN层与分支融合如图:

【ML&DL】【skimming】ACNet: Strengthening the Kernel Skeletons for Powerful CNN

值得注意的是,尽管可以将ACB等价地转换为标准conv层,但是等效仅在inference时才成立,因为训练动力学不同,因此产生了不同的性能。训练过程的不等价性是由于内核权重的随机初始化以及由它们参与的不同计算流得出的梯度所致。

用ACB替换CNN体系结构中的每个方形核的卷积层则可以构建ACNet。

ACB这样的策略使得1)ACNet能够在原model的基础上再提高一个层次。2)没有引入超参数,这样的结构能够很好的结合其他的CNN结构。3)与原始架构相比,不需要额外的推理时间计算负担。4)增强了模型对旋转失真的鲁棒性

实验

不同模型在CIFAR10的对比

【ML&DL】【skimming】ACNet: Strengthening the Kernel Skeletons for Powerful CNN

不同模型再CIFAR100的对比

【ML&DL】【skimming】ACNet: Strengthening the Kernel Skeletons for Powerful CNN

不同模型在ImageNet的对比

【ML&DL】【skimming】ACNet: Strengthening the Kernel Skeletons for Powerful CNN

可以看到ACNet是一种不错的提点tricks

对翻转鲁棒的示意图

【ML&DL】【skimming】ACNet: Strengthening the Kernel Skeletons for Powerful CNN

ImageNet的各种配置分离试验

【ML&DL】【skimming】ACNet: Strengthening the Kernel Skeletons for Powerful CNN

CIFAR10上随着稀疏比变化和不同kernel的validation对比
【ML&DL】【skimming】ACNet: Strengthening the Kernel Skeletons for Powerful CNN

可以看到基于文章中提出的骨架skeleton的test表现最好。

核的均值矩阵对比

【ML&DL】【skimming】ACNet: Strengthening the Kernel Skeletons for Powerful CNN

参考文献

[1] Ding X, Guo Y, Ding G, et al. Acnet: Strengthening the kernel skeletons for powerful cnn via asymmetric convolution blocks[C]//Proceedings of the IEEE International Conference on Computer Vision. 2019: 1911-1920.