智造讲堂:卷积操作模式设计

文摘   科技   2024-10-23 08:01   北京  

引自:《深度学习模型与算法基础》(作者:许庆阳、宋勇、张承进)

该书已出版,详细信息请见文末~


卷积神经网络自2012年AlexNet的成功应用,引起了众多学者的关注,至今科学家们已提出各种各样的CNN模型,网络模型深度逐渐加深、准确率不断提升,以及不断涌现的轻量化模型,同时卷积方式也在不断发生变化。

「 1. 多通道卷积 

多通道卷积是卷积网络常用的卷积处理方法,每个通道对应一个卷积核,特征图是由多个通道的卷积结果叠加而成,然后再经过激活函数,得到卷积特征,如图1所示。

图1 单通道与多通道卷积过程对比图

RGB彩色图像具有红、绿、蓝3个通道,因此输入数据的维度为(长,宽,通道)。例如,输入图片是三维的,输入一幅8×8的RGB图片,其维度为(8, 8, 3),此时卷积核的维度为(3, 3, 3),最后一维与输入通道数一致。此时的卷积运算,每个输入通道与对应的卷积核通道进行卷积,然后将3个通道所得的特征图再进行叠加,也就是之前是9个像素乘积的和,现在是27个像素乘积的和。因此,输出的维度并不会变化,还是一个(6, 6)的特征图。但是,通常情况下会使用多组卷积核对输入进行卷积,如同时使用4组卷积核的话,那么输出的维度则为(6, 6, 4)。如图2所示,假设输入维度为(8, 8, 3)的图片,4组卷积核其实就是第一层神经网络的参数,维度为(3, 3, 3, 4),其中4代表4组卷积核,输出是维度为(6, 6, 4)特征图,卷积层后通过一个激活函数对特征图进行激活,得到最终维度为(6, 6, 4)的特征图。

图2 包含激活函数的多通道卷积过程


「 2. 分组卷积 

根据多输入通道卷积的工作原理,卷积核通道数量与输入通道数量应该相匹配,而输出特征图的数量由卷积核组数决定。为了降低计算量,分组卷积将大量输入通道的卷积过程进行切分,如图3所示。

图3 多通道卷积与分组卷积

对于图3中多通道卷积,其参数量为h1×w1×c1×c2。而采用分组卷积方式后,输入通道被切分,后续卷积核只对相应的输入通道进行卷积,而非全体输入通道,因此卷积计算量由原始的h1×w1×c1×c2转换为g×(c1/g×c2/g×h1×w1)=g1×(h1×w1×c1×c2)的计算量。因此,分组卷积能够有效地减低计算量。

卷积只能在同一设备进行吗?分组卷积最早在AlexNet中出现,由于当时的硬件资源有限,训练AlexNet时卷积操作不能全部放在同一个GPU处理,因此将特征图分配给多个GPU分别进行处理,最后把多个GPU的结果进行融合,如图4所示。

图4 Alexnet网络结构图

分组卷积的思想对后续卷积网络架构的设计影响深远,当前一些轻量级的网络,都用到了分组卷积的操作,以节省计算量。分组卷积将计算量分配到不同的GPU上,降低了每个GPU的计算量。

「 3. 小卷积核堆叠 

卷积核的尺度多大合适?早期学者主要采用较大的卷积核,从而利用较大的感受野,获得更好的特征。AlexNet中使用了11×11、5×5等较大的卷积核。大的卷积核会导致计算量增大,不利于模型深度的增加,计算性能也会降低。于是在VGG、Inception网络中,利用2个3×3卷积核的组合替代1个5×5卷积核,具有相同的特征提取效果,同时参数量由5×5×1+1被降低为3×3×2+1,因此3×3卷积核在后续的卷积模型中被广泛使用。随着计算机硬件性能的不断提升,尤其是GPU性能的提升,清华大学、旷视科技等机构的研究者在CVPR 2022会议上的工作指出,CNN 中卷积核的尺度是一个非常重要但总是被人忽略的设计维度,并对具有31×31、29×29、27×27、25×25、13×13尺度卷积核的网络进行了研究,研究发现卷积核越大提升网络性能越明显。

「 4. 并联多尺寸卷积核 

