TPAMI 2021 华为诺亚&悉尼大学陶大程团队提出多功能卷积,助力轻量级网络

0

写在前面

在本文中,作者提出了一种用于构造高效卷积神经网络的多功能滤波器 ,并应用于各种视觉识别任务中。考虑到硬件上运行高效的深度学习模型的需求,研究者们已经开发了许多方法来学习紧凑的神经网络。这些工作大多数是以不同的方式来压缩滤波器,例如,研究小的、稀疏的或量化的滤波器。

相反,作者从“加法”的角度来处理滤波器。在二进制掩码的帮助下,可以从主滤波器导出一系列次滤波器 。这些次滤波器继承于主滤波器,不占用额外的存储空间,但一旦在计算中展开,它们就可以通过整合不同感受野提取的信息来显著增强主滤波器的能力。
除了空间多功能滤波器外,作者还从通道的角度对多功能滤波器进行了研究。在正交约束下,可以为不同的主滤波器进一步定制二进制掩码。在基准数据集上的实验结果表明,本文提出的多功能滤波器能够达到与原始滤波器相当的精度,但需要更少的显存和计算量。
01

论文和代码地址

Learning Versatile Convolution Filters for Efficient Visual Recognition

论文地址:https://arxiv.org/abs/2109.09310v1

代码地址:未开源

02

Motivation

计算机视觉应用(例如,图像分类、目标检测和图像分割)在卷积神经网络(CNN)的帮助下,在过去十年中取得了显著的发展。从最早的AlexNet到近期的ResNeXt,分类准确率不断提高,但是计算量也不断的提高。因此,这些网络在计算资源和存储资源丰富的场景中能被广泛使用,但是在智能手机、摄像头等移动设备上部署并不容易。

基于这样的现象,过去几年也提出了许多不同的方法来解决了低性能设备资源供给与复杂神经网络需求之间的矛盾,比如剪枝、量化、蒸馏学习等。在本文中,作者提出了这样两个问题:一个正常的卷积核的价值是否已经被最大限度地挖掘出来了?一个正常的卷积核能发挥比平常更多的作用吗?
在本文中,作者提出了用于高效卷积神经网络的多功能滤波器 。作者根据一些预定义的规则从主滤波器中采样一系列较小的辅助滤波器。这些次滤波器继承了主滤波器的权重,但它们将具有不同的感受野,并从空间维度提取特征。神经网络由主滤波器组成,而网络的作用将通过次滤波器在计算中充分体现出来。
具体的,作者在空间和通道维度都用了多功能卷积。其中将主滤波器展开为次滤波器时,用到了二进制掩码。除了手工设计的二进制掩码来生成多功能滤波器之外,作者还通过可学习的二进制掩码进一步学习更加灵活的多功能卷积,并利用正交约束来提高这些滤波器的多样性。
其中,主滤波器和二进制掩码都是通过端到端的方式进行学习优化的。得到的神经网络是轻量级的,因为只需要几个主滤波器和1-bit形式的掩码。
首先,可学习的二进制掩码可以以两种方式部署:由不同的主滤波器共享的二进制掩码,或者不同的主滤波器具有不同的二进制掩码集合 。其次,为了提高生成的次滤波器的多样性,作者引入正交约束来降低学习到的二进制掩码之间的相关性
为了加快多样性滤波器的卷积速度,作者将主滤波器和输入特征映射之间的卷积作为缓存中的中间结果,可以由不同的二进制掩码重复使用。此外,作者在图像分类、目标检测和图像超分辨率等不同视觉识别任务上进行了扩展实验,验证了多功能滤波器的有效性。
03

方法

3.1 Spatial Versatile Filters

给定输入数据和卷积核,其中d为卷积核感受野的大小,卷积的过程可以表示为:

其中表示卷积操作,输出特征的空间维度为。相比于全连接操作,卷积操作能够节省计算量,因为利用了局部操作。对于上面的例子,全连接的复杂度为,卷积的复杂度为。
感受野是卷积引入的一个重要概念。较大的感受野将允许神经元在更大的区域内检测到变化,但会导致较不精确的感知。另一方面,较小的感受野将使神经元能够检测到细微的细节。
因此,综合较大感受野和较小感受野的神经元来提取全面、准确的特征是合理的 。显式引入不同大小的滤波器是处理不同尺度的输入信息的直接方法,但是这些滤波器存储空间的显著增加是一个新的挑战。
最重要的是,尽管同一层中不同大小的滤波器有不同的感受野,但它们的感受野会有一定的重叠,这表明了它们对应的滤波器之间存在联系。其中为主滤波器,为次滤波器,。为了最大化主滤波器的作用,次滤波器通过一个二进制掩码从主滤波器中采样得到:

示意图如下所示:

通过concat来自这些次滤波器的卷积输出,可以得到如下所示的特征映射

其中、、是偏置参数。通过上述的公式,我们可以同时得到来自s个不同感受野的次滤波器的卷积结果。

3.2 Channel Versatile Filters

