作者: Yunpeng Chen等

即插即用新卷积:提升CNN性能、速度翻倍

近期,来自 Facebook AI、新加坡国立大学、奇虎 360 的研究人员联合提出了一种新的卷积操作 (OctConv),用于替代现有的通用卷积。这款新卷积不仅占用更少的内存和计算,还有助于提高性能。

卷积神经网络(CNN)在很多计算机视觉任务中都取得了卓越的成就,然而高准确率的背后,却是很高的冗余度和不可忽视的计算开销。

图 1. 现有的卷积操作(1x1 卷积)

对于一个卷积操作而言(图 1),每个位置都是由一个 D 维特征向量 表示,而特征提取,则是通过滑动卷积,对每个位置分别处理得到对应的特征。

但是,这种为每个位置都分别存储一份特征表达,并分别一一处理的策略明显是不合理的。因为,对于图像而言,相邻位置往往描述的是同一个语义,从而共享一部分特征。

图 2. AlexNet 的第一层卷积核

与此同时,CNN 所学习到的卷积核,也并非全是高频卷积核,如 图 2 所示。这意味着,一部分卷积专注于提取「低频特征」,而另一部分则专注于提取「高频特征」。对于低频卷积所对应的特征图而言,我们也许只需要保留它的低频信号即可,没必要存储在高分辨率下的特征图。

图 3. 本文的:(a) 主要动机; (b,c) 新的特征表达方式;(d) OctConv 

如图 3 所示,本文提出将 特征图分为两组:低频特征(蓝色)和 高频特征(橙红),并将空间上变化较为缓慢的「低频特征图」存储在低分辨率的张量中,共享相邻位置间的特征。而本文所提出的 OctConv 则是一种可以直接作用在该特征表达下的卷积操作。它包含每个频率自身状态的更新(绿色箭头),以及频率间的信息交互(红色箭头)。

图 4. OctConv 的设计细节

Octave Convolution(OctConv)的命名应该是受到了 SIFT 特征的启发。而 Octave 是八个音阶的意思,音乐里降 8 个音阶代表频率减半。本文通过一个 Octave 将 高频 和 低频 特征隔离到不同的组中,并将低频的分辨率减半。

研究人员指出 OctConv 可以直接用于替代现有卷积,并且即插即用,无需调参,也不影响 CNN 的网络结构以及模型大小。由于 OctConv 专注于降低 CNN 空间维度上的冗余,因此它与现有专注于网络拓补结构设计,以及减少网络特征容易的方法是正交和互补的。

实验表明,用 OctConv 替代普通卷积可以稳定提高现有的 2D CNN 网络(包括 ResNet、ResNeXt、DenseNet、MobileNet、SE-Net)提高其在 ImageNet 上的图像识别的性能,此外也可以稳定提高 3D CNN 网络(C2D、 I3D)并在 Kinetics(行视频动作识别数据集)上取得了更佳的性能。配备了 OctConv 的 Oct-ResNet-152 甚至可以媲美当前最佳的自动搜索的网络 (NAS, PNAS 等)。

论文:Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convolution 

  • 论文地址:https://export.arxiv.org/pdf/1904.05049

  • 第三方复现结果:https://github.com/terrychenism/OctaveConv

在自然图像中,信息以不同的频率传输,其中较高频率通常以细节进行编码,而较低频率通常以总体结构进行编码。同样地,一个卷积层的输出特征图也可视为不同频率的信息混合。

在本文中,研究人员提出基于频率对混合特征图进行分解,并设计了一种新的 Octave 卷积(OctConv)操作,以存储和处理较低空间分辨率下空间变化「较慢」的特征图,从而降低内存和计算成本。

与现有多尺度方法不同,OctConv 是一种单一、通用和即插即用的卷积单元,可以直接代替(普通)卷积,而无需对网络架构进行任何调整。OctConv 与那些用于构建更优拓扑或者减少分组或深度卷积中通道冗余的方法是正交和互补的。

实验表明,通过用 OctConv 替代普通卷积,研究人员可以持续提高图像和视频识别任务的准确率,同时降低内存和计算成本。一个配备有 OctConv 的 ResNet-152 能够以仅仅 22.2 GFLOP 在 ImageNet 上达到 82.9% 的 top-1 分类准确率

方法

在本节中,研究人员首先介绍了用来降低特征图中空间冗余的特征表示,接着描述了直接作用于该表征的 Octave 卷积(图 4)。研究人员还讨论了实现细节,展示了如何将 OctConv 融入分组和深度卷积架构。

图 4. OctConv 的设计细节

表 1:对于低频特征所使用的低频所占比例α的不同,所带来的理论性能提升。当α=0 时(即没有低频成分),OctConv 就会退化为普通卷积。注意,无论比例α选择是多少,OctConv 的参数数量都是与常规卷机一致的(如图 5 所示)。

图 5. OctConv 的卷积核

图 3:采用卷积降采样后的特征图,在进一步上采样后,将导致整体向右下方漂移,影响特征融合。