传统的层叠式卷积网络,基本上都是卷积层的堆叠,每层使用一种尺寸的卷积核,例如VGG结构中使用了大量的3×3卷积核,如图5所示。事实上,同一卷积层可以分别使用多个不同尺寸的卷积核,以获得不同尺度的特征,再将这些特征合并起来,得到的特征往往比使用单一卷积核卷积得到的特征要好。谷歌的GoogleNet,或者说Inception系列的网络结构,都使用了多卷积核并联的结构,如图6所示。

图5 卷积过程

图6 最初版本的Inception结构图

输入特征图分别同时经过1×1、3×3、5×5卷积核的处理,得出的特征再组合起来,获得多维度的特征信息。但这种结构会导致参数及计算量过大,如此庞大的计算量会降低模型效率,因此后续研究中引出了1×1的点卷积结构进行处理。


「 5. 瓶颈层的使用 

为了降低计算量及参数量,GoogleNet团队在设计Inception架构时,将1×1的卷积操作加入到Inception结构中,以降低特征通道数量,如图7所示。

图7 加入1×1卷积的Inception结构图

图8对比了传统卷积与1×1的卷积操作中网络的参数量。假设输入特征图的通道数为256,要求输出通道数仍然是256,中间进行3×3卷积,产生64通道特征。两种卷积方式操作过程如下:

图8 不同卷积对比

(1)在传统卷积图8(a)中,需要使用64组3×3×256的卷积操作,方可产生64通道特征信息,最后经过256组3×3×64的卷积操作,得到256通道输出特征图,参数量为:64×3×3×256+256×3×3×64=294912。


(2)在1×1的卷积操作图8(b)中,256通道的输入先经过64组1×1×256的卷积操作,生成64通道特征图,再经过64组3×3×64的卷积操作,产生64通道特征图,最后经过256组1×1×64的卷积层,输出256通道特征图,参数量为:64×1×1×256+64×3×3×64 +256×1×1×64=69632。因此,有效地降低了参数量。1×1卷积核也被认为是影响深远的操作,后续大型的网络设计中,为了降低参数量都会使用1×1卷积核。


「 6. 具有权重的通道特征 

无论是在Inception、DenseNet或者是ShuffleNet中,所有通道产生的特征都是不分权重直接组合的,那所有通道的特征对模型的作用是相等的吗?显然不是。SENet是基于此思想而提出的,并在2017年的ImageNet分类赛冠军。在常规卷积网络中,前后层特征的传递具有直通性。但在SENet中,前后层特征传递分为两条路线:第一条是特征直接传递路线;第二条路线首先对特征进行全局平均池化操作,将每个通道2维特征图压缩成1维信息,从而得到特征通道对应的向量化表示,然后再进行激活操作,将这一列通道特征向量输入两个具有激活的全连接层,建模出特征通道间的相关性,得到每个通道对应的权重,这些权重与第一条直通的特征信息进行乘法运算,这样就完成了特征通道的权重分配,如图9所示。

图9 SEnet结构


「 7. 可变形卷积核 

传统的卷积核通常都是正方形或长方形,每次输入不同的图像数据时,卷积计算的位置固定不变,即使是空洞卷积/转置卷积,0填充的位置也都是事先确定好的。但可变形卷积是一种不同形式的卷积计算模式,该模式中卷积核的形状是可以变化的,变形的卷积核可以能够关注感兴趣的图像区域 ,这样卷积出来的特征信息更佳,如图10所示。

图10 可变形卷积效果图

可变性卷积在原始卷积核的基础上对每一个元素额外增加一个h和w方向的偏移参数,然后根据这个偏移在输入特征图上动态的获取像素点进行卷积计算,这样卷积核在计算中就能将卷积区域扩展到更大的图像范围,具有更高的灵活性。可变性卷积可以根据输入图像感知不同位置的信息,类似于注意力机制,从而达到更好的特征提取效果,但可变形卷积与传统卷积相比增加了一定的计算量和实现难度,如下式所示:

其中,R表示卷积核对应图像中像素位置的集合,w(pn)表示卷积核pn位置的权值,pn表示权值对应的坐标,p0 +pn+pn表示采样点坐标。由于pn为小数,因此采样坐标也变成了小数坐标,导致x(p0 +pn+pn)对应到输入特征图上无像素值,因此需要双线性插值,获得p=p0 +pn+pn在输入特征图上的像素值x(p0 +pn+pn),从而与卷积核进行卷积运算。


