一种加强通道重排和融合的卷积神经网络模块的实现方法
文献发布时间:2023-06-19 10:58:46
技术领域
本发明属于人工智能领域,涉及机器学习和深度学习,具体为一种加强通道重排和融合的卷积神经网络模块的实现方法。
背景技术
深度卷积神经网络在计算机视觉中取得了很大的成功,颠覆了大部分传统的计算机视觉算法。深度卷积网络通常由卷积(Convolution简称Conv)、批量化归一化(BatchNormalization,简称BN)、线性整流函数(Rectified Linear Unit,简称ReLU)为一个基本的计算单元,Conv/BN/ReLU。大多卷积神经网络以该基本单元为元素进行不同的方式连接、堆叠,在堆叠过程中通常会使用不同卷积核大小不同的卷积层来实现不同的功能。特别地,1x1卷积核大小的卷积层通常起到如下作用:在ResNet中,一个Conv 1x1对的瓶颈(bottleneck)模块中的通道数进行降维和升维;而在ShuffleNet或者MobileNet中,模块的Conv 1x1起到的作用则更多是对其瓶颈结构(bottleneck)内深度可分离卷积后的不同通道的特征进行融合。可是Conv 1x1同时进行升降维和通道融合,使得通道融合并不充分,本发明将提供一个改进模块,帮助缓解这一问题。
目前,不同网络有一些其他方法能有一定程度缓解这些问题,例如通道间的洗牌(Shuffle)被用在ShuffleNet上,该方法将不同分组的通道按一定规则重组,使得新的分组拥有所有其他分组的通道,可ShuffleNet无论是训练时还是测试时,通道顺序的调整都是静态的;动态分组卷积则进一步在训练时学习了动态重排的方式和分组数量数,能够很好的在训练时调整通道顺序,可是该方法的调整没有进行通道间的融合,而且在测试时调整顺序是静态的,该调整也不能针对样本进行调整通道顺序。本发明提出的算法是通过一个学习调整的模块,使得这个模块可以根据输入的情况不同来对卷积神经网络特征图的通道进行重排和通道的融合,在增加不多参数数量的情况下给网络增加更多的非线性,解决通道洗牌(shuffle)是静态的问题。
本发明与SE-Net等注意力模块的不同在于:SE-Net只是调整了不同通道进入到通道的权重,并没有对不同通道进行融合,ResneSt只是将SE模块进行拆分调整,使得SE模块更适用于分组卷积,也没有考虑通道融合的问题。本发明关注通道的动态洗牌并且融合,利用通道本身的信息进一步交换大多数相邻通道间的信息。
发明内容
本发明提出了一种调整通道排列,加强通道融合的神经网络即插即用的模块,可以用来改善深度可分离卷积或分组卷积后不同分组通道融合不充分的问题,丰富单一通道的信息量,在实际应用的过程中,即使是非分组卷积也能够使用。该模块可以即插即用于绝大部分的卷积神经网络,增加网络的非线性,拟合能力,稳定提升卷积神经网络的性能。
本发明至少通过如下技术方案之一实现。
一种加强通道重排和融合的卷积神经网络模块的实现方法,包括以下步骤:
(1)设深度卷积神经网络的某一层的特征图为X∈R
(2)通过对这个步骤(1)产生的特征图X
(3)利用步骤(2)得到的重排融合向量的第i个值O
优选的,所述过渡特征图为X
X
其中R
优选的,步骤(1)中,直接对特征图X卷积,或交换原始特征图X的某些维度之后再卷积。
优选的,步骤(1)中,先对特征图X进行池化降维后再进行卷积。
优选的,所述过渡特征图X
优选的,步骤(1)所述卷积层选择W
优选的,步骤(2)具体为:对特征图X
优选的,步骤(3)中对特征图X进行重排和融合,包括以下步骤:
初始化为与特征图X尺寸一样的全零矩阵X
对第i个通道的特征图X
如果0≤j≤C-2,则特征图X
如果新通道j=-1,则特征图X
如果新通道j=C-1,则特征图X
对通道i在闭区间0到C-1的所有通道执行上述步骤,执行完后,得到该模块对特征图以通道为尺度进行重排和融合后新的特征图X
其中,d
优选的,步骤(3)中F(x)函数为F(x)=1-|x|,利用函数F和向量O∈R
优选的,该卷积神经网络模块的训练为:利用各种随机梯度下降的方法训练,且将该卷积神经网络模块的权重初始化为零,并将学习率设置为其他卷积层学习率的1/10或者更小。
与现有的技术相比,本发明的加强重排和通道间的融合可以一定程度增加非线性,又不会导致过拟合,通过增加少量计算量,使得网络的性能更好,带来依赖于数据本身的以通道为尺度的重组、排列和融合,增加通道间的信息交流,改善通道融合不充分的问题,带来更高的鲁棒性。同时,这种重组排列和线性融合时保证每个通道的线性融合时的权重的和都为一,保证了输入特征图的通道的前向传输的参与度为1,充分利用上一层特征图的信息。
附图说明
图1为本实施例一种加强通道重排和融合的卷积神经网络模块的实现方法前向推理图;
图2a为本实施例步骤(3)中0≤j≤C-2时的X
图2b为本实施例步骤(3)中j=-1时的X
图2c为本实施例步骤(3)中j=C-1时的X
具体实施方式
下面通过具体实施方式对本发明作进一步详细地描述,但本发明的实施方式并不限于此。
本发明利用一个卷积模块,各通道的特征图生成与通道一一对应的重排融合向量O∈R
如图1所示,一种加强通道重排和融合的卷积神经网络模块的实现方法,包括以下步骤:
(1)设深度卷积神经网络的某一层的特征图为X∈R
X
其中R
当中产生的过渡特征图X
而且上述产生的过渡特征图X
本实施例的卷积层选择卷积核大小为3×3,填补(padding)为1,步长为1的深度可分离(depth wise)卷积,则得到X
(2)通过对这个步骤(1)产生的特征图X
具体的,对特征图X
O=Avg_pooling2d(X
其中Avg_pooling2d表示空间维度的平均池化;
(3)利用步骤(2)得到的重排融合向量的第i个值O
初始化为与X尺寸一样的全零矩阵X
对第i个通道的特征图X
如果0≤j≤C-2,则X
如果j=-1,则X
如果j=C-1,则X
对i在0到C-1的所有通道遍历上述步骤,执行完后,得到该模块对特征图以通道为尺度进行重排和融合后新的特征图X
权重d
d
其中,d
在上述的过程中,如果j>C-1或者j+1<0表示通道的重排的新位置超过通道的范围,那么该通道的特征图X
图2a~图2c为本实施例上述步骤(3)的三种情况的示意图,图2a表示步骤(3)中0≤j≤C-2时的X
对于实际的算法执行,考虑到硬件对并行性要求,将F(x)具体地定为F(x)=-|x|+1这种比较简单的负相关关系的函数,同时依据通道的加权求和可以转化为矩阵相乘的原理,可以将卷积神经网络生成的重排融合信息,变成一个权重矩阵D,然后利用权重矩阵D进行重排和融合,以达到利用矩阵乘法达到并行计算的目的,具体如下:
设一个矩阵形如M
利用矩阵M
利用矩阵M
利用步骤(2)得到的重排融合向量O∈R
然后利用X
D=X
然后遍历矩阵D的所有元素d
得到的矩阵D,这是用来进行矩阵乘法的重排和融合的权重矩阵,其中的第i行第j列的元素d
然后对输入X∈R
得到重排融合后的张量X
关于此模块的训练过程:对增加了此模块的神经网络,在利用各种随机梯度下降的方法训练的时候,要将这个模块的的权重初始化为零,保证刚开始训练时不会影响卷积神经网络本身进行传播,并将学习率设置为其他卷积层、BN层学习率的1/10或者更小,来对此模块进行微调,这个超参数通常需要根据网络的深度进行调整,一般来说网络越深,学习率设置得越小。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
- 一种加强通道重排和融合的卷积神经网络模块的实现方法
- 融合模块和多尺度特征融合卷积神经网络及图像识别方法