具体方法:
- Shuffle Net:
将feature map按照channel进行分组。每个卷积核只对某一组进行运算,从而降低了参数量和计算量。为了防止由于分组导致局部特征得不到共享,每经过一次卷积操作,就将channel进行随机打乱。
- Mobile Net:
标准的卷积层,参数是KKMN,其中M,N分别是输入和输出的channel数目。采用Depthwise Conv和PointWise Conv相结合的方式,代替标准卷积核。 需要参数是KKM + 11MN
计算量 MACC (multiply-accumulate operation 乘法累加运算)
标准卷积: KKMNHoutWout
Mobile Net: KKMHoutWout + 11MNHoutWout
分解卷积:
将KK的卷积核分解成1K和K*1的BottleNeck
以ResNet为例,降维、卷积、升维SqueezeNet:分为Squeeze和Expand两部分,Squeeze听起来像是降维,因为要求(Squeeze层的输出S11 < input map number),Expand层分为两个分支,1×1的卷积和3*3的卷积,最后将两个分支的输出拼接起来。