现代高效卷积神经网络 (
CNN
) 总是使用深度可分离卷积
(DSC
) 和神经网络架构搜索
(NAS
) 来减少参数数量和计算复杂度。但忽略了网络的一些固有特征。受可视化特征图和 N×N(N>1) 卷积核的启发,本文引入了几个指导方针,以进一步提高参数效率和推理速度。基于这些指导方针设计的参数高效 CNN 架构称为
VGNetG
,比以前的网络实现了更好的精度和更低的延迟,参数减少了大约 30%~50%。VGNetG-1.0MP
在ImageNet
分类数据集上以0.99M
的参数实现了67.7%
的top-1
准确率,在1.14M
的参数下实现了69.2%
的top-1
准确率。此外,证明
边缘检测器
可以通过用固定边缘检测 kernel
替换N×N kernel
来替换可学习的深度卷积层来混合特征。VGNetF-1.5MP
达到64.4%
(-3.2%) 的top-1
准确率和66.2%
(-1.4%) 的top-1
准确率,并带有额外的高斯kernel
。
1本文方法
作者主要是研究了由标准卷积构造的3个典型网络:
- 标准卷积==>
ResNet-RS
, - 组卷积==>
RegNet
, - 深度可分离卷积==>
MobileNet
、ShuffleNetV2
和EfficientNets
。
这些可视化结果表明,M×N×N kernel在网络的不同阶段具有明显不同的模式和分布。
1.1 CNN可以学习如何满足采样定理
以前的工作一直认为卷积神经网络忽略了经典的采样定理,但是作者发现卷积神经网络通过学习低通滤波器可以在一定程度上满足采样定理,尤其是基于 DSCs
的网络,例如 MobileNetV1
和 EfficientNets
,如图 2 所示。
1、标准卷积/组卷积
如图 2a 和 2b 所示,在整个 M×N×N 个kernel
中存在一个或多个显著 N×N 个kernel
,例如模糊kernel
,这种现象也意味着这些层的参数是冗余的。请注意,显著kernel
不一定看起来像高斯kernel
。
2、深度可分离卷积
Strided-DSC
的kernel
通常类似于高斯kernel
,包括但不限于 MobileNetV1
、MobileNetV2
、MobileNetV3
、ShuffleNetV2
、ReXNet
、EfficientNets
。此外,Strided-DSC
kernel的分布不是高斯分布,而是高斯混合分布。
3、最后一个卷积层的Kernels
现代 CNN 总是在分类器之前使用全局池化层来降低维度。因此,类似的现象也出现在最后的深度卷积层上,如图 4 所示。
这些可视化表明应该在下采样层和最后一层选择深度卷积而不是标准卷积和组卷积。此外,可以在下采样层中使用固定的高斯kernel
。
1.2 重用相邻图层之间的特征图
Identity Kernel和类似特征图
如上图所示,许多深度卷积核仅在中心具有较大的值,就像网络中间部分的恒等核一样。由于输入只是传递到下一层,因此带有恒等核的卷积会导致特征图重复和计算冗余。另一方面,下图显示许多特征图在相邻层之间是相似的(重复的)。
因此,可以用恒等映射代替部分卷积。否则,深度卷积在早期层中很慢,因为它们通常不能充分利用 Shufflenet V2
中报告的现代加速器。所以这种方法可以提高参数效率和推理时间。
1.3 边缘检测器作为可学习的深度卷积
边缘特征包含有关图像的重要信息。如下图所示,大部分kernel
近似于边缘检测kernel
,例如 Sobel 滤波器 kernel
和拉普拉斯滤波器 kernel
。并且这种kernel
的比例在后面的层中减少,而喜欢模糊kernel
的kernel
比例增加。
因此,也许边缘检测器
可以取代基于 DSC
的网络中的深度卷积,以混合不同空间位置之间的特征。作者将通过用边缘检测kernel
替换可学习kernel
来证明这一点。
2网络架构
2.1 DownsamplingBlock
DownsamplingBlock
将分辨率减半并扩展通道数。如图 a 所示,仅扩展通道由逐点卷积生成以重用特征。深度卷积的核可以随机初始化或使用固定的高斯核。
2.2 HalfIdentityBlock
如图 b 所示,用恒等映射替换半深度卷积,并在保持块宽度的同时减少half pointwise convolutions。
请注意,输入的右半通道成为输出的左半通道,以便更好地重用特征。
2.3 VGNet Architecture
使用 DownsamplingBlock
和 HalfIdentityBlock
构建了受参数数量限制的 VGNets
。整体 VGNetG-1.0MP
架构如表 1 所示。
2.4 Variants of VGNet
为了进一步研究 N×N 内核的影响,引入了 VGNets
的几个变体:VGNetC
、VGNetG
和 VGNetF
。
VGNetC
:所有参数都是随机初始化和可学习的。
VGNetG
:除 DownsamplingBlock
的内核外,所有参数都是随机初始化和可学习的。
VGNetF
:深度卷积的所有参数都是固定的。
3实验
4参考
[1].EFFICIENT CNN ARCHITECTURE DESIGN GUIDED BY VISUALIZATION.
5推荐阅读
三星提出XFormer | 超越MobileViT、DeiT、MobileNet等模型