一种文本处理网络、神经网络训练的方法以及相关设备与流程

文档序号:22578234发布日期:2020-10-20 16:51阅读:142来源:国知局
一种文本处理网络、神经网络训练的方法以及相关设备与流程

本申请涉及人工智能领域,尤其涉及一种文本处理网络、神经网络训练的方法以及相关设备。



背景技术:

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

在自然语言处理(naturallanguageprocessing,nlp)领域中,序列建模(sequencemodeling)是指将一个文本数据有效编码成表示(representation)的过程,也即对文本进行特征提取的过程。循环神经网络(recurrentneuralnetwork,rnn)为常见的用来对文本进行特征提取的神经网络。

但当待处理文本中包括多个字符的情况下,通过循环神经网络只能逐个处理每个字符,计算效率比较差,一种能够更高效的处理文本的神经网络亟待推出。



技术实现要素:

本申请实施例提供了一种文本处理网络、神经网络训练的方法以及相关设备,文本处理网络能够一次性处理两个或两个以上的字符,提供了一种更高效的文本处理网络;生成的第二特征信息中融合了更细粒度的信息,提高了整个文本处理网络的精度。

为解决上述技术问题,本申请实施例提供以下技术方案:

第一方面,本申请实施例提供一种文本处理网络,可用于人工智能领域的文本处理领域中。文本处理网络包括特征提取网络,特征提取网络包括相似度计算模块和生成模块。其中,相似度计算模块,用于接收输入的至少两个第一字符,并对至少两个第一字符进行特征提取,得到与至少两个第一字符对应的第一特征信息,第一特征信息包括第一字符在至少一个维度的特征信息。其中,相似度计算模块接收的可以为与至少两个第一字符对应的原始表示,一个第一字符的原始表示为一个包括d个元素的序列数据,用于指示第一字符的序列数据中会携带第一字符在d个维度的信息,一个第一字符的序列数据中的一个元素可以对应一个第一字符的一个维度。相似度计算模块,还用于根据第一特征信息,计算至少两个第一字符在维度级的第一相似度信息。生成模块,用于根据第一相似度信息,生成与至少两个第一字符对应的第二特征信息,第二特征信息与第一特征信息的区别在于第二特征信息中融入了第一相似度信息。本实现方式中,文本处理网络能够一次性处理两个或两个以上的字符,提供了一种更高效的文本处理网络;此外,在生成字符的特征信息的过程中,结合了字符在维度级的相似度信息,也即生成的第二特征信息中融合了更细粒度的信息,有利于提高整个文本处理网络的精度。

在第一方面的一种可能实现方式中,第一特征信息包括第一表示和第二表示,第一表示和第二表示均为矩阵,第一表示中的一列数据包括至少两个第一字符在一个维度的特征信息,第二表示中的一列数据包括至少两个第一字符在一个维度的特征信息。相似度计算模块,具体用于计算第一表示中的列数据与第二表示中的列数据之间的相似度,以得到第一相似度信息。其中,第一相似度信息中包括第一表示与第二表示在各个维度之间的相似度,第一相似度信息具体可以表现为一个d×d的矩阵,也即第一相似度信息中可以包括d×d个元素。进一步地,第一相似度信息中位于第i行第j列的元素表示第一表示的第i维和第二表示的第j维之间的相似度得分,i为不小于1且不大于d的整数,j为不小于1且不大于d的整数。本实现方式中,将第一表示和第二表示确定为矩阵,通过计算第一表示中的列数据与第二表示中的列数据之间的相似度,来得到第一表示和第二表示在维度级的相似度信息,操作简单。

在第一方面的一种可能实现方式中,相似度计算模块,具体用于对第一表示进行转置处理,计算转置后的第一表示中的行数据与第二表示中的列数据之间的相似度,以得到第一相似度信息。本实现方式中,提供了生成第一相似度信息的一种具体实现方式,提高了本方案与具体应用场景的结合程度。

在第一方面的一种可能实现方式中,相似度计算模块,具体用于:将转置后的第一表示中的目标行的行数据与第二表示中的目标列的列数据进行点积,或者,计算转置后的第一表示中的目标行的行数据与第二表示中的目标列的列数据之间的欧式距离,或者,计算转置后的第一表示中的目标行的行数据与第二表示中的目标列的列数据之间的曼哈顿距离,或者,计算转置后的第一表示中的目标行的行数据与第二表示中的目标列的列数据之间的马氏距离,或者,计算转置后的第一表示中的目标行的行数据与第二表示中的目标列的列数据之间的余弦相似度,以生成转置后的第一表示中目标行的行数据与第二表示中目标列的列数据之间的相似度得分,也即生成了第一相似度信息中的一个元素值。其中,转置后的第一表示中目标行的行数据指的是转置后的第一表示包括的多行数据中任意一行数据,第二表示中目标列的列数据指的是第二表示包括的多列数据中任意一列数据。

在第一方面的一种可能实现方式中,相似度计算模块,具体用于:将第一表示中目标列的列数据与第二表示中目标列的列数据进行点积;或者,计算第一表示中目标列的列数据与第二表示中目标列的列数据之间的欧式距离;或者,计算第一表示中目标列的列数据与第二表示中目标列的列数据之间的曼哈顿距离;或者,计算第一表示中目标列的列数据与第二表示中目标列的列数据之间的马氏距离;或者,计算第一表示中目标列的列数据与第二表示中目标列的列数据之间的余弦相似度,以生成第一表示中目标列的列数据与第二表示中目标列的列数据之间的相似度得分,也即生成了第一相似度信息中的一个值。其中,第一表示中目标列的列数据指的是第一表示包括的多列数据中任意一列数据,第二表示中目标列的列数据指的是第二表示包括的多列数据中任意一列数据。本实现方式中,提供了计算第一表示中的列数据与第二表示中的列数据之间相似度的多种实现方式,提高了本方案的实现灵活性。

在第一方面的一种可能实现方式中,相似度计算模块,具体用于对与至少两个第一字符对应的原始表示进行线性变换,得到第一表示和第二表示。本实现方式中,由于第一表示和第二表示是用来做至少两个第一字符在维度级的相似度计算的,第一字符的原始表示未必能够适配我们这种维度级的相似度计算方式,利用一个可学习的线性变换模型来生成第一表示和第二表示,该线性变换模型在训练阶段能够调整模型参数,从而使得第一表示和第二表示能够正确反映维度级的相似度信息,以提高第一相似度信息的准确率,从而提高整个文本处理网络的精度。

在第一方面的一种可能实现方式中,相似度计算模块,具体用于将至少两个第一字符的原始表示与第一线性转换矩阵相乘,得到第一表示,将至少两个第一字符的原始表示与第二线性转换矩阵相乘,得到第二表示。其中,第一线性转换矩阵具体可以表现为一个d×d的矩阵,第二线性转换矩阵具体也可以表现为一个d×d的矩阵,第一线性转换矩阵和第二线性转换矩阵中的参数为通过预先训练得到的,第一线性转换矩阵和第二线性转换矩阵中的参数可以相同或不同。本实现方式中,分别通过第一线性转换矩阵和第二线性转换矩阵来生成第一表示和第二表示,在训练阶段,可以分别调整第一线性转换矩阵和第二线性转换矩阵中的参数,也即第一线性转换矩阵和第二线性转换矩阵中的参数的调整过程更具有灵活性,从而能够使生成的第一表示和第二表示更能够正确反映维度级的相似度信息,以提高第一相似度信息的准确率。

在第一方面的一种可能实现方式中,相似度计算模块,具体用于分别对与至少两个第一字符对应的原始表示进行两次卷积处理,得到第一表示和第二表示。本实现方式中,提供了第一表示和第二表示的另一种生成方案,提高了本方案的实现灵活性。

在第一方面的一种可能实现方式中,第一特征信息中包括第三表示,第三表示包括至少两个第一字符的特征信息,相似度计算模块,还用于将至少两个第一字符与第三线性转换矩阵相乘,得到第三表示。其中,第三表示和第一表示以及第二表示的用途不同,第三表示用于与各个第一字符在维度级的相似度相融合,以生成第二特征信息。第三线性转换矩阵具体也可以表现为一个d×d的矩阵,第三线性转换矩阵中的参数为通过预先训练得到的,与第一线性转换矩阵以及第二线性转换矩阵中的参数可以相同或不同。生成模块,具体用于将第三表示和第一相似度信息进行融合处理,以生成第二特征信息。本实现方式中,第二特征信息中同时融合了第一字符的词信息和多个第一字符在维度级的相似度信息,进一步提高文本处理网络的精度;此外,在初次对第一字符进行特征提取时就生成第三表示,从而在生成第二特征信息时,可以直接利用之前生成的第三表示与第一相似度信息进行融合处理,有利于提高整个文本处理网络的处理效率。

在第一方面的一种可能实现方式中,第一字符的数量为n个,n为大于等于2的整数,生成模块,具体用于:根据第三表示和第一相似度信息,生成三阶张量表示,对三阶张量表示进行压缩处理,得到第二特征信息。其中,三阶张量表示中包括n个矩阵,n个矩阵中每个矩阵具体可以表现为一个d×d的矩阵,每个矩阵对应一个第一字符,一个矩阵中融合了一个第一字符的特征信息和一个第一字符在维度级的相似度信息。第二特征信息具体可以表现为一个二维矩阵。本实现方式中,在第三表示和第一相似度信息的融合过程中,先扩展为三阶张量表示,再进行压缩处理,由于三阶张量表示中包括更多的元素,从而可以使得每个特征信息都可以得到充分表达,以提高第二特征信息的表达能力。

在第一方面的一种可能实现方式中,第一相似度信息和第三表示均为矩阵。生成模块,具体用于对第一相似度信息中的列数据与第三表示的列数据进行张量积运算,得到三阶张量表示,张量积运算具体可以表现为外积运算。或者,生成模块,具体用于对第一相似度信息中的列数据与第三表示的列数据进行加法运算,得到三阶张量表示。本实现方式中,提供了生成三阶张量表示的两种具体实现方案,提高了本方案的实现灵活性。

在第一方面的一种可能实现方式中,三阶张量表示中包括n个矩阵,每个矩阵为d×d的二维矩阵,也即三阶张量表示为一个n×d×d的三阶张量。生成模块,具体用于沿着三阶张量表示的两个d方向中任意一个d方向对三阶张量表示进行压缩处理,从而将三阶张量表示的一个d方向压平,得到第二特征信息,第二特征信息为n×d的二维矩阵。其中,压缩处理的方式包括以下中的任意一项:卷积、相加、取平均值、取最大值或取最小值。本实现方式中,提供了生成第二特征信息的多种具体实现方案,提高了本方案的实现灵活性。

在第一方面的一种可能实现方式中,生成模块,具体用于将第三表示进行转置处理,将转置后的第三表示与第一相似度信息相乘,得到第二特征信息。本实现方式中,将转置后的第三表示与第一相似度信息相乘,直接得到第二特征信息,实现方式简单,计算方便,时间复杂度比较低;且又提供了一种生成第二特征信息的方案,进一步增强了本方案的实现灵活性。

在第一方面的一种可能实现方式中,文本处理网络还包括特征处理网络,特征处理网络,用于基于第二特征信息执行分类操作,输出与至少两个第一字符对应的预测类别的指示信息,其中,类别的分类依据为字符的语义,或者,类别的分类依据为字符的词性。本实现方式中,落地到文本分类这一具体应用场景中,提高了本方案与应用场景的结合能力。

在第一方面的一种可能实现方式中,至少两个第一字符中包括待预测字符,文本处理网络还包括特征处理网络,特征处理网络,用于基于第二特征信息,输出与待预测字符对应的预测结果,预测结果指示与待预测字符对应的预测字符。其中,预测结果具体可以表现为与预测字符一一对应的索引号。本实现方式中,不仅可以应用于文本分类这一应用场景中,还可以应用于文本预测的应用场景中,扩展了本方案的应用场景。

在第一方面的一种可能实现方式中,文本处理网络还包括特征处理网络,特征处理网络,用于基于第二特征信息,对第一字符执行翻译操作,输出翻译后的第一字符的指示信息,翻译后第一字符的指示信息用于指示翻译后的第一字符,翻译后的第一字符与第一字符为不同的语种。其中,翻译后的第一字符的指示信息具体可以表现为与翻译后的第一字符一一对应的索引号。本实现方式中,不仅可以应用于文本分类和文本预测的应用场景中,还可以应用于文本翻译的应用场景中,进一步扩展了本方案的应用场景。

