condenseNet与mobilenet、shuffleNet一样都是小而精悍的模型。与shuffleNet一样都是为了优化1*1卷积的计算量。同时借鉴了denseNet的跳跃连接和shuffleNet的channel shuffle。但是没有使用mobilenet的depthwise 3*3卷积,而是使用了分组卷积。condenseNet比mobilenet模型小了6M,计算量小了2倍,同时在imageNet上的top1精度一样。当condenseNet的模型大小与mobilenet一样时,在imageNet上的top1比mobilenet少了3%.
condenseNet主要创新是提出了可学习的分组卷积,论文中主要是针对1*1卷积,当然也可以在其他大的卷积核中使用。
我们先看看标准卷积与分组卷积的差别,从下图可以看出,分组卷积有点像标准卷积的稀疏卷积版本。只是分组卷积没那么随机,每个组的输入图片之间的通道是不交叉的。
其实该论文提出的可学习分组卷积,就是利用了网络压缩技术中的稀疏网络原理。即在训练期间根据卷积核的L1值对卷积核进行置零操作。
正常的分组卷积,只要输入通道数确定了,那么每一组的输入通道数也就固定了。如,输入通道为256,分为4组,那么每一组的输入通道为256/4=64。但是论文并没有这个做,而是设置了一个condensation factor。这个因子的作用是什么呢,举个例子: