卷上加“卷”:特殊卷积的实现

卷上加“卷”:特殊卷积的实现

  • 发布时间:2022-04-04 07:00
  • 访问量:

【概要描述】卷积是现代机器学习算法中最常用的算子,是许多主流AI模型的基础构件。为了更好的适用于不同场景,常规卷积也发展出了各类变形。本文讨论了一些面向特定应用的特殊卷积的实现,分析了各自特点。

卷上加“卷”:特殊卷积的实现

【概要描述】卷积是现代机器学习算法中最常用的算子,是许多主流AI模型的基础构件。为了更好的适用于不同场景,常规卷积也发展出了各类变形。本文讨论了一些面向特定应用的特殊卷积的实现,分析了各自特点。

  • 分类:研究院
  • 作者:
  • 来源:
  • 发布时间:2022-04-04 07:00
  • 访问量:
详情

摘要

 

卷积是现代机器学习算法中最常用的算子,是许多主流AI模型的基础构件。为了更好的适用于不同场景,常规卷积也发展出了各类变形。本文讨论了各种不同卷积的实现,分析了各自特点。随着深度学习研究的深入和应用的拓展,相信会有更多高性能的算子会被发明出来。

 

简介

 

卷积是现代机器学习算法中最常用的算子。从信号处理的角度来看,它分析的是输入信号经过线性移不变系统后的输出。卷积包括三个要素:输入x,输出y和移不变系统f。移不变系统的表达一般以卷积核来代替。在深度学习等领域,卷积操作以离散形式表达。以二维信号卷积为例。若多通道输入为x(n,m,c),卷积核 f(k,c,r,s),输出y(n,m,k),卷积操作可以表达为:

可以看出离散卷积的输出是输入与卷积核逐单元(像素)点乘后累加。在具体实现时,卷积可以通过适当的数据处理后以矩阵乘的形式来完成。这种操作也是许多AI芯片加速计算的核心点之一。

多级的深度卷积网络可以提取输入信号各尺度的不同特征,极大提升了神经网络的处理能力,促进AI性能的爆发,从而被广泛应用于各种实践领域。

在各类实践中,人们发现存在一些不同的场景,常规的卷积操作要么不能取得好的效果,要么计算效率低下。针对这样一些情况,各种特定的卷积被发明出来。这些“卷”出来的卷积操作在特定应用中取得了比常规卷积更好的效果。

 

常见卷积算子

 

除了标准的多通道卷积外,已经有许多卷积算子被应用于深度学习中。

•1x1卷积:仅沿输入信号通道方向混合的卷积[1]

•Depthwise卷积:输入信号各通道独立混合的卷积[2]

•分组卷积:将输入信号通道分组,组内混合的卷积[3],而shuffled grouped卷积则进一步将分组的通道打散重排分组[4]

除了上述这些常用的算子,深度学习中还用到了dilated卷积、involution(内卷)等等卷积实现。针对特定应用,学者也提出了各种特殊的卷积算子,包括本文介绍的deformable卷积和稀疏卷积等。

 

Deformable卷积

 

在自动驾驶和交通监控等CV任务中,检测目标由于运动和视角等变化存在大的形变。常规卷积不能很好的捕获这样的形变特征。因此,研究者们提出了deformable卷积[5]。

DCN算子对卷积时视野中每个点加一个偏移量。也就是说卷积核不是与对应的点相乘,而是与偏移后位置的点相乘。因此偏移后卷积核的感受野不是方形的,而是与输入特征匹配的。

 

图1 DCN算子的采样点分布, 左1,常规;其它,各种变形的偏移采样(Fig.1 in [5])

 

DCN的要点在于每个位置偏移量不是固定的,根据输入feature map计算来确定。偏移量的计算模式是通过训练得到的。考虑到偏移后每个采样点对卷积的影响不同,DCN又引入了对采样点值加权的调制量。这个调制量也是用训练后的参数逐点计算,并通过sigmoid函数控制在[0,1]之间[6]。

DCN的实现原理如下图例子所示:

 

图2 DCN的实现

 

输入x经过计算偏移量和调制量的卷积核,得到逐点的偏移量(dx, dy)和调制量m。对于图中3x3卷积,每个点有9组偏移量和调制量。

通常情况下,计算得到的偏移量都不是整数,无法直接得到对应点的输入特征值。因此DCN用插值方法来计算偏移位置所有通道的特征值x_offset。计算结果经偏移量调制,作为DCN卷积的输入。

偏移调制后的特征值x_offset_mod与DCN卷积核(图中左下)乘累加计算,得到最终的DCN结果y。

在上述DCN计算流程中,除了DCN卷积核,计算偏移量的卷积核参数也是可学习的,需要在训练中优化。

