带多尺度池化的transformer模块处理方法与流程

    技术2025-07-27  11


    本发明涉及计算机视觉的,特别是指一种带多尺度池化的transformer模块处理方法。


    背景技术:

    1、transformer是一种在自然语言处理和计算机视觉等领域中广泛应用的深度学习模型架构。transformer 模型的主要特点包括:基于注意力机制(attention mechanism),能够灵活地对输入序列的不同部分进行加权处理,从而更好地捕捉长距离依赖关系;并行计算能力强,大大提高了训练和推理的效率。transformer 架构的出现极大地推动了人工智能领域的发展,为处理序列数据提供了一种高效且强大的方法。

    2、标准transformer模块虽能进行长距离依赖建模及全局信息交互,但这也导致计算复杂度较高。对于较长的输入序列,计算和存储开销会进一步增加。

    3、有鉴于此,本发明针对现有标准transformer模块存在的计算复杂度较高、存储开销大的问题而积极研究开发出本发明。


    技术实现思路

    1、本发明的目的在于克服现有技术的不足,提供一种能够有效压缩特征序列的长度,减少训练模型所需要的计算资源的带多尺度池化的transformer模块处理方法。

    2、为了达成上述目的,本发明的解决方案是:

    3、一种带多尺度池化的transformer模块处理方法,其包括以下步骤:

    4、步骤b1、将形状为[c,h,w]的输入特征经特征序列化后变成形状为[(h/p)×(w/p),c]的张量,其中,c为通道,h为高度,w为宽度,p为patch的大小,也可理解为下采样的倍数;

    5、步骤b2、步骤b1的张量经过带多尺度池化的多头自注意力模块,多头自注意力模块利用不同尺度的池化层,获取不同尺度的上下文信息并减小的尺寸;

    6、步骤b3、将步骤b1的输出和步骤b2的输出相加并进行层归一化处理;

    7、步骤b4、将步骤b3的输出送入前馈神经网络,前馈神经网络由卷积和激活函数组成,进行非线性变换和映射,获取二维近邻信息,增强模型的表示能力;

    8、步骤b5、将步骤b3的输出和步骤b4的输出相加并进行层归一化处理;

    9、步骤b6、对步骤b5的输出进行特征解序列化操作,使输出特征变为形状为[c,h/p,w/p]的张量。

    10、进一步,步骤b1中,特征序列化的处理步骤包括:

    11、步骤c1、输入特征经过卷积模块;

    12、步骤c2、将卷积模块的输出展平;

    13、步骤c3、转换维度;

    14、步骤c4、使用层归一化处理特征便可得到输出特征。

    15、进一步,步骤b2中,设输入特征的形状为[b,h×w,c],b为batch size,带多尺度池化的多头自注意力模块的处理步骤包括:

    16、步骤d1、重塑输入特征的形状,使其形状变成[b,c,h,w];分别使用p1、p2、p3、p4不同尺度的平均池化层处理该输入特征,得到以下特征、、、,形状分别为:[b,c,h/p1,w/p1]、[b,c,h/p2,w/p2]、[b,c,h/p3,w/p3]、[b,c,h/p4,w/p4],

    17、

    18、

    19、

    20、

    21、步骤d2、重塑步骤d1输出的4个特征、、、,使其形状分别变为[b,c,(h/p1)×(w/p1)]、[b,c,(h/p2)×(w/p2)]、[b,c,(h/p3)×(w/p3)]、[b,c,(h/p4)×(w/p4)]。拼接以上特征,形状变成[b,c,s],

    22、

    23、

    24、

    25、

    26、

    27、

    28、其中,表示特征重塑,表示拼接函数,表示拼接输出特征;s表示特征最后一个维度的长度;

    29、步骤d3、重塑步骤d2输出的拼接输出特征并进行层归一化处理,得到特征,形状变成[b,s,c],

    30、

    31、其中,表示层归一化处理,函数表示排列操作;

    32、步骤d4、将步骤d3输出的特征送入全连接层fc,得到特征,形状变成[b,s,2c];随后,重塑特征,得到特征,形状变成[2,b,n,s,c/n],n为多头自注意力模块的头数,用于控制注意力机制中的注意力头的数量,

    33、

    34、

    35、其中,函数用于改变维度形状;

    36、步骤d5、分割步骤d4输出的特征,分割后的特征分别为和,形状均为[b,n,s,c/n]:

    37、

    38、步骤d6、将输入特征送入全连接层,形状为[b,h×w,c],重塑特征,得到特征,形状为[b,n,h×w,c/n],

    39、

    40、步骤d7重塑特征的形状,得到形状为[b,n,c/n,s]的特征;对和进行矩阵相乘,相乘后的特征形状变为[b,n,hw,s];沿着最后的维度对特征进行处理,得到特征:

    41、

    42、

    43、其中,表示矩阵相乘,用于神经网络的输出层,将网络的输出转换为各个类别出现的概率;

    44、步骤d8、将步骤d7输出的特征与特征进行矩阵相乘,得到特征,形状为[b,n,hw,c/n];重塑特征,得到特征,形状变成[b,hw,c]:

    45、

    46、

    47、其中,表示转置;

    48、步骤d9、将步骤d8输出的特征送入全连接层,得到最终的输出特征,形状为[b,hw,c]:

    49、。

    50、进一步,步骤b4中,将前馈神经网络中的全连接层替换成局部卷积,在局部卷积后面连接激活函数,激活函数在输入值介于-3和3之间时提供了非线性变换,缓解梯度消失问题的同时增强模型的表达能力。

    51、进一步,前馈神经网络处理步骤包括:

    52、步骤e1、输入特征的张量,形状为[hw,c],对输入特征进行特征重塑,得到特征,形状变为[c,h,w]:

    53、

    54、步骤e2、连续经过两个卷积层和激活层,得到特征:

    55、

    56、其中,激活函数的计算公式如下,

    57、

    58、

    59、步骤e3、经过卷积模块后得到特征,特征经重塑及转置后,得到输出特征,形状为[hw,c],

    60、

    61、。

    62、进一步,步骤b6中,特征解序列化等同于特征重塑,目的是将输入特征的形状由[hw,c]重塑为[c,h,w],

    63、。

    64、采用上述方案后,本发明带多尺度池化的transformer模块处理方法通过将多尺度池化引入至transformer模块的多头自注意力模块中,能够有效压缩特征序列的长度,减少训练模型所需要的计算资源,同时获取极具判别性的特征表示,进一步提升了模型的性能。



    技术特征:

    1.一种带多尺度池化的transformer模块处理方法,其特征在于,包括以下步骤:

    2.如权利要求1所述的带多尺度池化的transformer模块处理方法,其特征在于:步骤b1中,特征序列化的处理步骤包括:

    3.如权利要求1所述的带多尺度池化的transformer模块处理方法,其特征在于:步骤b2中,设输入特征的形状为[b,h×w,c],b为batch size,带多尺度池化的多头自注意力模块的处理步骤包括:

    4.如权利要求1所述的带多尺度池化的transformer模块处理方法,其特征在于:步骤b4中,将前馈神经网络中的全连接层替换成局部卷积,在局部卷积后面连接激活函数,激活函数在输入值介于-3和3之间时提供了非线性变换,缓解梯度消失问题的同时增强模型的表达能力。

    5.如权利要求4所述的带多尺度池化的transformer模块处理方法,其特征在于:前馈神经网络处理步骤包括:

    6.如权利要求1所述的带多尺度池化的transformer模块处理方法,其特征在于:步骤b6中,特征解序列化等同于特征重塑,目的是将输入特征的形状由[hw,c]重塑为[c,h,w],


    技术总结
    本发明公开了一种带多尺度池化的transformer模块处理方法,可用于基于深度神经网络的活体检测模型中,用以在训练阶段辅助训练CNN分支,能够为CNN分支提供全局上下文信息,增强模型对图像中的长距离依赖关系的建模能力。此外,通过将多尺度池化引入至transformer模块的多头自注意力模块中,能够有效压缩特征序列的长度,减少训练模型所需要的计算资源,同时获取极具判别性的特征表示,进一步提升了模型的性能。

    技术研发人员:何一凡,陈昕,张帅,王汉超,贾宝芝
    受保护的技术使用者:厦门瑞为信息技术有限公司
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-34540.html

    最新回复(0)