在实际操作时,可变形卷积并不是真正地将卷积核进行偏移,而是采用相对偏移的方式实现卷积核的偏移,即卷积核不变,将原始卷积核对应输入图片的像素位置经过偏移,获取偏移后的像素重新整合,与卷积核就行卷积运算。因此,可变形卷积在原始卷积核的基础上增加一层偏移量参数,通过偏移量参数学习获得卷积核在卷积运算中对应像素的位置偏移量,从而实现可变形卷积。可变形卷积网络具有两条信息流:一条是标准的3×3卷积操作;另一条也是具有相同步长的3×3卷积操作,通过卷积获得与输入尺寸相同的2通道的偏移场,代表在h和w方向上2维的偏移量,即图11(a)中的箭头所示;获得常规卷积核卷积计算区域(圆圈像素区域)对应的偏移量,将原位置信息(圆圈位置)加上偏移量得到偏移后的位置信息,通过双线性插值得到最终需要卷积的像素点,最后使用3×3的卷积核与这偏移后确定的9个像素信息进行卷积,产生卷积输出,如图11(b)所示。

图11 可变形卷积网络原理示意图

「 8. 空洞卷积 

空洞卷积是针对图像语义分割问题中下采样会降低图像分辨率、丢失图像信息而提出的一种卷积方式。通过间隔取值扩大感受野,其中扩张率定义了间隔的大小,标准卷积相当于扩张率为1的空洞卷积。图12展示的是扩张率为2的空洞卷积计算过程,可以看出3×3的卷积核可以感知标准的5×5卷积核的范围。另一种思路是先对3×3的卷积核间隔补0,使它变成5×5的卷积核,然后再执行标准卷积的操作,其效果是类似的,只是从哪个角度去看待问题。图12的卷积计算过程可以理解为卷积核大小为3×3,在采样图像像素时采用了间隔采样的方式;也可将其理解为3×3的卷积核被扩展为5×5进行卷积运算,其余点权重为0。因此,无论哪种方式卷积核的感知区域更大了。

图12 空洞卷积


「 9. 转置卷积 

转置卷积又称反卷积,它与空洞卷积的思路正好相反,是为上采样而设计的,常应用于语义分割当中。转置卷积的计算过程与空洞卷积不同。首先对输入的特征图进行间隔补0,即扩大输入特征图尺度,卷积核不变,然后使用标准的卷积进行计算,从而得到尺寸较大的特征图,如图13所示。

图13 转置卷积

「 10. 启发与思考 

随着深度学习技术的发展,卷积神经网络的设计采用了各种措施,越来越多的卷积神经网络模型被提出,从巨型网络到轻量化网络不断演变,模型准确率也越来越高,如表1所示。

表1 卷积神经网络改进措施

当前部分网络模型精度已可满足应用需求,因此工业界追求的重点已经不再只是准确率的提升,而是逐渐向速度与准确率的方向平衡发展,希望能够找到既快又准的深度网络模型。因此,卷积神经网络从最初的AlexNet、VGG模型,发展到体积较小的Inception、ResNet系列模型,以及为了满足应用的需求Mobilenet、ShuffleNet(体积降低到0.5MB)等轻量化模型相继被提出。因此,卷积网络的发展趋势逐渐由理论研究转向实用化发展。



版权归原作者所有

编辑:刘杨

编审:辛召



——————————————————————


购买链接

点击我购买 



相关阅读推荐(点击文章标题跳转)↓

1. 2021清华大学出版社智能制造图书推荐:新年智造书单

2. 清华大学出版社2022年上半年智能制造图书推荐:最新智造书单出炉

3.一篇文章带你了解智能制造课程怎么开

4.清华大学出版社智能制造知识服务平台试用邀请函

5.“智能制造系列丛书及知识服务平台”发布仪式顺利举办

6.国家出版基金项目暨“十三五”国家重点图书出版规划项目

——“智能制造系列丛书及知识库”圆满结项

7.新书推荐丨“图像图形智能处理理论与技术前沿”系列丛书《场景建模与机器人感知》正式出版


智造苑
欢迎加入,秉承“先进制造、制造强国”的理念,为大家提供专业的知识服务!
 最新文章