第二方面,本申请实施例提供一种神经网络的训练方法,可用于人工智能领域的文本处理领域中。方法可以包括:训练设备获取第一训练文本,第一训练文本中包括至少两个第二字符。训练设备将第一训练文本输入第一特征提取网络,以通过第一特征提取网络对第一训练文本进行特征提取,得到与至少两个第二字符对应的第一特征信息,第一特征信息包括第二字符在至少一个维度的特征信息。训练设备通过第一特征提取网络,根据与至少两个第二字符对应的第一特征信息,计算至少两个第二字符在维度级的第二相似度信息;训练设备通过第一特征提取网络,根据第二相似度信息,生成与至少两个第二字符对应的第二特征信息。训练设备通过第一特征处理网络,基于与至少两个第二字符对应的第二特征信息,输出与至少两个第二字符对应的生成处理结果,第一特征处理网络和第一特征提取网络归属于第一文本处理网络。训练设备根据与至少两个第二字符对应的正确处理结果、生成处理结果和损失函数,对第一文本处理网络进行迭代训练,直至满足预设条件。预设条件可以为满足损失函数的收敛条件,或者为迭代训练的迭代次数满足预设次数。损失函数具体可以表现为0-1损失函数、交叉熵损失函数、对数损失函数或其他类型的损失函数。

本实现方式中,训练后的第一文本处理网络能够一次性处理两个或两个以上的字符,也即提供了一种更高效的文本处理网络;此外,训练后的第一文本处理网络在生成字符的特征信息的过程中,能够结合字符在维度级的相似度信息,也即生成的第二特征信息中会融合更细粒度的信息,有利于提高整个文本处理网络的精度。

在第一方面的一种可能实现方式中,至少两个第二字符中包括至少一个待预测字符。训练设备通过第一特征处理网络,基于与至少两个第二字符对应的第二特征信息,输出与至少两个第二字符对应的生成处理结果,可以包括:训练设备通过第一特征处理网络,基于与至少两个第二字符对应的第二特征信息,输出与待预测字符对应的预测结果,预测结果指示与待预测字符对应的预测字符。训练设备根据与至少两个第二字符对应的正确处理结果、生成处理结果和损失函数,对第一文本处理网络进行迭代训练,直至满足预设条件,可以包括:训练设备根据与待预测字符对应的正确字符、预测字符和损失函数,对第一文本处理网络进行迭代训练,直至满足预设条件,输出第二特征提取网络,第二特征提取网络为训练后的第一特征提取网络。本实现方式中,将第一特征提取网络放入文本预测这一场景中,迭代训练第一特征提取网络,由于文本预测这一场景中对特征提取网络的能力要求较高,有利于提高训练后的第一特征提取网络的特征提取能力。

在第一方面的一种可能实现方式中,方法还可以包括:训练设备获取第二训练文本,第二训练文本中包括至少两个第三字符。训练设备将第二训练文本输入第二特征提取网络,以通过第二特征提取网络生成与至少两个第三字符对应的第二特征信息;训练设备通过第二特征处理网络,基于与至少两个第三字符对应的第二特征信息执行分类操作,输出与至少两个第三字符对应的预测类别的指示信息,其中,第二特征提取网络和第二特征处理网络归属于第二文本处理网络。训练设备根据与第二训练文本对应的正确类别、预测类别的指示信息和损失函数,对第二文本处理网络进行迭代训练,直至满足预设条件,输出训练后的第二文本处理网络。本实现方式中,先对文本分类网络中的特征提取网络进行训练,再对文本分类网络整体进行训练,能够把初次训练过程中学到的语义信息有效迁移到整个文本分类网络中,有利于提高训练后文本分类网络的准确度。

在第一方面的一种可能实现方式中,至少两个第二字符中包括至少一个待预测字符。训练设备通过第一特征处理网络,基于与至少两个第二字符对应的第二特征信息,输出与至少两个第二字符对应的生成处理结果,可以包括:训练设备通过第一特征处理网络,基于与至少两个第二字符对应的第二特征信息和自回归算法,输出与待预测字符对应的预测结果,预测结果指示与待预测字符对应的预测字符。其中,自回归算法指的是在每次预测操作中只生成与一个待预测字符对应的预测结果。训练设备根据与至少两个第二字符对应的正确处理结果、生成处理结果和损失函数,对第一文本处理网络进行迭代训练,直至满足预设条件,可以包括:训练设备根据与待预测字符对应的正确字符、预测字符和损失函数,对第一文本处理网络进行迭代训练,直至满足预设条件,输出训练后的第一文本处理网络。本实现方式中,提供了当文本处理网络用于进行文本预测时的训练方法,扩展了本方案的应用场景。

在第一方面的一种可能实现方式中,训练设备通过第一特征处理网络,基于与至少两个第二字符对应的第二特征信息,输出与至少两个第二字符对应的生成处理结果,包括:训练设备根据与第一训练文本对应的正确翻译文本和与至少两个第二字符对应的第二特征信息,通过第一特征处理网络,对第一训练文本执行翻译操作,输出翻译后的第二字符,翻译后的第二字符为与第二字符为不同的语种。训练设备根据与至少两个第二字符对应的正确处理结果、生成处理结果和损失函数,对第一文本处理网络进行迭代训练,直至满足预设条件,包括:训练设备根据正确翻译文本、翻译后的第二字符和损失函数,对第一文本处理网络进行迭代训练,直至满足预设条件,输出训练后的第一文本处理网络。本实现方式中,提供了当文本处理网络用于进行文本翻译时的训练方法,进一步扩展了本方案的应用场景。

对于本申请实施例第二方面以及第二方面的各种可能实现方式的具体实现步骤,均可以参考第一方面中各种可能的实现方式中的描述,此处不再一一赘述。

第三方面,本申请实施例提供一种处理序列数据的神经网络,可用于人工智能领域对序列数据进行处理的领域中。神经网络包括特征提取网络,特征提取网络包括相似度计算模块和生成模块。相似度计算模块,用于接收输入的至少两个序列数据,并对至少两个序列数据进行特征提取,得到与至少两个序列数据对应的第三特征信息,第三特征信息包括至少两个序列数据在至少一个维度的特征信息。相似度计算模块,还用于根据第三特征信息,计算至少两个序列数据在维度级的第三相似度信息。生成模块,用于根据第三相似度信息,生成与至少两个序列数据对应的第四特征信息。

在第三方面的一种可能实现方式中,序列数据用于指示以下中的任一种信息:字符信息、消费信息、位置信息和基因信息。

本申请实施例的第三方面还可以执行第一方面的各个可能实现方式中的步骤,对于本申请实施例第三方面以及第三方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第一方面中各种可能的实现方式中的描述,此处不再一一赘述。

第四方面,本申请实施例提供一种文本处理方法,可用于人工智能领域的文本处理领域中。方法可以包括:将至少两个第一字符输入文本处理网络,文本处理网络包括特征提取网络,特征提取网络包括相似度计算模块和生成模块;通过相似度计算模块对至少两个第一字符进行特征提取,得到与至少两个第一字符对应的第一特征信息,第一特征信息包括第一字符在至少一个维度的特征信息;通过相似度计算模块,根据第一特征信息,计算至少两个第一字符在维度级的第一相似度信息;通过生成模块,根据第一相似度信息,生成与至少两个第一字符对应的第二特征信息。

本申请实施例的第四方面还可以执行第一方面的各个可能实现方式中的步骤,对于本申请实施例第四方面以及第四方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第一方面中各种可能的实现方式中的描述,此处不再一一赘述。

第五方面,本申请实施例提供一种神经网络的训练装置,可用于人工智能领域的文本处理领域中。装置包括:获取模块,用于获取第一训练文本,第一训练文本中包括至少两个第二字符;输入模块,用于将第一训练文本输入第一特征提取网络,以通过第一特征提取网络对第一训练文本进行特征提取,得到与至少两个第二字符对应的第一特征信息,第一特征信息包括第二字符在至少一个维度的特征信息;处理模块,用于通过第一特征提取网络,根据与至少两个第二字符对应的第一特征信息,计算至少两个第二字符在维度级的第二相似度信息;处理模块,还用于通过第一特征提取网络,根据第二相似度信息,生成与至少两个第二字符对应的第二特征信息;输出模块,用于通过第一特征处理网络,基于与至少两个第二字符对应的第二特征信息,输出与至少两个第二字符对应的生成处理结果,第一特征处理网络和第一特征提取网络归属于第一文本处理网络;处理模块,还用于根据与至少两个第二字符对应的正确处理结果、生成处理结果和损失函数,对第一文本处理网络进行迭代训练,直至满足预设条件。

本申请实施例的第五方面还可以执行第二方面的各个可能实现方式中的步骤,对于本申请实施例第五方面以及第五方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第二方面中各种可能的实现方式中的描述,此处不再一一赘述。

第六方面,本申请实施例提供了一种执行设备,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第一方面所述的文本处理网络执行的步骤,或者,实现上述第三方面所述的处理序列数据的神经网络执行的步骤。

第七方面,本申请实施例提供了一种执行设备,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第二方面所述的神经网络的训练方法。

第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面所述的文本处理网络执行的步骤,或者,使得计算机执行上述第二方面所述的神经网络的训练方法,或者,使得计算机执行上述第三方面所述的处理序列数据的神经网络执行的步骤。

第九方面,本申请实施例提供了一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行上述第一方面所述的文本处理网络执行的步骤,或者,执行上述第二方面所述的神经网络的训练方法,或者,执行上述第三方面所述的处理序列数据的神经网络执行的步骤。

第十方面,本申请实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面所述的文本处理网络执行的步骤,或者,执行上述第二方面所述的神经网络的训练方法,或者,执行上述第三方面所述的处理序列数据的神经网络执行的步骤。

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

附图说明

图1为本申请实施例提供的人工智能主体框架的一种结构示意图;

图2为本申请实施例提供的序列数据的处理系统的一种系统架构图;

图3为本申请实施例提供的文本处理方法的一种流程示意图;

图4为本申请实施例提供的文本处理方法中第一表示的一种示意图;

图5为本申请实施例提供的文本处理方法中第一相似度信息的一种示意图;

图6为本申请实施例提供的文本处理方法中生成三阶张量的一个流程示意图;

图7为本申请实施例提供的文本处理方法中生成第二特征信息的一种示意图;

图8为本申请实施例提供的文本处理网络的一种结构示意图;

图9为本申请实施例提供的文本处理方法的另一种流程示意图;

图10为本申请实施例提供的文本处理方法的又一种流程示意图;

图11为本申请实施例提供的文本处理网络的一种结构示意图;

图12为本申请实施例提供的神经网络的训练方法的一种流程示意图;

图13为本申请实施例提供的神经网络的训练方法的另一种流程示意图;

图14为本申请实施例提供的神经网络的训练方法的又一种流程示意图;

图15为本申请实施例提供的序列数据的处理方法的一种流程示意图;

图16为本申请实施例提供的神经网络的训练方法的再一种流程示意图;

图17为本申请实施例提供的文本处理网络的另一种结构示意图;

图18为本申请实施例的神经网络的训练装置一种结构示意图;

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

图20为本申请实施例提供的训练设备的一种结构示意图;

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

具体实施方式

本申请实施例提供了一种文本处理网络、神经网络训练的方法以及相关设备,文本处理网络能够一次性处理两个或两个以上的字符,提供了一种更高效的文本处理网络;生成的第二特征信息中融合了更细粒度的信息,提高了整个文本处理网络的精度。

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

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

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

(1)基础设施

基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片提供,前述智能芯片包括但不限于中央处理器(centralprocessingunit,cpu)、嵌入式神经网络处理器(neural-networkprocessingunit,npu)、图形处理器(graphicsprocessingunit,gpu)、专用集成电路(applicationspecificintegratedcircuit,asic)和现场可编程逻辑门阵列(fieldprogrammablegatearray,fpga)等硬件加速芯片;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。

(2)数据

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

(3)数据处理

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

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

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

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

(4)通用能力

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

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

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

本申请实施例可以应用于人工智能的各种领域中,具体可以应用于各种需要处理序列数据的场景中,序列数据指的是指一个由若干元素构成的有序集合。作为示例,例如可以利用序列数据来指示字符信息;也可以利用序列数据反映用户的消费信息,前述消费信息包括但不限于用户购买的虚拟产品和实体产品;还以利用序列数据指示用户的位置信息,还可以利用序列数据来指示基因信息等等,应当理解,此处举例仅为方便对本申请实施例的应用场景进行理解,不对本申请实施例的应用场景进行穷举。如下,本申请实施例中先以序列数据用于指示待处理文本中的字符信息这一场景为例,对本申请实施例提供的序列数据处理方法进行详细介绍,再对其他更多的应用场景进行介绍。

