一种注意力模型、特征提取方法及相关装置

文档序号:226942 发布日期:2021-11-09 浏览:7次 >En<

阅读说明:本技术 一种注意力模型、特征提取方法及相关装置 (Attention model, feature extraction method and related device ) 是由 唐业辉 韩凯 王云鹤 肖安 许春景 于 2021-06-29 设计创作,主要内容包括:本申请实施例公开了一种注意力模型以及特征提取方法,应用于人工智能技术领域。该注意力模型包括:一个或多个串行连接的自注意力网络,所述自注意力网络包括自注意力模块、多层感知机和第一神经网络层;所述自注意力模块包括多个并行的特征提取层和融合层,所述融合层分别与所述多个并行的特征提取层连接;所述多层感知机与所述自注意力模块串行连接,所述多层感知机包括多个串行的第一全连接层;所述第一神经网络层与所述自注意力模块以及所述多层感知机中的一个或多个并行连接,其中所述第一神经网络层用于执行特征变换。基于本方案,能够增加注意力模型所提取的特征的多样性,增强了特征的表达能力,从而提高注意力模型的性能。(The embodiment of the application discloses an attention model and a feature extraction method, which are applied to the technical field of artificial intelligence. The attention model includes: one or more serially connected self-attention networks comprising a self-attention module, a multi-layer perceptron, and a first neural network layer; the self-attention module comprises a plurality of parallel feature extraction layers and a fusion layer, and the fusion layer is connected with the plurality of parallel feature extraction layers respectively; the multilayer perceptron is connected with the self-attention module in series and comprises a plurality of first full-connection layers in series; the first neural network layer is connected in parallel with the self-attention module and one or more of the multi-layer perceptrons, wherein the first neural network layer is configured to perform feature transformation. Based on the scheme, the diversity of the features extracted by the attention model can be increased, the expression capability of the features is enhanced, and therefore the performance of the attention model is improved.)

一种注意力模型、特征提取方法及相关装置

技术领域

本申请涉及人工智能技术领域,尤其涉及一种注意力模型、特征提取方法及相关装置。

背景技术

人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

近年来,自注意力网络已经在许多自然语言处理(Natural LanguageProcessing,NLP)任务中得到了很好的应用,例如机器翻译,情感分析和问题解答等。随着自注意力网络的广泛应用,源于自然语言处理领域的自注意力网络在图像分类、目标检测、和图像处理等任务上也取得了很高的性能。

在自注意力网络中,由于自注意力网络层对特征的处理,输入数据的特征随着网络的加深而容易变得无法区分,这些无法区分的特征具有弱的表示能力。这种随着网络的加深而导致特征变得无法区分的现象通常称为特征坍塌(feature collapse)。

目前,在自注意力网络中添加捷径(shortcut)可以缓解特征坍塌的现象,避免特征出现无法区分的情况。然而,在自注意力网络中所添加的shortcut只是简单地将自注意力网络层的输入特征复制至自注意力网络层的输出,无法增强特征的表达能力,导致自注意力网络的性能较差。

发明内容

本申请提供了一种注意力模型以及特征提取方法,能够增加注意力模型所提取的特征的多样性,增强了特征的表达能力,从而提高注意力模型的性能。

本申请第一方面提供一种注意力模型,包括:一个或多个串行连接的自注意力网络,所述自注意力网络包括自注意力模块、多层感知机和第一神经网络层。

所述自注意力模块包括多个并行的特征提取层和融合层,所述融合层分别与所述多个并行的特征提取层连接。其中,自注意力模块是采用了自注意力机制的网络,能够将输入序列的不同位置关联起来以计算同一序列的表示。

所述多层感知机与所述自注意力模块串行连接,所述多层感知机包括多个串行的第一全连接层。具体地,所述多层感知机也可以称为全连接神经网络(Fully ConnectedNetwork,FCN),所述多层感知机包括输入层、隐藏层以及输出层,隐藏层的数量可以为一层或多层。其中,所述多层感知机中的网络层均为全连接层。即,所述多层感知机的输入层与隐藏层之间是全连接的,所述多层感知机的隐藏层与输出层之间也是全连接的。

所述第一神经网络层与所述自注意力模块以及所述多层感知机中的一个或多个并行连接,其中所述第一神经网络层用于执行特征变换。

本方案中,通过在自注意力模块、多层感知机的基础上引入另一个并行的神经网络层,由该并行的神经网络层对输入特征执行特征变换操作,得到变换后的特征。并且,变换后的特征与自注意力模块和/或多层感知机的输出特征相加,以增加自注意力网络中间层所输出的特征的多样性,增强了特征的表达能力,从而提高注意力模型的性能。

在一种可能的实现方式中,所述自注意力网络还包括:第二神经网络层,所述第二神经网络层用于执行特征变换;所述第一神经网络层与所述自注意力模块并行连接,且所述第二神经网络层与所述多层感知机并行连接,或,所述第二神经网络层与所述自注意力模块并行连接,且所述第一神经网络层与所述多层感知机并行连接。

本方案中,通过引入了分别与自注意力模块以及多层感知机并行的第一神经网络层和第二神经网络层,由这两个并行的神经网络层对输入特征执行特征变换操作,得到变换后的特征。并且,变换后的特征分别与自注意力模块的输出特征以及多层感知机的输出特征相加,以增加自注意力网络中间层所输出的特征的多样性,增强了特征的表达能力,从而提高注意力模型的性能。

在一种可能的实现方式中,所述第一神经网络层包括权重矩阵和激活函数,所述权重矩阵用于与所述第一神经网络层的输入特征相乘,所述激活函数用于对所述输入特征与所述权重矩阵的相乘结果进行处理。激活函数例如可以为Sigmoid函数、Tanh函数或ReLU函数等非线性函数。

在一种可能的实现方式中,所述权重矩阵包括多个子矩阵,每个子矩阵均为循环矩阵。简单来说,权重矩阵可以是由多个子矩阵所构成的,且构成权重矩阵的每个子矩阵均为循环矩阵。

在一种可能的实现方式中,所述多个并行的特征提取层分别包括不同的权重矩阵。

在一种可能的实现方式中,所述自注意力模块为多头自注意力模块,所述多头自注意力模块包括多个并行的自注意力单元和第二全连接层,所述第二全连接层分别与所述多个并行的自注意力单元连接,所述多个并行的自注意力单元均包括多个并行的特征提取层和融合层。

在一种可能的实现方式中,所述自注意力模块和/或所述多层感知机还并行有捷径,所述捷径的输入特征与输出特征相同。

相较于第一神经网络层而言,捷径并不改变输入特征,即不对输入特征执行特征变换。因此,捷径也可以看作为是一种特殊的特征处理方式。在第一神经网络层的基础上,引入并行的捷径,能够更进一步地增强自注意力网络所得到的特征的多样性,从而增加特征的表达能力。

在一种可能的实现方式中,所述模型包括计算机视觉模型或自然语言处理模型。

