一种基于多粒度Transformer的图像分类方法

文档序号:33115698发布日期:2023-02-01 02:50阅读:38来源:国知局
一种基于多粒度Transformer的图像分类方法
一种基于多粒度transformer的图像分类方法
技术领域
1.本发明涉及计算机视觉技术领域,特别涉及一种基于多粒度transformer的图像分类方法。


背景技术:

2.自从alexnet在imagenet图像分类挑战中取得颠覆性的表现后,cnn(卷积神经网络)逐渐成为计算机视觉建模中的主流架构。通过扩大网络规模,进行更充分的连接,使用更多样的卷积形式等方式,越来越多越强大的cnn的网络架构被提出例如:googlenet,resnet,densenet,以及efficientnet等等。当这些基于cnn的网络架构作为视觉任务的骨干网络时,促使了各种任务的性能提升,广泛提升了整个视觉领域。
3.transformer最早被提出用来进行机器翻译任务。由于能够对数据中的远程依赖关系进行建模,transformer在nlp(自然语言处理)领域迅速走红,到今天已经取代了rnn(循环神经网络)成为了nlp建模的首选架构。受此激励,研究人员开始尝试将transformer引入到cv(计算机视觉)中。visiontransformer(vit)是第一个完全基于transformer的方法能够在图像分类任务中匹配甚至超越cnn架构。随后又提出了许多visiontransformer的变体,进一步拓展了transformer在cv中的应用场景以及提升了transformer在一系列视觉任务上的表现。deit将知识蒸馏引入到vit的训练中,采用了一种教师-学生的训练策略,使得vit在imagenet图像分类任务上达到了sota。pvt采用了像cnn一样的金字塔结构并设计了一种空间缩减注意力机制来减少模型的计算开销。t2t-vit使用分层的tokens-to-token(t2t)模块来替代vit中朴素标记化模块,以编码每个令牌的重要的局部结构。crossvit使用了一种双路径结构来提取多尺度特征以更好的进行视觉特征表示。detr则将transformer应用于目标检测中。它将目标检测看作是一个集合预测问题,并使用标准transformer中encoder-decoder结构来处理。mae则直接使用vit作为骨干网络,图像重建作为代理任务来进行自监督学习,填补了计算机视觉领域有监督训练和无监督训练的鸿沟。
4.vit模型直接将原始transformer的编码器模块迁移到图像分类任务上,并能在大规模数据集上进行预训练后,在许多图像数据集上达到很好的效果。但vit也同时存在许多缺点,比如由于缺少卷积神经网络的平移不变性和局部性等归纳偏置,vit需要在大型数据集上进行预训练才能取得很好的效果;vit中的自注意力机制的计算复杂度是与输入令牌的数量呈二次关系,当图像分辨率过高时,需要的计算资源太多;vit的优化要求十分苛刻,对学习率和权重衰减这两个参数敏感,并且收敛速度较慢。


技术实现要素:

5.为了克服上述现有技术的缺点,本发明的目的在于提供一种基于多粒度transformer的图像分类方法,提出了渐进标记模块来将图片编码成向量,使得模型对学习率和权重衰减稳定,训练稳定,收敛加快;采用局部细粒度和全局多种粗粒度两种只有线性
计算复杂度自注意力机制,既降低了transformer模块的计算复杂度,又提升了transformer模块捕获重要特征的能力;使用细节增强的卷积前馈神经网络来给模型带来局部性,减少了模型对大规模数据集的依赖。
6.本发明为实现上述发明目的,采取的技术方案如下:
7.一种基于多粒度transformer的图像分类方法,包括以下步骤:步骤1、将图片送入到渐进标记模块,通过堆叠的多种尺寸的卷积层将图片标记为图片向量;步骤2、将图片向量送入到第一个stage的令牌聚合模块,利用卷积运算调整图片向量的数量和维度;步骤3、将调整好的图片向量送入到该stage的多粒度transformer模块中,提取图片的特征向量;步骤4、重复进行步骤2和步骤3,从最后一个stage的多粒度transformer模块中的到最终输出向量;步骤5、将最终输出向量送入到分类单元中,得到该图片所属类别,完成图像分类。
8.作为本发明的优选技术方案:所述步骤1中的渐进标记模块是通过堆叠多种不同尺寸的卷积层,从而逐渐将图片标记为图片向量。
9.作为本发明的优选技术方案:所述步骤1的具体步骤包括:首先采用卷积核大小为7
×
7,步长为2使用0来填充且卷积核数量为32的的重叠卷积层来作为渐进标记模块的第一层;接着采用卷积核大小为3
×
3,步长为1使用0来填充且卷积核数量为32的重叠卷积层作为渐进标记模块的第二层;最后,使用卷积核大小为2,步长也为2
×
2,卷积核数量为64的非重叠的卷积层作为最后一层,生成输入的图片向量序列;给定输入的图片大小为h
×w×
3,经过渐进标记模块后,得到的向量序列尺寸为
10.作为本发明的优选技术方案:所述步骤2中的令牌聚合模块是使用重叠的卷积层来将图片向量序列进行聚合,减少图片向量序列的数量的同时增加图片向量的维度;所述步骤2的具体步骤包括:给定输入的向量序列大小为n
×
c,先将其变形为三维向量图大小为h
×w×
c,其中n=h
×
w;再将其输入到步长为s,卷积核大小为2s-1,填充尺寸为s-1,卷积核数量为2c的卷积层中,得到聚合后的三维向量图的大小为
11.作为本发明的优选技术方案:所述步骤3中的多粒度transformer模块是由局部细粒度自注意力机制、全局多种粗粒度自注意力机制以及细节增强的卷积前馈神经网络组成,局部细粒度自注意力机制与细节增强的卷积前馈神经网络组成了使用细粒度用来捕获局部信息的局部transformer,全局多种粗粒度自注意力机制与细节增强的卷积前馈神经网络组成了使用多种粗粒度来捕获全局信息的全局transformer;局部transformer与全局transformer交替设置,先进行局部信息的捕获,再进行全局信息的捕获。
12.作为本发明的优选技术方案:所述局部细粒度自注意力机制是将标准自注意力操作限制在多个不重叠的窗口中,具体步骤包括:先将三维特征图x∈r
(h
×w×
d)
以不重叠的方式划分成m个子窗口,每个子窗口的大小为p
×
p,得到特征向量x∈r
(m
×
p
×
p
×
d)
,其中d代表了特征向量的维度,h,w分别代表了三维特征图的长和宽,m代表子窗口数量,p代表子窗口大小(m=(h/p
×
w/p));然后在每个子窗口yi∈r
(p
×
p
×
d)
(i=1...m)内进行标准自注意力操作,窗口里的每个特征向量都能以细粒度的方式捕获整个窗口的信息,即局部信息。
13.作为本发明的优选技术方案:所述全局多种粗粒度自注意力机制的具体步骤包括:首先将特征向量通过线性投影投影成查询query,接着再将特征向量输入到两种不同粒
度的自适应平均池化层中,分别得到固定数量的特征向量kv1,kv2,再将得到的特征向量kv1,kv2合并得到kv;然后在通过线性投影将得到的kv投影成键key,值value;最后,先通过对查询query和键key做点积操作,再将结果除以缩放因子送入到softmax激活函数中得到注意力权重图attn,最后对得到的注意力权重图attn和值value做矩阵乘法运算得到新的特征向量h;其中,计算公式如下:
14.q=wqx kv1=adaptiveavg1(x)kv2=adaptiveavg2(x)
15.kv=concat(kv1,kv2)k,v=wkkv,wvkv
16.h=mul(attn,v)
17.其中x为输入的特征向量,w为线性投影的参数。
18.作为本发明的优选技术方案:所述细节增强的卷积前馈神经网络为传统前馈神经网络中的两层全连接层之间添加一层深度可分离卷积层,并且对该深度可分离卷积层采用残差连接方式,进一步补充信息;其中,计算公式如下:
19.x'=fc(x;θ1)
20.x”=fc(σ(x'+dw(x';θ2));θ3)
21.其中fc(.)表示传统前馈神经网络中的线性映射层,dw(.)表示使用深度可分离卷积,θ则表示各层的参数通过学习得到。
22.作为本发明的优选技术方案:所述步骤4中的令牌向量会经历四个stage才会得到最终的图片特征向量;并且每个stage都是由令牌聚合模块以及多粒度transformer模块组成,而令牌聚合模块会减少令牌向量序列的数量。
23.作为本发明的优选技术方案:所述步骤5中将最后一个stage得到的图片特征向量送入到分类单元中,会在分类单元中先对特征向量在数量维度上做平均池化操作,得到一维的特征向量,再将该特征向量送入到线性分类器中,得到一个长度与图片总类别数相同的一维向量;在对模型进行训练时,会将该一维向量送入到softmax函数中得到图片所属类别概率,并与真实结果对比,通过反向传播算法优化模型参数;在做分析时,会直接根据该一维向量的最大值所在位置来确定图片所属类别。
24.本发明所述的,采用以上技术方案与现有技术相比,具有以下技术效果:
25.(1)本发明针对vit模型中transformer模块的自注意力机制的计算复杂度与输入令牌的数量呈二次关系,当图像分辨率过高时,需要的计算资源太过庞大的问题,精心设计了两种只有线性计算复杂度的自注意力机制,并基于此设计了两种transformer模块。局部细粒度自注意力机制的transformer能够以细粒度的方式捕获局部的信息,全局多种粗粒度自注意力机制的transformer能够以多种粗粒度的方式捕获全局的信息,两种自注意力机制交替设置,既保证了模型对特征信息的建模的能力,又显著降低了所需计算资源。
26.(2)本发明针对vit模型直接使用大型卷积核以及步长等于卷积核的卷积层来将图片标记成向量,导致模型优化要求特别苛刻,只能使用adamw优化器优化,对学习率以及权重衰减参数敏感并且收敛速度慢的问题,精心设计了渐进标记模块,通过堆叠多种不同小尺寸的卷积层逐渐将图片标记成令牌向量,使得模型能够使用sgd优化器进行优化,并且对学习率和权重衰减参数稳定,收敛速度变快并且还能提高准确率。
27.(3)本发明针对vit模型缺少卷积神经网络的一些归纳偏置,比如平移不变性和局
部性,因而需要在大规模数据集进行训练,才能取得匹配或者超过cnn的效果的问题,将深度可分离卷积引入到传统的前馈神经网络中,并且使用残差结构进行连接,组成细节增强的卷积前馈神经网络,这样能够给模型带来局部性,减少模型对大规模数据集的依赖。
附图说明
28.图1为本发明方法中网络模型整体架构示意图;
29.图2为本发明方法中渐进标记模块示意图;
30.图3为本发明方法中令牌聚合模块示意图;
31.图4为本发明方法中两种transformer交替设置架构示意图;
32.图5为本发明中局部细粒度自注意力的示意图;
33.图6为本发明中全局多种粗粒度自注意力的示意图;
34.图7为本发明中细节增强的卷积前馈神经网络的示意图。
具体实施方式
35.下面结合附图详细的描述本发明的作进一步的解释说明,以使本领域的技术人员可以更深入地理解本发明并能够实施,但下面通过参考实例仅用于解释本发明,不作为本发明的限定。
36.如图1所示,一种基于多粒度transformer的图像分类方法,包括以下步骤:步骤1、将图片送入到渐进标记模块,通过堆叠的多种尺寸的卷积层将图片标记为图片向量;步骤2、将图片向量送入到第一个stage的令牌聚合模块,利用卷积运算调整图片向量的数量和维度;步骤3、将调整好的图片向量送入到该stage的多粒度transformer模块中,提取图片的特征向量;步骤4、重复进行步骤2和步骤3,从最后一个stage的多粒度transformer模块中的到最终输出向量;
37.步骤5、将最终输出向量送入到分类单元中,得到该图片所属类别,完成图像分类。
38.如图2所示,步骤1中的渐进标记模块是通过堆叠多种不同尺寸的卷积层,从而逐渐将图片标记为图片向量。
39.步骤1的具体步骤包括:首先采用卷积核大小为7
×
7,步长为2使用0来填充且卷积核数量为32的的重叠卷积层来作为渐进标记模块的第一层;接着采用卷积核大小为3
×
3,步长为1使用0来填充且卷积核数量为32的重叠卷积层作为渐进标记模块的第二层;最后,使用卷积核大小为2,步长也为2
×
2,卷积核数量为64的非重叠的卷积层作为最后一层,生成输入的图片向量序列;给定输入的图片大小为h
×w×
3,经过渐进标记模块后,得到的向量序列尺寸为
40.如图3所示,步骤2中的令牌聚合模块是使用重叠的卷积层来将图片向量序列进行聚合,减少图片向量序列的数量的同时增加图片向量的维度;所述步骤2的具体步骤包括:给定输入的向量序列大小为n
×
c,先将其变形为三维向量图大小为h
×w×
c,其中n=h
×
w;再将其输入到步长为s,卷积核大小为2s-1,填充尺寸为s-1,卷积核数量为2c的卷积层中,得到聚合后的三维向量图的大小为
41.如图4所示,步骤3中的多粒度transformer模块是由局部细粒度自注意力机制、全局多种粗粒度自注意力机制以及细节增强的卷积前馈神经网络组成,局部细粒度自注意力机制与细节增强的卷积前馈神经网络组成了使用细粒度用来捕获局部信息的局部transformer,全局多种粗粒度自注意力机制与细节增强的卷积前馈神经网络组成了使用多种粗粒度来捕获全局信息的全局transformer;局部transformer与全局transformer交替设置,先进行局部信息的捕获,再进行全局信息的捕获。
42.如图5所示,局部细粒度自注意力机制是将标准自注意力操作限制在多个不重叠的窗口中,具体步骤包括:先将三维特征图x∈r
(h
×w×
d)
以不重叠的方式划分成m个子窗口,每个子窗口的大小为p
×
p,得到特征向量x∈r
(m
×
p
×
p
×
d)
,其中d代表了特征向量的维度,h,w分别代表了三维特征图的长和宽,m代表子窗口数量,p代表子窗口大小(m=(h/p
×
w/p));然后在每个子窗口yi∈r
(p
×
p
×
d)
(i=1...m)内进行标准自注意力操作,窗口里的每个特征向量都能以细粒度的方式捕获整个窗口的信息,即局部信息。
43.如图6所示,全局多种粗粒度自注意力机制是在标准自注意力机制的基础上进行改进的,既大幅降低了计算复杂度,又能够以多种粒度捕获全局信息。具体步骤包括:首先将特征向量通过线性投影投影成查询query,接着再将特征向量输入到两种不同粒度的自适应平均池化层中,分别得到固定数量的特征向量kv1,kv2,再将得到的特征向量kv1,kv2合并得到kv;然后在通过线性投影将得到的kv投影成键key,值value;最后,先通过对查询query和键key做点积操作,再将结果除以缩放因子送入到softmax激活函数中得到注意力权重图attn,最后对得到的注意力权重图attn和值value做矩阵乘法运算得到新的特征向量h;其中,计算公式如下:
44.q=wqx kv1=adaptiveavg1(x)kv2=adaptiveavg2(x)
45.kv=concat(kv1,kv2)k,v=wkkv,wvkv
46.h=mul(attn,v)
47.其中x为输入的特征向量,w为线性投影的参数。
48.如图7所示,细节增强的卷积前馈神经网络是将深度可分离卷积引入到传统的前馈神经网络中,克服了传统前馈神经网络无法学习变量间的信息的缺点,使其能够给模型补充局部信息,提高模型性能。并且采用了残差结构的设计,可以进一步补充局部细节。细节增强的卷积前馈神经网络为传统前馈神经网络中的两层全连接层之间添加一层深度可分离卷积层,并且对该深度可分离卷积层采用残差连接方式,进一步补充信息;其中,计算公式如下:
49.x'=fc(x;θ1)
50.x”=fc(σ(x'+dw(x';θ2));θ3)
51.其中fc(.)表示传统前馈神经网络中的线性映射层,dw(.)表示使用深度可分离卷积,θ则表示各层的参数通过学习得到。
52.步骤4中的令牌向量会经历四个stage才会得到最终的图片特征向量;并且每个stage都是由令牌聚合模块以及多粒度transformer模块组成,而令牌聚合模块会减少令牌向量序列的数量。因此整体网络呈渐进式的金子塔架构,随着网络深度加深,transformer的序列长度会减小,大幅度减小了计算开销。具体来说,假设输入图片的大小为h
×w×
3,那
么各个stage中令牌向量的大小分别为
53.步骤5中将最后一个stage得到的图片特征向量送入到分类单元中,会在分类单元中先对特征向量在数量维度上做平均池化操作,得到一维的特征向量,再将该特征向量送入到线性分类器中,得到一个长度与图片总类别数相同的一维向量;在对模型进行训练时,会将该一维向量送入到softmax函数中得到图片所属类别概率,并与真实结果对比,通过反向传播算法优化模型参数;在做分析时,会直接根据该一维向量的最大值所在位置来确定图片所属类别。
54.本发明提供一种基于多粒度transformer的图像分类方法,即能够有效的降低transformer模块的计算复杂度,又能够高效的提取图片特征。并且通过堆叠的多个不同尺寸卷积层来将图片编码成向量,能够提高准确率以及训练的稳定性。另外我们将深度可分离卷积引入到前馈神经网络中,提高了前馈神经网络的学习能力。
55.以上所述的具体实施方案,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,所应理解的是,以上所述仅为本发明的具体实施方案而已,并非用以限定本发明的范围,任何本领域的技术人员,在不脱离本发明的构思和原则的前提下所做出的等同变化与修改,均应属于本发明保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1