为了便于理解本方案,本申请实施例中首先结合图2对本申请实施例提供的序列数据的处理系统进行介绍,请先参阅图2,图2为本申请实施例提供的序列数据的处理系统的一种系统架构图。在图2中,序列数据的处理系统200包括执行设备210、训练设备220、数据库230和数据存储系统240,执行设备210中包括计算模块211。

在训练阶段,数据库230中存储有训练数据集合,训练数据集合中可以包括多个训练样本以及与训练样本对应的正确处理结果,训练样本中包括至少两个训练数据。训练设备220生成用于处理序列数据的目标模型/规则201,并利用数据库中的训练数据集合对目标模型/规则201进行迭代训练,得到成熟的目标模型/规则201。

在推理阶段,执行设备210可以调用数据存储系统240中的数据、代码等,也可以将数据、指令等存入数据存储系统240中。数据存储系统240可以配置于执行设备210中,也可以为数据存储系统240相对执行设备210是外部存储器。计算模块211可以通过成熟的目标模型/规则201对执行设备210输入的至少两个序列数据进行处理,得到至少两个序列数据在维度级的相似度信息,并基于前述维度级的相似度信息,生成处理结果,生成处理结果的具体表现形式与目标模型/规则201的功能相关。

本申请的一些实施例中,例如图2中,“用户”可以直接与执行设备210进行交互,也即执行设备210与客户设备集成于同一设备中。但图2仅是本发明实施例提供的两种图像处理系统的架构示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。在本申请的另一些实施例中,执行设备210和客户设备可以为分别独立的设备,执行设备210配置有输入/输出接口,与客户设备进行数据交互,“用户”可以通过客户设备向输入/输出接口输入采集到的图像,执行设备210通过输入/输出接口将处理结果返回给客户设备。

由图2中的描述可知,本申请实施例包括推理阶段和训练阶段,而推理阶段和训练阶段的流程有所不同,以下分别对推理阶段和训练阶段进行描述。

一、推理阶段

本申请实施例中,在以序列数据用于指示待处理文本中的字符信息这一场景中,推理阶段描述的是执行设备210如何利用成熟的文本处理网络对待处理文本进行处理的过程。具体的,在文本处理这一大的应用场景中,以包括理解文本信息、进行文本预测、文本翻译或其他具体应用场景,以下分别对前述示例的三种应用场景进行说明。

(1)应用于理解文本的场景中

本申请实施例中,在理解文本的场景中,文本处理网络的任务包括但不限于对整个文本进行分类、对文本中的词进行标注(也可以称为序列标注)或其他自然语言理解类的任务等。请参阅图3,图3为本申请实施例提供的文本处理方法的一种流程示意图,本申请实施例提供的文本处理方法可以包括:

301、执行设备将至少两个第一字符输入文本处理网络。

本申请的一些实施例中,执行设备获取待处理文本,待处理文本中包括至少两个第一字符,执行设备将整个待处理文本输入至文本处理网络中。具体的,执行设备上可以存储有字符表,该字符表中包括多个字符的原始表示,执行设备在获取到待处理文本中包括的至少两个第一字符之后,可以从该字符表中获取与每个第一字符的原始表示。一个第一字符的原始表示为一个序列数据,用于指示第一字符的序列数据中会携带第一字符在至少一个维度的信息。作为示例,例如前述序列数据具体可以表现为一个包括d个元素的向量,则向量中的d个元素分别对应第一字符的d个维度;将每个第一字符的原始表示叠加到一起,可以得到与待处理文本中的所有第一字符对应的一个矩阵,例如待处理文本中包括n个第一字符,与待处理文本包括的至少一个第一字符对应的原始表示可以为一个n×d的矩阵。其中,d为大于等于1的整数,作为示例,例如d的取值为1、2、3、4、5、6或其他数值等,n为大于等于2的整数,作为示例,例如n的取值为2、3、5、10、20、50或其他数值等。可选地,执行设备在待处理文本包括的至少两个第一字符的开头添加[cls]字符,[cls]字符可以理解为表头字符,与[cls]字符对应的特征信息用于反映整个待处理文本的特征。

其中,文本处理网络包括特征提取网络和特征处理网络。该特征提取网络包括相似度计算模块和生成模块;本应用场景下的特征处理网络具体可以表现为分类器,分类器输出的是标签。进一步地,分类器具体可以表现为感知机,或者,分类器中包括一个线性转换矩阵和归一化指数(softmax)函数等,分类器也可以具体表现为其他形式,此处不做限定。

302、执行设备通过相似度计算模块对至少两个第一字符进行特征提取,得到与至少两个第一字符对应的第一特征信息。

本申请实施例中,执行设备在将与待处理文本对应的原始表示输入至文本处理网络之后,可以通过文本处理网络的相似度计算模块对待处理文本中的至少两个第一字符进行特征提取,得到与至少两个第一字符对应的第一特征信息。

其中,第一特征信息包括第一字符在至少一个维度的特征信息。第一特征信息中可以包括第一表示和第二表示,第一表示和第二表示均可以包括所有第一字符在各个维度的特征信息,第一表示和第二表示中携带的特征信息用于计算各个第一字符在维度级的相似度。进一步地,第一表示和第二表示具体均可以表现为矩阵,矩阵中的每一行对应一个第一字符,矩阵中的每一行携带一个第一字符在各个维度的特征信息,矩阵中的每一列携带所有第一字符在一个维度的特征信息。

可选地,第一特征信息中还可以包括第三表示,第三表示的含义以及具体表现形式与第一表示以及第二表示相似,区别在于,第三表示和第一表示以及第二表示的用途不同,第三表示用于与各个第一字符在维度级的相似度相融合,以生成第二特征信息。

具体的,在一种实现方式中,执行设备通过相似度计算模块,对与至少两个第一字符对应的原始表示进行线性变换,得到第一表示和第二表示。可选地,执行设备通过相似度计算模块,对与至少两个第一字符对应的原始表示进行线性变换,得到第一表示、第二表示和第三表示。

更具体的,相似度计算模块中可以包括第一线性转换矩阵和第二线性转换矩阵,分别为wa和wb。执行设备通过wa对与矩阵t(也即至少两个第一字符对应的原始表示)进行线性变换处理,得到矩阵a(也即第一表示);进一步地,wa具体可以表现为一个d×d的矩阵,矩阵a具体可以表现为一个n×d的矩阵,也即第一表示包括n个第一字符中每个第一字符在d个维度的特征信息。执行设备通过wb对与至少两个第一字符对应的原始表示进行线性变换处理,得到矩阵b(也即第二表示);进一步地,wb具体可以表现为一个d×d的矩阵,矩阵b具体可以表现为一个n×d的矩阵,也即第二表示包括n个第一字符中每个第一字符在d个维度的特征信息。需要说明的是,在实际情况下,第一线性转换矩阵和第二线性转换矩阵中的参数可以相同或不同,且存在矩阵a和矩阵t相同的可能性,也即存在转换后的第一表示和原始表示相同的可能性,也存在矩阵b和矩阵t相同的可能性,也即存在转换后的第二表示和原始表示相同的可能性,具体均取决于训练阶段的训练结果。本实现方式中,分别通过第一线性转换矩阵和第二线性转换矩阵来生成第一表示和第二表示,在训练阶段,可以分别调整第一线性转换矩阵和第二线性转换矩阵中的参数,也即第一线性转换矩阵和第二线性转换矩阵中的参数的调整过程更具有灵活性,从而能够使生成的第一表示和第二表示更能够正确反映维度级的相似度信息,以提高第一相似度信息的准确率。

为进一步理解第一表示和第二表示,请参阅图4,图4为本申请实施例提供的文本处理方法中第一表示的一种示意图,图4中以d的取值为4,n的取值为5为例。其中,a1指的是第一表示(也即图4中的矩阵a)中的一个行数据,a1代表一个第一字符的特征信息,其中包括4个元素,每个元素代表第一字符在一个维度的特征信息,则a1代表一个第一字符在4个维度的特征信息,a2指的是第一表示中的一个列数据,a2中包括5个第一字符在一个维度的特征信息,矩阵a包括5个第一字符中每个第一字符在4个维度的特征信息,应理解,图4中的举例仅为方便理解本方案,不用于限定本方案。

可选地,相似度计算模块中还可以包括第三线性转换矩阵(也即wc),执行设备通过wc对与至少两个第一字符对应的原始表示进行线性变换处理,得到矩阵c(也即第三表示);进一步地,wc具体也可以表现为一个d×d的矩阵,矩阵c具体也可以表现为一个n×d的矩阵,也即第三表示包括n个第一字符中每个第一字符在d个维度的特征信息。第三线性转换矩阵与第一线性转换矩阵以及第二线性转换矩阵的参数可以相同或不同,且存在矩阵c和矩阵t相同的可能性,也即存在转换后的第三表示和原始表示相同的可能性,具体也是取决于训练阶段的训练结果。

本申请实施例中,由于第一表示和第二表示是用来做至少两个第一字符在维度级的相似度计算的,第一字符的原始表示未必能够适配我们这种维度级的相似度计算方式,利用一个可学习的线性变换模型来生成第一表示和第二表示,该线性变换模型在训练阶段能够调整模型参数,从而使得第一表示和第二表示能够正确反映维度级的相似度信息,以提高第一相似度信息的准确率,从而提高整个文本处理网络的精度。

在另一种实现方式中,相似度计算模块中可以包括卷积层,执行设备通过相似度计算模块的卷积层,对与至少两个第一字符对应的原始表示分别进行两次卷积处理,得到第一表示和第二表示。可选地,执行设备通过相似度计算模块的卷积层,对于至少两个第一字符对应的原始表示分别进行三次卷积处理,得到第一表示、第二表示和第三表示。

本申请实施例中,提供了第一表示和第二表示的另一种生成方案,提高了本方案的实现灵活性。

303、执行设备通过相似度计算模块,根据第一特征信息,计算至少两个第一字符在维度级的第一相似度信息。

本申请实施例中,第一特征信息包括第一表示和第二表示,第一表示和第二表示具体均可以表现为矩阵,第一表示中的一列数据包括至少两个第一字符在一个维度的特征信息,第二表示中的一列数据包括至少两个第一字符在一个维度的特征信息。

步骤303具体可以包括:执行设备通过相似度计算模块,计算第一表示中的列数据与第二表示中的列数据之间的相似度,以得到第一相似度信息。其中,第一相似度信息中包括第一表示与第二表示在各个维度之间的相似度,第一相似度信息具体可以表现为一个d×d的矩阵s,也即第一相似度信息中可以包括d×d个元素。进一步地,该d×d个元素中位于第i行第j列的元素表示第一表示的第i维和第二表示的第j维之间的相似度得分。其中,i为大于或等于1且小于或等于d的整数,j为大于或等于1且小于或等于d的整数。

为更为直观的了解本方案,请参阅图5,图5为本申请实施例提供的文本处理方法中第一相似度信息的一种示意图。图5中以d的取值为4为例,其中,矩阵s代表整个第一相似度信息,b1代表第一表示的第二列数据(也即所有第一字符在第一表示中的第二维特征信息)与第二表示的第三列数据(也即所有第一字符在第二表示中的第三维特征信息)之间的相似度得分,应理解,图5中的举例仅为方便理解本方案,不用于限定本方案。

本申请实施例中,将第一表示和第二表示确定为矩阵,通过计算第一表示中的列数据与第二表示中的列数据之间的相似度,来得到第一表示和第二表示在维度级的相似度信息,操作简单。

更具体的,在一种情况下中,执行设备通过相似度计算模块,对第一表示进行转置处理,计算转置后的第一表示中的行数据与第二表示的列数据之间的相似度,以得到第一相似度信息。本实现方式中,提供了生成第一相似度信息的一种具体实现方式,提高了本方案与具体应用场景的结合程度。

进一步地,执行设备可以通过相似度计算模块,将转置后的第一表示中目标行的行数据与第二表示中目标列的列数据进行点积,以生成转置后的第一表示中目标行的行数据与第二表示中目标列的列数据之间的相似度得分,也即生成了矩阵形式的第一相似度信息中的一个值。其中,转置后的第一表示中目标行的行数据指的是转置后的第一表示包括的多行数据中任意一行数据,第二表示中目标列的列数据指的是第二表示包括的多列数据中任意一列数据。执行设备重复执行前述操作,以生成转置后的第一表示中每一行的行数据与第二表示中的每一列的列数据之间的相似度得分,从而得到矩阵形式的第一相似度信息中的每个值。也即第一相似度信息可以通过公式atb得到,前述a指的是矩阵a(也即第一表示),前述b指的是矩阵b(也即第二表示)。

