参考:A Tutorial on Filter Groups (Grouped Convolution)
分组卷积最早出现在AlexNet中,当时硬件资源有限,训练时卷积操作不能全部放在同一个GPU中运算,因此作者在2个GPU上运行,把feature maps分给这两个GPU分别进行处理,最后把这两个GPU的结果进行concatenate,作为一层的output。
直到2016年Deep Roots: Improving CNN Efficiency with Hierarchical Filter Groups的论文首次发表之前,绝大多数深度学习研究人员都将一组滤波器解释为一种工程手段。确实,这是发明卷积层的主要原因,但是如果减少卷积层的参数,准确性肯定会下降吗?
AlexNet的作者在2012年也指出了一个有趣的副作用:conv1过滤器很容易被解释,过滤器组似乎总是把conv1分成两个独立的、截然不同的任务:黑白过滤器和彩色过滤器。
AlexNet论文中没有明确指出的是分组卷积更重要的副作用,即它们能更好地学习表示。这似乎是一个很不寻常的现象,然而可以用一个简单的实验来证明的:在使用分组卷积和不使用分组卷积来训练AlexNet,并观察准确率/计算效率的差异。下图表明,不用分组卷积的AlexNet不仅效率更低(在参数和计算方面),而且准确性也稍差。