本申请第二方面提供特征提取方法,包括:获取待处理数据;将所述待处理数据输入一个或多个串行连接的自注意力网络,得到所述待处理数据的特征;其中,所述自注意力网络包括自注意力模块、多层感知机和第一神经网络层,所述自注意力模块包括多个并行的特征提取层和融合层,所述融合层分别与所述多个并行的特征提取层连接,所述多层感知机与所述自注意力模块串行连接,所述多层感知机包括多个串行的第一全连接层,所述第一神经网络层与所述自注意力模块以及所述多层感知机中的一个或多个并行连接,所述第一神经网络层用于执行特征变换。

在一种可能的实现方式中,所述自注意力网络还包括:第二神经网络层,所述第二神经网络层用于执行特征变换;所述第一神经网络层与所述自注意力模块并行连接,且所述第二神经网络层与所述多层感知机并行连接,或,所述第二神经网络层与所述自注意力模块并行连接,且所述第一神经网络层与所述多层感知机并行连接。

在一种可能的实现方式中,所述第一神经网络层包括权重矩阵和激活函数,所述权重矩阵用于与所述第一神经网络层的输入特征相乘,所述激活函数用于对所述输入特征与所述权重矩阵的相乘结果进行处理。

在一种可能的实现方式中,所述权重矩阵包括多个子矩阵,每个子矩阵均为循环矩阵。

在一种可能的实现方式中,所述多个并行的特征提取层分别包括不同的权重矩阵。

在一种可能的实现方式中,所述自注意力模块为多头自注意力模块,所述多头自注意力模块包括多个并行的自注意力单元和第二全连接层,所述第二全连接层分别与所述多个并行的自注意力单元连接,所述多个并行的自注意力单元均包括多个并行的特征提取层和融合层。

在一种可能的实现方式中,所述自注意力模块和/或所述多层感知机还并行有捷径,所述捷径的输入特征与输出特征相同。

在一种可能的实现方式中,所述方法应用于计算机视觉任务或自然语言处理任务。

本申请第三方面提供一种图像处理方法,包括:获取待处理图像;将所述待处理图像输入至图像处理模型中,以通过所述图像处理模型中的注意力模型提取图像特征,所述注意力模型为第一方面或第一方面任一实现方式所描述的注意力模型;根据所述图像特征对所述待处理图像进行处理。

在一种可能的实现方式中,所述根据所述图像特征对所述待处理图像进行处理,包括:根据所述图像特征对所述待处理图像执行以下任务中的一种或多种:图像识别、目标检测、语义分割以及图像生成。

本申请第四方面提供一种自然语言处理方法,包括:获取待处理文本;将所述待处理文本输入至自然语言处理模型中,以通过所述自然语言处理模型中的注意力模型提取文本特征,所述注意力模型为第一方面或第一方面任一实现方式所描述的注意力模型;根据所述文本特征对所述待处理文本进行处理。

在一种可能的实现方式中,所述根据所述文本特征对所述待处理文本进行处理,包括:根据所述文本特征对所述待处理文本执行以下任务中的一种或多种:机器翻译、舆情监测、自动摘要生成、观点提取、文本分类、问题回答和文本语义对比。

本申请第五方面提供一种特征提取装置,包括:获取单元和处理单元;所述获取单元,用于获取待处理数据;所述处理单元,用于将所述待处理数据输入一个或多个串行连接的自注意力网络,得到所述待处理数据的特征;其中,所述自注意力网络包括自注意力模块、多层感知机和第一神经网络层,所述自注意力模块包括多个并行的特征提取层和融合层,所述融合层分别与所述多个并行的特征提取层连接,所述多层感知机与所述自注意力模块串行连接,所述多层感知机包括多个串行的第一全连接层,所述第一神经网络层与所述自注意力模块以及所述多层感知机中的一个或多个并行连接,所述第一神经网络层用于执行特征变换。

在一种可能的实现方式中,所述自注意力网络还包括:第二神经网络层,所述第二神经网络层用于执行特征变换;

所述第一神经网络层与所述自注意力模块并行连接,且所述第二神经网络层与所述多层感知机并行连接,

或,

所述第二神经网络层与所述自注意力模块并行连接,且所述第一神经网络层与所述多层感知机并行连接。

在一种可能的实现方式中,所述第一神经网络层包括权重矩阵和激活函数,所述权重矩阵用于与所述第一神经网络层的输入特征相乘,所述激活函数用于对所述输入特征与所述权重矩阵的相乘结果进行处理。

在一种可能的实现方式中,所述权重矩阵包括多个子矩阵,每个子矩阵均为循环矩阵。

在一种可能的实现方式中,所述自注意力模块为多头自注意力模块,所述多头自注意力模块包括多个并行的自注意力单元和第二全连接层,所述第二全连接层分别与所述多个并行的自注意力单元连接,所述多个并行的自注意力单元均包括多个并行的特征提取层和融合层。

在一种可能的实现方式中,所述自注意力模块和/或所述多层感知机还并行有捷径,所述捷径的输入特征与输出特征相同。

本申请第六方面提供一种图像处理装置,包括:获取单元和处理单元;所述获取单元,用于获取待处理图像;所述处理单元,用于将所述待处理图像输入至图像处理模型中,以通过所述图像处理模型中的注意力模型提取图像特征,所述注意力模型为第一方面或第一方面任一实现方式所描述的注意力模型;所述处理单元,还用于根据所述图像特征对所述待处理图像进行处理。

在一种可能的实现方式中,所述处理单元还用于根据所述图像特征对所述待处理图像执行以下任务中的一种或多种:图像识别、目标检测、语义分割以及图像生成。

本申请第七方面提供一种自然语言处理装置,包括:获取单元和处理单元;所述获取单元,用于获取待处理文本;所述处理单元,用于将所述待处理文本输入至自然语言处理模型中,以通过所述自然语言处理模型中的注意力模型提取文本特征,所述注意力模型为第一方面或第一方面任一实现方式所描述的注意力模型;所述处理单元,还用于根据所述文本特征对所述待处理文本进行处理。

在一种可能的实现方式中,所述处理单元还用于根据所述文本特征对所述待处理文本执行以下任务中的一种或多种:机器翻译、舆情监测、自动摘要生成、观点提取、文本分类、问题回答和文本语义对比。

本申请第八方面提供了一种电子设备,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第一方面或第二方面所述的方法。对于处理器执行第二方面的各个可能实现方式中的步骤,具体均可以参阅第二方面,此处不再赘述。

本申请第九方面提供了一种服务器,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第二方面所述的方法。对于处理器执行第二方面的各个可能实现方式中的步骤,具体均可以参阅第二方面,此处不再赘述。

本申请第十方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第二方面所述的方法。

本申请第十一方面提供了一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行上述第二方面所述的方法。

本申请第十二方面提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面所述的方法。

本申请第十三方面提供了一种芯片系统,该芯片系统包括处理器,用于支持服务器或门限值获取装置实现上述第一方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存服务器或通信设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。

附图说明

图1为人工智能主体框架的一种结构示意图;

图2为本申请实施例提供的卷积神经网络的示意图;