执行设备也可以通过相似度计算模块,计算转置后的第一表示中目标行的行数据与第二表示中目标列的列数据之间的欧式距离;或者,计算转置后的第一表示中目标行的行数据与第二表示中目标列的列数据之间的曼哈顿距离;或者,计算转置后的第一表示中目标行的行数据与第二表示中目标列的列数据之间的马氏距离;或者,计算转置后的第一表示中目标行的行数据与第二表示中目标列的列数据之间的余弦相似度等,以生成转置后的第一表示中目标行的行数据与第二表示中目标列的列数据之间的相似度得分。需要说明的是,执行设备还可以通过相似度计算模块执行其他运算,以生成转置后的第一表示中目标行的行数据与第二表示中目标列的列数据之间的相似度得分,此处不做限定。执行设备重复执行前述操作,以生成转置后的第一表示中每一行的行数据与第二表示中每一列的列数据之间的相似度得分,从而得到第一相似度信息。

在另一种实现方式中,执行设备通过相似度计算模块,直接计算第一表示的列数据与第二表示的列数据之间的相似度,以得到第一相似度信息。

进一步地,执行设备可以通过相似度计算模块,将第一表示中目标列的列数据与第二表示中目标列的列数据进行点积;或者,计算第一表示中目标列的列数据与第二表示中目标列的列数据之间的欧式距离;或者,计算第一表示中目标列的列数据与第二表示中目标列的列数据之间的曼哈顿距离;或者,计算第一表示中目标列的列数据与第二表示中目标列的列数据之间的马氏距离;或者,计算第一表示中目标列的列数据与第二表示中目标列的列数据之间的余弦相似度等,以生成第一表示中目标列的列数据与第二表示中目标列的列数据之间的相似度得分,也即生成了矩阵形式的第一相似度信息中的一个值。其中,第一表示中目标列的列数据指的是第一表示包括的多列数据中任意一列数据,第二表示中目标列的列数据指的是第二表示包括的多列数据中任意一列数据。需要说明的是,执行设备还可以通过相似度计算模块执行其他运算,以生成第一表示中目标列的列数据与第二表示中目标列的列数据之间的相似度得分,此处不做限定。执列设备重复执列前述操作,以生成转置后的第一表示中每一列的列数据与第二表示中每一列的列数据之间的相似度得分,从而得到矩阵形式的第一相似度信息中的每个值。

本申请实施例中,提供了计算第一表示中的列数据与第二表示中的列数据之间相似度的多种实现方式,提高了本方案的实现灵活性。

通过步骤303中的描述可知,在第一相似度信息的生成过程中,共执行了d2次运算,每次运算为长度为n的两个向量之间的运算,故计算获得第一相似度信息的时间复杂度为o(nd2)。

304、执行设备通过生成模块,根据第一相似度信息,生成与至少两个第一字符对应的第二特征信息。

本申请实施例中,文本处理网络的特征提取网络除了包括相似度计算模块之外,还包括生成模块,相似度计算模块用于计算至少两个第一字符在维度级的第一相似度信息,生成模块用于根据第一相似度信息,生成与至少两个第一字符对应的第二特征信息。执行设备在生成第一相似度信息之后,可以通过文本处理网络的生成模块,根据第一相似度信息,生成与至少两个第一字符对应的第二特征信息。其中,第二特征信息与第一特征信息的区别在于第二特征信息中融入了第一相似度信息;第二特征信息具体可以表现为一个二维矩阵,进一步地,前述二维矩阵可以为n×d的矩阵,也即该二维矩阵中包括n行,每行包括d个元素,前述二维矩阵中每一行数据包括一个第一字符在d个维度的特征信息。

具体的,在一种情况下,若第一特征信息中包括第三表示,则执行设备可以通过生成模块,将第三表示和第一相似度信息进行融合处理,以生成第二特征信息。

本申请实施例中,第二特征信息中同时融合了第一字符的词信息和多个第一字符在维度级的相似度信息,进一步提高文本处理网络的精度;此外,在初次对第一字符进行特征提取时就生成第三表示,从而在生成第二特征信息时,可以直接利用之前生成的第三表示与第一相似度信息进行融合处理,有利于提高整个文本处理网络的处理效率。

更具体的,第一字符的数量为n个。在一种实现方式中,执行设备通过生成模块,根据第三表示和第一相似度信息,生成三阶张量表示,三阶张量表示中包括n个矩阵,每个矩阵对应一个第一字符,一个矩阵中融合了一个第一字符的特征信息和一个第一字符在维度级的相似度信息,n个矩阵中每个矩阵具体可以表现为一个d×d的矩阵。由于该三阶张量表示中包括n个矩阵,而第二特征信息为一个二维矩阵,执行设备在通过生成模块生成三阶张量表示之后,还需要通过生成模块,对三阶张量表示进行压缩处理,以得到第二特征信息。本申请实施例中,在第三表示和第一相似度信息的融合过程中,先扩展为三阶张量表示,再进行压缩处理,由于三阶张量表示中包括更多的元素,从而可以使得每个特征信息都可以得到充分表达,以提高第二特征信息的表达能力。

进一步地,针对三阶张量表示的生成过程。在一种实现方式中,执行设备通过生成模块对第一相似度信息中的列数据与第三表示的列数据进行张量积运算,以生成三阶张量表示。其中,张量积运算包括但不限于外积或其他类型的张量积运算。更进一步地,由于第一相似度信息可以为d×d的矩阵,第三表示可以为n×d的矩阵,也即第一相似度信息和第三表示均为d列,则执行设备通过生成模块对第一相似度信息中第k列数据与第三表示中第k列数据进行张量积运算,以生成一个n×d的矩阵,k为大于或等于1且小于或等于d的整数。执行设备重复前述操作d次,以生成一个n×d×d的三阶张量表示。通过前述描述可知,三阶张量表示的生成过程中,包括了d个外积操作,每个外积操作是一个长度为d和一个长度为n的向量进行外积,故该步骤的时间复杂度为o(nd2)。

为进一步理解本方案,请参阅图6,图6为本申请实施例提供的文本处理方法中生成三阶张量的一个流程示意图。图6中以第一相似度信息(也即图6中的矩阵s)为一个4×4的矩阵,也即d的取值为4,第三表示(也即图6中的矩阵c)为一个5×4的矩阵,也即n的取值为5为例,执行设备通过生成模块将矩阵s中第一列数据与矩阵c中的第一列数据进行外积运算,能够得到一个5×4的矩阵,执行设备通过生成模块将矩阵s中第二列数据与矩阵c中的第二列数据进行外积运算,能够得到另一个5×4的矩阵,执行设备重复执行前述操作,可以得到4个5×4的矩阵,将4个5×4的矩阵进行堆叠,可以得到该三阶张量表示,应理解,图6中的举例仅为方便理解三阶张量表示的生成过程,不用于限定本方案。

在另一种实现方式中,执行设备通过生成模块,对第一相似度信息中的列数据与第三表示的列数据进行加法运算,得到三阶张量表示。更进一步地,由于第一相似度信息可以为d×d的矩阵,第三表示可以为n×d的矩阵,也即第一相似度信息和第三表示均为d列,则执行设备通过生成模块对第一相似度信息中第k列数据与第三表示中第k列数据进行加法运算,以生成一个n×d的矩阵。也即将第一相似度信息中第k列包括的d个元素中每个元素,与,第三表示中第k列数据包括的d个元素中每个元素相加。执行设备重复前述操作d次,以生成一个n×d×d的三阶张量表示。为进一步理解本方案,结合图6进行说明,执行设备通过生成模块将矩阵s中的第一列数据中每个元素,与,矩阵c中第一列数据中每个元素相加,可以得到一个5×4的矩阵,执行设备通过生成模块重复前述操作4次,可以得到4个5×4的矩阵,将4个5×4的矩阵进行堆叠,可以得到该三阶张量表示,应理解,此处举例仅为方便理解本方案,不用于限定本方案。

本申请实施例中,提供了生成三阶张量表示的两种具体实现方案,提高了本方案的实现灵活性。

针对将三阶张量表示进行压缩处理的过程。执行设备在通过生成模块得到三阶张量表示之后,由于该三阶张量表示为一个n×d×d的三阶张量,则执行设备可以通过生成模块,沿着三阶张量表示的两个d方向中任意一个d方向对三阶张量表示进行压缩处理,得到第二特征信息,第二特征信息为n×d的二维矩阵。其中,压缩处理的方式包括以下中的任意一项:卷积、相加、取平均值、取最大值、取最小值或其他压缩处理方式。

更进一步地,三阶张量表示为一个n×d×d的三阶张量,则三阶张量表示也可以视为n个d×d的矩阵。当压缩处理的方式选择卷积时,生成模块中可以包括d个长度为d且宽度为1的卷积核,执行设备通过d个卷积核中的一个卷积核,对该三阶张量表示的n个矩阵中一个矩阵中的一列进行卷积,得到一个值,则通过d个卷积核分别对一个矩阵中的一列进行卷积,从而可以得到d个值,也即得到与一个第一字符对应的向量表示,该向量表示中包括d个元素。执行设备对n个矩阵中的每个矩阵均执行前述操作,从而可以得到n个包括d个元素的向量,也即得到一个n×d的二维矩阵,也即得到该第二特征信息。该步骤的时间复杂度为o(nd2)。

由于三阶张量表示可以为一个n×d×d的三阶张量,则可以将三阶张量表示看出是d个n×d的二维矩阵,当压缩处理方式选择相加、取平均值、取最大值或取最小值时,执行设备沿着三阶张量表示的两个d方向中任意一个d方向执行相加、取平均值、取最大值或取最小值运算,从而将三阶张量表示的d方向压平,得到一个n×d的二维矩阵,也即得到第二特征信息。

本申请实施例中,提供了生成第二特征信息的多种具体实现方案,提高了本方案的实现灵活性。

在另一种实现方式中,执行设备通过文本处理网络的生成模块,将第三表示进行转置处理,将转置后的第三表示与第一相似度信息相乘,得到第二特征信息,对于第三表示、第一相似度信息以及第二特征信息的具体介绍,均可以参阅上述描述,此次不做赘述。本申请实施例中,将转置后的第三表示与第一相似度信息相乘,直接得到第二特征信息,实现方式简单,计算方便,时间复杂度比较低;且又提供了一种生成第二特征信息的方案,进一步增强了本方案的实现灵活性。

在另一种情况下,若第一特征信息中不包括第三表示,则执行设备可以通过生成模块,根据与至少两个第一字符对应的原始表示,生成第三表示,第三表示的具体生成方式可以参阅步骤302中的描述,此处不做赘述。进而执行设备可以通过生成模块,将第三表示和第一相似度信息进行融合处理,以生成第二特征信息,具体实现方式可以参阅上述描述,此处也不做赘述。

为进一步理解本方案,请参阅图7,图7为本申请实施例提供的文本处理方法中生成第二特征信息的一种示意图。如图7所示,待处理文本为“xx手机很不错”,整个文本处理网络的功能为生成与整个待处理文本对应的分类标签,c1指的是与整个待处理文本对应的原始表示,c2指的是第二特征信息。通过文本处理网络中的特征提取网络,利用线性转换矩阵wa对c1进行线性转换处理,得到第一表示(也即图7中的矩阵a);通过文本处理网络中的特征提取网络,利用线性转换矩阵wb对c1进行线性转换处理,得到第二表示(也即图7中的矩阵b);通过文本处理网络中的特征提取网络,利用线性转换矩阵wc对c1进行线性转换处理,得到第三表示(也即图7中的矩阵c)。通过特征提取网络,根据第一表示和第二表示,计算至少两个第一字符在维度级别的第一相似度信息,并将第三表示和第一相似度信息进行融合处理,以生成第二特征信息(也即图7中的c2),应理解,图7中的举例仅为方便理解本方案,不用于限定本方案。

可选地,执行设备在生成第二特征信息之后,还可以通过文本处理网络的生成模块获取与待处理文本(也即至少两个第一字符)对应的原始表示,并通过文本处理网络的生成模块将与待处理文本对应的原始表示与第二特征信息相加,再进行层归一化(layernormalization),得到第四特征信息。

305、执行设备通过特征处理网络,执行分类操作,输出与至少两个第一字符对应的预测类别的指示信息。

