本发明涉及神经网络、图像识别技术,属于机器学习和深度学习领域,更具体的说,是涉及一种即插即用的前馈神经网络模块及视觉transformer模型。
背景技术:
1、图像分类任务是现代计算机视觉领域中的基石问题。深度神经网络模型在图像分类任务中表现出的性能和效率通常直接反映了该模型提取图像特征的能力。近年来,transformer在自然语言处理领域的卓越表现引起了计算机视觉领域研究人员的极大关注。与传统的卷积神经网络相比,视觉transformer架构具有更大的感受野,可以在网络的输入端捕获图像数据的全局信息。因此,视觉transformer架构表现出更强的特征提取能力,并在图像分类、目标检测等任务中展现出更高的性能。然而,主流的视觉transformer架构仍然存在着训练难度大、模型复杂度高等一系列缺点。在当前的计算机视觉领域,主流的研究集中于改进transformer的注意力机制,研究人员希望在降低其二次复杂度的情况下保持良好的性能。
2、主流的视觉transformer架构通常由多个同构的transformer块堆叠而成。每个transformer块包含自注意力模块(用于建模特征图的空间相关性)和前馈神经网络(用于建模通道间的相关性)。在自注意力模块和前馈神经网络中,使用了大量的全连接层来处理特征,引入了大量的可学习参数,极大地增加了模型的空间复杂度。同时,自注意力模块在对图像数据进行特征提取的过程中,时间复杂度与图像尺寸的平方成正比,这也导致了传统的视觉transformer模型在处理高分辨率图像时计算量难以控制。由此可见,视觉transformer架构虽然具有较强的特征提取能力,但也带来了较大的时间复杂度和空间复杂度。尽管大量的研究改进了视觉transformer的空间混合模块,但很少有研究关注其通道混合模块。如何提升视觉transformer通道混合模块的能力,同时更有效地进行特征信息的交互,目前仍然是一个较大的挑战。
3、为了改进当前视觉transformer的通道混合模块,当前主要的技术路线有以下三种:
4、第一种技术路线受到glu(门控线性单元)在自然语言处理任务上成功的启发,将glu这种门控mlp(多层感知机)的形式作为ffn(前馈神经网络,也是通道混合模块)范式。这种方法能在不增加参数量的基础上通过双分支点乘的方法来提升模型的性能同时增强模型的鲁棒性。但是由于双分支的特性,使用该方法隐藏维度比正常方法的要低,会一定程度地限制其在通道混合的表现。
5、第二种技术路线主要是集中于降低ffn消耗的参数和计算量。scheme设计了块对角化mlp,大幅度降低了模型的参数和计算量,同时加入协方差注意力方法来保持模型的表现。imlp则通过设计agelu激活函数以共享参数的方式,降低ffn的参数和计算量的同时,使模型的表现不下降太多甚至不变。
6、第三种技术路线是加入额外的模块到ffn中以提升其表现,如localvit在ffn中加入3x3深度可分离卷积将局部性注入到ffn中以提升模型的表现。stripmlp受到convnextv2的影响,将grn和7x7深度可分离卷积引入到通道混合模块之中。
7、总的来说,以上的方法表明,通道混合可以通过增加计算负担来增强,也可以以牺牲性能提升为代价来精简。但现有工作仍在努力解决性能和复杂性权衡的悖论,缺少对特征信息本身的提取,无法取得模型表现和效率的最佳权衡。
技术实现思路
1、本发明的目的是为了克服现有技术中的不足,提出了一种即插即用的前馈神经网络模块及视觉transformer模型,采用非对称因子化双线性运算(afbo)作为即插即用的通道混合模块,能替换视觉transformer类架构的ffn,相较于传统的通道混合方法,afbo能取得更好的效率和效果的权衡,在视觉任务中发挥更强大的性能。
2、本发明的目的可通过以下技术方案实现。
3、本发明即插即用的前馈神经网络模块,采用非对称因子化双线性运算模型,所述非对称因子化双线性运算模型包括第一支路、第二支路和全连接层,所述第一支路和第二支路并行设置,所述第一支路的输出和第二支路的输出经逐元素相乘后作为所述全连接层的输入,所述全连接层的输出即为整个前馈神经网络模块的输出;其中所述第一支路包括由输入至输出方向依次设置的第一分支通道映射层、第一分支空间映射层、激活函数层,所述第二分支包括由输入至输出方向依次设置的第二分支通道映射层、第二分支空间映射层。
4、进一步地,所述第一分支空间映射层和第二分支空间映射层均采用深度可分离卷积层。
5、进一步地,所述第一分支通道映射层采用重叠循环通道映射策略或分组交叉通道映射策略,所述第二分支通道映射层采用重叠循环通道映射策略或分组交叉通道映射策略。
6、进一步地,所述分组交叉通道映射策略的具体流程:输入数据按照通道方向分为g1组,每组按顺序经过g1个共享的全连接层,得到2g1组经过通道映射的张量,最后按照通道方向将2g1组张量进行拼接,得到最终的输出结果。
7、进一步地,所述重叠循环通道映射策略的具体流程:输入数据按照通道方向分为g2组,每相邻两组一起经过一个全连接层,直到每个组都经过两次通道映射,得到g2个张量,按照通道方向进行拼接,得到最终的输出结果。
8、进一步地,所述非对称因子化双线性运算模型,表达式如下:
9、
10、式中,x表示模型输入,y表示模型输出,σ(·)表示激活函数,表示核大小为1×1的逐点卷积,表示核大小为k×k的卷积运算,⊙表示逐元素相乘,分别表示第一分支通道映射、第二分支通道映射宏观上的权重,分别表示第一分支通道映射、第二分支通道映射宏观上的偏置项,分别表示第一分支空间映射、第二分支空间映射的权重,分别表示第一分支空间映射、第二分支空间映射的偏置项,w3、b3分别表示模型输出端全连接层的权重和偏置项。
11、本发明的目的还可通过以下技术方案实现。
12、本发明视觉transformer模型,该视觉transformer模型包括由输入至输出方向依次设置的输入嵌入层、多头注意力模块、前馈神经网络模块,所述前馈神经网络模块采用上述任一种即插即用的前馈神经网络模块。
13、与现有技术相比,本发明的技术方案所带来的有益效果是:
14、本发明提出的即插即用的前馈神经网络模块,采用非对称因子化双线性运算(afbo)模型,能替换transformer类架构的ffn,相较于传统的通道混合方法,afbo能取得更好的效率和效果的权衡,在视觉任务中发挥更强大的性能。
15、本发明的afbo通过空间通道因子化双线性运算计算二阶统计信息,而不是在ffn中进行简单的线性投影,从而通过对标记特征之间的二阶相关性进行建模来增强视觉transformer的特征抽象能力。为了解决计算复杂度问题,本发明的afbo提出了两种结构化稀疏性通道映射策略(即重叠循环通道映射策略和分组交叉通道映射策略),以分组对通道特征执行双线性映射,在降低内存和计算成本的基础上,同时实现组与组之间的信息交互以保证性能。最后,本发明设计的非对称结构化稀疏性通道映射进一步帮助本发明的afbo更有效地处理性能和复杂性权衡的悖论,本发明可以灵活地与现有类似的视觉transformer的架构进行集成,本发明在各种任务中对几个视觉transformer进行了实验,结果表明本发明的afbo优于同类方法,同时实现了更好的效率和有效性权衡。
1.一种即插即用的前馈神经网络模块,其特征在于,该前馈神经网络模块采用非对称因子化双线性运算模型,所述非对称因子化双线性运算模型包括第一支路、第二支路和全连接层,所述第一支路和第二支路并行设置,所述第一支路的输出和第二支路的输出经逐元素相乘后作为所述全连接层的输入,所述全连接层的输出即为整个前馈神经网络模块的输出;其中所述第一支路包括由输入至输出方向依次设置的第一分支通道映射层(cm1)、第一分支空间映射层(sm1)、激活函数层,所述第二分支包括由输入至输出方向依次设置的第二分支通道映射层(cm2)、第二分支空间映射层(sm2)。
2.根据权利要求1所述的即插即用的前馈神经网络模块,其特征在于,所述第一分支空间映射层(sm1)和第二分支空间映射层(sm2)均采用深度可分离卷积层。
3.根据权利要求1所述的即插即用的前馈神经网络模块,其特征在于,所述第一分支通道映射层(cm1)采用重叠循环通道映射策略或分组交叉通道映射策略,所述第二分支通道映射层(cm2)采用重叠循环通道映射策略或分组交叉通道映射策略。
4.根据权利要求3所述的即插即用的前馈神经网络模块,其特征在于,
5.根据权利要求1所述的即插即用的前馈神经网络模块,其特征在于,所述非对称因子化双线性运算模型,表达式如下:
6.一种包含上述权利要求1至5中任一项所述的即插即用的前馈神经网络模块的视觉transformer模型,该视觉transformer模型包括由输入至输出方向依次设置的输入嵌入层、多头注意力模块、前馈神经网络模块,其特征在于,所述前馈神经网络模块采用上述权利要求1至5中任一项所述的即插即用的前馈神经网络模块。
