标签:
Wang, Min, Baoyuan Liu, and Hassan Foroosh. “Factorized Convolutional Neural Networks.” arXiv preprint arXiv:1608.04337 (2016).
本文着重对深度网络中的卷积层进行优化,独特之处有三:
- 可以直接训练。不需要先训练原始模型,再使用稀疏化、压缩比特数等方式进行压缩。
- 保持了卷积层原有输入输出,很容易替换已经设计好的网络。
- 实现简单,可以由经典卷积层组合得到。
使用该方法设计的分类网络,精度与GoogLeNet1, ResNet-182, VGG-163相当,模型大小仅2.8M。乘法次数
先来复习一下卷积的运算过程。标准卷积将3D卷积核(橙色)放置在输入数据
卷积核在一个通道上的尺寸为
当下流行的网络中,卷积层的主要作用是提取特征,往往会保持图像尺寸不变。缩小图像的步骤一般由pooling层实现。为书写简洁,这里认为输入输出的尺寸相同,都是
计算一个输出像素所需乘法次数为:
总体乘法次数为:
本文介绍了三种卷积层的优化变种。
设定核尺寸
在第一个步骤中,输入的每一通道单独运算。在同样尺寸卷积核的作用下,每一通道计算得到
在第二个步骤中,各个通道进行合并,但使用的卷积核尺寸为1。
乘法数量为
与传统卷积所需的乘法次数比例为:
提速示例
n k b rate 128 3 1 11.9% 128 3 5 59.5% 128 3 8 95.1% 128 5 8 38.3%
如果原有卷积核
对于输入输出通道数相同的情况(
使用
对于相同的
依然是
关于“相邻”,最直观的想法是,定义一个邻域大小
更巧妙的方法是,对输入通道数进行因式分解:
把原来的2+1维输入数据看做2+n维,在每一维定义一个邻域大小
例子:30维分解为
d1=5,d2=6 ,第13个输出通道,在2维空间中坐标为[3,3] 。邻域大小c3=1,c2=1 。和该通道有关的范围为[2,3,4;3] ,对应的输入通道为[8,13,18] 。
这个变种同样适用于
选择ImageNet分类问题为实验对象。首先使用标准卷积层设计三个标准网络A,B,A’作为参照。基本结构如下:
白色为卷积,绿色为pooling。第一阶段是一个核较大的卷积,最后一阶段是average pooling,直接生成1000类分类结果。
中间四大阶段由max pooling和三个卷积层构成,其中后两个卷积层(粗线)输入/输出通道数相同,适于本文所述方法优化。
A网络的卷积核尺寸(问号处)为2,每两个卷积层添加一个Residual结构;B网络卷积核尺寸为3,每个卷积层添加一个Residual结构。
对于不太深的网络,Residual结构对精度提升不大,主要作用是加速训练过程。
A’网络和A相同,只是输入为164×164。
网络C,E由A演变而来,网络D,F由B演变来,其top-1精度以及计算复杂度如下:
网络 | 优化 | k | b | 精度 | 复杂度 |
---|---|---|---|---|---|
A | 无 | 2 | - | 59% | 1 |
B | 无 | 3 | - | 62.1% | 2.25 |
C | 基层 | 3 | 4 | 61.9% | ~1 |
D | 基层 | 3 | 2 | 60.3% | ~0.5 |
E | 重叠基层 | 3 | 2 | 63.1% | ~0.5 |
F | 重叠基层 | 5 | 2 | 63.15% | ~0.5 |
使用重叠基层的卷积网络F,能够达到甚至超过原有网络B,计算复杂度不到原来25%。
网络G,H由A’演变而来。首先把A’网络的卷积层数量加倍:
将粗线所示卷积层的输入/输出通道进行分解,各层的因数
网络 | stage 1 | stage 2 | stage 3 | 精度 | 复杂度 |
---|---|---|---|---|---|
A’ | - | - | - | 54.2% | 1 |
G | 8*16 - 4*8 | 16*16 - 8*8 | 16*32 - 8*16 | 53.6% | 0.5 |
H | 4*8*4 - 2*5*3 | 8*8*4 - 4*5*3 | 8*8*8 - 4*5*6 | 52.9% | 0.47 |
达到相同性能,拓扑连接计算复杂度约为50%。
以A网络为基础,把两种优化方法组合,得到网络J,K:
网络 | 优化 | 精度 | 复杂度 |
---|---|---|---|
A | - | 59% | 1 |
J | 卷积层加倍, 2D拓扑 | 58.9% | 0.5 |
K | 卷积层加倍, 2D拓扑,层叠基准 | 60.1% | 0.25 |
只有25%计算复杂度,即超过原先网络。
综合前述实验结果,以网络E为基础,给出了ImageNet上分类问题的最佳网络L:
采用重叠的基层思想。每一个粗线白色模块的
与其他经典模型的比较结果如下:
【深度学习】卷积层提速Factorized Convolutional Neural Networks
标签:
原文地址:http://blog.csdn.net/shenxiaolu1984/article/details/52266391