本申请的一些实施例中,在本应用场景中,特征处理网络可以基于第二特征信息执行分类操作,输出与至少两个第一字符对应的预测类别的指示信息。其中,类别的分类依据为字符的语义,或者,类别的分类依据为字符的词性。可选地,执行设备通过特征处理网络,可以基于第四特征信息执行分类操作,输出与至少两个第一字符对应的预测类别的指示信息。若整个文本处理网络的任务是对整个待处理文本进行分类,作为示例,例如待处理文本为“今天天气很不错”,则输出的指示信息指示整个待处理文本的分类标签为天气。若整个文本处理网络的任务是对待处理文本进行序列标注,作为示例,例如待处理文本为“今天天气很不错”,则输出的指示信息指示“今天”对应的分类标签可以是名词,“天气”对应的分类标签可以是名词,“很”对应的分类标签可以是形容词,“不错”对应的分类标签可以是形容词,应理解,此处举例仅为方便理解,不用于限定本方案。

需要说明的是,本申请实施例中不限定步骤302至304与步骤305之间的执行次数,步骤302至304与步骤305之间执次数可以为多比一,也即执行设备在执行完步骤304之后,可以重新进入步骤302,将与待处理文本对应的原始表示替换为与待处理文本对应的第二特征信息,或者,将与待处理文本对应的原始表示替换为与待处理文本对应的第四特征信息,并重新执行步骤302至304,以生成新的第二特征信息。在重复执行步骤302至304至少两次之后,进入步骤305,则执行设备通过特征处理网络,根据更新后的第二特征信息执行分类操作,或者,执行设备通过特征处理网络,根据更新后的第四特征信息执行分类操作。步骤302至304与步骤305之间的执行次数,也可以为一比一,也即在通过文本处理网络的生成模块生成第二特征信息或者生成第四特征信息之后,直接进入步骤305。

为进一步理解本方案,请参阅图8,图8为本申请实施例提供的文本处理网络的一种结构示意图。图8中以待处理文本为“今天天气很不错。”,且文本处理网络的功能是输出整个待处理文本的标签为例。如图所示,执行设备在待处理文本包括的至少两个第一字符的开头添加[cls]字符,将添加了[cls]字符的待处理文本输入文本处理网络中,一个文本处理网络中可以包括多个特征提取网络,每个特征提取网络执行的步骤可以参阅步骤302至304中的描述,d1指的是特征提取网络生成的第二特征信息,d2指的特征提取网络生成的新的第二特征信息。其中,h1至h9整体可以表现为一个矩阵,前述矩阵共有9行,也即整个矩阵中可以包括9个向量,每个向量与h1至h9一一对应;h2至h9中每个向量反映的为对应字符的特征信息,h1反映的为整个待处理文本的信息。执行设备通过特征提取网络将h1输入至特征处理网络中,以使特征处理网络根据h1执行分类操作,得到与整个待处理文本对应的分类标签为“天气”,应理解,图8中的举例仅为方便理解本方案,不用于限定本方案。

本申请实施例中,落地到文本分类这一具体应用场景中,提高了本方案与应用场景的结合能力。

本申请实施例中,特征提取模块用于接收至少两个第一字符,对至少两个第一字符进行特征提取得到第一特征信息,第一特征信息包括第一字符在至少一个维度的特征信息,根据第一特征信息,计算至少两个第一字符在维度级的第一相似度信息,进而根据第一相似度信息,生成与至少两个字符对应的第二特征信息,也即能够一次性处理两个或两个以上的字符,提供了一种更高效的文本处理网络;此外,在生成字符的特征信息的过程中,结合了字符在维度级的相似度信息,也即生成的第二特征信息中融合了更细粒度的信息,有利于提高整个文本处理网络的精度。

(2)应用于文本预测的场景中

本申请实施例中,请参阅图9,图9为本申请实施例提供的文本处理方法的一种流程示意图,本申请实施例提供的文本处理方法可以包括:

901、执行设备将至少两个第一字符输入文本处理网络。

本申请的一些实施例中,执行设备获取待处理文本,待处理文本中包括真值字符和待预测字符,执行设备可以将待预测字符替换为掩码字符,从而得到至少两个第一字符,将至少两个第一字符输入至文本处理网络中。其中,至少两个第一字符中有至少一个真值字符和至少一个待预测字符,作为示例,例如待处理文本为“我喜欢旅游,其中最喜欢的地方是云南,以后有机会一定要去xxxx”则整个待处理文本中包括27个真值字符和4个待预测字符。输入至文本处理网络的至少一个第一字符具体可以表现为序列数据的形式,对于至少两个第一字符的具体表现形式可以参阅图3对应实施例中步骤301中的描述,此处不做赘述。待预测字符具体可以被替换为掩码字符,掩码字符也可以称为[mask]字符。

其中,文本处理网络包括特征提取网络和特征处理网络。该特征提取网络包括相似度计算模块和生成模块;本应用场景下执行设备上可以配置有字符表,字符表中的每个字符对应有唯一的一个索引号,则本应用场景下的特征处理网络具体也可以表现为分类器,分类器输出的可以是索引号,执行设备根据前述索引号和前述字符表,确定预测的字符。对于相似度计算模块、生成模块和分类器的具体表现形式均可以参阅图3对应实施例中的描述,此处不做赘述。

902、执行设备通过相似度计算模块对至少两个第一字符进行特征提取,得到与至少两个第一字符对应的第一特征信息。

903、执行设备通过相似度计算模块,根据第一特征信息,计算至少两个第一字符在维度级的第一相似度信息。

904、执行设备通过生成模块根据第一相似度信息,生成与至少两个第一字符对应的第二特征信息。

本申请实施例中,执行设备执行步骤902至904的具体实现方式,与图3对应实施例中步骤302至304的具体实现方式类似,可参阅上述描述,此处不做赘述。

905、执行设备通过特征处理网络,输出与待预测字符对应的预测结果,预测结果指示与待预测字符对应的预测字符。

本申请的一些实施例中,在本应用场景中,特征处理网络可以基于第二特征信息,输出与掩码字符对应的预测结果,从而得到与待预测字符对应的预测字符。可选地,特征处理网络可以基于第四特征信息,输出与掩码字符对应的预测结果,预测结果指示与待预测字符对应的预测字符。其中,该预测结果具体可以表现为与预测字符对应的索引号。

在一次文本预测的过程中,需要预测的字符可以为至少一个。当需要预测的字符为至少两个的情况下,在用文本处理网络进行文本预测的过程中,可以采取自回归的预测方法,也即文本处理网络每执行一次预测操作,只能够预测一个字符,则每次预测过程中输出一个预测字符的索引号,则需要执行至少两次预测操作,才能够得到所有的待预测字符;也可以采用非自回归的预测方法,也即文本处理网络每执行一次预测操作,能够一次性预测所有的待预测字符。作为示例,此处以采用自回归(monotonicautoregressive)的方式为例,例如待处理文本为“今天天气xxx”,本例中一共需要生成3个预测字符,则执行设备可以将3个待预测字符替换为[mask]字符,在生成第一个待预测字符的过程中,执行设备将“今天天气[mask][mask][mask]”输入至文本处理网络中,文本处理网络生成“很”的索引号。在生成第二个待预测字符的过程中,执行设备将“今天天气很[mask][mask]”输入至文本处理网络中,文本处理网络生成“不”的索引号。在生成第三个待预测字符的过程中,执行设备将“今天天气很不[mask]”输入至文本处理网络中,文本处理网络生成“错”的索引号。从而确定三个预测的字符为“很不错”,应理解,此处举例仅为方便理解,不用于限定本方案。

需要说明的是,本应用场景中也不限定步骤902至904与步骤905之间的执行次数,步骤902至904与步骤905之间的执行次数,可以为多比一,也可以为一比一,具体可以参阅图3对应实施例中的描述,此处不做赘述。

本申请实施例中,不仅可以应用于文本分类这一应用场景中,还可以应用于文本预测的应用场景中,扩展了本方案的应用场景。

(3)应用于文本翻译的场景中

本申请实施例中,请参阅图10,图10为本申请实施例提供的文本处理方法的一种流程示意图,本申请实施例提供的文本处理方法可以包括:

1001、执行设备将至少两个第一字符输入文本处理网络。

本申请的一些实施例中,执行设备获取待翻译文本,待翻译文本中包括至少两个第一字符,执行设备将整个待翻译文本输入至文本处理网络中。具体实现方式可参阅步骤1001中的描述,此处不做赘述。待翻译文本(也即至少两个第一字符)为第一语种,翻译后的文本为第二语种,第一语种和第二语种为不同的语种。

其中,文本处理网络包括特征提取网络和特征处理网络。该特征提取网络包括相似度计算模块和生成模块,特征提取网络具体可以表现为编码器(encoder);本应用场景下执行设备上可以配置有字符表,字符表中的每个字符对应有唯一的一个索引号,则本应用场景下的特征处理网络具体也可以表现为解码器(decoder),分类器输出的可以是索引号,执行设备根据前述索引号和前述字符表,确定预测的字符。

1002、执行设备通过相似度计算模块对至少两个第一字符进行特征提取,得到与至少两个第一字符对应的第一特征信息。

1003、执行设备通过相似度计算模块,根据第一特征信息,计算至少两个第一字符在维度级的第一相似度信息。

1004、执行设备通过生成模块,根据第一相似度信息,生成与至少两个第一字符对应的第二特征信息。

本申请实施例中,执行设备执行步骤1002至1004的具体实现方式,与图3对应实施例中步骤302至304的具体实现方式类似,可参阅上述描述,此处不做赘述。

1005、执行设备通过特征处理网络,对第一字符执行翻译操作,得到翻译后的第一字符,翻译后的第一字符与第一字符为不同的语种。

本申请的一些实施例中,在本应用场景中,执行设备通过特征处理网络,可以采用自回归的方式,或者采用非自回归的方式,对第一字符执行翻译操作,输出翻译后的第一字符的指示信息,执行设备根据翻译后第一字符的指示信息得到翻译后的第一字符。其中,执行设备上还可以配置有第二语种的字符表,第二语种的字符表中配置有多个第二语种的字符以及与每个第二语种的字符对应的索引号,翻译后的第一字符的指示信息具体可以表现为索引号,执行设备根据第一字符的指示信息中包括的索引号,从第二语种的字符表中确定翻译后的第一字符。

可选地,特征处理网络可以基于第二特征信息和第四特征信息,对第一字符执行翻译操作,输出翻译后的第一字符的指示信息。其中,翻译后的第一字符的指示信息具体可以表现为与翻译后的第一字符一一对应的索引号。

与图3对应的实施例类似,本应用场景中也不限定步骤1002至1004与步骤1005之间的执行次数,步骤1002至1004与步骤1005之间的执行次数,可以为多比一,也可以为一比一,具体可以参阅图3对应实施例中的描述,此处不做赘述。

为进一步理解本方案,请参阅图11,图11为本申请实施例提供的文本处理网络的一种结构示意图。图11中以第一语种为中文,第二语种为英文为例。机器翻译任务的编码器和解码器部分均可以采用图3对应实施例中示出的特征提取网络多层堆叠来实现。编码器的输入是与待翻译文本对应的序列数据(也即与第一语种对应的序列数据),与图8描述实施例类似,在待翻译文本的最前面也加入了[cls]字符,利用[cls]字符来提取整个待翻译文本的特征信息,每层特征提取网络执行的步骤与图3对应实施例中步骤302至304中类似。解码器的输入是与第二语种对应的语言,在除最底层的每一层中,每层的矩阵a(也即第一表示)和矩阵c(也即第三表示)是由编码器相应层输出的第二特征信息经过线性变换得到的,矩阵b(也即第二表示)是由解码器中前一层生成的第二特征信息经过线性变换得到。这样使得解码器侧的特征信息能够融合编码器侧学到的特征信息,使得解码过程中每个字的预测能够有效注意到第一语种的信息。本实施例中解码器以采取从左到右自回归的方式进行翻译为例,执行设备在通过整个编码器生成e1(也即最后一个特征提取网络输出的第二特征信息)之后,在生成第一个翻译后字符时,训练设备把未生成的字符替换成[mask]字符(如图11所示)输入至编码器中,在得到编码器中最后一个特征提取网络输出第二特征信息之后,分类网络利用h1来输出第一个翻译后字符的指示信息,假设得到的第一个翻译后字符为“it”。在第二个翻译后字符的生成过程中,训练设备将“[cls]it[mask][mask][mask][mask][mask][mask][mask]”再输入至编码器,分类网络利用“it”的最上层表示h2来生成第二个翻译后字符的指示信息,如此下去,直到得到所有的翻译后字符,应理解,图11中的示例仅为方便理解本方案,不用于限定本方案。