图3为本申请实施例提供的卷积神经网络的示意图;

图4为本申请实施例提供的一种系统架构的示意图;

图5为本申请实施例提供的一种注意力模型的结构示意图;

图6a为本申请实施例提供的注意力模型的一种结构示意图;

图6b为本申请实施例提供的注意力模型的另一种结构示意图;

图6c为本申请实施例提供的注意力模型的另一种结构示意图;

图6d为本申请实施例提供的注意力模型的另一种结构示意图;

图6e为本申请实施例提供的自注意力网络的另一种结构示意图;

图7为本申请实施例提供的一种特征处理的示意图;

图8为本申请实施例提供的不同模型在Imagenet数据集上的性能对比示意图;

图9为本申请实施例提供的一种特征提取装置的结构示意图;

图10为本申请实施例提供的执行设备的一种结构示意图;

图11为本申请实施例提供的芯片的一种结构示意图。

具体实施方式

下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。

首先对人工智能系统总体工作流程进行描述,请参见图1,图1示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。

(1)基础设施。

基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(CPU、NPU、GPU、ASIC、FPGA等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。

(2)数据。

基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。

(3)数据处理。

数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。

其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。

推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。

决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。

(4)通用能力。

对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。

(5)智能产品及行业应用。

智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能电子设备、智能交通、智能医疗、自动驾驶、智慧城市等。

下面从模型训练侧和模型应用侧对本申请提供的方法进行描述:

本申请实施例提供的模型训练方法,具体可以应用于数据训练、机器学习、深度学习等数据处理方法,对训练数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等,最终得到训练好的神经网络模型(如本申请实施例中的目标神经网络模型);并且目标神经网络模型可以用于进行模型推理,具体可以将输入数据输入到目标神经网络模型中,得到输出数据。

由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例涉及的相关术语及神经网络等相关概念进行介绍。

(1)神经网络。

神经网络可以是由神经单元组成的,神经单元可以是指以xs(即输入数据)和截距1为输入的运算单元,该运算单元的输出可以为:

其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。

(2)卷积神经网络(Convosutionas Neuras Network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层(例如本实施例中的第一卷积层、第二卷积层)。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,我们都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。

卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。

具体的,如图2所示,卷积神经网络(CNN)100可以包括输入层110,卷积层/池化层120,其中池化层为可选的,以及神经网络层130。

其中,卷积层/池化层120以及神经网络层130组成的结构可以为本申请中所描述的第一卷积层以及第二卷积层,输入层110和卷积层/池化层120连接,卷积层/池化层120连接与神经网络层130连接,神经网络层130的输出可以输入至激活层,激活层可以对神经网络层130的输出进行非线性化处理。

卷积层/池化层120。卷积层:如图2所示卷积层/池化层120可以包括如示例121-126层,在一种实现中,121层为卷积层,122层为池化层,123层为卷积层,124层为池化层,125为卷积层,126为池化层;在另一种实现方式中,121、122为卷积层,123为池化层,124、125为卷积层,126为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。

以卷积层121为例,卷积层121可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depthdimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用维度相同的多个权重矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化……该多个权重矩阵维度相同,经过该多个维度相同的权重矩阵提取后的特征图维度也相同,再将提取到的多个维度相同的特征图合并形成卷积运算的输出。

这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从输入图像中提取信息,从而帮助卷积神经网络100进行正确的预测。

当卷积神经网络100有多个卷积层的时候,初始的卷积层(例如121)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络100深度的加深,越往后的卷积层(例如126)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。

池化层:由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图2中120所示例的121-126各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。

神经网络层130:在经过卷积层/池化层120的处理后,卷积神经网络100还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层120只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络100需要利用神经网络层130来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层130中可以包括多层隐含层(如图2所示的131、132至13n)以及输出层140,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等。

在神经网络层130中的多层隐含层之后,也就是整个卷积神经网络100的最后层为输出层140,该输出层140具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络100的前向传播(如图2由110至140的传播为前向传播)完成,反向传播(如图2由140至110的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络100的损失及卷积神经网络100通过输出层输出的结果和理想结果之间的误差。

需要说明的是,如图2所示的卷积神经网络100仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,例如,如图3所示的多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层130进行处理。

(3)深度神经网络。

深度神经网络(Deep Neural Network,DNN),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从DNN按不同层的位置划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,是输出向量,是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量由于DNN层数多,则系数W和偏移向量的数量也就很多了。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。

总结就是:第L-1层的第k个神经元到第L层的第j个神经元的系数定义为

需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。

(4)损失函数。

在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。

(5)反向传播算法。

卷积神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。

(6)线性操作。

线性是指量与量之间按比例、成直线的关系,在数学上可以理解为一阶导数为常数的函数,线性操作可以但不限于为加和操作、空操作、恒等操作、卷积操作、批归一化BN操作以及池化操作。线性操作也可以称之为线性映射,线性映射需要满足两个条件:齐次性和可加性,任一个条件不满足则为非线性。

其中,齐次性是指f(ax)=af(x);可加性是指f(x+y)=f(x)+f(y);例如,f(x)=ax就是线性的。需要注意的是,这里的x、a、f(x)并不一定是标量,可以是向量或者矩阵,形成任意维度的线性空间。如果x、f(x)为n维向量,当a为常数时,就是等价满足齐次性,当a为矩阵时,则等价满足可加性。相对而言,函数图形为直线的不一定符合线性映射,比如f(x)=ax+b,既不满足齐次性也不满足可加性,因此属于非线性映射。

本申请实施例中,多个线性操作的复合可以称之为线性操作,线性操作中包括的各个线性操作也可以称之为子线性操作。

(7)注意力模型。

注意力模型是一种应用了注意力机制的神经网络。在深度学习中,注意力机制可以被广义地定义为一个描述重要性的权重向量:通过这个权重向量为了预测或者推断一个元素。比如,对于图像中的某个像素或句子中的某个单词,可以使用注意力向量定量地估计出目标元素与其他元素之间的相关性,并由注意力向量的加权和作为目标的近似值。

深度学习中的注意力机制模拟的是人脑的注意力机制。举个例子来说,当人类观赏一幅画时,虽然人类的眼睛可以看到整幅画的全貌,但是在人类深入仔细地观察时,其实眼睛聚焦的只有整幅画中的一部分图案,这个时候人类的大脑主要关注在这一小块图案上。也就是说,在人类仔细观察图像时,人脑对整幅图像的关注并不是均衡的,是有一定的权重区分的,这就是注意力机制的核心思想。

简单来说,人类的视觉处理系统往往会选择性地聚焦于图像的某些部分上,而忽略其它不相关的信息,从而有助于人脑的感知。类似地,在深度学习的注意力机制中,在涉及语言、语音或视觉的一些问题中,输入的某些部分相比其它部分可能更相关。因此,通过注意力模型中的注意力机制,能够让注意力模型仅动态地关注有助于有效执行手头任务的部分输入。

(8)自注意力网络。

自注意力网络是一种应用了自注意力机制的神经网络。自注意力机制是注意力机制的一种延伸。自注意力机制实际上是一种将单个序列的不同位置关联起来以计算同一序列的表示的注意机制。自注意力机制在机器阅读、抽象摘要或图像描述生成中能够起到关键的作用。

以自注意力网络应用于自然语言处理为例,自注意力网络处理任意长度的输入数据并生成输入数据的新的特征表达,然后再将特征表达转换为目的词。自注意力网络中的自注意力网络层利用注意力机制获取所有其他单词之间的关系,从而生成每个单词的新的特征表达。自注意力网络的优点是注意力机制能够在不考虑单词位置的情况下,直接捕捉句子中所有单词之间的关系。

图4是本申请实施例提供的一种系统架构的示意图,在图4中,执行设备110配置输入/输出(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据。

在执行设备120对输入数据进行预处理,或者在执行设备120的计算模块111执行计算等相关的处理(比如进行本申请中神经网络的功能实现)过程中,执行设备120可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。

最后,I/O接口112将处理结果返回给客户设备140,从而提供给用户。

可选地,客户设备140,例如可以是自动驾驶系统中的控制单元、手机电子设备中的功能算法模块,例如该功能算法模块可以用于实现相关的任务。

值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则(例如本实施例中的目标神经网络模型),该相应的目标模型/规则即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。

在图4中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。

值得注意的是,图4仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图4中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。

本申请实施例所提供的注意力模型以及特征提取方法可以应用于电子设备上,尤其是需要基于自注意力网络执行数据处理任务的电子设备。示例性地,该电子设备例如可以是服务器、智能手机(mobile phone)、个人电脑(personal computer,PC)、笔记本电脑、平板电脑、智慧电视、移动互联网设备(mobile internet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线电子设备、无人驾驶(self driving)中的无线电子设备、远程手术(remote medical surgery)中的无线电子设备、智能电网(smart grid)中的无线电子设备、运输安全(transportation safety)中的无线电子设备、智慧城市(smart city)中的无线电子设备、智慧家庭(smart home)中的无线电子设备等。

以上介绍了本申请实施例提供的注意力模型以及特征提取方法所应用的设备,以下将介绍本申请实施例提供的注意力模型以及特征提取方法所应用的场景。

本申请实施例所提供的注意力模型以及特征提取特征提取方法可以应用于计算机视觉或自然语言处理。即,电子设备通过上述的注意力模型以及特征提取方法,能够执行计算机视觉任务或者自然语言处理任务。

其中,自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。自然语言处理研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。一般地,自然语言处理任务主要包括机器翻译、舆情监测、自动摘要生成、观点提取、文本分类、问题回答、文本语义对比以及语音识别等任务。

计算机视觉是一门研究如何使机器学会看的科学。更进一步地说,计算机视觉就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使得处理得到的图像成为更适合人眼观察或传送给仪器检测的图像。通常来说,计算机视觉任务包括图像识别(Image Classification)、目标检测(Object Detection)、语义分割(Semantic Segmentation)以及图像生成(Image Generation)等任务。

图像识别是常见的分类问题,通常也称为图像分类。具体地,在图像识别任务中,神经网络的输入为图像数据,输出值为当前图像数据属于每个类别的概率。通常选取概率值最大的类别作为图像数据的预测类别。图像识别是最早成功应用深度学习的任务之一,经典的网络模型有VGG系列、Inception系列以及ResNet系列等。

目标检测是指通过算法自动检测出图像中常见物体的大致位置,通常用边界框(Bounding box)来表示物体的大致位置,并分类出边界框中物体的类别信息。

语义分割是指通过算法自动分割并识别出图像中的内容。语义分割可以理解为每个像素点的分类问题,即分析每个像素点属于物体的类别。

图像生成是指通过学习真实图像的分布,并从学习到的分布中采样而获得逼真度较高的生成图像。例如,基于模糊的图像生成清晰的图像;基于带雾的图像生成去雾后的图像。

以上介绍了本申请实施例提供的注意力模型以及特征提取方法所应用的场景,以下将介绍本申请实施例所提供的模型的具体结构。

本申请实施例所提供的注意力模型包括一个自注意力网络,或多个串行连接的自注意力网络。在注意力模型包括多个串行连接的自注意力网络时,注意力模型中的每个自注意力网络的结构都是相同的,但不同的自注意力网络中的权重参数可以是不相同的。如图5所示,图5为本申请实施例提供的一种注意力模型的结构示意图。在图5中,注意力模型包括N个串行连接的自注意力网络,分别为自注意力网络1、自注意力网络2…自注意力网络N。自注意力网络1至自注意力网络N这N个网络的结构可以是相同的,但是自注意力网络1至自注意力网络N中的权重参数可以是不相同的。其中,自注意力网络1的输入为注意力模型的输入数据,自注意力网络2的输入则为自注意力网络1的输出,自注意力网络N的输入则为自注意力网络N-1的输出。

具体地,在注意力模型中,每个自注意力网络均包括自注意力模块、多层感知机和第一神经网络层。所述自注意力模块包括多个并行的特征提取层和融合层,所述融合层分别与所述多个并行的特征提取层连接,所述融合层用于对所述多个并行的特征提取层所输出的特征进行融合。其中,自注意力模块是采用了自注意力机制的网络,能够将输入序列的不同位置关联起来以计算同一序列的表示。

所述多层感知机(Multilayer Perceptron,MLP)与所述自注意力模块串行连接,所述多层感知机包括多个串行的第一全连接层。具体地,所述多层感知机也可以称为全连接神经网络,所述多层感知机包括输入层、隐藏层以及输出层,隐藏层的数量可以为一层或多层。其中,所述多层感知机中的网络层均为全连接层。即,所述多层感知机的输入层与隐藏层之间是全连接的,所述多层感知机的隐藏层与输出层之间也是全连接的。其中,全连接层是指全连接层中的每一个神经元都与上一层的所有神经元相连,用来把上一层提取到的特征综合起来。

所述第一神经网络层与所述自注意力模块以及所述多层感知机中的一个或多个并行连接,所述第一神经网络层用于执行特征变换。

在本实施例中,注意力模型的输入为序列形式的数据,即注意力模型的输入数据为序列数据。例如,注意力模型的输入数据可以为由多个连续的单词所构成的句子序列;又例如,注意力模型的输入数据可以为由多个连续的图像块所构成的图像块序列,该多个连续的图像块是对一个完整的图像进行分割得到的。

为了便于理解,以下将结合附图详细介绍上述的自注意力网络的多种实现方式。

实现方式1,自注意力网络包括自注意力模块、多层感知机和第一神经网络层,且所述第一神经网络层与所述自注意力模块并行连接。

可以参阅图6a,图6a为本申请实施例提供的注意力模型的一种结构示意图。如图6a所示,在自注意力网络中,自注意力模块与多层感知机串行连接,且第一神经网络层与自注意力模块并行连接。在自注意力网络的工作过程中,自注意力模块和第一神经网络层并行地对输入自注意力网络的待处理数据进行处理,且自注意力模块的输出和第一神经网络层的输出相加后得到多层感知机的输入。最终,自注意力模块的输出和第一神经网络层的输出在执行相加操作后,继续由多层感知机执行处理,得到自注意力网络的输出数据。

可以理解的是,在注意力模型包括多个串行的自注意力网络,且图6a所示的自注意力网络为注意力模型中的第一个自注意力网络时,图6a中输入自注意力网络的待处理数据为原始的序列数据,例如待处理的文本数据或者待处理的图像数据。在图6a所示的自注意力网络并非为注意力模型中的第一个自注意力网络时,图6a中输入自注意力网络的待处理数据则为前一个自注意力网络所输出的特征数据。

本方案中,通过在自注意力模块的基础上引入了并行的第一神经网络层,由该并行的第一神经网络层对输入特征执行特征变换操作,得到变换后的特征。并且,变换后的特征与自注意力模块的输出特征相加,以增加自注意力网络中间层所输出的特征的多样性,增强了特征的表达能力,从而提高注意力模型的性能。

实现方式2,自注意力网络包括自注意力模块、多层感知机和第一神经网络层,且所述第一神经网络层与所述多层感知机并行连接。

可以参阅图6b,图6b为本申请实施例提供的注意力模型的另一种结构示意图。如图6b所示,在自注意力网络中,自注意力模块与多层感知机串行连接,且第一神经网络层与多层感知机并行连接。在自注意力网络的工作过程中,自注意力模块对输入自注意力网络的待处理数据进行处理,且自注意力模块的输出同时作为多层感知机和第一神经网络层的输入,由多层感知机和第一神经网络层并行地对自注意力模块的输出进行处理。最终,将多层感知机的输出和第一神经网络层的输出执行相加操作后,得到自注意力网络的输出数据。

本方案中,通过在多层感知机的基础上引入了并行的第一神经网络层,由该并行的第一神经网络层对多层感知机的输入特征执行特征变换操作,得到变换后的特征。并且,变换后的特征与多层感知机的输出特征相加,以增加自注意力网络中间层所输出的特征的多样性,增强了特征的表达能力,从而提高注意力模型的性能。

实现方式3,自注意力网络包括自注意力模块、多层感知机和第一神经网络层,且所述第一神经网络层并行于自注意力模块以及所述多层感知机。

可以参阅图6c,图6c为本申请实施例提供的注意力模型的另一种结构示意图。如图6c所示,在自注意力网络中,自注意力模块与多层感知机串行连接,且第一神经网络层与多层感知机并行连接。在自注意力网络的工作过程中,自注意力模块对输入自注意力网络的待处理数据进行处理,且自注意力模块的输出同时作为多层感知机和第一神经网络层的输入,由多层感知机和第一神经网络层并行地对自注意力模块的输出进行处理。最终,将多层感知机的输出和第一神经网络层的输出执行相加操作后,得到自注意力网络的输出数据。

本方案中,通过在自注意力模块以及多层感知机的基础上引入了并行的第一神经网络层,由该并行的第一神经网络层对自注意力网络的输入特征执行特征变换操作,得到变换后的特征。并且,变换后的特征与多层感知机的输出特征相加,以增加自注意力网络中间层所输出的特征的多样性,增强了特征的表达能力,从而提高注意力模型的性能。

实现方式4,自注意力网络包括自注意力模块、多层感知机、第一神经网络层和第二神经网络层。其中,所述第一神经网络层并行于自注意力模块,所述第二神经网络层并行于多层感知机;或者,所述第二神经网络层并行于自注意力模块,所述第一神经网络层并行于多层感知机。所述第一神经网络层与所述第二神经网络层均用于执行特征变换。并且,第一神经网络层与第二神经网络层的网络结构可以是相同的,但第一神经网络层与第二神经网络层中的权重参数可以是不相同的。

可以参阅图6d,图6d为本申请实施例提供的注意力模型的另一种结构示意图。如图6d所示,在自注意力网络中,自注意力模块与多层感知机串行连接,且第一神经网络层与自注意力模块并行连接,第二神经网络层与多层感知机并行连接。在自注意力网络的工作过程中,自注意力模块和第一神经网络层对输入自注意力网络的待处理数据进行处理,且自注意力模块的输出和第一神经网络层的输出相加后所得到的结果作为多层感知机和第二神经网络层的输入。即,自注意力模块的输出和第一神经网络层的输出相加后所得到的结果同时作为多层感知机和第二神经网络层的输入,由多层感知机和第二神经网络层并行地进行处理。最终,将多层感知机的输出和第二神经网络层的输出执行相加操作后,得到自注意力网络的输出数据。

本方案中,通过引入了分别与自注意力模块以及多层感知机并行的第一神经网络层和第二神经网络层,由这两个并行的神经网络层对输入特征执行特征变换操作,得到变换后的特征。并且,变换后的特征分别与自注意力模块的输出特征以及多层感知机的输出特征相加,以增加自注意力网络中间层所输出的特征的多样性,增强了特征的表达能力,从而提高注意力模型的性能。

可选的,在前述的四种实现方式的基础上,除了引入一个与自注意力模块和/或多层感知机并行的神经网络层之外,自注意力网络中还可以包括多个神经网络层,该神经网络层与前述的第一神经网络层和/或第二神经网络层并行。

例如,在前述的实现方式1中,在自注意力网络中,除了包括与自注意力模块并行连接的第一神经网络层,还可以包括多个神经网络层。所述多个神经网络层均与第一神经网络层并行连接,即自注意力模块同时并行连接有第一神经网络层以及所述多个神经网络层。其中,所述多个神经网络层均用于执行特征变换。并且,所述多个神经网络层的网络结构可以是与第一神经网络层的网络结构相同,但第一神经网络层与所述多个神经网络层中的权重参数可以是不相同的。

以前述的实现方式4为例,可以参阅图6e,图6e为本申请实施例提供的自注意力网络的另一种结构示意图。如图6e所示,自注意力网络中包括串行连接的自注意力模块和多层感知机,以及n个与自注意力模块并行连接的神经网络层和n个与多层感知机并行连接的神经网络层。具体地,在自注意力网络中,自注意力模块与多层感知机串行连接。所述自注意力模块并行有n个神经网络层,分别为神经网络层A1、神经网络层A2…神经网络层An。所述多层感知机也并行有n个神经网络层,分别为神经网络层B1、神经网络层B2…神经网络层Bn。

本方案中,通过引入多个并行的神经网络层,能够进一步地丰富自注意力网络输出的特征的多样性。

在一个可能的实施例中,在前述的四种实现方式的基础上,所述自注意力网络中的自注意力模块和/或所述多层感知机还并行有捷径,所述捷径的输入特征与输出特征相同。也就是说,自注意力模块和/或所述多层感知机同时并行有第一神经网络层以及恒等映射的捷径。

示例性地,以上述的实现方式1为例,可以参阅图7,图7为本申请实施例提供的一种特征处理的示意图。如图7所示,自注意力网络中的自注意力模块同时并行有捷径和第一神经网络层。自注意力模块、捷径和第一神经网络层分别对相同的输入特征进行处理。然后,对自注意力模块的输出特征、捷径的输出特征和第一神经网络层的输出特征执行相加操作得到特征相加结果,以作为后续的多层感知机的输入。并且,由图7可以看出,捷径的输入特征与输出特征是相同的。经过第一神经网络层的特征变换后,第一神经网络层的输入特征与输出特征是不相同的。

相较于第一神经网络层而言,捷径并不改变输入特征,即不对输入特征执行特征变换。因此,捷径也可以看作为是一种特殊的特征处理方式。在第一神经网络层的基础上,引入并行的捷径,能够更进一步地增强自注意力网络所得到的特征的多样性,从而增加特征的表达能力。

以上介绍了自注意力网络的多种实现方式,以下将详细介绍自注意力网络中的具体模块。

在一个可能的实施例中,所述第一神经网络层包括权重矩阵和激活函数,所述权重矩阵用于与所述第一神经网络层的输入特征相乘,所述激活函数用于对所述输入特征与所述权重矩阵的相乘结果进行处理。也就是说,在通过第一神经网络层对输入特征进行处理的过程中,先将输入特征与第一神经网络层中的权重矩阵相乘,得到相乘结果;然后,通过第一神经网络层中的激活函数对所述相乘结果处理,得到第一神经网络层的输出特征。

示例性地,通过第一神经网络层对所述输入特征处理,得到输出特征的过程可以通过公式1来表示。

其中,表示第一神经网络层的输出特征;Zl表示第一神经网络层的输入特征;Θli表示权重矩阵;σ表示激活函数;i表示权重矩阵的分块数量,权重矩阵可以分为多个子矩阵来执行与所述输入特征的相乘运算;i∈{1,2,…,T]。

其中,激活函数是指在神经网络模型的神经元上运行的函数,负责将神经元的输入映射到输出端。激活函数对于神经网络模型去学习、理解非常复杂和非线性的函数来说具有十分重要的作用。激活函数能够将非线性特性引入到神经网络模型中。例如,在神经元中,输入的特征通过权重矩阵执行加权以及求和后,还被作用了一个函数,这个函数就是激活函数。引入激活函数是为了增加神经网络模型的非线性。在神经网络模型中,没有激活函数的每个网络层都相当于是矩阵相乘。因此,在没有激活函数的情况下,叠加了若干网络层之后所得到的输出实际上还是一个矩阵相乘的结果。

简单来说,如果神经网络中不采用激活函数,则每一个神经网络层的输出都是上层输入的线性函数。无论神经网络有多少层,输出都是输入的线性组合。如果神经网络中采用激活函数,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。

示例性地,激活函数例如可以为Sigmoid函数、Tanh函数或ReLU函数等非线性函数。本实施例并不对激活函数的具体类型做具体限定。

可以理解的是,上述的第二神经网络层与第一神经网络层的结构相同,即第二神经网络层也可以是包括权重矩阵和激活函数。

具体地,在自注意力网络中的自注意力模块同时并行有第一神经网络层和捷径的情况下,则需要将自注意力模块的输出特征、第一神经网络层的输出特征和捷径的输出特征相加,得到相加后的输出特征。相加后的输出特征可以是作为后续的多层感知机的输入。

示例性地,将自注意力模块的输出特征、第一神经网络层的输出特征和捷径的输出特征相加,得到相加后的输出特征的过程可以通过公式2来表示。

其中,AugMSA(Zl)表示相加后的输出特征;Zl表示输入特征;MSA(Zl)表示基于自注意力模块处理得到的特征;表示与自注意力模块并行的第i个神经网络层,与自注意力模块并行的神经网络层共有T个,第一神经网络层为与自注意力模块并行的其中一个神经网络层。

可以理解的是,在引入并行的第一神经网络层之后,通过并行的第一神经网络层对特征进行处理的过程会涉及矩阵乘法运算。如果直接对输入特征和权重矩阵执行矩阵乘法运算,将会带来巨大的计算开销。因此,本实施例中提出采用分块循环矩阵来实现第一神经网络层的计算,从而减少引入并行的第一神经网络层所带来的计算开销。

具体地,在上述与自注意力模块和/或多层感知机并行的第一神经网络层中,第一神经网络层的权重矩阵包括多个子矩阵,且每个子矩阵均为循环矩阵。简单来说,权重矩阵可以是由多个子矩阵所构成的,且构成权重矩阵的每个子矩阵均为循环矩阵。

其中,循环矩阵是一种特殊形式的矩阵。循环矩阵的行向量的每个元素都是前一个行向量中的各个元素依次右移一个位置得到的结果。循环矩阵可以通过傅里叶变换来实现高效的计算,从而节省通过并行的神经网络层对特征执行特征变换的计算开销。

由于每个子矩阵均为循环矩阵,因此在实际应用中,可以每个子矩阵可以通过一组向量来表示。对于任意一组向量来说,通过依次右移该组向量中的元素来得到循环矩阵中的每一行,即可得到该组向量对应的循环矩阵。这样,在训练自注意力网络的过程中,在基于损失函数调整自注意力网络中权重矩阵的权重参数时,实际上是调整权重矩阵中的子矩阵对应的向量。在子矩阵对应的向量调整后,可以基于调整后的向量得到调整后的权重矩阵。

示例性地,权重矩阵可以是通过以下的公式3来表示。

其中,Θ表示权重矩阵;权重矩阵Θ一共划分有b*b个子矩阵,且每个子矩阵均为循环矩阵。

对于权重矩阵中的任意一个子矩阵Cij,子矩阵Cij可以通过循环一个向量中的元素得到。具体地,子矩阵Cij可以基于以下的公式4来表示。

由公式4可以得知,子矩阵Cij可以是通过循环向量[C1 ij,C2 ij,…,Cd-1 ij,Cd ij]中的元素得到。

示例性地,在第一神经网络层的权重矩阵划分为多个子矩阵,且每个子矩阵均为循环矩阵的情况下,将第一神经网络层的输入特征与所述第一神经网络层中的权重矩阵相乘,具体可以包括以下的步骤。

首先,电子设备分别对所述第一神经网络层的多个子矩阵以及所述第一神经网络层的的输入特征执行傅里叶变换,得到多个变换后的子矩阵以及变换后的特征。

然后,电子设备将所述变换后的特征分别与所述多个变换后的子矩阵执行逐元素的相乘运算,得到多个子特征。其中,逐元素的相乘运算是指将两个矩阵中的相同位置上的元素逐个相乘。

最后,电子设备对所述多个子特征执行傅里叶逆变换,并累加执行傅里叶逆变换后的多个子特征,得到所述处理后的第一特征。

本方案中,在权重矩阵能够划分为多个循环矩阵的基础上,通过傅里叶变换来实现输入特征与权重特征之间的高效计算,从而节省通过并行的网络层对特征执行特征变换的计算开销。

进一步地,为了便于在同一个硬件上对第一神经网络层的输入特征执行并行的处理,电子设备还可以将所述输入特征划分为多个特征矩阵,并基于多个子矩阵对每个特征矩阵执行上述的处理。最后,将得到的多个输出特征拼接起来,得到基于第一神经网络层中的权重矩阵处理后的特征。

示例性地,基于第一神经网络层权重矩阵对输入特征进行处理的过程可以如公式5和公式6所示。

其中,表示基于第一神经网络层中的权重矩阵处理后的特征;表示基于第一神经网络层中的权重矩阵处理后的部分特征;Z表示输入特征,Z是一个大小为N*d的矩阵,N表示图像块的数量,d表示每个图像块的维度;Zj表示输入矩阵Z的第j个特征矩阵,大小为N*(d/b),b为输入特征所划分的特征矩阵的数量;cij表示长度为d/b的向量;FFT表示快速傅里叶变换;IFFT表示快速傅里叶逆变换;○表示逐元素相乘。

以上介绍了本申请实施例提供的第一神经网络层对特征进行处理的过程,以下将详细结构本申请实施例提供的自注意力模块对特征进行处理的过程。

在一个可能的实施例中,所述自注意力模块包括多个并行的特征提取层和融合层,所述融合层分别与所述多个并行的特征提取层连接,且所述多个并行的特征提取层分别包括不同的权重矩阵。具体地,对于自注意力模块的输入特征,分别由多个并行的特征提取层对输入特征进行处理,得到多个提取特征;然后,由自注意力模块中的融合层对多个提取特征进行融合处理,得到自注意力模块的输出特征。

示例性地,自注意力模块中可以包括三个并行的特征提取层,该三个并行的特征提取层分别包括权重矩阵WQ,权重矩阵WK和权重矩阵WV。对于自注意力模块的输入特征,该输入特征包括多个子特征,可以先将输入特征中的每个子特征分别与权重矩阵WQ,权重矩阵WK和权重矩阵WV相乘,得到特征Q,特征K和特征V。其中,特征Q,特征K和特征V为自注意力模块的融合层的输入,由融合层继续对进行处理。

具体地,融合层对特征Q和特征K执行点乘操作,得到特征值score。然后,融合层通过softmax激活函数对特征值score进行处理,得到特征值softmax。融合层再对特征值softmax与执行点乘操作,得到每个子特征对应的评分值v。最后,将每个子特征对应的评分值v相加,得到自注意力模块的输出特征。

可选的,所述自注意力模块可以为多头自注意力模块,所述多头自注意力模块包括多个并行的自注意力单元和第二全连接层,所述第二全连接层分别与所述多个并行的自注意力单元连接,所述多个并行的自注意力单元均包括多个并行的特征提取层和融合层。

例如,假设多头自注意力模块中包括8个并行的自注意力单元,对于多头自注意力模块的输入特征,可以将输入特征分别输入至8个并行的自注意力单元中,得到8个并行自注意力单元分别输出的特征矩阵Zi,i∈{1,2,...,8}。然后,将8个特征矩阵Zi按列拼接成一个总的特征矩阵,并通过第二全连接层对该总的特征矩阵进行处理,得到多头自注意力模块的输出特征。

为了便于验证本申请实施例所提供的注意力模型在数据处理上的优势,以下将基于具体的试验来说明本申请实施例所提供的注意力模型的有益效果。

在本申请实施例中,基于现有的网络模型以及本申请实施例提供的注意力模型,在大规模的数据集上进行广泛的实验,对所提出的方法进行实证研究。其中,大规模的数据集可以为Imagenet(ILSVRC-2012)数据集,该Imagenet数据集包含128万个训练图像和来自1000个类别的验证图像。

可以参阅图8,图8为本申请实施例提供的不同模型在Imagenet数据集上的性能对比示意图。在图8中,Aug-ViT、Aug-PVT和Aug-T2T表示使用了本申请实施例提供的注意力模型的图像处理模型。Resolution表示图像分辨率;Top-1 Accuracy表示准确率;Params表示参数量;FLOPs表示计算量(乘加数)。

由图8可以看出,相对于现有技术中的图像处理模型,使用了本申请实施例提供的注意力模型的图像处理模型能够在计算量和参数量基本不变的情况下,实现更高的准确率。

本申请实施例还提供一种特征提取方法,包括:电子设备获取待处理数据;电子设备将所述待处理数据输入一个或多个串行连接的自注意力网络,得到所述待处理数据的特征;其中,所述自注意力网络包括自注意力模块、多层感知机和第一神经网络层,所述自注意力模块包括多个并行的特征提取层和融合层,所述融合层分别与所述多个并行的特征提取层连接,所述多层感知机与所述自注意力模块串行连接,所述多层感知机包括多个串行的第一全连接层,所述第一神经网络层与所述自注意力模块以及所述多层感知机中的一个或多个并行连接,所述第一神经网络层用于执行特征变换。

在一种可能的实现方式中,所述自注意力网络还包括:第二神经网络层,所述第二神经网络层用于执行特征变换;所述第一神经网络层与所述自注意力模块并行连接,且所述第二神经网络层与所述多层感知机并行连接,或,所述第二神经网络层与所述自注意力模块并行连接,且所述第一神经网络层与所述多层感知机并行连接。

在一种可能的实现方式中,所述第一神经网络层包括权重矩阵和激活函数,所述权重矩阵用于与所述第一神经网络层的输入特征相乘,所述激活函数用于对所述输入特征与所述权重矩阵的相乘结果进行处理。

在一种可能的实现方式中,所述权重矩阵包括多个子矩阵,每个子矩阵均为循环矩阵。

在一种可能的实现方式中,所述多个并行的特征提取层分别包括不同的权重矩阵。

在一种可能的实现方式中,所述自注意力模块为多头自注意力模块,所述多头自注意力模块包括多个并行的自注意力单元和第二全连接层,所述第二全连接层分别与所述多个并行的自注意力单元连接,所述多个并行的自注意力单元均包括多个并行的特征提取层和融合层。

在一种可能的实现方式中,所述自注意力模块和/或所述多层感知机还并行有捷径,所述捷径的输入特征与输出特征相同。

在一种可能的实现方式中,所述方法应用于计算机视觉任务或自然语言处理任务。

本申请实施例还提供一种图像处理方法,包括:获取待处理图像;将所述待处理图像输入至图像处理模型中,以通过所述图像处理模型中的注意力模型提取图像特征,所述注意力模型为前述实施例所描述的注意力模型;根据所述图像特征对所述待处理图像进行处理。

在一种可能的实现方式中,所述根据所述图像特征对所述待处理图像进行处理,包括:根据所述图像特征对所述待处理图像执行以下任务中的一种或多种:图像识别、目标检测、语义分割以及图像生成。

本申请实施例还提供一种自然语言处理方法,包括:获取待处理文本;将所述待处理文本输入至自然语言处理模型中,以通过所述自然语言处理模型中的注意力模型提取文本特征,所述注意力模型为前述实施例所描述的注意力模型;根据所述文本特征对所述待处理文本进行处理。

在一种可能的实现方式中,所述根据所述文本特征对所述待处理文本进行处理,包括:根据所述文本特征对所述待处理文本执行以下任务中的一种或多种:机器翻译、舆情监测、自动摘要生成、观点提取、文本分类、问题回答和文本语义对比。

在一个可能的实施例中,本申请实施例提供一种特征提取装置。可以参阅图9,图9为本申请实施例提供的一种特征提取装置的结构示意图。该特征提取装置900包括:获取单元901和处理单元902;所述获取单元901,用于获取待处理数据;所述处理单元902,用于将所述待处理数据输入一个或多个串行连接的自注意力网络,得到所述待处理数据的特征;其中,所述自注意力网络包括自注意力模块、多层感知机和第一神经网络层,所述自注意力模块包括多个并行的特征提取层和融合层,所述融合层分别与所述多个并行的特征提取层连接,所述多层感知机与所述自注意力模块串行连接,所述多层感知机包括多个串行的第一全连接层,所述第一神经网络层与所述自注意力模块以及所述多层感知机中的一个或多个并行连接,所述第一神经网络层用于执行特征变换。

在一种可能的实现方式中,所述自注意力网络还包括:第二神经网络层,所述第二神经网络层用于执行特征变换;

所述第一神经网络层与所述自注意力模块并行连接,且所述第二神经网络层与所述多层感知机并行连接,或,

所述第二神经网络层与所述自注意力模块并行连接,且所述第一神经网络层与所述多层感知机并行连接。

在一种可能的实现方式中,所述第一神经网络层包括权重矩阵和激活函数,所述权重矩阵用于与所述第一神经网络层的输入特征相乘,所述激活函数用于对所述输入特征与所述权重矩阵的相乘结果进行处理。

在一种可能的实现方式中,所述权重矩阵包括多个子矩阵,每个子矩阵均为循环矩阵。

在一种可能的实现方式中,所述自注意力模块为多头自注意力模块,所述多头自注意力模块包括多个并行的自注意力单元和第二全连接层,所述第二全连接层分别与所述多个并行的自注意力单元连接,所述多个并行的自注意力单元均包括多个并行的特征提取层和融合层。

在一种可能的实现方式中,所述自注意力模块和/或所述多层感知机还并行有捷径,所述捷径的输入特征与输出特征相同。

在一个可能的实施例中,本申请实施例还提供一种图像处理装置,包括:获取单元和处理单元;所述获取单元,用于获取待处理图像;所述处理单元,用于将所述待处理图像输入至图像处理模型中,以通过所述图像处理模型中的注意力模型提取图像特征,所述注意力模型为第一方面或第一方面任一实现方式所描述的注意力模型;所述处理单元,还用于根据所述图像特征对所述待处理图像进行处理。

在一种可能的实现方式中,所述处理单元还用于根据所述图像特征对所述待处理图像执行以下任务中的一种或多种:图像识别、目标检测、语义分割以及图像生成。

在一个可能的实施例中,本申请实施例还提供一种自然语言处理装置,包括:获取单元和处理单元;所述获取单元,用于获取待处理文本;所述处理单元,用于将所述待处理文本输入至自然语言处理模型中,以通过所述自然语言处理模型中的注意力模型提取文本特征,所述注意力模型为第一方面或第一方面任一实现方式所描述的注意力模型;所述处理单元,还用于根据所述文本特征对所述待处理文本进行处理。

在一种可能的实现方式中,所述处理单元还用于根据所述文本特征对所述待处理文本执行以下任务中的一种或多种:机器翻译、舆情监测、自动摘要生成、观点提取、文本分类、问题回答和文本语义对比。

接下来介绍本申请实施例提供的一种执行设备,请参阅图10,图10为本申请实施例提供的执行设备的一种结构示意图,执行设备1000具体可以表现为手机、平板、笔记本电脑、智能穿戴设备、服务器等,此处不做限定。其中,执行设备1000上可以部署有图10对应实施例中所描述的数据处理装置,用于实现图10对应实施例中数据处理的功能。具体的,执行设备1000包括:接收器1001、发射器1002、处理器1003和存储器1004(其中执行设备1000中的处理器1003的数量可以一个或多个,图10中以一个处理器为例),其中,处理器1003可以包括应用处理器10031和通信处理器10032。在本申请的一些实施例中,接收器1001、发射器1002、处理器1003和存储器1004可通过总线或其它方式连接。

存储器1004可以包括只读存储器和随机存取存储器,并向处理器1003提供指令和数据。存储器1004的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器1004存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。

处理器1003控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。

上述本申请实施例揭示的方法可以应用于处理器1003中,或者由处理器1003实现。处理器1003可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1003中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1003可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器1003可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1004,处理器1003读取存储器1004中的信息,结合其硬件完成上述方法的步骤。

接收器1001可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器1002可用于通过第一接口输出数字或字符信息;发射器1002还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器1002还可以包括显示屏等显示设备。

本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行如前述执行设备所执行的步骤,或者,使得计算机执行如前述训练设备所执行的步骤。

本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述执行设备所执行的步骤,或者,使得计算机执行如前述训练设备所执行的步骤。

本申请实施例提供的执行设备、训练设备或电子设备具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使执行设备内的芯片执行上述实施例描述的图像处理方法,或者,以使训练设备内的芯片执行上述实施例描述的图像处理方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。

具体的,请参阅图11,图11为本申请实施例提供的芯片的一种结构示意图,所述芯片可以表现为神经网络处理器NPU 1100,NPU 1100作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路1103,通过控制器1104控制运算电路1103提取存储器中的矩阵数据并进行乘法运算。

在一些实现中,运算电路1103内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路1103是二维脉动阵列。运算电路1103还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1103是通用的矩阵处理器。

举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器1102中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器1101中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1108中。

统一存储器1106用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(Direct Memory Access Controller,DMAC)1105,DMAC被搬运到权重存储器1102中。输入数据也通过DMAC被搬运到统一存储器1106中。

BIU为Bus Interface Unit即,总线接口单元1111,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer,IFB)1109的交互。

总线接口单元1111(Bus Interface Unit,简称BIU),用于取指存储器1109从外部存储器获取指令,还用于存储单元访问控制器1105从外部存储器获取输入矩阵A或者权重矩阵B的原数据。

DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器1106或将权重数据搬运到权重存储器1102中或将输入数据数据搬运到输入存储器1101中。

向量计算单元1107包括多个运算处理单元,在需要的情况下,对运算电路1103的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如Batch Normalization(批归一化),像素级求和,对特征平面进行上采样等。

在一些实现中,向量计算单元1107能将经处理的输出的向量存储到统一存储器1106。例如,向量计算单元1107可以将线性函数;或,非线性函数应用到运算电路1103的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1107生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1103的激活输入,例如用于在神经网络中的后续层中的使用。

控制器1104连接的取指存储器(instruction fetch buffer)1109,用于存储控制器1104使用的指令;

统一存储器1106,输入存储器1101,权重存储器1102以及取指存储器1109均为On-Chip存储器。外部存储器私有于该NPU硬件架构。

其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述程序执行的集成电路。

另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

37页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种状态爆炸型正则表达式的识别方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!