实验证明DCN的感受野比一般卷积更大且变形灵活,对物体形变具有更强的提取能力。如图所示,DCN对目标的采样点分布能很好地匹配不同目标形状。

 

图3 实际图像上各目标采样分布:从左到右,背景、小目标、大目标(Fig 6 in [5])

 

稀疏卷积

 

实际应用中许多信号包含大量为零的单元,比如用于立体视觉的点云数据。如果直接用普通的计算方式对这类高度稀疏的信号卷积,会有大量乘0的操作,白白浪费计算资源。另一方面自动驾驶等应用对实时性要求高,需要及时处理输入的感知信号,其中就包括激光雷达产生的点云数据。

因此学者们提出了针对稀疏信号的稀疏卷积计算实现[7]。其核心思想很简单:仅让非零的元素参加计算。为此,该实现在计算前首先建立包含非零输入和输出位置的索引表,然后构建一个Rule矩阵。Rule矩阵每一行是一个点乘的atomic操作,包含了给定input的index i和卷积核偏移k相对应的输出在索引表的index j。

计算时,稀疏卷积首先gather参数与非零输入,完成矩阵乘法(GEMM),计算结果scatter到输出矩阵相应位置,最后累加输出每个单元的GEMM值。整个计算可以简化为gather->GEMM->scatterAdd。

 

图4 稀疏卷积计算的实现(Fig.2 in [7])

 

上述实现计算前首先要建立rule矩阵,会付出额外的计算代价。但计算时仅非零单元参与计算。对于高度稀疏的点云等数据卷积,整体的计算效率还是会有很大的提升。实验结果表明,在相近性能情况下,稀疏卷积算子构建的检测网络在KITTI数据集上比主流模型有5-10倍的速度提升。

 

“卷”的代价

 

为了更大限度“压榨”出卷积提取特征的性能,研究者们根据应用和信号特定设计了不同的算子实现,并在实现中取得了更好的性能。当然,“卷”不是没有代价的。这些特殊卷积往往会增加在实现和计算等方面的开销。

以Deformable卷积为例,为了更准确的根据输入形状选取采样点,我们需要增加额外的卷积和插值计算。这也意味着更高的计算需求。特别是在实时检测等实时要求高的场景,高计算量会限制Deformable卷积的应用。

类似的,稀疏卷积尽管减少了参与计算的单元,但构建用于计算的rule矩阵需要额外的开销。当数据稀疏度不够高时,稀疏卷积反而会增加计算量,降低计算效率。因此在实践中,我们往往会根据需求、硬件等各方面因素在性能增益和开销之间综合考虑和折衷。

 

小结与思考

 

 

本文讨论了AI应用中一些特殊的卷积算子及实现。这些卷积在特定领域可以取得比常规卷积更好的性能。随着深度学习研究的深入和应用的拓展,相信会有更多高性能的算子会被发明出来,提升AI模型的整体性能,推动机器学习的发展,甚至会对AI加速器软硬件发展带来更多的挑战与机遇。

 

参考文献

[1] Min Lin, Qiang Chen, Shuicheng Yan, Network In Network,  arXiv:1312.4400.

[2] A. Howard, et.al., MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications, arXiv:1704.04861.

[3] S. Xie, et.al., Aggregated Residual Transformations for Deep Neural Networks,   arXiv:1611.05431.

[4] X. Zhang, ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices, arXiv:1707.01083.

[5] J.Dai, et.al., Deformable Convolution Networks, arXiv:1703.06211.

[6] Z.Zhu, et.al., Deformable ConvNets v2: More Deformable, Better Results, arXiv:1811.11168v2.

[7] Yan Yan, Yuxing Mao, & Bo Li, SECOND: Sparsely Embedded Convolutional Detection, Sensors 2018, 18, 3337

 

近期文章

由简入繁探究机器视觉中的数据增强(上)

由简入繁探究机器视觉中的数据增强(上)

本文探讨图像数据增强的两大主流方法各自的优劣势,针对目前图像数据增强面临的挑战及未来思考可研究的技术方向。
2022-05-09
Kubric:高效地合成视觉数据集

Kubric:高效地合成视觉数据集

随着机器学习的发展,数据集的重要性越来越凸显。然而收集大量带标注的图像或者视频数据成本高昂。而使用合成的数据集则具有成本更低,且由于收集方便,标注信息准确,高度可控,使得其成为一种训练大规模深度学习模型的有效手段。
2022-05-02

联系我们

这是描述信息

招贤纳士

公众号二维码
这是描述信息

 版权所有   ©   上海壁仞科技有限公司   |    沪ICP备19047354号