本申请实施例中,不仅可以应用于文本分类和文本预测的应用场景中,还可以应用于文本翻译的应用场景中,进一步扩展了本方案的应用场景。

二、训练阶段

本申请实施例中,在以序列数据用于指示待处理文本中的字符信息这一场景中,训练阶段描述的是训练设备220如何对文本处理网络进行训练的过程。对应的,在训练阶段中,也包括理解文本信息、进行文本预测、文本翻译或其他具体应用场景,以下分别对前述示例的三种应用场景进行说明。

(1)应用于理解文本的场景中

本申请实施例中,请参阅图12,图12为本申请实施例提供的神经网络的训练方法的一种流程示意图,本申请实施例提供的神经网络的训练方法可以包括:

1201、训练设备获取第一训练文本。

本申请的一些实施例中,训练设备中可以配置有第一训练数据集,第一训练数据集中包括多个训练文本,每个训练文本中均包括至少一个待预测字符,训练数据集中还包括与掩码字符对应的正确字符。则训练设备从训练数据集中获取第一训练文本,第一训练文本中包括至少两个第二字符,至少两个第二字符中包括待预测字符,训练阶段的待预测字符可以被预先替换为掩码字符。掩码字符可以位于第一训练文本中的任意位置,作为示例例如第一训练文本为“今天[mask][mask][mask]不错”,作为另一示例,例如“华为手[mask][mask]不错”等,此处不做限定。

1202、训练设备将第一训练文本输入第一特征提取网络,以通过第一特征提取网络对第一训练文本进行特征提取,得到与至少两个第二字符对应的第一特征信息。

本申请实施例中,训练设备在获取到第一训练文本之后,获取与第一训练文本对应的原始表示,并将与第一训练文本对应的原始表示输入至第一特征提取网络中,以通过第一特征提取网络对第一训练文本进行特征提取,得到与至少两个第二字符对应的第一特征信息。对于步骤1202的具体实现方式,可以参阅图3对应实施例中步骤301和步骤302中的描述。区别在于,在训练阶段,训练设备上配置的字符表中与每个字符对应的原始表示为固定不变的,训练设备上配置的字符表中每个字符对应的原始表示也可以视为模型参数,在迭代训练过程中不断更新。

1203、训练设备通过第一特征提取网络,根据与至少两个第二字符对应的第一特征信息,计算至少两个第二字符在维度级的第二相似度信息。

1204、训练设备通过第一特征提取网络,根据第二相似度信息,生成与至少两个第二字符对应的第二特征信息。

1205、训练设备通过第一特征处理网络,输出预测结果,预测结果指示与待预测字符对应的预测字符,第一特征处理网络和第一特征提取网络归属第一文本处理网络。

本申请实施例中,训练设备执行步骤1203至1205的具体实现方式,可参阅图9对应实施例中步骤903至905中的描述,此处不做赘述。其中,第二相似度信息的具体表现形式与图3对应实施例中描述第一相似度信息类似,区别仅在于第一相似度信息为至少两个第一字符在维度级的相似度信息,第二相似度信息为至少两个第二字符在维度级的相似度信息。预测结果的具体表现形式可以参阅图9对应实施例中的描述,此处不做赘述。

需要说明的是,若步骤1203至1205中采用的是自回归的预测方式,则每次预测操作只能够得到一个预测字符,则在整个预测过程中,若预测字符是错误字符,在下一次预测过程中,训练设备依旧会利用正确字符进行下一次预测。作为示例,例如与第一训练文本对应的正确预测结果为“今天天气很不错”,而在第一次预测过程得到的预测字符是“空”,很明显,在这一次的预测过程中出现了预测错误。若在推理阶段,则执行设备会将“今天空[mask][mask]不错”输入至文本处理网络中,以进行下一次预测操作,但在训练阶段,训练设备会将“今天[mask][mask]不错”输入至文本处理网络,以进行下一次预测操作,也即在训练阶段即使发生预测错误,也依旧会使用正确的字符进行下一次预测。

1206、训练设备根据与待预测字符对应的正确字符、预测字符和损失函数,对第一文本处理网络进行迭代训练,直至满足预设条件,输出第二特征提取网络,第二特征提取网络为训练后的第一特征提取网络。

本申请的一些实施例中,训练设备在得到预测结果之后,确定与待预测字符对应的预测字符,根据与待预测字符对应的正确字符、预测字符和第一损失函数,计算第一损失函数的函数值,第一损失函数反映正确字符与预测字符之间的相似度,并根据第一损失函数的函数值生成梯度值,通过反向传播算法(backpropagation)来梯度更新第一文本处理网络中各个神经网络层的权重参数,可选地,还可以更新与第一训练文本对应的原始表示,以完成对第一文本处理网络的一次训练。训练设备重复执行步骤1201至1206,以对第一文本处理网络进行迭代训练,直至满足预设条件,输出第二特征提取网络,第二特征提取网络为训练后的第一特征提取网络。

其中,预设条件可以为满足第一损失函数的收敛条件,也可以为迭代训练的迭代次数满足预设次数等。第一损失函数具体可以表现为0-1损失函数、交叉熵损失函数、对数损失函数或其他类型的损失函数等,此处不做限定。为进一步理解第一损失函数,如下以采用非自回归的预测方式,且第一损失函数为对数损失函数为例,公开第一损失函数的公式:

l(θ1)=logπi∈sp(yi|x;θ1)=∑i∈slogp(yi|x;θ1);(1)

其中,l(θ1)代表第一损失函数,θ1代表第一文本处理网络中的权重参数,可选地,θ1还包括与第一训练文本对应的原始表示,x代表输入的第一训练文本,s表示第一训练文本中所有待预测字符的位置的合集,yi表示第i个位置上的待预测字符,应理解,式(1)中的举例仅为方便理解第一损失函数,不用于限定本方案。

1207、训练设备获取第二训练文本。

本申请的一些实施例中,训练设备中还可以配置有第二训练集合,第二训练数据集合中包括多个训练文本,以及与每个训练文本对应的正确类别。训练设备从第二训练数据集合中获取第二训练文本,第二训练文本中包括至少两个第三字符。

1208、训练设备将第二训练文本输入第二特征提取网络,以通过第二特征提取网络生成与至少两个第三字符对应的第二特征信息。

1209、训练设备通过第二特征处理网络,执行分类操作,输出与至少两个第三字符对应的预测类别的指示信息,其中,第二特征提取网络和第二特征处理网络归属于第二文本处理网络。

本申请实施例中,训练设备执行步骤1203至1205的具体实现方式,可参阅图3对应实施例中步骤301至305中的描述,此处不做赘述。其中,与至少两个第三字符对应的预测类别的指示信息、预测类别的具体表现形式均可以参阅图3对应实施例中的描述,此处不做赘述。

1210、训练设备根据与第二训练文本对应的正确类别、预测类别的指示信息和损失函数,对第二文本处理网络进行迭代训练,直至满足预设条件,输出训练后的第二文本处理网络。

本申请的一些实施例中,训练设备在得到与至少两个第三字符对应的预测类别的指示信息之后,确定与第二训练文本对应的预测类别,根据与第二训练文本对应的正确类别、预测类别和第二损失函数,计算第二损失函数的函数值。其中,第二损失函数反映正确类别与预测类别之间的相似度,正确类别的具体表现形式和预测类别的具体表现形式一致。训练设备根据第二损失函数的函数值生成梯度值,通过反向传播算法来梯度更新第二文本处理网络中各个神经网络层的权重参数,可选地,还可以更新与第二训练文本对应的原始表示,以完成对第二文本处理网络的一次训练。训练设备重复执行步骤1201至1206,以对第二文本处理网络进行迭代训练,直至满足预设条件,输出训练后的第二文本处理网络。

其中,预设条件可以为满足第二损失函数的收敛条件,也可以为迭代训练的迭代次数满足预设次数等。第二损失函数具体可以表现为0-1损失函数、交叉熵损失函数、对数损失函数或其他类型的损失函数等,此处不做限定。为进一步理解第一损失函数,如下以第二损失函数为对数损失函数为例,公开第二损失函数的公式:

l(θ2)=logp(y|x;θ2);(2)

其中,代表第二损失函数,θ2代表第二文本处理网络中的权重参数,可选地,θ2还包括与第二训练文本对应的原始表示,x代表输入的第二训练文本,y表示与第二训练文本对应的预测分类和正确分类,应理解,式(2)中的举例仅为方便理解第一损失函数,不用于限定本方案。

需要说明的是,步骤1207至1210为可选步骤,若不执行步骤1207至1210,则在执行完步骤1206之后,可以直接输出第二特征提取网络。若执行步骤1207至1210,则可以将步骤1201至1206视为预训练(pretraining)阶段,步骤1201至1206采用的可以为自监督的学习方式,将步骤1207至1210视为精调(finetuning)阶段。

本申请实施例中,先对文本分类网络中的特征提取网络进行训练,再对文本分类网络整体进行训练,能够把初次训练过程中学到的语义信息有效迁移到整个文本分类网络中,有利于提高训练后文本分类网络的准确度。

本申请实施例中,将第一特征提取网络放入文本预测这一场景中,迭代训练第一特征提取网络,由于文本预测这一场景中对特征提取网络的能力要求较高,有利于提高训练后的第一特征提取网络的特征提取能力。

(2)应用于文本预测的场景中

本申请实施例中,请参阅图13,图13为本申请实施例提供的神经网络的训练方法的一种流程示意图,本申请实施例提供的神经网络的训练方法可以包括:

1301、训练设备获取第一训练文本,第一训练文本中包括至少两个第二字符,至少两个第二字符中包括至少一个待预测字符。

本申请实施例中,训练设备执行步骤1301的具体实现方式,可以参阅图11对应实施例中步骤1101中的描述,此处不做赘述。

1302、训练设备将至少两个第二字符输入第一特征提取网络,通过第一特征提取网络对至少两个第二字符进行特征提取,得到与至少两个第二字符对应的第一特征信息,第一特征信息包括至少两个第二字符在至少一个维度的特征信息。

1303、训练设备通过第一特征提取网络,根据与至少两个第二字符对应的第一特征信息,计算至少两个第二字符在维度级的第二相似度信息。

1304、训练设备通过第一特征提取网络,根据第二相似度信息,生成与至少两个第二字符对应的第二特征信息。

1305、训练设备通过第一特征处理网络,输出与待预测字符对应的预测字符。

本申请实施例中,训练设备执行步骤1302至1305的具体实现方式,可以参阅图9对应实施例中步骤901至905中的描述,此处不做赘述。其中,本实施例中第一特征提取网络和第一特征处理网络包括于同一文本预测网络中,文本预测网络的具体实现方式可以参阅图9对应实施例中对第一文本处理网络的描述,与至少两个第二字符对应的第一特征信息的具体表现形式、第二相似度信息的具体表现形式以及与至少两个第二字符对应的第二特征信息的具体表现形式均在图3对应实施例中进行了介绍,可参阅上述描述,此处不做赘述。

1306、训练设备根据与待预测字符对应的正确字符、预测字符和第三损失函数,对文本预测网络进行迭代训练,直至满足预设条件,输出训练后的文本预测网络。

本申请实施例中,训练设备执行步骤1306的具体实现方式,可以参阅图11对应实施例中步骤1106中的描述,此处不做赘述。其中,预设条件可以为满足第三损失函数的收敛条件,也可以为迭代训练的迭代次数满足预设次数等。第三损失函数的具体表现形式可以与第一损失函数类似,此处不做赘述。

本申请实施例中,提供了当文本处理网络用于进行文本预测时的训练方法,扩展了本方案的应用场景。

(3)应用于文本翻译的场景中

本申请实施例中,请参阅图14,图14为本申请实施例提供的神经网络的训练方法的一种流程示意图,本申请实施例提供的神经网络的训练方法可以包括:

1401、训练设备获取第一训练文本和与第一训练文本对应的正确翻译文本,第一训练文本包括至少两个第二字符。

1402、训练设备将第一训练文本输入第四特征提取网络,以通过第四特征提取网络对第一训练文本进行特征提取,得到与至少两个第二字符对应的第一特征信息,第一特征信息包括第二字符在至少一个维度的特征信息。

1403、训练设备通过第四特征提取网络,根据与至少两个第二字符对应的第一特征信息,计算至少两个第二字符在维度级的第二相似度信息。

