欢迎大家来到《知识星球》专栏,这里是网络结构1000变小专题,我们要慢慢开始更新AutoML与网络设计相关的内容。
作者&编辑 | 言有三
1 MixNet
有三AI知识星球-网络结构1000变
MixNet
基于Depthwise的分组卷积是一个非常有效的模型设计,不过它们通常是用同样大小的卷积核,MixNet则使用了可学习的多尺度卷积核提升其性能。
作者/编辑 言有三
我们在前面已经给大家讲述过许多的分组卷积模型,比如MobileNet V1/V2中全部都是使用3*3,如果使用其他大小的卷积核,性能如何呢?
上面是实验对比,可以发现随着卷积核增加,性能有增加的趋势,虽然到了9*9之后性能会下降。
既然不同的卷积核大小有性能的差异,说明各自还是学习到了不同的特征表达,再参考到Inception等多尺度结构,自然就可以想到用不同大小的卷积核进行实验。
网络结构如上,关于使用多少种不同尺度的卷积核,有两种思路。第一种,就是人工设定,比如使用3x3, 5x5, 7x7, 9x9等四种卷积核,各自的通道数量可以均分。
当然更好的方式就是基于学习了,让其对卷积核的种类和通道数量划分进行搜索,看看实验对比如下:
上图展示的是在不同计算量下的两套模型的性能对比,上表展示的是具体的指标,结果当然是MixNet性能更优秀了。
[1] Tan M, Le Q V. MixNet: Mixed Depthwise Convolutional Kernels[J]. arXiv preprint arXiv:1907.09595, 2019.
2 ScaleNet
有三AI知识星球-网络结构1000变
ScaleNet
分组网络的不同分支可以拥有同样的感受野,也可以拥有不同的感受野,不过以往都是通过手动进行分配。然而不同的感受野对于不同的任务来说,应该有不同的重要性,ScaleNet就可以学习到不同的权重。
作者/编辑 言有三
网络结构如上,可以看到不同尺度在不同网络层的比例不同,整体结构与一般分组卷积无异。
ScaleNet具体的流程是:
(1) 初始化,每个尺度的通道数量进行均匀分配。
(2) 训练该网络直到收敛。
(3) 根据BN层的缩放因子,在满足计算量的约束下,选择其中最重要的一些分支。
(4) 得到新的网络,重新训练该网络。
作者们将这个结构替换掉ResNet中的基本单元,如下:
使用ResNet系列在ImageNet上面的训练结果如下:
可以发现以更低的flops取得了更高的精度,下图展示了各个网络层的统计。
可以看出,不同层所需的尺度比例,即对感受野的需求是不同的。
参考文献
[1] Li Y, Kuang Z, Chen Y, et al. Data-Driven Neuron Allocation for Scale Aggregation Networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 11526-11534.