一、提出背景
在嵌入式设备上部署神经网络很困难,因为其有限的内存和计算资源。
常规的CNN网络提取到的特征图有很多冗余信息。
算法原理
1.Ghost module
常规的卷积公式:,其中
是卷积操作,
是输出的特征图,h‘是输出的高,w’是输出的宽,n是输出维度,即卷积核的数量。
是卷积核,c是通道数,k是卷积核的高和宽,n是输出维度。
整个卷积操作的FLOPs是:,n和c往往很大。
普通的conv操作如上图a,Ghost module对次进行了改进,第一步是使用更少的卷积核生成输出特征图,如原本的个数是n,现在的个数是m。第二步是对第一步生成的每一张特征图进行cheap operations(卷积),每张特征图生成s张新特征图,总共是m×s张,并保证m×s=n,这样保证Ghost module和普通conv输出的特征形状相同。第三步是将这些特征图拼接到一起。
Ghost module的初始卷积公式:,省略了b。其中
,m是初始卷积中卷积核的数量,
,其余的超参数如卷积核尺寸,步长,padding都是和普通conv一致。