1404、训练设备通过第四特征提取网络,根据第二相似度信息,生成与至少两个第二字符对应的第二特征信息。

本申请实施例中,训练设备执行步骤1402至1404的具体实现方式,可以参阅图10对应实施例中步骤1002至1004中的描述,此处不做赘述。

1405、训练设备根据正确翻译文本和第二特征信息,通过第四特征处理网络,对第一训练文本执行翻译操作,输出翻译后的第二字符,第四特征提取网络和第四特征处理网络归属于文本翻译网络,翻译后的第二字符为与第二字符为不同的语种。

本申请实施例中,训练设备执行步骤1405的具体实现方式,与图10对应实施例中步骤1005的具体实现方式类似。区别在于,若步骤1402至1405采用的是自回归的翻译方式,则每次翻译操作只能够得到一个翻译后字符,则在整个翻译过程中,若某个翻译后字符是错误字符,在下一次翻译过程中,训练设备依旧会利用正确的翻译后字符进行下一次翻译。作为示例,例如与第一训练文本“今天天气很不错”的第一个字符对应的正确翻译字符为“it”,而在第一次翻译过程得到的翻译字符是“that”,很明显,在这一次的翻译过程中出现了翻译错误。若在推理阶段,则执行设备会将“that[mask][mask][mask][mask][mask][mask][mask]”输入至编码器中,以进行下一次翻译操作,但在训练阶段,训练设备会将“it[mask][mask][mask][mask][mask][mask][mask]”输入至编码器,以进行下一次翻译操作,也即在训练阶段即使发生翻译错误,也依旧会使用正确的翻译后字符进行下一次翻译,应理解,此处举例仅为方便理解本方案,不用与限定本方案。

1406、训练设备根据正确翻译文本、翻译后的第二字符和第四损失函数,对文本翻译网络进行迭代训练,直至满足预设条件,输出训练后的文本翻译网络。

本申请实施例中,步骤1406的具体实现方式可以参阅图12对应实施例中对步骤1206的描述。区别在于,第四损失函数指示正确翻译文本和翻译后的第二字符之间的相似度。预设条件可以为满足第五损失函数的收敛条件,也可以为迭代训练的迭代次数满足预设次数等。第五损失函数具体可以表现为0-1损失函数、交叉熵损失函数、对数损失函数或其他类型的损失函数等,此处不做限定。

本申请实施例中,提供了当文本处理网络用于进行文本翻译时的训练方法,进一步扩展了本方案的应用场景。

本申请实施例中,训练后的第一文本处理网络能够一次性处理两个或两个以上的字符,也即提供了一种更高效的文本处理网络;此外,训练后的第一文本处理网络在生成字符的特征信息的过程中,能够结合字符在维度级的相似度信息,也即生成的第二特征信息中会融合更细粒度的信息,有利于提高整个文本处理网络的精度。

以上均为将本申请实施例提供的序列数据的处理方法应用于文本处理这一大的应用场景下的介绍,本申请实施例还提供一种序列数据的处理方法,请参阅图15,图15为本申请实施例提供的序列数据的处理方法的一种流程示意图,本申请实施例提供的序列数据的处理方法可以包括:

1501、执行设备将至少两个序列数据输入第一神经网络,第一神经网络为序列数据的处理网络。

本申请实施例中,序列数据用于指示以下中的任一种信息:字符信息、消费信息、位置信息和基因信息。其中,第一神经网络包括特征提取网络和特征处理网络,特征提取网络也包括相似度计算模块和生成模块,对于相似度计算模块、生成模块以及特征处理网络的具体实现方式可以结合第一神经网络的具体功能确定,图3、图9以及图10对应实施例中均对具体应用场景下相似度计算模块、生成模块以及特征处理网络的具体实现方式进行了介绍,此处不再赘述。

具体的,由于利用序列数据来指示字符信息时,步骤1501的具体实现方式已经在图3至图14对应实施例中进行了详细描述,此处不再赘述。

当序列数据用于指示用户的历史消费信息时,第一神经网络的作用可以为预测用户以后的消费情况。则步骤1501可以包括:执行设备将用户的历史消费信息转换为至少两个序列数据,并将至少两个序列数据输入第一神经网络,一个序列数据对应一个消费记录。每个消费记录的原始表示(即与每个消费记录对应的一个序列数据)可以通过但不限于随机初始化或者使用物品嵌入(item2vec)的方式得到,item2vec的方式可以为每一个应用程序生成一个对应的向量表示(也即一种序列数据)。作为示例,例如可以将用户已下载的应用程序转换为序列数据的表达形式,一个序列数据对应一个消费记录,至少两个序列数据指示用户已下载的应用程序序列,如:“应用程序1、应用程序2、应用程序3、应用程序4和应用程序5”,第一神经网络输出的信息指示用户可能感兴趣的应用程序包括:“应用程序6、应用程序7、应用程序8、应用程序9和应用程序10”。

当序列数据用于指示用户的位置信息时,第一神经网络的作用可以为预测用户以后的位置信息,此种应用在人流量预测以及基于地理位置进行信息推送等场景中有广泛应用。则步骤1501可以包括:执行设备将用户的历史位置信息转换为至少两个序列数据,并将至少两个序列数据输入第一神经网络,一个序列数据对应一个位置记录,至少两个序列数据指示用户所有的历史位置。每个位置信息的初始表示(即与每个位置信息对应的一个序列数据)可以通过但不限于随机初始化或者使用位置嵌入(loc2vec)的方式得到,loc2vec的方式可以为每一个位置信息生成一个对应的向量表示(也即一种序列数据)。作为示例,例如用户已去过的位置包括:“家、餐馆、公司、餐馆和公司”,第一神经网络输出的信息指示用户将来可能的位置包括:“商场、公园、公司、商场和家”。

当序列数据用于指示用户的基因信息时,第一神经网络的作用可以为对基因序列进行序列标注的任务,也即对基因序列中的每个基因进行分类。则步骤1501可以包括:执行设备将基因序列中包括的至少两个基因元素转换为至少两个序列数据,并将至少两个序列数据输入第一神经网络,一个序列数据对应一个基因元素,至少两个序列数据指示基因序列中的所有基因元素。每个基因元素的初始表示(即与每个基因元素对应的一个序列数据)可以通过但不限于随机初始化得到。作为示例,此处以基因序列为碱基序列为例,例如输入到第一神经网络的碱基序列为{a,t,t,g,c,t,a,t,a},第一神经网络输出的标签序列为{0,0,1,0,0,0,0,1},标签序列中1指的是对应的基因元素为有价值的基因元素,例如转译开始的基因元素,标签序列中0指的是对应的基因元素为没有价值的基因元素。

需要说明的是,还可以通过序列数据来指示其他类型的数据,从而利用本申请实施例提供的序列数据的处理方法进行处理,此处不对序列数据能够指示的信息进行穷举。

1502、执行设备通过相似度计算模块对至少两个序列数据进行特征提取,得到与至少两个序列数据对应的第三特征信息。

1503、执行设备通过相似度计算模块,根据第三特征信息,计算至少两个序列数据在维度级的第三相似度信息。

1504、执行设备根据第三相似度信息,生成与至少两个序列数据对应的第四特征信息。

本申请实施例中,执行设备执行步骤1502至1504的具体实现方式,可以参阅图3对应实施例中步骤302至304中的描述,此处不做赘述。其中,第三特征信息的含义与图3至图11对应实施例中的第一特征信息类似,第三相似度信息的含义与图3至图11对应实施例中的第一相似度信息类似,第四特征信息的含义与图3至图11对应实施例中的第二特征信息类似,此处均不做赘述。

1505、执行设备通过特征处理网络进行特征处理,输出与至少两个序列数据对应的生成处理结果。

本申请实施例中,执行设备通过特征处理网络进行特征处理,输出与至少两个序列数据对应的生成处理结果,其中,特征处理为以下中的任一种操作:分类操作、预测操作和翻译操作。具体的,图3对应实施例中的步骤305、图9对应实施例中的步骤905以及图10对应实施例中的步骤1005均为步骤1505的一种具体实现方式,可参阅描述。

除此之外,在序列数据用于指示用户的历史消费信息或用户的历史位置信息,第一神经网络的功能为预测用户的未来消费信息或用户的未来位置信息的情况下,则步骤1505的具体实现方式可以参阅图9对应实施例中步骤905的描述,与图9对应实施例类似,执行设备也可以将待预测的消费信息或位置信息替换为掩码序列,从而根据已知的至少两个序列数据执行预测操作,以预测掩码序列,也即根据已知的至少两个消费记录,生成预测的消费记录,或者,根据已知的至少两个位置信息,生成预测的位置信息。

当序列数据用于指示基因信息,第一神经网络的功能为对基因序列进行序列标注的情况下,则步骤1505的具体实现方式可以参阅图3对应实施例中的步骤305的描述,与图3对应实施例类似,执行设备可以利用分类网络(也即特征处理网络的一个示例)执行分类操作,以输出与每个基因元素对应的类别标签等。此处不再对序列数据指示其他类型的数据的具体情况进行穷举。

本申请实施例中,不仅可以处理字符信息,而且可以处理消费信息、位置信息或基因信息等序列信息,进一步扩展了本方案的应用场景,提高了本方案的实现灵活性。

本申请实施例中还提供一种神经网络的训练方法,请参阅图16,图16为本申请实施例提供的神经网络的训练方法的一种流程示意图,本申请实施例提供的神经网络的训练方法可以包括:

1601、训练设备获取第二训练样本和与第二训练样本对应的正确处理结果,第二训练样本中包括至少两个训练序列数据。

本申请实施例中,步骤1601的具体实现方式可以参阅图12对应实施例中步骤1201以及步骤1207、图13对应实施例中步骤1301和图14对应实施例中步骤1401中的描述。其中,第二训练样本包括的两个训练序列数据,至少两个训练序列数据的概念与图15对应实施例中至少两个序列数据的概念类似,此处不做赘述。

1602、训练设备将至少两个训练序列数据输入第一神经网络,通过相似度计算模块对至少两个训练序列数据进行特征提取,得到与至少两个训练序列数据对应的第三特征信息,第一神经网络为序列数据的处理网络。

1603、训练设备通过相似度计算模块,根据第三特征信息,计算至少两个训练序列数据在维度级的第三相似度信息。

1604、训练设备根据第三相似度信息,生成与至少两个训练序列数据对应的第四特征信息。

1605、训练设备通过特征处理网络进行特征处理,输出与至少两个训练序列数据对应的生成处理结果。

本申请实施例中,训练设备执行步骤1602至1605的具体实现方式,可以参阅图15对应实施例中步骤1502至1506中的描述,此处不做赘述。

1606、训练设备根据生成处理结果、准确处理结果和损失函数,对第一神经网络进行迭代训练,直至满足预设条件,输出训练后的第一神经网络。

本申请实施例中,步骤1606的具体实现方式可以参阅图12对应实施例中步骤1206以及步骤1210、图13对应实施例中步骤1306和图14对应实施例中步骤1406中的描述。其中,与至少两个训练序列数据对应的生成处理结果和准确处理结果的具体概念可参阅图15对应实施例中对与至少两个序列数据对应的生成处理结果的概念的描述,此处不做赘述。

在图1至图16所对应的实施例的基础上,为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关设备。具体参阅图17,图17为本申请实施例提供的文本处理网络的一种结构示意图。文本处理网络1700包括可以包括特征提取网络1710,特征提取网络包括相似度计算模块1711和生成模块1712。其中,相似度计算模块1711,用于接收输入的至少两个第一字符,并对至少两个第一字符进行特征提取,得到与至少两个第一字符对应的第一特征信息,第一特征信息包括第一字符在至少一个维度的特征信息;相似度计算模块1711,还用于根据第一特征信息,计算至少两个第一字符在维度级的第一相似度信息;生成模块1712,用于根据第一相似度信息,生成与至少两个第一字符对应的第二特征信息。

在一种可能的设计中,第一特征信息包括第一表示和第二表示,第一表示和第二表示均为矩阵,第一表示中的一列数据包括至少两个第一字符在一个维度的特征信息,第二表示中的一列数据包括至少两个第一字符在一个维度的特征信息;

相似度计算模块1711,具体用于计算第一表示中的列数据与第二表示中的列数据之间的相似度,以得到第一相似度信息。

在一种可能的设计中,相似度计算模块1711,具体用于对第一表示进行转置处理,计算转置后的第一表示中的行数据与第二表示中的列数据之间的相似度,以得到第一相似度信息。