上一节提出的空间多功能滤波器,通过调整给定卷积滤波器的高度和宽度来生成一系列次卷积滤波器。然而,这些次滤波器仍然存在明显的冗余性,即每个卷积滤波的通道数远大于其高度和宽度。考虑到1×1滤波器在CNN架构中的广泛应用,如MobileNet和ShuffleNet,作者从通道的角度着手开发通道多功能滤波器

卷积滤波器最重要的特性是它们的权重对输入数据共享。此外,卷积滤波器通常与输入数据具有相同的深度,并基于步长参数沿输入数据的宽度和高度方向滑动。如果输入深度为512,那么一个1×1×512的滤波器需要进行大量的浮点乘法,对不同的通道进行加权,以跨通道地整合信息。
然而,这种针对所有通道的粗粒度信息汇总很难突出单个通道的特征,因此作者基于通道维度,为原始卷积滤波器定义了通道次滤波器,即:
其中为通道步长,示意图如下图所示:

3.3 Learning To Be Versatile

上面介绍了手工设计的mask,但是这些手工设计的mask与人类知识高度相关,并且对于不同视觉识别任务中的CNN来说,可能并不总是最佳的。因此,作者没有使用预定义规则来生成二进制掩码,而是倾向于在优化的同时学习最优的二进制掩码。

虽然主滤波器将被利用多次(最多s次),但只需要维护一个副本,这意味着比标准卷积滤波器需要更少的32-bit值。由于二进制掩码不是固定的,并且会随着主滤波器的不同而不同,因此也需要存储它们,但是二进制掩码的1-bit二进制值不会带来太多的存储成本。
当存在多个主过滤器时,作者提出两个用于将二进制掩码部署到不同主滤波器的策略,即共享策略(shared strategy)分离策略(separate strategy) 。在共享策略中,不同的主滤波器共享二进制掩码;但在分离策略中,每个主滤波器的二进制掩码都是单独的。
对于共享策略(如上图所示),不同的主滤波器使用相同的掩码可以生成不同的次滤波器,如下所示:
然后基于共享策略生成的次滤波器,进行卷积操作:
对于分离策略(如上图所示),不同的主滤波器使用不同的掩码可以生成不同的次滤波器,如下所示:

然后基于分离策略生成的次滤波器,进行卷积操作:

它的计算复杂度与共享策略相同。虽然掩码数量增加了,但由于生成的次级滤波器的多样性增加,这种分离策略可以导致更好的表示能力。

为了进一步促进所生成的次滤波器及其所产生的特征图的多样性 ,主滤波器的二进制掩码相互之间应该尽可能不同。因此,作者提出降低二进制掩码之间的相关性。通过向量化并将所有的二进制掩码并堆叠到一个矩阵中,得到:

其中M应该是一个近似正交的矩阵,用于生成没有明显相关性的特征映射。因此,作者在训练阶段对每个卷积层中的二进制掩码应用以下正则化:

其中是单位矩阵,是M的每列中的元素数。通过最小化上述函数,二值掩码将近似彼此正交,这将改善次滤波器之间的差异,并增加所得到的特征图的信息量。
04

实验

4.1 Experiments on CIFAR-10

作者首先在CIFAR-10上进行了实验。

从上表可以看出,加入空间和通道多样性滤波器后,模型的计算量和参数量都有一定程度的下降。
上表显示了不同和参数下的参数量、计算量和准确率的结果。
上图显示了不同超参数和λ下的准确率变化。

4.2 Efficient Visual Classification

接下来,作者在ImageNet上进行了实验。

上表显示了本文方法基于AlexNet和ResNet-50进行的实验结果,表明本文的方法在不同的网络结构上都有效。
上图和上表显示本文方法和其他方法在ImageNet上精度和计算量的对比,可以看到本文的方法在精度和计算量上达到了更好的水平。
上表显示了不同方法在CPU上进行推理所用的时间。
上表显示了,将所提出的方法与训练后量化方法相结合的实验结果。
作者还在一些小网络上进行了实验,实验结果如上表所示。
上表显示了基于小网络,不同方法在CPU上进行推理所用的时间。
上表显示了本文方法和NAS方法相对比的结果。

4.3 Efficient Visual Detection

上表显示了本文方法在目标检测上的实验结果。

4.4 Efficient Visual Super-Resolution

上表显示了超分辨任务上,在VDSR模型上应用多功能滤波器的实验结果对比。
05

总结

探索低显存使用率和计算复杂度的卷积神经网络是非常必要的,这样才能使得这些模型能在移动设备上使用。事实上,一般神经网络的主要浪费在于,对于给定的数据,具有海量参数的卷积滤波器只能产生一个特征。

为了充分利用卷积滤波器的建模能力,本文从空间和通道两个角度提出了多功能的卷积滤波器,可以使用更少的参数来生成相同数量的有用特征,同时降低计算复杂度。在基准图像数据集和模型上的实验表明,该方法不仅减少了对存储和计算资源的需求,而且提高了CNN的性能。此外,本文提出的方法可以很容易地利用现有的卷积来实现。

▊ 作者简介

研究领域:FightingCV公众号运营者,研究方向为多模态内容理解,专注于解决视觉模态和语言模态相结合的任务,促进Vision-Language模型的实地应用。

知乎/公众号:FightingCV

END

(0)

相关推荐