
1.本公开涉及计算机技术领域,特别涉及一种数据处理方法及装置、电子设备、计算机可读存储介质。
背景技术:2.注意力(attention)机制来自于人类视觉注意力机制,其在计算能力有限的情况下,将计算资源分配给更重要的任务,而非基于全局进行任务处理。自注意力(self attention,sa)机制是对注意力机制的改进,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性。在进行自注意力计算时,其计算量通常与特征图尺寸的平方成正比关系,计算量较为庞大。
技术实现要素:3.本公开提供一种基于众核系统的数据处理方法及装置、电子设备、计算机可读存储介质。
4.第一方面,本公开提供了一种数据处理方法,该数据处理方法包括:将待处理数据输入目标神经网络中处理,得到所述待处理数据的处理结果,所述目标神经网络的至少一层卷积层为基于第一注意力机制的注意力卷积层,和/或,所述目标神经网络的至少两级卷积层之间基于第二注意力机制进行特征融合,
5.其中,所述第一注意力机制包括针对特征的局部区域的自注意力机制,所述第二注意力机制包括不同尺度的输出特征之间针对所述输出特征的局部区域的注意力机制。
6.第二方面,本公开提供了一种数据处理装置,该数据处理装置包括:数据处理模块,用于将待处理数据输入目标神经网络中处理,用于得到所述待处理数据的处理结果,所述目标神经网络的至少一层卷积层为基于第一注意力机制的注意力卷积层,和/或,所述目标神经网络的至少两级卷积层之间基于第二注意力机制进行特征融合,
7.其中,所述第一注意力机制包括针对特征的局部区域的自注意力机制,所述第二注意力机制包括不同尺度的输出特征之间的注意力机制。
8.第三方面,本公开提供了一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的数据处理方法。
9.第四方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现上述的数据处理方法。
10.本公开所提供的实施例,只针对特征点的局部区域确定该特征点的注意力特征,相较于针对全局特征确定特征点的注意力特征而言,能够有效减少计算量,并且,由于将注意力机制的确定范围缩小至局部区域,因此,获得的注意力特征相对于全局特征具备一定的归纳偏置能力,同时还具有旋转不变特性,从而提高数据处理效果。
11.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
12.附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
13.图1为本公开实施例提供的一种自注意力机制的处理过程的示意图;
14.图2为本公开实施例提供的一种特征金字塔网络的示意图;
15.图3为本公开实施例提供的一种数据处理方法的流程图;
16.图4为本公开实施例提供的一种数据处理方法的工作过程的流程图;
17.图5为本公开实施例提供的一种目标神经网络的示意图;
18.图6为本公开实施例提供的一种注意力卷积层的工作过程的示意图;
19.图7为本公开实施例提供的一种数据处理方法的工作过程的流程图;
20.图8为本公开实施例提供的一种特征融合过程的示意图;
21.图9为本公开实施例提供的一种中间特征的获取过程的示意图;
22.图10为本公开实施例提供的一种融合特征的映射关系示意图;
23.图11为本公开实施例提供的一种融合特征的获取过程的示意图;
24.图12为本公开实施例提供的一种融合特征的映射关系示意图;
25.图13为本公开实施例提供的一种数据处理装置的框图;
26.图14为本公开实施例提供的一种数据处理装置的框图;
27.图15为本公开实施例提供的一种数据处理装置的框图;
28.图16为本公开实施例提供的一种电子设备的框图;
29.图17为本公开实施例提供的一种电子设备的框图。
具体实施方式
30.为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
31.在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
32.如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
33.本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由
……
制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
34.除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
35.神经网络(neural network,nn)是一种模仿生物神经网络的结构和功能的模型,已经广泛应用在图像处理、语音识别、自然语言处理等领域。卷积是神经网络中的一个重要概念,通过卷积操作可实现特征提取。在相关技术中,可以利用滑动卷积核的方式进行滤波,获得滤波响应,从而提取到特征。由于卷积核作用的感受野通常为特征图的局部区域,因此,卷积具有归纳偏置的优点。相应的,基于卷积核提取特征时,需要通过不断层级式堆叠才能实现对更大范围内的特征提取,从而将整个特征图的不同区域关联起来。
36.注意力(attention)机制是神经网络中的另外一个重要概念,其本质是根据事物之间的关系进行线性加权得到新的特征表示。自注意力机制(self-attention,sa)是注意力机制的变体,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性。自注意力机制借鉴了自然语言处理(natural language processing,nlp)主流网络—转换器(transformer)中的查询-键-值(query-key-value,qkv)概念,将特征图中的每个特征点看作一个嵌入,然后进行qkv自注意力运算。
37.图1为本公开实施例提供的一种自注意力机制的处理过程的示意图。参照图1,其将自注意机制与视觉主干网相结合,通过qkv机制实现自注意力的处理。
38.其中,x表示输入的特征图(feature map),首先对x进行线性映射(即采用1
×1×
1卷积来压缩通道数),获得θ、φ、g共三个特征。其次,通过转置(reshape)操作,合并上述的三个特征除通道数之外的维度,然后对θ和φ进行矩阵点乘操作,获得自相关特征,该步骤旨在计算特征自相关性,即获得每帧图像中每个像素(或超像素)对其他所有帧中所有像素(或超像素)的关系;再次,对自相关特征进行归一化(例如,softmax)操作,得到值域为[0,1]的权重系数(weights),该权重系数即为自相关系数;最后,将自相关系数与特征g相乘,进行通道扩展,并将扩展结果与x进行残差运算,从而获得最终的输出结果z。
[0039]
综上可知,与卷积操作相比,自注意机制最大的优点为仅用一层即可关联全图范围内的任意两点(即建模任意范围的特征模式)。正因为此,导致自注意力机制最大的劣势为计算量过大(计算量通常与特征图尺寸的平方成正比)。尤其是在视觉处理领域,如果自注意力机制不与卷积混用(即引入卷积的视觉变换器(vision-transformer,vit)),将导致特征模式因为缺乏归纳偏置而难以收敛,或者需要在jft(谷歌内部的图像分类数据集)等超大规模数据集上进行训练。
[0040]
为降低自注意力机制的计算量,业界提出了基于十字交叉网络(criss cross network,ccnet)以及基于十字形窗(cross-shaped window,cswin)等自注意力改进模型。其中,基于ccnet的自注意力模型通过计算目标特征像素点与其所在行列的十字交叉区域内的像素点之间的相互关系,并用该相互关系对目标像素点的特征进行加权,以此获得更加有效的目标特征。基于cswin的自注意力模型通过计算目标特征像素点与其所在行列的十字形交叉窗口区域内的像素点之间的相互关系,并用该相互关系对目标像素点的特征进行加权,以此获得更加有效的目标特征。
[0041]
本公开实施例提供的数据处理方法,并非仅致力于降低自注意力模型的计算量,
而是考虑到基于卷积操作提取特征时,在所要提取的特征模式与卷积核完全对应且没有旋转角度的情况下,滤波响应才会最大,相应的特征提取结果才会较好。但是,在实际应用中,同一特征模式可能在图像中以不同的旋转角度呈现,使用一个卷积核无法对同一特征模式对应的所有特征进行较好地提取。换言之,卷积操作在提取特征时不支持旋转不变性。与此同时,考虑到自注意机制是根据任意两点间的相似度来对特征图进行重新加权、以建立任意两点之间的关联,且这种加权与距离以及相对位置均无关,从而使得自注意力机制不具备归纳偏置特性。但是,当将自注意力机制作用范围缩小至局部区域时,就会使其具备一定的归纳偏置能力,而且,由于自注意力计算基于特征点之间的相似性进行确定,因此,其具备旋转不变性。有鉴于此,本公开实施例提供一种包含有自注意力卷积层的神经网络,基于该自注意力卷积层进行特征提取,并获得更加有效的输出特征。
[0042]
另外,在提取特征时,为保障能提取到不同尺度或不同层级的特征,通常需要使用不同尺寸的卷积核,且使用尺寸较小的卷积核可以提取到较低层级的特征,使用尺寸较大的卷积核可以提取到较高层级的特征。其中,低层级特征的语义信息比较少,但目标位置准确,且分辨率较高,而高层级特征的语义信息比较丰富,但是目标位置比较粗略,分辨率较低且比较抽象。
[0043]
在相关技术中,往往通过特征融合的方式,将低层级特征的高分辨率和高层级特征的高语义信息相结合,从而增强特征表达效果。特征金字塔网络(feature parymid network,fpn)是一种常用的特征融合模型,其采用重采样后进行通道拼接或者逐点相加的方法实现不同层级的特征融合,实现较为简便。
[0044]
图2为本公开实施例提供的一种特征金字塔网络的示意图。参照图2,fpn网络使用一个标准的特征提取网络提取多个空间位置的特征,然后增加一个轻量级的自顶而下的通路,并且将其与特征提取网络横向连接。针对特征提取网络所提取的每一层级特征,先对其进行二倍上采样,获得上采样后的特征,再将其与经过1
×
1卷积处理的下一层级特征叠加,从而获得相应的融合特征,并基于融合特征进行执行后续的数据处理操作。
[0045]
在相关技术中,为进一步提高特征融合效果,还针对fpn提出多种改进模型,例如,双向(bi-directional)fpn、路径聚合网络(path aggregation network,pa-net)等。然而,无论是fpn还是其改进模型,均未充分考虑两个不同层次的特征之间在空间维度的关联关系。
[0046]
考虑到注意力机制可以建立特征图中任意两个像素点之间的关联关系,因此,在本公开实施例中,将注意力机制应用到特征融合过程中,以将不同层次的特征之间在空间维度的关联关系融合到特征中。
[0047]
根据本公开实施例的数据处理方法可以由终端设备或服务器等电子设备执行,终端设备可以为车载设备、用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等,所述方法可以通过处理器调用存储器中存储的计算机可读程序指令的方式来实现。或者,可通过服务器执行所述方法。
[0048]
图3为本公开实施例提供的一种数据处理方法的流程图。参照图3,该方法包括:
[0049]
在步骤s31中,将待处理数据输入目标神经网络中处理,得到待处理数据的处理结果。
[0050]
其中,目标神经网络的至少一层卷积层为基于第一注意力机制的注意力卷积层,和/或,目标神经网络的至少两级卷积层之间基于第二注意力机制进行特征融合,第一注意力机制包括针对特征的局部区域的自注意力机制,第二注意力机制包括不同尺度的输出特征之间针对输出特征的局部区域的注意力机制。
[0051]
举例来说,待处理数据包括图像数据、语音数据、文本数据、视频数据中的任意一种。本公开实施例对待处理数据的类型和内容不作限制。
[0052]
在一些可能的实现方式中,将待处理数据输入目标神经网络之后,目标神经网络利用注意力卷积层对输入该层的数据进行自注意力运算,并获得输出特征,以供目标神经网络中的其他网络层基于输出特征进行数据处理,获得处理结果;并且,目标神经网络还可基于第二注意力机制对输出特征(包括但不限于注意力卷积层的输出特征)进行融合,获得融合特征,以供其他网络层基于融合特征进行进一步地数据处理,获得处理结果。
[0053]
在一些可能的实现方式中,目标神经网络可用于执行图像处理任务、语音处理任务、文本处理任务、视频处理任务中的任意一种。与之相应的,待处理数据的处理结果可以是图像处理结果、语音处理结果、文本处理结果、视频处理结果中的任意一种(其中,处理可以包括识别、分类、标注等操作),其与待处理数据的类型、待处理数据的内容、以及目标神经网络的执行任务等相关。本公开实施例对目标神经网络所执行的具体任务类型及处理结果类型不作限制。
[0054]
如前所述,目标神经网络包括至少一层基于第一注意力机制的注意力卷积层,和/或,目标神经网络的至少两级卷积层之间基于第二注意力机制进行特征融合,因此,在步骤s31中,目标神经网络的处理过程至少包括特征提取,和/或,特征融合。需要说明的是,无论是特征提取还是特征融合,其均利用了局部注意力机制,即针对特征图的局部区域进行注意力运算,并根据注意力运算结果更新原有特征。后续分别针对目标神经网络的特征提取工作过程和特征融合工作过程进行展开说明。
[0055]
在一些可能的实现方式中,目标神经网络包括注意力卷积层,其可用于进行特征提取。下面结合图4说明该目标神经网络进行特征提取的工作过程。
[0056]
图4为本公开实施例提供的一种数据处理方法的工作过程的流程图。参照图4,该方法包括:
[0057]
步骤s41,针对任一注意力卷积层,对注意力卷积层的输入数据进行线性变换,获得与输入数据对应的第一查询特征、第一键特征和第一值特征。
[0058]
步骤s42,根据第一查询特征、第一键特征和第一值特征,确定与第一查询特征的多个目标特征点对应的第一注意力特征。
[0059]
其中,第一注意力特征包括与各个目标特征点对应的第一注意力值,第一注意力值为针对与目标特征点对应的局部区域确定的,与目标特征点对应的局部区域是第一查询特征中以目标特征点为中心,并根据预设尺寸确定的区域,预设尺寸小于第一查询特征的尺寸,第一注意力值用于表征局部区域内的各个特征点与目标特征点之间的关联关系。
[0060]
步骤s43,根据第一注意力特征和输入数据,确定与注意力卷积层对应的输出特征。
[0061]
其中,处理结果是输出特征经由注意力卷积层之后的网络层处理后得到的。
[0062]
在一些可能的实现方式中,注意力卷积层的输入数据是待处理数据经由注意力卷
积层之前的网络层处理后的数据,在步骤s41中,可通过将输入数据与预设的变换矩阵相乘的方式实现对输入数据的线性变换,从而获得第一查询特征、第一键特征和第一值特征。另外,还可以基于预设的卷积核对输入数据进行卷积操作,卷积结果即为第一查询特征、第一键特征或第一值特征。本公开实施例对输入数据的线性变换方式不作限制。
[0063]
需要说明的是,在一些可能的实现方式中,通过对输入数据与同一变换矩阵相乘,或者对输入数据进行一次线性变换,即可获得第一查询特征、第一键特征和第一值特征,换言之,在此情况下,第一查询特征、第一键特征和第一值特征是完全相同的特征。在一个示例中,输入数据为矩阵f
(h1*w1)
,将其与预设的变换矩阵w
(h2*w2)
相乘,获得相乘结果f’(h1*w2)
,并将f’(h1*w2)
作为第一查询特征、第一键特征和第一值特征。其中,w1=h2。
[0064]
在一些可能的实现方式中,还可以基于不同的变换矩阵或者不同的线性变换方式,获得不同的第一查询特征、第一键特征和第一值特征。
[0065]
在获得第一查询特征、第一键特征和第一值特征之后,即可在步骤s42中通过自注意力运算确定第一注意力特征。在一些可能的实现方式中,在步骤s42中,确定第一注意力特征的过程,包括:针对各个目标特征点,确定第一键特征中与局部区域对应的多个第一键特征点,以及第一值特征中与局部区域对应的第一值特征点;确定目标特征点与各个第一键特征点之间的相似性,获得与目标特征点对应的第一相似度特征;根据第一相似度特征与第一值特征点,获得与目标特征点对应的第一注意力值;根据多个目标特征点的第一注意力值,获得第一注意力特征。
[0066]
在一些可能的实现方式中,特征点之间的相似性可以基于余弦相似度、皮尔逊相关系数(pearson correlation)等方式计算获得,本公开实施例对相似性的确定方式不作限制。
[0067]
在一些可能的实现方式中,在第一查询特征与第一键特征相同的情况下,确定目标特征点与各个第一键特征点之间的相似性,包括:在获得第i个目标特征点与第j个第一键特征点之间的相似性sij的情况下,根据sij确定第j个第一查询特征点与第i个目标特征点之间的相似性sji;其中,i和j均为大于等于1且小于等于m的整数,m为第一查询特征或第一键特征中的特征点的总数量(m为大于或等于1的整数),且i≥j或i≤j。根据sij确定相似性sji,可以有效减少运算量,从而降低数据处理压力。
[0068]
需要说明的是,在本公开实施例中,对于第一查询特征中的每个目标特征点,只针对该目标特征点在局部区域进行自注意力计算,获得第一注意力值,并基于多个目标特征点的第一注意力值获得第一注意力特征。相较于基于整个特征区域进行自注意力计算而言,基于局部区域的自注意力计算可以有效降低计算量,并且,由于局部区域相对于全局而言具备一定的归纳偏置,同时还具备旋转不变性,因此,可以获得效果较好的特征。
[0069]
还需要说明的是,目标特征点是归属于第一查询特征的特征点,其与输入数据中的特征点之间具有对应关系,对目标特征点基于局部区域进行自注意力运算,其本质为针对输入数据基于局部区域确定相应的关联关系。
[0070]
在一些可能的实现方式中,目标特征点的范围可根据需要灵活设置,其既可以包括第一查询特征中的所有特征点,也可以包括第一查询特征中指定的若干个特征点,本公开实施例对此不作限定。
[0071]
在一些可能的实现方式中,在步骤s42之前,还包括:从第一查询特征中选取多个
特征点作为目标特征点;根据预设尺寸,确定与各个目标特征点对应的局部区域。
[0072]
在一些可能的实现方式中,与目标特征点对应的局部区域可以是向量形式(例如,文本处理场景),也可以是矩形(包括正方形)(例如,图像或视频处理场景),本公开实施例对此不作限定。
[0073]
在一些可能的实现方式中,第一查询特征包括向量和矩阵中的任意一种。在第一查询特征为向量的情况下,预设尺寸包括预设特征点数量,且预设特征点数量小于第一查询向量的特征点总数量,局部区域是以目标特征点为中心、特征点数量等于预设特征点数量的向量;在第一查询特征为矩阵的情况下,预设尺寸包括预设行数量和预设列数量,且预设行数量小于第一查询特征的行总数量,预设列数量小于第一查询特征的列总数量,局部区域是以目标特征点为中心、以预设行数量为高度、预设列数量为宽度的矩形区域。
[0074]
在一个示例中,假设第一查询特征为5*5的矩阵,将该第一查询特征中的所有特征点确定为目标特征点,并且,将以目标特征点为中心,边长等于3个特征点的区域设置为与该目标特征点对应的局部区域。针对位于第一查询特征边缘处的目标特征点,其局部区域无法构成3*3的特征区域,在处理过程中,可通过补零的方式将这些目标特征点的局部区域补充为3*3的特征区域,以便于进行计算。
[0075]
在上述内容中,步骤s42中获取第一注意力特征的过程包括:先确定目标特征点,再确定局部区域,进而确定第一注意力特征。在另外一些可能的实现方式中,可以采用滑动窗口的方式获取第一注意力特征。
[0076]
在一些可能的实现方式中,在步骤s42中,基于滑动窗口方式获取第一注意力特征的过程包括:根据局部区域的预设尺寸,设置滑动窗口和步长;从预设的初始滑动位置开始,沿第一查询特征以步长滑动该滑动窗口,并确定每次滑动操作中与滑动窗口对应的目标特征点,第一键特征中与滑动窗口对应的多个第一键特征点,以及第一值特征中与滑动窗口对应的第一值特征点;确定目标特征点与各个第一键特征点之间的相似性,获得与目标特征点对应的第一相似度特征;根据第一相似度特征与第一值特征点,获得与目标特征点对应的第一注意力值;根据多个目标特征点的第一注意力值,获得第一注意力特征。
[0077]
换言之,基于滑动窗口获取第一注意力特征的方式,与基于卷积核提取特征的方式较为类似,区别之处在于第一注意力特征是基于自注意力运算确定特征值,卷积核是通过卷积运算确定特征值。
[0078]
获得第一注意力特征之后,可在步骤s43中根据第一注意力特征和输入数据确定输出特征。其中,确定输出特征至少包括两种方式:第一种方式是将第一注意力特征做线性变换,使其与输入数据的尺寸相同,并将变换后的第一注意力特征叠加到输入数据中,从而获得输出特征;第二种方式是将第一注意力特征与输入数据的特征点建立位置映射关系,利用该位置映射关系,基于第一注意力特征和输入数据生成输出特征。在第一种方式中,输出特征的尺寸与输入数据保持相同,在第二种方式中,若目标特征点不是第一查询特征中的所有特征点时,输出特征的尺寸与输入数据不同,其只包括目标特征点对应的特征分量。
[0079]
在一些可能的实现方式中,在步骤s43中,根据第一注意力特征和输入数据,确定与注意力卷积层对应的输出特征,包括:对第一注意力特征进行线性变换,获得与输入数据尺寸相同的第一匹配注意力特征;将第一匹配注意力特征与输入数据进行叠加,获得与输入数据对应的输出特征。
[0080]
在一些可能的实现方式中,在步骤s43中,根据第一注意力特征和输入数据,确定与注意力卷积层对应的输出特征,包括:根据与第一注意力特征中第一注意力值对应的目标特征点在输入数据中的位置信息,将第一注意力值进行重新排列,获得第二匹配注意力特征;根据第二匹配注意力特征和输入数据中与目标特征点对应的特征点,获得与输入数据对应的输出特征。
[0081]
综上所述,本公开实施例中的第一注意力机制本质上属于自注意力范畴,其具有“局部区域”特性、“归纳偏置”特性以及“旋转不变”特性。其中,“局部区域”是指在获取第一注意力特征时,仅对特征的局部区域进行自注意力运算,而非针对特征全局进行自注意力运算,可以有效降低计算量;“归纳偏置”特性是由于对局部区域开展自注意力运算而产生的附加特性,较全局进行自注意力运算不具有归纳偏置能力而言,只针对局部区域开展自注意力运算具备一定的归纳偏置能力;“旋转不变”特性是由于自注意力运算本身关注于特征点之间的关联关系,这种关联关系与特征之间的距离及相对位置无关,从而使得其对旋转角度不敏感。
[0082]
下面结合图5与图6对根据本公开实施例的数据处理方法进行展开说明。
[0083]
图5为本公开实施例提供的一种目标神经网络的示意图。
[0084]
参照图5,目标神经网络包括第一网络层结构、注意力卷积层以及第二网络层结构。其中,第一网络层结构位于注意力卷积层之前,其可以包括一个或多个网络层(网络层可以是卷积层),第二网络层结构位于注意力卷积层之后,其同样可以包括一个或多个网络层(网络层可以包括批标准化层(batchnorm-layer)和激活层(activation layer)等)。
[0085]
在一些可能的实现方式中,将待处理数据输入目标神经网络之后,首先由第一网络层结构对待处理数据进行处理,获得中间数据,并将中间数据输入到注意力卷积层。该中间数据即为注意力卷积层的输入数据。注意力卷积层按照本公开实施例中任意一种实现方式对输入数据进行处理,获得输出特征,并将输出特征输入至第二网络层结构。第二网络层结构对输出特征进行处理,获得处理结果,目标神经网络向外输出该处理结果。
[0086]
图6为本公开实施例提供的一种注意力卷积层的工作过程的示意图。
[0087]
参照图6,注意力卷积层的输入数据f是一个hf*wf*c的张量,其中,hf表示f的高度,wf表示f的宽度,c表示f的通道数。
[0088]
在一些可能的实现方式中,首先将f分别与第一变换矩阵wq、第二变换矩阵wk和第三变换矩阵wv相乘,实现对f的三次线性变换,并获得第一查询特征q、第一键特征k和第一值特征v,其中,wq的尺寸为wf*hq*1,相应的,q是hq*wq*c的张量,wk的尺寸为wf*hk*1,相应的,k是hk*wk*c的张量,wk的尺寸为wf*hv*1,相应的,v是hv*wv*c的张量。在获得q、k和v之后,计算q中各个目标特征点与k中处于该目标特征点对应的局部区域的特征点之间的余弦相似度,获得相似度特征s,其中,s为{hq*wq}*{hk*wk}的矩阵。
[0089]
在一个示例中,获取相似度特征s的过程包括:首先,将q变换为{hq*wq}*c的矩阵形式,其次,将k变换为c*{hk*wk}的矩阵形式,最后,基于变换后的矩阵形式执行矩阵相乘操作,获得尺寸为{hq*wq}*{hk*wk}的相似度特征s。其意义在于,s中第(i,j)位置的元素为第j个元素对第i个元素的影响,或第j个元素与第i个元素之间的相似性,从而实现全局上下文任意两个元素之间的依赖关系。需要说明的是,s具有稀疏性,其元素中只有目标特征点与局部区域特征点之间的相似性为非零取值,其他未进行自注意力运算的元素的取值均为
零。
[0090]
进一步地,对v进行变换,获得v
′
,v
′
为{hv*wv}*c的矩阵。将s与v
′
做内积运算,获得{hq*wq}*c的矩阵,并对该矩阵进行变换,获得hq*wq*c的张量,该张量即为第一注意力特征p(hq=h
p
,wq*w
p
)。最后,对p进行线性变换,使其与f的尺寸相同,进而将其与f相加,获得最终的输出特征f
′
。其中,f
′
的尺寸为hf′
*wf′
*c,且hf′
=hf,wf′
=wf。
[0091]
需要说明的是,在一些可能的实现方式中,在获得相似度特征s之后,还可以通过softmax等方式对其中的元素进行归一化,使得数据处于相同数量级,方便进行比较分析。
[0092]
还需要说明的是,在一些可能的实现方式中,为降低运算量,可以在线性变换过程中减少通道数c,即q、k和v的通道数可以小于f的通道数,且q、k与v的通道数可以不同(q与k的通道数通常相同)。
[0093]
基于滑窗方式确定输出特征,与上述过程的计算方式类似,在此不再重复描述。
[0094]
上述内容描述了如何基于注意力卷积层获取输出特征,在实际应用中,获得输出特征之后,为增强特征表达效果,还可以将不同层级的特征进行融合,从而获得融合特征。
[0095]
下面结合图7说明该目标神经网络进行特征融合的工作过程。
[0096]
图7为本公开实施例提供的一种数据处理方法的工作过程的流程图。其中,目标神经网络的n级卷积层之间基于第二注意力机制进行特征融合,各级卷积层输出的特征的尺度不同,n为大于或等于2的整数。第二注意力机制包括不同尺度的输出特征之间针对输出特征的局部区域的注意力机制。参照图7,该方法包括:
[0097]
步骤s71,针对第n级卷积层,根据第n-1级卷积层的第n-1级中间特征与第n级卷积层输出的第n级初始特征,确定第n级第二注意力特征。
[0098]
其中,n表示卷积层的级数,且n为整数且2≤n≤n-1。
[0099]
步骤s72,根据第n级第二注意力特征,对第n级初始特征进行更新,获得第n级中间特征。
[0100]
步骤s73,根据第n+1级卷积层的第n+1级融合特征与第n级中间特征,确定第n级第三注意力特征。
[0101]
步骤s74,根据第n级第三注意力特征,对第n级中间特征进行更新,获得第n级融合特征。
[0102]
在一些可能的实现方式中,初始特征是待处理数据经由目标神经网络的卷积层处理后的处于初始状态的特征,中间特征是在初始特征基础上,结合其他层级的特征信息获得的处于中间状态的特征,融合特征是指将中间特征与其他层级的特征进行进一步融合之后获得的特征。相应的,处理结果是融合特征经由卷积层之后的网络层处理后得到的结果。
[0103]
在一些可能的实现方式中,针对第1级卷积层,由于没有特征层次再比之低的卷积层,因此,设置第1级中间特征等于第1级初始特征。相应的,第1级融合特征是基于第1级第三注意力特征对第1级中间特征进行更新获得的,第1级第三注意力特征根据第2级融合特征和第1级中间特征获得。
[0104]
在一些可能的实现方式中,对于第n级卷积层,由于没有特征层次再比之高的卷积层,因此,设置第n级融合特征等于第n级中间特征。
[0105]
上述特征融合过程可以概括为:首先,基于第n级第二注意力特征对第n级初始特征进行更新,获得第n级中间特征;其次,基于第n级第三注意力特征对第n级中间特征进行
更新,获得第n级融合特征。第n级第二注意力特征与第n级第三注意力特征均是基于第二注意力机制获得的特征,其中,第n级第二注意力特征由第n-1级中间特征与第n级初始特征获得,其反映了第n-1级中间特征的特征点与第n级初始特征的特征点之间的关联关系,第n级第三注意力特征由第n+1级融合特征与第n级中间特征获得,其反映了第n+1级融合特征的特征点与第n级中间特征的特征点之间的关联关系。
[0106]
在一些可能的实现方式中,在步骤s71中,针对第n级卷积层,根据第n-1级卷积层的第n-1级中间特征与第n级卷积层输出的第n级初始特征,确定第n级第二注意力特征,包括:对第n级初始特征进行线性变换,获得与第n级初始特征对应的第n级第二查询特征;对第n-1级中间特征进行线性变换,获得与第n-1级中间特征对应的第n-1级第二键特征和第n-1级第二值特征;确定第n级第二查询特征的各个特征点与第n-1级第二键特征的各个特征点之间的映射关系;根据映射关系,确定第n级第二查询特征的各个特征点对应于第n-1级第二键特征的特征融合区域;确定第n级第二查询特征中的各个特征点与第n-1级第二键特征中处于特征融合区域的各个特征点之间的相似性,获得第n级第二相似度特征;确定第n-1级第二值特征中与特征融合区域对应的第n-1级第二值特征点;确定第n级第二相似度特征与第n-1级第二值特征点之间的内积,获得第n级第二注意力特征。
[0107]
在一些可能的实现方式中,在步骤s72中,根据第n级第二注意力特征,对第n级初始特征进行更新,获得第n级中间特征,包括:将第n级第二注意力特征与第n级初始特征叠加,获得第n级中间特征。
[0108]
在一些可能的实现方式中,在步骤s73中,根据第n+1级卷积层的第n+1级融合特征与第n级中间特征,确定第n级第三注意力特征,包括:对第n级中间特征进行线性变换,获得与第n级中间特征对应的第n级第三查询特征;对第n+1级融合特征进行线性变换,获得与第n+1级融合特征对应的第n+1级第三键特征和第n+1级第三值特征;确定第n级第三查询特征的各个特征点与第n+1级第三键特征的各个特征点之间的映射关系;根据映射关系,确定第n级第三查询特征的各个特征点对应于第n+1级第三键特征的特征融合区域;确定第n级第三查询特征中的各个特征点与第n+1级第三键特征中处于特征融合区域的各个特征点之间的相似性,获得第n级第三相似度特征;确定第n+1级第三值特征中与特征融合区域对应的第n+1级第三值特征点;确定第n级第三相似度特征与第n+1级第三值特征点之间的内积,获得第n级第三注意力特征。
[0109]
在一些可能的实现方式中,在步骤s74中,根据第n级第三注意力特征,对第n级中间特征进行更新,获得第n级融合特征,包括:将第n级第三注意力特征与第n级中间特征叠加,获得第n级融合特征。
[0110]
综上所述,本公开实施例中的第二注意力机制具有“他注意力”特性和“局部区域”特性。其中,“他注意力”特性是指,第二注意力特征与第三注意力特征均是在不同特征之间(即不同尺度的输出特征)进行注意力运算,而非针对同一特征的不同特征点进行注意力运算;“局部区域”特性是指在进行不同特征之间的注意力运算时,不是针对所有特征点进行注意力运算,其只针对两个特征中具有映射关系的若干特征点进行注意力运算。
[0111]
下面结合图8-图12对根据本公开实施例的数据处理方法进行展开说明。
[0112]
图8为本公开实施例提供的一种特征融合过程的示意图。参照图8,第1级初始特征、第2级初始特征
……
第n级初始特征分别为使用第1层卷积层至第n级卷积层对输入数据
进行采样获得的特征。其中,第1层卷积层至第n级卷积层分别对应采样率x1至xn,且按照从x1至xn依次降低,相应的,第1级初始特征的分辨率最高,第n级初始特征的分辨率最低。
[0113]
针对第1级卷积层,考虑到没有特征层次更低的卷积层,其无法获得从低层级特征层传递的第二注意力特征,因此,设置第1级中间特征等于第1级初始特征。对于第2级卷积层,根据第1级卷积层的第1级中间特征与第2级卷积层输出的第2级初始特征,确定第2级第二注意力特征,并基于该第2级第二注意力特征,对第2级初始特征进行更新,获得第2级中间特征。类似的,针对第3级卷积层至第n级卷积层,按照上述方式进行处理,可以获得第3级中间特征至第n级中间特征。
[0114]
在获得所有卷积层的中间特征之后,即可进一步确定各个卷积层的融合特征。
[0115]
对于第n级卷积层,考虑到没有特征层次更高的卷积层,其无法获得从高层级特征层传递的第三注意力特征,因此,设置第n级中间特征等于第n级融合特征。对于第n-1级卷积层,根据第n级融合特征与第n-1级中间特征,确定第n-1级第三注意力特征,并根据第n-1级第三注意力特征对第n-1级中间特征进行更新,获得第n-1级融合特征。以此类推,针对第n-2级中间特征至第1级中间特征,按照上述方式进行处理可以获得第n-2级融合特征至第1级融合特征。
[0116]
图9为本公开实施例提供的一种中间特征的获取过程的示意图。
[0117]
参照图9,f1
′
表示第n-1级中间特征,其是一个h1*w1*c1的张量;f2表示第n级初始特征,其是一个h2*w2*c1的张量。
[0118]
首先,对f2做线性变换,生成与f2对应的第n级第二查询特征q2,q2是一个h
q1
*w
q1
*c1的张量。并且,对f1
′
进行线性变换,获得与f1
′
对应的第n-1级第二键特征k2和第n-1级第二值特征v2,k2是一个h
k1
*w
k1
*c1的张量,v2是一个h
v1
*w
v1
*
c1
的张量。其中,h
k1
=h
v1
,w
k1
=w
v1
,且h
q1
小于h
k1
/h
v1
,w
q1
小于w
k1
/w
v1
。
[0119]
其次,确定q2的各个特征点与k2的各个特征点之间的映射关系,并根据该映射关系,确定q2的各个特征点对应于k2的特征融合区域;并且,确定q2中的各个特征点与k2中处于特征融合区域的各个特征点之间的相似性,获得第n级第二相似度特征s2(将s2中未计算相似性的特征点对应的取值置为0),其中,s2的尺寸为(h
q1
*w
q1
)*(h
k1
*w
k1
);然后,将v2展开为(h
v1
*w
v1
)*c1的矩阵v2
′
,并计算s2与v2
′
的内积(即计算{(h
q1
*w
q1
)*(h
k1
*w
k1
)}
·
{(h
v1
*w
v1
)*c1}),获得尺寸为(h
q1
*w
q1
)*c1的矩阵,并将(h
q1
*w
q1
)*c1矩阵重新排列为h
q1
*w
q1
*c1形式的张量,该张量即为第n级第二注意力特征p2。其中,h
p1
=h
q1
,w
p1
=w
q1
。
[0120]
最后,将p2进行线性变换,使其与f2尺寸相同,再将其与f2叠加,从而获得第n级中间特征f2
′
。其中,f2
′
的尺寸与f2相同。
[0121]
在一些可能的实现方式中,q2的各个特征点与k2的各个特征点之间的映射关系即同一特征在q2中的位置与该特征在k2中的位置之间的对应关系,在计算第二相似度时,只针对该特征融合区域计算即可,较针对整个特征区域计算第二相似性而言,可以有效降低计算量。
[0122]
图10为本公开实施例提供的一种融合特征的映射关系示意图。参照图10,q2对应特征图中的阴影区域与k2对应特征图中的阴影区域具有映射关系(即两者对应同一特征模式)。针对q2阴影区域内的任意一个特征点,其第二相似度的计算范围或者第二注意力机制的影响范围仅限于k2特征图的阴影区域。
[0123]
图11为本公开实施例提供的一种融合特征的获取过程的示意图。
[0124]
参照图11,f3
′
表示第n级中间特征,其是一个h3*w3*c2的张量;f4
″
表示第n+1级融合特征,其是一个h4*w4*c2的张量。
[0125]
首先,对f3
′
进行线性变换,获得与f3
′
对应的第n级第三查询特征q3,q3是一个h
q2
*w
q2
*c2的张量;并且,对f4
″
也进行线性变换,获得与f4
″
对应的第n+1级第三键特征k3和第n+1级第三值特征v3,k3是一个h
k2
*w
k2
*c2的张量,v3是一个h
v2
*w
v2
*c2的张量。其中,h
k2
=h
v2
,w
k2
=w
v2
,且h
q2
大于h
k2
/h
v2
,w
q2
大于w
k2
/w
v2
。
[0126]
其次,确定q3的各个特征点与k3的各个特征点之间的映射关系,并根据该映射关系,确定q3的各个特征点对应于k3的特征融合区域;确定q3中的各个特征点与k3中处于特征融合区域的各个特征点之间的相似性,获得第n级第三相似度特征s3(将s3中未计算相似性的特征点对应的取值置为0),s3的尺寸为(h
q2
*w
q2
)*(h
k2
*w
k2
);然后,将v3展开为(h
v2
*w
v2
)*c2的矩阵v3
′
,并计算s3与v3
′
的内积,获得计算结果为(h
q2
*w
q2
)*c2的矩阵,将该(h
q2
*w
q2
)*c2矩阵重新排列为h
q2
*w
q2
*c2的张量形式,从而获得第n级第三注意力特征p3。
[0127]
最后,将p3进行线性变换,使其与f3
′
尺寸相同,再将其与f3
′
叠加,从而获得第n级融合特征f3
″
。其中,f3
″
的尺寸与f3
′
相同。
[0128]
在一些可能的实现方式中,q3的各个特征点与k3的各个特征点之间的映射关系即同一特征在q3中的位置与该特征在k3中的位置之间的对应关系,在计算第三相似度时,只针对该特征融合区域计算即可,较针对整个特征区域计算第三相似性而言,可以有效降低计算量。
[0129]
图12为本公开实施例提供的一种融合特征的映射关系示意图。参照图12,q3对应特征图中的阴影区域与k3对应特征图中的阴影区域具有映射关系(即两者对应同一特征模式)。针对q3阴影区域内的任意一个特征点,其第二相似度的计算范围或者第二注意力机制的影响范围仅限于k3特征图的阴影区域。
[0130]
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0131]
此外,本公开还提供了数据处理装置、电子设备、计算机可读存储介质,上述均可用来实现本公开提供的任一种数据处理方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
[0132]
图13为本公开实施例提供的一种数据处理装置的框图。
[0133]
参照图13,本公开实施例提供了一种数据处理装置,该数据处理装置包括:
[0134]
数据处理模块13,用于将待处理数据输入目标神经网络中处理,用于得到待处理数据的处理结果。
[0135]
其中,目标神经网络的至少一层卷积层为基于第一注意力机制的注意力卷积层,和/或,目标神经网络的至少两级卷积层之间基于第二注意力机制进行特征融合,第一注意力机制包括针对特征的局部区域的自注意力机制,第二注意力机制包括不同尺度的输出特征之间的注意力机制。
[0136]
在一些可能的实现方式中,数据处理装置还包括输入模块,用于执行将待处理数
据输入至目标神经网络的操作。
[0137]
举例来说,待处理数据包括图像数据、语音数据、文本数据、视频数据中的任意一种。本公开实施例对待处理数据的类型和内容不作限制。
[0138]
在一些可能的实现方式中,通过输入模块将待处理数据输入到目标神经网络之后,数据处理模块利用目标神经网络中的注意力卷积层对输入该层的数据进行自注意力运算,并获得输出特征,以供目标神经网络中的其他网络层基于输出特征进行数据处理,获得处理结果;并且,数据处理模块还可基于目标神经网络中的第二注意力机制对输出特征(包括但不限于注意力卷积层的输出特征)进行融合,获得融合特征,以供其他网络层基于融合特征进行进一步地数据处理,获得处理结果。
[0139]
在一些可能的实现方式中,目标神经网络可用于执行图像处理任务、语音处理任务、文本处理任务、视频处理任务中的任意一种。与之相应的,待处理数据的处理结果可以是图像处理结果、语音处理结果、文本处理结果、视频处理结果中的任意一种(其中,处理可以包括识别、分类、标注等操作),其与待处理数据的类型、待处理数据的内容、以及目标神经网络的执行任务等相关。本公开实施例对目标神经网络所执行的具体任务类型及处理结果类型不作限制。
[0140]
在一些可能的实现方式中,目标神经网络包括注意力卷积层,相应的,数据处理模块可用于基于第一注意力机制实现特征提取。
[0141]
图14为本公开实施例提供的一种数据处理装置的框图。参照图14,该数据处理装置包括:变换子模块141、第一注意力处理子模块142和输出特征确定子模块143。其中,变换子模块141,用于针对任一注意力卷积层,对注意力卷积层的输入数据进行线性变换,获得与输入数据对应的第一查询特征、第一键特征和第一值特征;第一注意力处理子模块142,用于根据第一查询特征、第一键特征和第一值特征,确定与第一查询特征的多个目标特征点对应的第一注意力特征,其中,第一注意力特征包括与各个目标特征点对应的第一注意力值,第一注意力值为针对与目标特征点对应的局部区域确定的,与目标特征点对应的局部区域是第一查询特征中以目标特征点为中心,并根据预设尺寸确定的区域,预设尺寸小于第一查询特征的尺寸,第一注意力值用于表征局部区域内的各个特征点与目标特征点之间的关联关系;输出特征确定子模块143,用于根据第一注意力特征和输入数据,确定与注意力卷积层对应的输出特征,其中,输入数据是待处理数据经由注意力卷积层之前的网络层处理后的数据,处理结果是输出特征经由注意力卷积层之后的网络层处理后得到的。
[0142]
在一些可能的实现方式中,第一注意力处理子模块包括:区域映射单元、相似性确定单元、第一注意力值获取单元和第一注意力特征获取单元。其中,区域映射单元,用于针对各个目标特征点,确定第一键特征中与局部区域对应的多个第一键特征点,以及第一值特征中与局部区域对应的第一值特征点;相似性确定单元,用于确定目标特征点与各个第一键特征点之间的相似性,获得与目标特征点对应的第一相似度特征;第一注意力值获取单元,用于根据第一相似度特征与第一值特征点,获得与目标特征点对应的第一注意力值;第一注意力特征获取单元,用于根据多个目标特征点的第一注意力值,获得第一注意力特征。
[0143]
在一些可能的实现方式中,数据处理模块还包括:选取子模块和区域确定子模块。其中,选取子模块,用于从第一查询特征中选取多个特征点作为目标特征点;区域确定子模
块,用于根据预设尺寸,确定与各个目标特征点对应的局部区域。
[0144]
在一些可能的实现方式中,第一查询特征包括向量和矩阵中的任意一种;在第一查询特征为向量的情况下,预设尺寸包括预设特征点数量,且预设特征点数量小于第一查询向量的特征点总数量,局部区域是以目标特征点为中心、特征点数量等于预设特征点数量的向量;在第一查询特征为矩阵的情况下,预设尺寸包括预设行数量和预设列数量,且预设行数量小于第一查询特征的行总数量,预设列数量小于第一查询特征的列总数量,局部区域是以目标特征点为中心、以预设行数量为高度、预设列数量为宽度的矩形区域。
[0145]
在一些可能的实现方式中,采用滑窗方式获取第一注意力特征,相应的,第一注意力处理子模块除包括第一相似性确定单元、第一注意力值获取单元和第一注意力特征获取单元之外,还包括:滑动设置单元、滑动单元。其中,滑动设置单元,用于根据局部区域的预设尺寸,设置滑动窗口和步长;滑动单元,用于从预设的初始滑动位置开始,沿第一查询特征以步长滑动该滑动窗口,并确定每次滑动操作中与滑动窗口对应的目标特征点,第一键特征中与滑动窗口对应的多个第一键特征点,以及第一值特征中与滑动窗口对应的第一值特征点;第一相似性确定单元,用于确定目标特征点与各个第一键特征点之间的相似性,获得与目标特征点对应的第一相似度特征;第一注意力值获取单元,用于根据第一相似度特征与第一值特征点,获得与目标特征点对应的第一注意力值;第一注意力特征获取单元,用于根据多个目标特征点的第一注意力值,获得第一注意力特征。
[0146]
在一些可能的实现方式中,第一查询特征与第一键特征相同。第一相似性确定单元在确定目标特征点与各个第一键特征点之间的相似性时,包括:在获得第i个目标特征点与第j个第一键特征点之间的相似性sij的情况下,根据sij确定第j个第一查询特征点与第i个目标特征点之间的相似性sji;其中,i和j均为大于等于1且小于等于m的整数,m为第一查询特征或第一键特征中的特征点的总数量,且i≥j或i≤j。
[0147]
在一些可能的实现方式中,输出特征确定子模块包括:第一变换单元和第一叠加单元。其中,第一变换单元,用于对第一注意力特征进行线性变换,获得与输入数据尺寸相同的第一匹配注意力特征;第一叠加单元,用于将第一匹配注意力特征与输入数据进行叠加,获得与输入数据对应的输出特征。
[0148]
在一些可能的实现方式中,输出特征确定子模块包括:重排列单元和特征获取单元。其中,重排列单元,用于根据与第一注意力特征中第一注意力值对应的目标特征点在输入数据中的位置信息,将第一注意力值进行重新排列,获得第二匹配注意力特征;特征获取单元,用于根据第二匹配注意力特征和输入数据中与目标特征点对应的特征点,获得与输入数据对应的输出特征。
[0149]
在一些可能的实现方式中,目标神经网络的n级卷积层之间基于第二注意力机制进行特征融合,各级卷积层输出的特征的尺度不同,n为大于或等于2的整数,相应的,数据处理模块可用于基于第二注意力机制实现特征融合。
[0150]
图15为本公开实施例提供的一种数据处理装置的框图。参照图15,该数据处理装置包括:第二注意力处理子模块151、第一更新子模块152、第三注意力处理子模块153和第二更新子模块154。其中,第二注意力处理子模块151,用于针对第n级卷积层,根据第n-1级卷积层的第n-1级中间特征与第n级卷积层输出的第n级初始特征,确定第n级第二注意力特征,n为整数且2≤n≤n-1;第一更新子模块152,用于根据第n级第二注意力特征,对第n级初
始特征进行更新,获得第n级中间特征;第三注意力处理子模块153,用于根据第n+1级卷积层的第n+1级融合特征与第n级中间特征,确定第n级第三注意力特征;第二更新子模块154,用于根据第n级第三注意力特征,对第n级中间特征进行更新,获得第n级融合特征,其中,初始特征是待处理数据经由目标神经网络的卷积层处理后的特征,处理结果是融合特征经由卷积层之后的网络层处理后得到的。
[0151]
在一些可能的实现方式中,针对第1级卷积层,由于没有特征层次再比之低的卷积层,因此,设置第1级中间特征等于第1级初始特征。相应的,第1级融合特征是基于第1级第三注意力特征对第1级中间特征进行更新获得的,第1级第三注意力特征根据第2级融合特征和第1级中间特征获得。
[0152]
在一些可能的实现方式中,对于第n级卷积层,由于没有特征层次再比之高的卷积层,因此,设置第n级融合特征等于第n级中间特征。
[0153]
在一些可能的实现方式中,第二注意力处理子模块包括:第二变换单元、第三变换单元、第一映射单元、第一融合区域确定单元、第二相似性确定单元、第一特征点确定单元和第二注意力特征获取单元。其中,第二变换单元,用于对第n级初始特征进行线性变换,获得与第n级初始特征对应的第n级第二查询特征;第三变换单元,用于对第n-1级中间特征进行线性变换,获得与第n-1级中间特征对应的第n-1级第二键特征和第n-1级第二值特征;第一映射单元,用于确定第n级第二查询特征的各个特征点与第n-1级第二键特征的各个特征点之间的映射关系;第一融合区域确定单元,用于根据映射关系,确定第n级第二查询特征的各个特征点对应于第n-1级第二键特征的特征融合区域;第二相似性确定单元,用于确定第n级第二查询特征中的各个特征点与第n-1级第二键特征中处于特征融合区域的各个特征点之间的相似性,获得第n级第二相似度特征;第一特征点确定单元,用于确定第n-1级第二值特征中与特征融合区域对应的第n-1级第二值特征点;第二注意力特征获取单元,用于确定第n级第二相似度特征与第n-1级第二值特征点之间的内积,获得第n级第二注意力特征。
[0154]
在一些可能的实现方式中,第一更新子模块包括第二叠加单元,用于将所述第n级第二注意力特征与所述第n级初始特征叠加,获得所述第n级中间特征。
[0155]
在一些可能的实现方式中,第三注意力处理子模块包括:第四变换单元、第五变换单元、第二映射单元、第二融合区域确定单元、第三相似性确定单元、第二特征点确定单元和第三注意力特征获取单元。其中,第四变换单元,用于对第n级中间特征进行线性变换,获得与第n级中间特征对应的第n级第三查询特征;第五变换单元,用于对第n+1级融合特征进行线性变换,获得与第n+1级融合特征对应的第n+1级第三键特征和第n+1级第三值特征;第二映射单元,用于确定第n级第三查询特征的各个特征点与第n+1级第三键特征的各个特征点之间的映射关系;第二融合区域确定单元,用于根据映射关系,确定第n级第三查询特征的各个特征点对应于第n+1级第三键特征的特征融合区域;第三相似性确定单元,用于确定第n级第三查询特征中的各个特征点与第n+1级第三键特征中处于特征融合区域的各个特征点之间的相似性,获得第n级第三相似度特征;第二特征点确定单元,用于确定第n+1级第三值特征中与特征融合区域对应的第n+1级第三值特征点;第三注意力特征获取单元,用于确定第n级第三相似度特征与第n+1级第三值特征点之间的内积,获得第n级第三注意力特征。
[0156]
在一些可能的实现方式中,第二更新子模块包括第三叠加单元,用于将所述第n级第三注意力特征与所述第n级中间特征叠加,获得所述第n级融合特征。
[0157]
图16为本公开实施例提供的一种电子设备的框图。
[0158]
参照图16,本公开实施例提供了一种电子设备,该电子设备包括:至少一个处理器1601;至少一个存储器1602,以及一个或多个i/o接口1603,连接在处理器1601与存储器1602之间;其中,存储器1602存储有可被至少一个处理器1601执行的一个或多个计算机程序,一个或多个计算机程序被至少一个处理器1601执行,以使至少一个处理器1601能够执行上述的数据处理方法。
[0159]
需要说明的是,本公开实施例提供的数据处理方法还可应用于基于众核系统的电子设备。图17为本公开实施例提供的一种电子设备的框图。
[0160]
参照图17,本公开实施例提供了一种电子设备,该电子设备包括多个处理核1701以及片上网络1702,其中,多个处理核1701均与片上网络1702连接,片上网络1702用于交互多个处理核间的数据和外部数据。
[0161]
其中,一个或多个处理核1701中存储有一个或多个指令,一个或多个指令被一个或多个处理核1701执行,以使一个或多个处理核1701能够执行上述的数据处理方法。
[0162]
在一些实施例中,该电子设备可以是类脑芯片,由于类脑芯片可以采用向量化计算方式,且需要通过外部内存例如双倍速率(double data rate,ddr)同步动态随机存储器调入神经网络模型的权重信息等参数。因此,本公开实施例采用批处理的运算效率较高。
[0163]
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器/处理核执行时实现上述的数据处理方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
[0164]
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述数据处理方法。
[0165]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读存储介质上,计算机可读存储介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。
[0166]
如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读程序指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom)、静态随机存取存储器(sram)、闪存或其他存储器技术、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含
计算机可读程序指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0167]
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0168]
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
[0169]
这里所描述的计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
[0170]
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0171]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0172]
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0173]
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程
序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0174]
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。