Happy · 2020年02月05日

ICCV2019|非对称卷积网络ACNet

给定应用场景,设计CNN的过程往往需要花费大量的人力与物力。架构中立的CNN结构可以无缝对接插入到现有网络中并提升性能,如𝑂𝐶𝑇𝐶𝑜𝑛𝑣,𝑆𝐸等已成为研究热点。

作者提出一种非对称卷积模块(ACB),它采用1D非对称卷积提升方框卷积核的性能。对于现有网络架构,采用ACB替换标准方框卷积构建非对称卷积网络(ACNet,它可以进一步提升模型精度);训练完成后,可以将其等价转换到原始结果而无需额外的计算消耗。

作者提到:无论是在CIFAR还是ImageNet,ACNet可以明显的提升不同模型的性能。作者通过实验表明:ACB可以有效提升模型对于旋转畸变的鲁棒性,提升方框卷积核的中心骨架部分。
关键字:深度学习,基础算子,图像分类

文章作者: Happy

论文:ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks (被ICCV2019接收,文末可下载)
代码:https://github.com/DingXiaoH/ACNet

Introduction

​已有CNN架构的设计主要集中在以下两点:

  • 层与层之间连接。简单的堆叠模式,残差连接,稠密连接等;
  • 如何组合不同层的输出以提升其表达能力。

作者从另一个角度正交角度挖掘信息出发尝试提升提升标准卷积的表达能力:权值及其空间位置的关系。作者提出非对称卷积模块,一种创新性的可以直接替换标准方框卷积如$3×3$的模块.

​具体而言,对于𝑑×𝑑卷积,作者构建了一个包含三个并行分支$𝑑×𝑑,1×𝑑,𝑑×1$的ACB,三个分支的输出通过相加的方式丰富特征空间。由于1×𝑑,𝑑×1并非方框卷积,作者将其称之为为非对称卷积核。对于现有网络,可以采用所提ACB替换其方框卷积后并训练到收敛;然后通过将两个非对称卷积核参数迭代到方框卷积核对应位置后转换到原始网络架构。

1.png

卷积核的这种加性特性使得转换后的模型与转换前模型具有相同的输出,同时可以明显的提升模型的性能。同时,ACNet还有这样的优势:1 不会引入额外超参数;2实现简单;3相比原始网络,无需额外推理耗时。
​ 作者通过实验发现,ACNet的有效性有这样的原因:1方框卷积的分布参数分布不均匀,中心十字交叉位置的权值往往更大,这些参数的移除会导致性能的极大降低;2 ACB进一步增强了十字交叉位置的权值,使其表达能力进一步增强;3模型总是在尝试提升每一层骨架参数。该文的贡献主要包含以下几点:

  • 提出非对称卷积显示提升标准卷积核的表达能力,而无需额外的推理耗时;
  • 提出ACB模块,它可以无缝对接现有CNN架构,而无需引入额外超参数;
  • 明显提升了几个通用模型在基准数据集上的性能;
  • 证明了标准卷积核中骨架参数的重要性能,证实了ACNet在提升这些骨架参数方面的有效性;
  • 证实ACNet有助于提升模型对于旋转畸变的鲁棒性,可能有助于启发旋转不变问题的研究。

Method

​对于方框卷积而言,它满足如下加法规则:
$$I * K^{(1)} + I * K^{(2)} = I * (K^{(1)} \oplus K^{(2)})$$
此时的一个前提约束:两个卷积的输入与输出具有相同的尺寸。该过程的一个图示解释如下。

2.png

推理优化

​假设基于ACB的模型已完成训练,那么下一步将是尝试进行推理过程优化。前面公式已经给出了ACB三分支参数合并方式。除此之外,还可以考虑将BatchNorm与前接卷积合并,下图给出了两者合并示例图。

3.png

​另外,需要注意的一点:尽管ACB可以等价转换为标准卷积,但是这种等价转换仅适用于推理阶段训练过程的不等价的原因在于:核参数的随机初始化以及计算流中的不同梯度。

Experiments

​基于CIFAR,ImageNet,作者验证了所提方法在几个通用模型上的性能提升。这里只给出了ImageNet数据集上的性能对比而忽略了CIFAR上的性能对比。

4.png

尽管上表已经验证了ACNet的有效性,那么其有效的原因何在呢?作者主要聚焦于这样三个设计准则并进行消融实验分析:1水平核;2垂直核;3BatchNorm。相关实验见下表。

5.png

从中可以看出:尽管水平卷积核垂直卷积都可以提升模型性能,但两者仍存在一些区别,两者并未同等对待训练过程中往往会进行随机水平变换,而不会进行随机垂直变换。以下图为例,进行垂直变换的图像,方框核将产生无意义输出,而水平核将输出相同的结果,也就是说ACB的一部分人功能输出正确的特征。故而,作者认为:ACB可以增强模型对于先转畸变的鲁棒性,具有更好的泛化性能。

6.png

如上表中数据,当对输入进行不同角度的变换后进行测试时,模型的精度严重下降。但是仍能看出:对于水平翻转输入,水平核的作用要高于垂直核。也就是说,由于数据增广策略,模型对于水平镜像输入更为鲁棒。

​此外,作者还通过剪枝方式验证了卷积核中不同位置的重要性。见下图。从中可以看出:骨架参数的重要性明显要高于角点参数。

7.png

同时,不同方式训练的卷积核参数也验证了其重要性,见下图。从中可以看出:1正常训练模型的参数中心幅值大,边角小;2ACNet训练模型的参数进一步加剧了这种差异。

8.png

总而言之,作者得出这样的几个结论:

  • 在标准方框核中,骨架要比角度更重要;
  • ACB可以极大增强骨架参数,进而提升性能;
  • 相比正常ACB,将水平与垂直核添加到边角会降低模型性能;
  • 提升边角的幅值并不会减小其他部分的重要性。

因此,作者认为:ACNet的有效性源自其对骨架参数的增强能力。

Conclusion

​为进一步提升CNN的性能,作者提出非对称卷积模块,它将三个分支卷积核参数进行相加。通过采用ACB替换标准方框卷积,训练完成后再转换为原始架构。作者通过实验验证了所提方法的有效性、模型对于旋转畸变的鲁棒性、ACB对于提升骨架参数的作用等。尤其需要注意的是:ACNet不会引入额外超参数,不会引入额外推理耗时,可以轻易集成到现有框架中。

推荐阅读

本文章著作权归作者所有,任何形式的转载都请注明出处。更多动态滤波,图像质量,超分辨相关请关注我的专栏深度学习从入门到精通
推荐阅读
关注数
6199
内容数
192
夯实深度学习知识基础, 涵盖动态滤波,超分辨,轻量级框架等
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息