这里,有一点很有意思。研究人员指出,通过卷积降采样会导致特征图无法准确对齐。并推荐使用池化操作来进行降采样

实验评估

在本节中,研究人员验证了提出的 Octave 卷积对于 2D 和 3D 网络的效能和效率。研究人员首先展示了 ImageNet 上图像分类的控制变量研究,然后将其与当前最优的方法进行了比较。之后,研究人员使用 Kinetics-400 和 Kinetics-600 数据集,展示了提出的 OctConv 也适用于 3D CNN。每一类别 / 块的最佳结果在论文中以粗体字显示。

图 4:ImageNet 上的控制变量研究结果。配备 OctConv 的模型较基准模型更有效和更准确。上图每一行的黑色标记●表示没有使用 OctConv 的基准模型。数字表示比例α。横坐标表示计算开销(FLOP),纵坐标表示准确率

表 2:ResNet-50 的实测时间开销(Inference time)以 2.0 GHz(单线程)在英特尔 Skylake CPU 上进行测量。

表 3:下采样的控制变量实验和 ImageNet 上的 inter-octave 连通性。

表 4:ImageNet 分类准确度。研究人员通过调整输入图像尺寸,检测网络对不同大小分布的物体的识别率。

表 5:小型模型的 ImageNet 分类结果。

表 6:中型模型的 ImageNet 分类结果。

表 7:大型模型的 ImageNet 分类结果。配备有 OctConv 的模型名称显示为黑色粗体,相关研究的性能数据来自相应论文。使用 CuDNN v10.03 在一个英伟达 Titan V100 (32GB) 上以 flop16 评估网络的训练内存开销及速度。采用神经架构搜索的工作标记为 (3)。研究人员将多数例子中的批大小设为 128,但对于大到 GPU 内存无法负荷的网络,他们将批大小减小为 64(带†标记的)或 32(带‡标记的)或 8(带§标记的)。

表 8:视频中的动作识别、控制变量研究,使用 ResNet50 的所有模型。

理论卷积运算卷积神经网络
5
相关数据
英特尔机构

英特尔是计算创新领域的全球领先厂商,致力于拓展科技疆界,让最精彩体验成为可能。英特尔创始于1968年,已拥有近半个世纪产品创新和引领市场的经验。英特尔1971年推出了世界上第一个微处理器,后来又促进了计算机和互联网的革命,改变了整个世界的进程。如今,英特尔正转型成为一家数据公司,制定了清晰的数据战略,凭借云和数据中心、物联网、存储、FPGA以及5G构成的增长良性循环,提供独到价值,驱动日益发展的智能互联世界。英特尔专注于技术创新,同时也积极支持中国的自主创新,与产业伙伴携手推动智能互联的发展。基于明确的数据战略和智能互联全栈实力,英特尔瞄准人工智能、无人驾驶、5G、精准医疗、体育等关键领域,与中国深度合作。面向未来,英特尔致力于做中国高价值合作伙伴,在新科技、新经济、新消费三个方面,着力驱动产业协同创新,为实体经济增值,促进消费升级。

https://www.intel.com/content/www/us/en/company-overview/company-overview.html
相关技术
池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

降采样技术

降采样是数位信号处理领域中的一种多速频数字信号处理(multi-rate digital signal processing)系统中采样率转换(sample rate conversion)技术的一种,或指代用来降低信号采样率的过程,与插值相反——插值用来增加取样频率——降采样通常用于降低数据传输速率或者数据大小。因为降采样会有混叠的情形发生,系统中具有降采样功能的部分称为降频器(decimator)。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

上采样技术

在数字信号处理中,上采样、扩展和内插是与多速率数字信号处理系统中的重采样过程相关的术语。 上采样可以与扩展同义,也可以描述整个扩展和过滤(插值)过程。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

360机构

奇虎360科技有限公司,是中国领先的互联网和手机安全产品及服务供应商。据第三方统计,按照用户数量计算,360是中国领先的互联网安全公司,用户6亿,市场渗透率96.6%;中国领先的移动互联网安全公司,用户数近8亿,市场渗透率近70%;中国领先的浏览器公司之一,活跃用户达到4亿,渗透率超过70%。 360致力于通过提供高品质的免费安全服务,为中国互联网用户解决上网时遇到的各种安全问题。面对互联网时代木马、病毒、流氓软件、钓鱼欺诈网页等多元化的安全威胁,360以互联网的思路解决网络安全问题。360是免费安全的首倡者,认为互联网安全像搜索、电子邮箱、即时通讯一样,是互联网的基础服务,应该免费。为此,360安全卫士、360杀毒等系列安全产品免费提供给中国数亿互联网用户。同时,360开发了全球规模和技术均领先的云安全体系,能够快速识别并清除新型木马病毒以及钓鱼、挂马恶意网页,全方位保护用户的上网安全。

https://www.360.cn/
推荐文章
暂无评论
暂无评论~