在一种可能的设计中,相似度计算模块1711,具体用于:将第一表示中的列数据与第二表示中的列数据进行点积,以生成相似度;或者,计算第一表示中的列数据与第二表示中的列数据之间的欧式距离,以生成相似度;或者,计算第一表示中的列数据与第二表示中的列数据之间的曼哈顿距离,以生成相似度;或者,计算第一表示中的列数据与第二表示中的列数据之间的马氏距离,以生成相似度;或者,计算第一表示中的列数据与第二表示中的列数据之间的余弦相似度,以生成相似度。

在一种可能的设计中,相似度计算模块1711,具体用于对与至少两个第一字符对应的原始表示进行线性变换,得到第一表示和第二表示。

在一种可能的设计中,相似度计算模块1711,具体用于将至少两个第一字符的原始表示与第一线性转换矩阵相乘,得到第一表示,将至少两个第一字符的原始表示与第二线性转换矩阵相乘,得到第二表示。

在一种可能的设计中,相似度计算模块1711,具体用于对与至少两个第一字符对应的原始表示进行卷积处理,得到第一表示和第二表示。

在一种可能的设计中,第一特征信息中包括第三表示,第三表示包括至少两个第一字符的特征信息;生成模块1712,具体用于将第三表示和第一相似度信息进行融合处理,以生成第二特征信息。

在一种可能的设计中,第一字符的数量为n个,n为大于等于2的整数,生成模块1712,具体用于:根据第三表示和第一相似度信息,生成三阶张量表示,三阶张量表示中包括n个矩阵,每个矩阵对应一个第一字符,一个矩阵中融合了一个第一字符的特征信息和一个第一字符在维度级的相似度信息;对三阶张量表示进行压缩处理,得到第二特征信息。

在一种可能的设计中,第一相似度信息和第三表示均为矩阵;生成模块1712,具体用于对第一相似度信息中的列数据与第三表示的列数据进行张量积运算,得到三阶张量表示;或者,生成模块1712,具体用于对第一相似度信息中的列数据与第三表示的列数据进行加法运算,得到三阶张量表示。

在一种可能的设计中,三阶张量表示中包括n个矩阵,每个矩阵为d×d的二维矩阵;生成模块1712,具体用于沿着三阶张量表示的一个d方向对三阶张量表示进行压缩处理,得到第二特征信息,第二特征信息为n×d的二维矩阵,其中,压缩处理的方式包括以下中的任意一项:卷积、相加、取平均值、取最大值或取最小值。

在一种可能的设计中,生成模块1712,具体用于将第三表示进行转置处理,将转置后的第三表示与第一相似度信息相乘,得到第二特征信息。

在一种可能的设计中,文本处理网络1700还包括特征处理网络1720,特征处理网络1720,用于基于第二特征信息执行分类操作,输出与至少两个第一字符对应的预测类别的指示信息,其中,类别的分类依据为字符的语义,或者,类别的分类依据为字符的词性。

在一种可能的设计中,至少两个第一字符中包括待预测字符,文本处理网络还包括特征处理网络1720,特征处理网络1720,用于基于第二特征信息,输出与待预测字符对应的预测结果,预测结果指示与待预测字符对应的预测字符。

在一种可能的设计中,文本处理网络还包括特征处理网络1720,特征处理网络1720,用于基于第二特征信息,对第一字符执行翻译操作,得到翻译后的第一字符,翻译后的第一字符与第一字符为不同的语种。

需要说明的是,文本处理网络1700中各模块/单元之间的信息交互、执行过程等内容,与本申请中图3至图11对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

本申请实施例还提供了一种神经网络的训练装置,图18为本申请实施例的神经网络的训练装置一种结构示意图,神经网络的训练装置1800包括:获取模块1801、输入模块1802、处理模块1803和输出模块1804。其中,获取模块1801,用于获取第一训练文本,第一训练文本中包括至少两个第二字符;输入模块1802,用于将第一训练文本输入第一特征提取网络,以通过第一特征提取网络对第一训练文本进行特征提取,得到与至少两个第二字符对应的第一特征信息,第一特征信息包括第二字符在至少一个维度的特征信息;处理模块1803,用于通过第一特征提取网络,根据与至少两个第二字符对应的第一特征信息,计算至少两个第二字符在维度级的第二相似度信息;处理模块1803,还用于通过第一特征提取网络,根据第二相似度信息,生成与至少两个第二字符对应的第二特征信息;输出模块1804,用于通过第一特征处理网络,基于与至少两个第二字符对应的第二特征信息,输出与至少两个第二字符对应的生成处理结果,第一特征处理网络和第一特征提取网络归属于第一文本处理网络;处理模块1803,还用于根据与至少两个第二字符对应的正确处理结果、生成处理结果和损失函数,对第一文本处理网络进行迭代训练,直至满足预设条件。

在一种可能的设计中,至少两个第二字符中包括至少一个待预测字符;输出模块1804,具体用于通过第一特征处理网络,基于与至少两个第二字符对应的第二特征信息,输出与待预测字符对应的预测结果,预测结果指示与待预测字符对应的预测字符;处理模块1803,具体用于根据与待预测字符对应的正确字符、预测字符和损失函数,对第一文本处理网络进行迭代训练,直至满足预设条件,输出第二特征提取网络,第二特征提取网络为训练后的第一特征提取网络。

在一种可能的设计中,获取模块1801,还用于获取第二训练文本,第二训练文本中包括至少两个第三字符;输入模块1802,还用于将第二训练文本输入第二特征提取网络,以通过第二特征提取网络生成与至少两个第三字符对应的第二特征信息;输出模块1804,还用于通过第二特征处理网络,基于与至少两个第三字符对应的第二特征信息执行分类操作,输出与至少两个第三字符对应的预测类别的指示信息,其中,第二特征提取网络和第二特征处理网络归属于第二文本处理网络;处理模块1803,具体用于根据与第二训练文本对应的正确类别、预测类别的指示信息和损失函数,对第二文本处理网络进行迭代训练,直至满足预设条件,输出训练后的第二文本处理网络。

在一种可能的设计中,至少两个第二字符中包括至少一个待预测字符;输出模块1804,具体用于通过第一特征处理网络,基于与至少两个第二字符对应的第二特征信息和自回归算法,输出与待预测字符对应的预测结果,预测结果指示与待预测字符对应的预测字符;处理模块1803,具体用于根据与待预测字符对应的正确字符、预测字符和损失函数,对第一文本处理网络进行迭代训练,直至满足预设条件,输出训练后的第一文本处理网络。

在一种可能的设计中,输出模块1804,具体用于根据与第一训练文本对应的正确翻译文本和与至少两个第二字符对应的第二特征信息,通过第一特征处理网络,对第一训练文本执行翻译操作,输出翻译后的第二字符,翻译后的第二字符为与第二字符为不同的语种;处理模块1803,具体用于根据正确翻译文本、翻译后的第二字符和损失函数,对第一文本处理网络进行迭代训练,直至满足预设条件,输出训练后的第一文本处理网络。

需要说明的是,神经网络的训练装置1800中各模块/单元之间的信息交互、执行过程等内容,与本申请中图12至图14对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

本申请实施例还提供了一种执行设备,请参阅图19,图19为本申请实施例提供的执行设备的一种结构示意图,其中,执行设备1900上可以部署有图17对应实施例中所描述的文本处理网络1700,用于实现图3至图11对应实施例中执行设备的功能。或者,执行设备1900用于实现图15对应实施例中执行设备的功能。具体的,执行设备1900包括:接收器1901、发射器1902、处理器1903和存储器1904(其中执行设备1900中的处理器1903的数量可以一个或多个,图19中以一个处理器为例),其中,处理器1903可以包括应用处理器19031和通信处理器19032。在本申请的一些实施例中,接收器1901、发射器1902、处理器1903和存储器1904可通过总线或其它方式连接。

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

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

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

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

本申请实施例中,在一种情况下,应用处理器19031,用于执行图3至图11对应实施例中执行设备的功能。需要说明的是,对于应用处理器19031执行图3至图11对应实施例中执行设备的功能的具体实现方式以及带来的有益效果,均可以参考图3至图11对应的各个方法实施例中的叙述,此处不再一一赘述。

本申请实施例中,在另一种情况下,应用处理器19031,用于执行图15对应实施例中执行设备的功能。需要说明的是,对于应用处理器19031执行图15对应实施例中执行设备的功能的具体实现方式以及带来的有益效果,均可以参考图15对应的各个方法实施例中的叙述,此处不再一一赘述。

本申请实施例还提供了一种训练设备,请参阅图20,图20为本申请实施例提供的训练设备的一种结构示意图,训练设备2000上可以部署有图18对应实施例中所描述的训练设备1800,用于实现图12至图14对应的训练设备的功能;或者,训练设备2000用于实现图16对应的训练设备的功能。具体的,训练设备2000由一个或多个服务器实现,训练设备2000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)2022(例如,一个或一个以上处理器)和存储器2032,一个或一个以上存储应用程序2042或数据2044的存储介质2030(例如一个或一个以上海量存储设备)。其中,存储器2032和存储介质2030可以是短暂存储或持久存储。存储在存储介质2030的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对训练设备中的一系列指令操作。更进一步地,中央处理器2022可以设置为与存储介质2030通信,在训练设备2000上执行存储介质2030中的一系列指令操作。

训练设备2000还可以包括一个或一个以上电源2026,一个或一个以上有线或无线网络接口2050,一个或一个以上输入输出接口2058,和/或,一个或一个以上操作系统2041,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

本申请实施例中,在一种情况下,中央处理器2022,用于实现图12至图14对应实施例中的训练设备的功能。需要说明的是,对于中央处理器2022执行图12至图14对应实施例中训练设备的功能的具体实现方式以及带来的有益效果,均可以参考图12至图14对应的各个方法实施例中的叙述,此处不再一一赘述。

本申请实施例中,在另一种情况下,中央处理器2022,用于实现图16对应实施例中的训练设备的功能。需要说明的是,对于中央处理器2022执行图16对应实施例中训练设备的功能的具体实现方式以及带来的有益效果,均可以参考图16对应的各个方法实施例中的叙述,此处不再一一赘述。

本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有程序,当其在计算机上运行时,使得计算机执行如上述图3至图11对应实施例中执行设备所执行的步骤,或者,执行如上述图12至图14对应实施例中训练设备所执行的步骤,或者,执行如上述图15对应实施例中执行设备所执行的步骤,或者,执行如上述图16对应实施例中训练设备所执行的步骤。

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

本申请实施例中还提供一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行如上述图3至图11对应实施例中执行设备所执行的步骤,或者,执行如上述图12至图14对应实施例中训练设备所执行的步骤,或者,执行如上述图15对应实施例中执行设备所执行的步骤,或者,执行如上述图16对应实施例中训练设备所执行的步骤。

本申请实施例提供的执行设备或训练设备具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使芯片执行上述图3至图11对应实施例中执行设备所执行的步骤,或者,执行如上述图12至图14对应实施例中训练设备所执行的步骤,或者,执行如上述图15对应实施例中执行设备所执行的步骤,或者,执行如上述图16对应实施例中训练设备所执行的步骤。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)等。

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

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

举例来说,假设有输入矩阵a,权重矩阵b,输出矩阵c。运算电路2103从权重存储器2102中取矩阵b相应的数据,并缓存在运算电路中每一个pe上。运算电路2103从输入存储器2101中取矩阵a数据与矩阵b进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)2108中。

统一存储器2106用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(directmemoryaccesscontroller,dmac)2105,dmac被搬运到权重存储器2102中。输入数据也通过dmac被搬运到统一存储器2106中。

biu为businterfaceunit即,总线接口单元2110,用于axi总线与dmac和取指存储器(instructionfetchbuffer,ifb)2109的交互。

总线接口单元2110(businterfaceunit,简称biu),用于取指存储器2109从外部存储器获取指令,还用于存储单元访问控制器2105从外部存储器获取输入矩阵a或者权重矩阵b的原数据。

dmac主要用于将外部存储器ddr中的输入数据搬运到统一存储器2106或将权重数据搬运到权重存储器2102中或将输入数据数据搬运到输入存储器2101中。

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

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

控制器2104连接的取指存储器(instructionfetchbuffer)2109,用于存储控制器2104使用的指令;

统一存储器2106,输入存储器2101,权重存储器2102以及取指存储器2109均为on-chip存储器。外部存储器私有于该npu硬件架构。

其中,循环神经网络中各层的运算可以由运算电路2103或向量计算单元2107执行。

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

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

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

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

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1