CN108776832B - 信息处理方法、装置、计算机设备和存储介质 - Google Patents
信息处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN108776832B CN108776832B CN201810566917.6A CN201810566917A CN108776832B CN 108776832 B CN108776832 B CN 108776832B CN 201810566917 A CN201810566917 A CN 201810566917A CN 108776832 B CN108776832 B CN 108776832B
- Authority
- CN
- China
- Prior art keywords
- vector
- output
- model
- neural network
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种信息处理方法、装置、计算机设备和存储介质,方法包括:获取待处理原始数据;将待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量;将编码向量输入到机器学习模型的中间处理模型中,得到中间向量序列,其中,中间处理模型包括多个子学习模型,各个子学习模型包括多个循环神经网络单元,当前循环神经网络单元的输出是根据前向循环神经网络单元对应的第一输出向量以及当前循环神经网络单元对应的前向子学习模型输出的前向向量序列得到的;将中间向量序列输入到机器学习模型的解码模型中,得到待处理原始数据对应的目标输出数据。上述方法可以提高输出数据的准确度。
Description
技术领域
本发明涉及信息处理领域,特别是涉及信息处理方法、装置、计算机设备和存储介质。
背景技术
随着信息技术的发展,将输入的数据转换为另外一种数据输出的需求越来越多。例如,需要将一种语言文字表示的句子翻译成另一种语言文字输出以及将不完整的句子进行补全等。
目前,可以基于Encoder-Decoder(编码模型-解码模型)的框架将输入数据序列转换为另一个序列输出,在该框架中,编码模型对输入数据进行编码,得到编码向量,解码模型对编码向量进行解码,得到输出数据。然而,上述框架中,编码向量得到的编码向量不能完全反映输入数据中各个数据间的关系,导致输出数据的准确度高。
发明内容
基于此,有必要针对上述的问题,提供一种信息处理方法、装置、计算机设备和存储介质,在编码模型以及解码模型中增加中间处理模型,中间处理模型包括多个子学习模型,各个子学习模型包括多个循环神经网络单元,当前循环神经网络单元的输出是根据前向循环神经网络单元对应的第一输出向量以及当前循环神经网络单元对应的前向子学习模型输出的前向向量序列得到的,各个循环神经网络单元得到的向量与前向得到的向量联系紧密,因此得到的中间向量序列能够进一步反映输入数据间的联系,得到的输出数据的准确度高。
一种信息处理方法,所述方法包括:获取待处理原始数据;将所述待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量;将所述编码向量输入到所述机器学习模型的中间处理模型中,得到中间向量序列,其中,所述中间处理模型包括多个子学习模型,各个子学习模型包括多个循环神经网络单元,当前循环神经网络单元的输出是根据前向循环神经网络单元对应的第一输出向量以及所述当前循环神经网络单元对应的前向子学习模型输出的前向向量序列得到的;将所述中间向量序列输入到所述机器学习模型的解码模型中,得到所述待处理原始数据对应的目标输出数据。
一种信息处理装置,所述装置包括:原始数据获取模块,用于获取待处理原始数据;编码模块,用于将所述待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量;中间处理模块,用于将所述编码向量输入到所述机器学习模型的中间处理模型中,得到中间向量序列,其中,所述中间处理模型包括多个子学习模型,各个子学习模型包括多个循环神经网络单元,当前循环神经网络单元的输出是根据前向循环神经网络单元对应的第一输出向量以及所述当前循环神经网络单元对应的前向子学习模型输出的前向向量序列得到的;解码模块,用于将所述中间向量序列输入到所述机器学习模型的解码模型中,得到所述待处理原始数据对应的目标输出数据。
在其中一个实施例中,所述第一系数确定模块用于:分别计算所述各个前向向量与所述第一输出向量对应的相关度;根据所述各个前向向量与所述第一输出向量对应的相关度计算得到所述各个前向向量对应的第一注意力分配权重系数。
在其中一个实施例中,所述编码模块包括:分割单元,用于对所述待处理原始数据进行分割,得到所述待处理原始数据对应的分割数据序列;编码单元,用于将所述分割数据序列输入到所述编码模型中,得到所述各个分割数据对应的编码向量;所述装置还包括:第二系数确定模块,用于确定所述各个分割数据对应的编码向量对应的第二注意力分配权重系数;第二注意力向量确定模块,用于根据所述各个编码向量以及对应的第二注意力分配权重系数确定第二注意力向量;所述当前输出向量得到模块用于:将所述第一输出向量、所述第一注意力向量以及所述第二注意力向量输入到当前神经网络单元中,得到当前输出向量。
在其中一个实施例中,所述中间处理模块还用于:获取所述中间处理模型最后一个子学习模型中各个循环神经网络单元对应的输出向量,将所述最后一个子学习模型中各个循环神经网络单元的输出向量组成所述中间向量序列。
在其中一个实施例中,所述装置还包括:第一单元输出向量获取模块,用于获取与当前子学习模型连接的上一个子学习模型中尾部神经网络单元对应的第一单元输出向量,所述当前子学习模型为所述当前循环神经网络单元所在的子学习模型;第二单元输出向量获取模块,用于在当前子学习模型中获取当前循环神经网络单元对应的前向神经网络单元对应的第二单元输出向量;第一输出向量获取模块,用于根据所述第一单元输出向量和所述第二单元输出向量得到所述第一输出向量。
在其中一个实施例中,所述目标输出数据为目标词序列,所述解码模块包括:第三系数确定单元,用于确定所述中间向量序列对应的中间向量对应的第三注意力分配权重系数;第三注意力向量获取单元,用于根据所述各个中间向量以及对应的第三注意力分配权重系数确定第三注意力向量;当前输出词获取单元,用于将所述解码模型上一时刻的输出词对应的词向量以及所述第三注意力向量输入到所述解码模型中,得到所述解码模型在当前时刻的当前输出词;目标数据获取单元,用于根据所述解码模型在各个时刻的输出词以及输出顺序得到目标词序列,作为所述待处理原始数据对应的目标输出数据。
在其中一个实施例中,所述目标输出数据为目标词序列,所述装置还包括:样本获取模块,用于获取样本集中的训练样本数据,所述训练样本数据包括样本输入数据以及对应的参考输出词序列;训练模块,用于根据所述训练样本数据进行模型训练,得到所述中间处理模型中各个子学习模型对应的训练输出向量序列,以及,所述各个训练输出向量序列分别作为词打分模型的输入得到的各个候选词分数集合;损失值获取模块,用于根据所述各个候选词分数集合中目标参考输出词的分数以及非目标参考输出词的分数得到所述机器学习模型的损失值;调整模块,用于根据所述损失值对所述机器学习模型中的参数进行调整,返回所述获取样本集中的训练样本数据的步骤继续进行模型训练,直至满足训练收敛条件,得到所述已训练的机器学习模型。
在其中一个实施例中,所述装置还包括:变换模块,用于根据所述词打分模型中的线性变换矩阵分别对各个训练输出向量序列对应的矩阵进行线性变换,得到变换向量矩阵,其中,所述线性变换矩阵行数量或者列数量与候选词的数量一致;统计模块,用于获取所述变换向量矩阵中各个候选词对应的矩阵对象,对所述各个候选词对应的矩阵对象中的矩阵值分别进行统计,得到所述各个候选词对应的统计结果;分数集合获取模块,用于将所述各个候选词的统计结果作为对应的候选词的分数,得到候选词分数集合。
在其中一个实施例中,所述待处理原始数据为图像,所述编码模型为卷积神经网络模型,所述编码模块用于:对所述图像进行分割,得到所述图像的图像子区域组成的图像区域序列;将所述图像区域序列输入到所述编码模型中,得到所述编码模型的卷积层输出的各个图像子区域对应的卷积结果,将所述卷积结果作为编码向量;所述解码模块用于:将所述中间向量序列输入到所述机器学习模型的解码模型中,得到所述图像对应的目标词序列,所述目标词序列用于描述所述图像的内容。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述信息处理方法的步骤。
一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述信息处理方法的步骤。
上述信息处理方法、装置、计算机设备和存储介质通过获取待处理原始数据。将所述待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量。将所述编码向量输入到所述机器学习模型的中间处理模型中,得到中间向量序列,其中,所述中间处理模型包括多个子学习模型,各个子学习模型包括多个循环神经网络单元,当前循环神经网络单元的输出是根据前向循环神经网络单元对应的第一输出向量以及所述当前循环神经网络单元对应的前向子学习模型输出的前向向量序列得到的。将所述中间向量序列输入到所述机器学习模型的解码模型中,得到所述待处理原始数据对应的目标输出数据。由于在编码模型以及解码模型中增加中间处理模型,中间处理模型包括多个子学习模型,各个子学习模型包括多个循环神经网络单元,当前循环神经网络单元的输出是根据前向循环神经网络单元对应的第一输出向量以及当前循环神经网络单元对应的前向子学习模型输出的前向向量序列得到的,各个循环神经网络单元得到的向量与前向得到的向量联系紧密,因此得到的中间向量序列能够进一步反映输入数据间的联系,得到的输出数据的准确度高。
附图说明
图1为一个实施例中提供的信息处理方法的应用环境图;
图2为一个实施例中信息处理方法的流程图;
图3为一个实施例中获取当前循环神经网络单元的输出的流程图;
图4为一个实施例中确定前向向量序列中的各个前向向量对应的第一注意力分配权重系数的步骤的流程图;
图5为一个实施例中将待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量的流程图;
图6为一个实施例中将中间向量序列输入到机器学习模型的解码模型中,得到待处理原始数据对应的目标输出数据的流程图;
图7A为一个实施例中机器学习模型的数据流向的示意图;
图7B为一个实施例中机器学习模型当前循环神经网络单元的数据流向的示意图;
图8A为一个实施例中机器学习模型的训练步骤的流程图;
图8B为一个实施例中将待处理原始数据输入到机器学习模型,得到目标输出数据的示意图;
图9为一个实施例中信息处理装置的结构框图;
图10为一个实施例中获取当前循环神经网络单元的输出的模块的结构框图;
图11为一个实施例中获取第一输出向量的模块的结构框图;
图12为一个实施例中计算机设备的内部结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中提供的信息处理方法的应用环境图,如图1所示,在该应用环境中,包括终端110以及计算机设备120。当用户需要将待处理原始数据转换为另一种数据时,例如需要将中文句子翻译成英文,将不完整的句子补充为完整的句子或者获取句子的答案时,可以通过终端110发送信息处理请求,信息处理请求中携带待处理原始数据或者待处理原始数据的标识,计算机设备120获取待处理原始数据,执行本发明实施例提供的信息处理方法,得到待处理原始数据对应的目标输出数据,然后将目标输出数据发送到终端110中。
计算机设备120可以是独立的物理服务器或终端,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器。终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端110以及计算机设备120可以通过网络等通讯连接方式进行连接,本发明在此不做限制。
如图2所示,在一个实施例中,提出了一种信息处理方法,本实施例主要以该方法应用于上述图1中的计算机设备120来举例说明。具体可以包括以下步骤:
步骤S202,获取待处理原始数据。
具体地,待处理原始数据可以是图像、音频或者文字等格式的数据。待处理原始数据可以是计算机设备本地存储的,也可以是终端发送给计算机设备的或者是计算机设备从其他设备中获取的。例如,终端可以向计算机设备发送数据处理请求,数据处理请求中携带有待处理原始数据,计算机设备获取待处理原始数据。
步骤S204,将待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量。
具体地,编码模型用于对待处理原始数据进行编码,编码可以将输入的数据转化为向量。已训练的机器学习模型采用基于Encoder-Decoder(编码模型-解码模型)结构的框架。Encoder-Decoder结构的机器学习模型可以将输入数据转换为另一个数据输出。在该框架中,编码器将输入转化成向量,解码器对向量进行解码,生成输出的数据。编码模型以及解码模型可以采用相同类型的神经网络模型,也可以是不同类型的神经网络模型。比如,编码模型可以为CNN(Convolutional Neural Networks,卷积神经网络)模型,或者编码器采用RNN(Recurrent Neural Networks)模型,解码器采用RNN模型。机器学习模型是预先训练得到的,根据已训练的机器学习模型进行信息处理之前,需要通过训练数据对机器学习模型进行模型训练确定模型的参数,使其能够建立起从输入数据到输出数据的映射。在进行模型训练时,可以采用有监督的学习方式,对于任意训练数据,其输出数据都是己知的,因此可以根据训练数据对应的预测输出数据与实际的输出数据调整模型参数,得到满足模型收敛条件的机器学习模型。
在一个实施例中,待处理原始数据是由多个数据组成的数据序列,例如,待处理原始数据可以是词序列,即由多个词组成的句子。计算机设备获取到待处理原始数据时,可以对待处理原始数据进行分词,得到待处理词序列,并获取待处理词序列中各个词语对应的词向量,对词向量进行编码,得到各个词语对应的编码向量。词向量可以是预先训练得到的,例如,可以采用word2vector模型训练得到各个词语对应的词向量。
在一个实施例中,编码模型可以是循环神经网络模型,当待处理原始数据为待处理词序列时,当前时刻生成的编码向量是根据当前词向量以及上一时刻生成的的编码向量决定的。用公式表示如下:bj=E(bj-1,xj),其中,bj表示待处理原始数据中第j个词对应的编码向量,bj-1表示输入数据中第j-1个词对应的编码向量,xj表示待处理原始数据中的第j个词的词向量,E表示编码模型对应的映射函数。其中,对于循环神经网络模型,初始时刻对应的输出向量可以为是预先设置的,例如初始的编码向量b0可以是预先设置的,例如可以是全为0的向量。
在一个实施例中,循环神经网络模型的神经网络单元可以是LSTM(long short-term memory,长短时记忆)单元,LSTM本质上是一个带状态的函数,可以抽象表示为mt=LSTM(Mt),其中,mt是t时刻对应的隐含状态,Mt为t时刻LSTM单元对应的输入数据。LSTM单元可以包括输入门、遗忘门、记忆门和输出门,当前时刻对应的隐含状态是根据输入门限、遗忘门限、记忆门限和输出门限得到的。LSTM单元的计算过程可以用公式(1)、(2)以及(3)表示,其中it、ft、0t和gt分别为t时刻对应的输入门限、遗忘门限、记忆门限和输出门限,gt为t时刻对应的神经元细胞的状态,T表示线性变换,σ是神经网络常见的激活函数sigmoid函数,tanh表示为tanh激活函数,即it、ft、0t和gt为利用输入数据Mt进行线性变换得到,“·”为点乘符号。
ct=ft·ct-1+it·gt (2)
ht=0t·tanh(ct) (3)
在一个实施例中,待处理原始数据可以是图像,编码模型可以是卷积神经网络模型,可以对图像进行分割,得到图像对应的多个子区域,并对多个子区域进行卷积,得到各个图像子区域对应的卷积结果,作为待处理原始数据对应的编码向量。
步骤S206,将编码向量输入到机器学习模型的中间处理模型中,得到中间向量序列,其中,中间处理模型包括多个子学习模型,各个子学习模型包括多个循环神经网络单元,当前循环神经网络单元的输出是根据前向循环神经网络单元对应的第一输出向量以及当前循环神经网络单元对应的前向子学习模型输出的前向向量序列得到的。
具体地,中间处理模型是位于编码模型以及解码模型之间的模型,循环神经网络例如为时间递归神经网络模型,循环神经网络单元可以是LSTM(Long Short-Term Memory,长短期记忆网络)单元。各个子学习模型可以是依次连接的,各个循环神经网络单元也可以是依次连接的。在循环神经网络模型中,当前时刻的输出与上一时刻的输出相关。各个子学习模型中的模型参数可以相同也可以不同的。子学习模型中的个数以及其中的循环神经网络单元的个数可以根据需要进行设置,例如子学习模型的个数可以是6,子学习模型中的循环神经网络单元的个数可以是4个。当前循环神经网络单元是当前得到的输出对应的循环神经网络单元。例如,当要得到第二个循环神经网络单元的输出时,第二个循环神经网络单元为当前循环神经网络单元,当要得到第四个循环神经网络单元的输出时,第四个循环神经网络单元为当前循环神经网络单元。
前向循环神经网络单元是指位于当前循环神经网络单元之前的循环神经网络单元,前向循环神经网络单元对应的第一输出向量是指前向循环神经网络单元输出的向量,可以获取全部前向循环神经网络单元的输出向量输入到当前循环神经网络单元中,也可以获取部分前向循环神经网络单元的输出向量输入到当前循环神经网络单元中。例如,可以获取上一个循环神经网络单元的输出向量输入到当前循环神经网络单元中,也可以获取当前子学习模型中的各个前向循环神经网络单元的输出向量并输入到当前循环神经网络单元中。
前向子学习模型是指当前循环神经网络单元所在的当前子学习模型之前的子学习模型。各个子学习模型可以是依次连接的。前向子学习模型输出的前向向量序列是由前向子学习模型的各个循环神经网络单元的输出向量组成的,一个前向子学习模型对应一个前向向量序列。可以获取全部前向学习子模型的前向向量序列输入到当前循环神经网络单元中,也可以获取部分学习子模型的前向向量序列输入到当前循环神经网络单元中。例如,可以获取上一个学习子模型的前向向量序列输入到当前循环神经网络单元中,也可以获取全部学习子模型的前向向量序列,输入到当前循环神经网络单元中。
在一个实施例中,各个当前神经网络单元的输入还可以包括编码模型输出的各个编码向量,即当前神经网络单元的输入数据还可以包括各个编码向量组成的编码向量序列。
在一个实施例中,子学习模型的循环神经网络单元是基于注意力模型的循环神经网络单元。对于输入的向量序列,例如编码向量序列以及前向向量输入序列,可以将各个向量序列分别输入到注意力模型中,得到各个向量序列对应的注意力向量,再将注意力向量以及第一输出向量输入到循环神经网络单元。
在一个实施例中,各个向量序列对应的注意力模型的模型参数可以是相同的也可以是不同的。例如,编码向量序列可以对应当前循环神经网络单元的第一个注意力模型,第一个前向向量序列可以对应当前循环神经网络单元的第二个注意力模型,第二个前向向量序列可以对应当前循环神经网络单元的第三个注意力模型等等。因此,各个当前循环神经网络单元的注意力模型个数可以根据输入的向量序列确定,如当前循环神经网络单元的注意力模型个数可以与输入的向量序列的个数相同。例如,对于第一个子学习模型中的循环神经网络单元,输入的向量序列为编码向量序列,则注意力模型为1个。对于第二个子学习模型中的循环神经网络单元,输入的向量序列为编码向量序列以及第一个子学习模型对应的向量序列,则注意力模型为2个。
在一个实施例中,中间向量序列中的中间向量可以为一个或多个,例如得到的中间向量可以是最后一个子学习模型中最后一个循环神经网络单元的输出向量。或者中间向量可以是最后一个子学习模型中各个循环神经网络单元对应的输出向量,因此,可以获取中间处理模型最后一个子学习模型中各个循环神经网络单元对应的输出向量,将最后一个子学习模型中各个循环神经网络单元的输出向量组成中间向量序列。例如,假设最后一个子学习模型包括4个循环神经网络单元,对应的输出分别为a1、a2、a3以及a4,则a1、a2、a3以及a4组成中间向量序列。
在一个实施例中,前向循环神经网络单元对应的第一输出向量的获取步骤包括:获取与当前子学习模型连接的上一个子学习模型中尾部神经网络单元对应的第一单元输出向量,当前子学习模型为当前循环神经网络单元所在的子学习模型;在当前子学习模型中获取当前循环神经网络单元对应的前向神经网络单元对应的第二单元输出向量;根据第一单元输出向量和第二单元输出向量得到第一输出向量。
具体地,子学习模型的尾部神经网络单元是处于子学习模型的末端的循环神经网络单元,上一个子学习模型中尾部神经网络单元可以是上一个子学习模型中最后一个循环神经网络单元。当前子学习模型是当前循环神经网络单元所在的子模型,因此第二单元输出向量是指当前子学习模型中的在当前循环神经网络之前的循环神经网络单元输出的向量。第一输出向量包括第一单元输出向量以及第二单元输出向量,第一输出向量可以是第一单元输出向量以及第二单元输出向量的集合。
对于中间处理模型中的第一个子学习模型,不存在前向子学习模型,因此第一个子学习模型中输入的向量序列是编码模型中的各个编码向量组成的编码向量序列。第一个子学习模型中各个循环神经网络单元的输入还可以包括编码模型最后时刻输出的编码向量。
步骤S208,将中间向量序列输入到机器学习模型的解码模型中,得到待处理原始数据对应的目标输出数据。
具体地,解码是将向量转换为期望转换得到的数据输出的过程。例如,当要将日语的句子翻译成中文时,则解码得到的为中文语句。当要对图片的内容进行描述时,则输出的数据为对图片进行描述的句子。解码模型输出的数据可以是词序列,词序列是依次输出的,当解码模型要生成当前时刻输出的词时,可以将上一时刻输出的词对应的词向量、上一时刻对应的解码隐层状态向量以及中间向量序列作为当前时刻解码模型的输入,并输入到解码模型的隐层中,得到对应的当前时刻的解码隐层状态向量,对当前时刻的解码隐层状态向量进行线性变换,得到当前时刻中各个候选词的概率,并可以将概率最大的候选词作为当前时刻输出的词。当然,也可以结合其他因素以及候选词的概率确定要输出的词,如可以判断当前时刻要输出的词的词性,根据词性以及候选词的概率确定要输出的词。举个实际的例子,假设判断当前时刻要输出的词的词性为代词,则可以获取候选词的代词中,概率最大的词语作为当前时刻解码模型输出的词。在解码神经网络模型中,获取概率的函数可以采用softmax函数。解码隐层状态是指输入到解码模型的隐层中得到的状态,这里解码器的解码隐层状态向量是解码器的隐层输出的向量,隐层是相对于输入层和输出层的中间层,包括了模型的参数。例如,解码模型生成第二个词时,将第一个生成的词对应的词向量、上一个词对应的隐层状态向量以及中间向量序列输入到解码神经网络模型中进行解码,得到第二个词。
在一个实施例中,解码模型可以是基于注意力模型的解码模型,注意力模型(Attention Model),用于从输入的中间向量序列中提取出对解码模型当前时刻输出的词更具有影响的中间向量。注意力分配权重系数表示中间向量序列中的中间向量对当前时刻待输出的词的影响力。中间向量对应的注意力分配权重系数越大,则其对当前时刻待输出的数据的影响就越大,则中间向量对当前时刻待输出的数据而言更为关键。相反地,中间向量对应的注意力分配权重系数越小,则会减弱中间向量对当前时刻待输出的输出数据的影响,说明该中间向量不那么关键。因此,在得到当前时刻的输出前,可以将中间向量序列输入到解码模型对应的注意力模型中,得到中间向量序列中各个中间向量对应的注意力分配权重系数,根据注意力分配权重系数以及对应的中间向量进行加权求和,得到第三注意力向量,将第三注意力向量以及上一时刻的输出词对应的词向量输入到解码模型中,得到解码模型在当前时刻对应的输出词。
可以理解,上述的“当前时刻”,对于编码模型而言,是指生成当前的编码向量所对应的时刻,对于解码模型而言,是指解码得到当前的输出数据的时刻,而上一时刻是相对于当前时刻而言的,例如,当解码模型需要生成第i个词时,生成第i个词对应的时刻为当前时刻,此时生成第i-1个词对应的时刻为上一时刻。当解码模型要生成第i+1个词时,生成第i+1词对应的时刻为当前时刻,此时生成第i个词对应的时刻为上一时刻。当编码模型要生成第c个编码向量时,生成第c个编码向量对应的时刻为当前时刻,此时生成第c-1个编码向量对应的时刻为上一时刻。当编码模型生成第c+1个编码向量时,生成第c+1编码向量对应的时刻为当前时刻,此时生成第c个编码向量对应的时刻为上一时刻。
如果基于编码模型以及解码模型将输入数据转换为输出数据,编码向量的各个编码向量的联系比较弱,而本发明实施例中,由于在编码模型以及解码模型中增加中间处理模型,中间处理模型包括多个子学习模型,各个子学习模型包括多个循环神经网络单元,当前循环神经网络单元的输出是根据前向循环神经网络单元对应的第一输出向量以及当前循环神经网络单元对应的前向子学习模型输出的前向向量序列得到的,各个循环神经网络单元得到的向量与前向得到的向量联系紧密,因此得到的中间向量序列能够进一步反映输入数据间的联系,得到的输出数据的准确度高。
在一个实施例中,如图3所示,当前循环神经网络单元的输出通过以下步骤得到:
步骤S302,获取前向循环神经网络单元对应的第一输出向量,获取当前循环神经网络单元对应的前向子学习模型输出的前向向量序列。
具体地,前向循环神经网络单元是指在当前循环神经网络单元之前的循环神经网络单元,第一输出向量是指前向循环神经网络单元输出的向量。前向子学习模型是指当前循环神经网络单元所在的当前子学习模型之前的子学习模型。前向子学习模型输出的前向向量序列是由前向子学习模型的各个循环神经网络模型的输出向量组成的。对于各个前向子学习模型,将其循环神经网络单元的输出向量组成对应的前向向量序列。例如,假设当前子学习模型为第三个子学习模型,则前向向量序列可以包括第一个子学习模型对应的前向向量序列以及第二个子学习模型对应的前向向量序列。
步骤S304,确定前向向量序列中的各个前向向量对应的第一注意力分配权重系数。
具体地,注意力分配权重系数用于表示输入的向量对于待输出的向量的影响力,注意力分配权重系数与影响力成正相关关系,注意力分配权重系数越大,则对待输出的向量的影响力越大。注意力分配权重系数越小,则对待输出的向量的影响力越小。第一注意力分配权重系数用于表示前向向量对于当前神经网络单元待输出的向量的影响力。在一个实施例中,第一注意力分配权重系数可以根据前向向量与第一输出向量的相关度得到的,相关度表示向量之间的相关程度,相关度越大,则表示向量越相关。
在一个实施例中,如图4所示,确定前向向量序列中的各个前向向量对应的第一注意力分配权重系数包括:
步骤S402,分别计算各个前向向量与第一输出向量对应的相关度。
具体地,相关度用于表示向量间的相关程度,相关度越大,则表示这两个向量越相关。相关度的计算方法可以采用欧式距离或者余弦相似度计算方法得到,当然也可以进行模型训练得到。其中,由于第一输出向量可能有多个,因此可以计算前向向量与各个第一输出向量的相关度,也可以计算前向向量与其中的一个或多个第一输出向量的相关度,例如,可以计算前向向量与当前循环神经网络单元的上一个循环神经网络单元输出的第一输出向量的相关度。
步骤S404,根据各个前向向量与第一输出向量对应的相关度计算得到各个前向向量对应的第一注意力分配权重系数。
具体地,得到前向向量序列中各个前向向量对应的相关度后,可以对各个相关度进行求和,得到相关度的和,然后根据各个前向向量的相关度与相关度的和的比例得到第一注意力分配权重系数。例如,假设前向向量序列包括3个向量,各个前向向量与第一输出向量的相关度分别为0.8、0.7、0.5,则相关度的和为0.8+0.7+0.5=2,各个前向向量对应的第一注意力分配权重系数分别为0.8/2=0.4、0.7/2=0.35、0.5/2=0.25。
步骤S306,根据前向向量以及对应的第一注意力分配权重系数确定前向向量序列对应的第一注意力向量;
具体地,得到各个前向向量对应的第一注意力分配权重系数后,可以根据前向向量以及对应的第一注意力分配权重系数进行加权求和,得到第一注意力向量。
步骤S308,将第一输出向量以及第一注意力向量输入到当前循环神经网络单元中,得到对应的当前输出向量。
具体地,当前循环神经网络单元中的模型参数是已训练得到的,当前循环神经网络单元中的模型参数与各个子学习模型中的循环神经网络单元的模型参数可以相同也不同。例如,可以是相同子学习模型中的模型参数相同,不同的子学习模型中的模型参数相同。在循环神经网络模型中,参数共享可以降低模型训练的难度。得到第一注意力向量后,将第一输出向量以及第一注意力向量输入到当前循环神经网络单元中,以使得当前循环神经网络单元根据输入进行处理,得到对应的当前输出向量。可以理解的是,当前向向量序列为多个时,即前向子学习模型为多个时,可以对各个前向向量序列执行上述步骤S302~S308,得到各个前向向量序列对应的第一注意力向量。然后将第一输出向量以及各个第一注意力向量输入到当前神经网络单元中,得到对应的当前输出向量。
在一个实施例中,如图5所示,步骤S204即将待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量的步骤具体可以包括以下步骤:
步骤S502,对待处理原始数据进行分割,得到待处理原始数据对应的分割数据序列。
具体地,分割是将数据分成多个部分,例如当待处理原始数据为图像时,可以将图像分成多个图像子区域,得到由多个图像子区域组成的图像区域序列。当待处理原始数据为文本时,可以对文本进行分词,得到分词后的词序列。
步骤S504,将分割数据序列输入到编码模型中,得到各个分割数据对应的编码向量。
具体地,编码模型可以为循环神经网络模型或者卷积神经网络模型。得到分割数据序列后,输入到编码模型的隐层中,得到各个分割数据对应的编码向向量。隐层是神经网络模型中的一种术语,是相对于输入层和输出层的中间层,隐层中包括对神经网络模型训练得到的模型参数。当输入到编码模型中的数据是分词后的词序列时,可以获取各个词的词向量,然后根据各个词的词向量进行编码,得到各个词对应的编码向量。当输入到编码模型中的数据是分割后的图像区域时,得到的编码向量可以为卷积神经网络模型的卷积层输出的各个图像子区域的卷积结果。
在一个实施例中,当得到各个分割数据对应的编码向量后,信息处理方法还可以包括以下步骤:确定各个分割数据对应的编码向量对应的第二注意力分配权重系数;根据各个编码向量以及对应的第二注意力分配权重系数确定第二注意力向量;
具体地,第二注意力分配权重系数用于表示编码向量对于当前循环神经网络单元待输出的向量的影响力。在一个实施例中,第二注意力分配权重系数可以是根据编码向量与第一输出向量的相关度得到的,根据相关度得到第二注意力分配权重系数的方法可以参照得到第一注意力分配权重系数的方法,在此不再赘述。例如确定各个编码向量对应的第二注意力分配权重系数包括:分别计算各个编码向量与第一输出向量对应的相关度;根据各个编码向量与第一输出向量对应的相关度计算得到各个编码向量对应的第二注意力分配权重系数。
在一个实施例中,得到第二注意力向量后,可以将第二注意力向量输入到当前神经网络单元中,因此将第一输出向量以及第一注意力向量输入到当前神经网络单元中,得到对应的当前输出向量包括:将第一输出向量、第一注意力向量以及第二注意力向量输入到当前神经网络单元中,得到当前输出向量。
在一个实施例中,如图6所示,步骤S208即将中间向量序列输入到机器学习模型的解码模型中,得到待处理原始数据对应的目标输出数据包括:
步骤S602,确定中间向量序列对应的中间向量对应的第三注意力分配权重系数。
具体地,第三注意力分配权重系数用于表示中间向量对于解码模型当前时刻的输出的影响力。在一个实施例中,第三注意力分配权重系数可以根据中间向量与解码模型上一时刻输出的隐层状态向量的相关度得到的。解码模型上一时刻输出的隐层状态向量是解码模型的隐层在上一时刻输出的隐层状态向量。
在一个实施例中,根据中间向量与解码模型上一时刻输出的隐层状态向量的相关度得到第三注意力分配权重系数步骤包括:分别计算各个中间向量与解码模型上一时刻输出的隐层状态向量的相关度,根据各个中间向量与解码模型上一时刻输出的隐层状态向量的相关度计算得到各个中间向量对应的第三注意力分配权重系数。其中,计算第三注意力分配权重系数的方法可以参照第一注意力分配权重系数的方法,具体不再赘述。
步骤S604,根据各个中间向量以及对应的第三注意力分配权重系数确定第三注意力向量;
具体地,得到各个中间向量对应的第三注意力分配权重系数后,可以根据中间向量以及对应的第三注意力分配权重系数进行加权求和,得到第三注意力向量。
步骤S606,将解码模型上一时刻的输出词对应的词向量以及第三注意力向量输入到解码模型中,得到解码模型在当前时刻的当前输出词;
具体地,得到第三注意力向量后,将解码模型上一时刻的输出词对应的词向量以及第三注意力向量输入到解码模型中,以使得解码模型根据输入进行处理,得到在当前时刻的当前输出词。
步骤S608,根据解码模型在各个时刻的输出词以及输出顺序得到目标词序列,作为待处理原始数据对应的目标输出数据。
具体地,得到各个时刻的输出词后,按照输出顺序进行组合,得到待处理原始数据对应的目标词序列,作为待处理原始数据对应的目标输出数据。例如,当解码模型输出的词依次为“我”、“在”、“办”、“公”、“室”时,则目标输出数据可以为“我在办公室”。
在一个实施例中,以中间处理模型包括3个子学习模型为例,对本发明实施例提供的中间处理模型的数据流向进行说明。如图7A所示,其中,第一个方框内的模型为编码模型,中间的三个方框内的模型为中间处理模型对应的子学习型模型,最后一个方框内的模型为解码模型。模型中的圆圈表示循环神经网络单元的个数,可以理解,各个模型中循环神经网络单元的个数可以根据需要进行设置。图7A中,箭头表示数据输入,其中在模型对应的方框的上方开始的箭头表示输入的数据是模型的各个神经网络单元的输出向量组成的向量序列,以神经网络单元为起点的箭头表示输入的数据是该箭头起点对应的神经网络单元的输出向量。从图7A中可以看出,对于中间处理模型中的各个循环神经网络单元,其输入包括两个部分,第一部分为前向的循环神经网络单元输出的向量,第二部分为前向子模型的循环神经网络单元的输出向量组成的向量序列以及编码模型输出的各个编码向量组成的向量序列,各个向量序列对应有注意力模型,各个向量序列输入到注意力模型中得到的向量作为循环神经网络单元的输入。其中第一部分的输入即第一输出向量包括:上一个子学习模型的最后一个循环神经网络单元输出的向量以及当前子学习模型中的前向循环神经网络单元输出的向量。其中可以将第一部分的输入以及第二部分的输入分别用公式(4)以及公式(5)表示。公式中,t表示中间处理模型的第t个循环神经网络单元,ht表示中间处理模型的第t个循环神经网络单元的输出向量,ht-1表示中间处理模型的第t-1个循环神经网络单元的输出向量,解码模型在初始时刻的输出向量h0可以根据需要进行设置,例如为全为0的向量。i表示第t个循环神经网络单元在当前子学习模型的排序,b表示当前子学习模型在中间处理模型中的模型排序,A表示向量序列,其中A0表示编码模型输出的编码向量组成的序列,A1表示中间处理模型的第一个学习子模型输出的向量组成的序列,Ab-1表示中间处理模型的第b-1个学习子模型输出的向量组成的序列。以及分别表示第t个循环神经网络单元的第一部分输入以及第二部分输入。在输入到第t个循环神经网络单元时,可以将第一部分的输入以及第二部分的输入进行拼接,得到总的输入,其中总的输入Ht可以用公式(6)表示,其中f表示注意力模型对应的函数,例如att(b.i,b-1)表示第b个子学习模型中的第i个循环神经单元对应的第b-1个注意力模型。
例如,如7B所示,以中间处理模型的第2个子学习模型中的第3个循环神经网络单元为中间处理模型的第t个循环神经网络单元为例,第2个循环神经网络单元包括2个注意力模型,其中第1个注意力模型将ht-1与A0作为注意力模型的输入得到j0注意力向量、第2个注意力模型将ht-1与A1作为注意力模型的输入得到j1注意力向量。因此第2个子模型中的第3个循环神经网络单元对应的第二部分的输入包括:j0、j1。第一部分的输入包括:第1个子模型最后一个循环神经网络单元的输出向量ht-3(图中未示出)、第3个子模型第1个循环神经网络单元的输出向量ht-2以及第2个子模型第3个循环神经网络单元的输出向量ht-1。
在一个实施例中,如图8A所示,目标输出数据为目标词序列,机器学习模型的训练步骤包括:
步骤S802,获取样本集中的训练样本数据,训练样本数据包括样本输入数据序列以及对应的参考输出词序列。
具体地,样本集是用于进行模型训练时的训练样本数据的集合。样本集中训练样本数据的个数可以根据需要进行设置,例如可以为10万个。一个训练样本数据包括样本词序列以及对应的参考输出词序列。样本集中的训练样本数据可以是人工收集的。例如,可以收集中文句子以及对应的已翻译的英文句子,将中文句子作为样本输入数据序列,将对应的英文句子作为对应的参考输出词序列。
步骤S804,根据训练样本数据进行模型训练,得到中间处理模型中各个子学习模型对应的训练输出向量序列,以及,各个训练输出向量序列分别作为词打分模型的输入得到的候选词分数集合。
具体地,样本输入数据序列以及对应的参考输出词序列都是已知的,因此可以将样本输入数据序列输入到机器学习模型中进行模型训练,训练得到模型参数。词打分模型也可以是通过模型训练得到的,候选词是预先设置的,具体可以根据输出数据进行设置。例如,对于解码模型的输出数据为中文的机器学习模型,则候选词可以是中文词典中的所有词语。在模型训练的过程中,获取根据子学习模型的模型参数得到的子学习模型中的各个循环神经网络单元输出的向量并进行组合,得到各个子学习模型对应的训练输出向量序列。将各个训练输出向量序列输入到词打分模型中,得到训练输出向量序列对应的候选词的分数,组成候选词分数集合。
在一个实施例中,获取候选词分数集合的步骤包括:根据词打分模型中的线性变换矩阵分别对各个训练输出向量序列组成的矩阵进行线性变换,得到训练输出向量序列对应的各个变换向量矩阵,其中,线性变换矩阵行数量或者列数量与候选词的数量一致;获取变换向量矩阵中各个候选词对应的矩阵对象,对各个候选词对应的矩阵对象中的矩阵值分别进行统计,得到各个候选词对应的统计结果;将各个候选词的统计结果作为对应的候选词的分数,得到候选词分数集合。
具体地,训练输出向量序列组成的矩阵可以是将该训练输出向量序列的每一个向量作为矩阵的一列或者一行,得到该训练输出向量序列对应的矩阵。一个矩阵对象是指矩阵的一行或者一列,变换向量矩阵中各个候选词对应的矩阵对象是预先设置的,例如可以设置变换向量矩阵的第1行对应词典中的第一个候选词。当候选词对应变换向量矩阵中的一行时则线性变换矩阵的行数量与候选词的数量一致,此时线性变换向量矩阵的列数量则与训练输出向量序列组成的矩阵的行数量一致。例如,假设候选词有1000个,训练输出向量序列组成的矩阵的行数量为512,训练输出向量序列组成的矩阵的列数量为L,变换向量矩阵的行矩阵对象与候选词对应,则线性变换向量矩阵有1000行,列数量为512。即线性变换向量矩阵为1000行*512列的矩阵,训练输出向量序列组成的矩阵为512行*L列的矩阵,则变换向量矩阵为1000行*L列的矩阵。得到变化向量矩阵后,对候选词对应的矩阵对象中的矩阵值分别进行统计,得到的统计结果可以是求每个候选词对应的矩阵对象的最大值、平均值、总位数值中的一个。因此,得到各个候选词对应的统计结果后,将该统计结果作为对应的候选词的分数,得到候选词分数集合。
步骤S806,根据各个候选词分数集合中目标参考输出词的分数以及非目标参考输出词的分数得到机器学习模型的损失值。
具体地,目标参考输出词是从样本集中的参考输出词中筛选得到的。目标参考输出词可以是样本集对应的频繁词,频繁词是指样本集对应的参考输出词中,出现次数的排序在预设排序之前或者出现次数高于预设值的词语。例如,可以是样本集对应的参考输出词中出现次数的排序大于等于1000的词语或者出现次数大于100次的词语。在一个实施例中,对于每一个训练样本数据,目标参考输出词还可以是该训练样本数据对应的参考输出词序列中出现的频繁词。例如,假设当前的训练样本数据为对应的参考输出词序列为“我在办公室”,其中“我”为样本集对应的频繁词,则目标参考输出词为“我”。机器学习模型的损失值是根据候选词分数集合中目标参考输出词的分数以及非目标参考输出词的分数得到的。可以根据候选词分数集合中目标参考输出词的分数与各个非目标参考输出词的分数的差值得到机器学习模型的损失值。例如,机器学习模型的损失值可以根据各个候选词分数集合中目标参考输出词的分数与各个非目标参考输出词的分数的差值的和得到。例如,假设a候选词分数集合中候选词分数为4个,目标参考输出词的分数分别为s1、s2,非目标标参考输出词的分数分别为s3、s4,则a候选词分数集合中目标参考输出词的分数与各个非目标参考输出词的分数的差值包括:s1-s3、s1-s4、s2-s4、s2-s4。
本发明实施例中,由于人们日常生活中通常采用某些词语,因此为了使得输出数据满足人们词语使用的规律,可以预先设置目标参考输出词,目标参考输出词根据词语的使用频繁程度得到,因此可以使得训练得到的机器学习模型中,频繁词为目标输出数据的可能性更高,符合人们使用词语的规律,机器学习模型输出的数据也更加准确。
在一个实施例中,还可以结合其他方法得到的损失值得到机器学习模型的损失值,例如,可以获取根据最大似然损失函数计算得到的第一损失值,将第一损失值与根据各个候选词分数集合中目标参考输出词的分数以及非目标参考输出词的分数得到的损失值相加,得到机器学习模型对应的损失值。
在一个实施例中,训练输出向量序列V对应的损失值Ld(V)的计算方法可以用公式(7)进行表示,机器学习模型对应的损失值Lall可以用公式(8)表示,公式中,∑为求和函数,W是频繁词的集合,Sj为训练输出向量序列V对应的候选词分数集合中目标参考输出词对应的分数,Si为训练输出向量序列V对应的候选词分数集合中非目标参考输出词对应的分数,max表示取0以及1-(Sj-Si)中的最大值,公式(8)中加号前的部分表示最大似然损失函数,N表示解码模型输出的词的数量,yt表示解码模型的第t个隐含状态进行线性变换后的概率分布,B表示中间处理模型中子学习模型的数量,A(b)量表示第b个子学习模型对应的训练输出向量序列。
步骤S808,根据损失值对机器学习模型中的参数进行调整,返回获取样本集中的训练样本数据的步骤继续进行模型训练,直至满足训练收敛条件,得到已训练的机器学习模型。
具体地,训练收敛条件可以是训练次数达到预设次数或者损失值小于预设阈值的一个或两个。可以采用随机梯度下降法进行模型训练,将满足训练收敛条件对应的模型参数作为机器学习模型的参数,得到机器学习模型。
在一个实施例中,待处理原始数据为图像,编码模型为卷积神经网络模型,将待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量包括:对图像进行分割,得到图像的图像子区域组成的图像区域序列;将图像区域序列输入到编码模型中,得到编码模型的卷积层输出的各个图像子区域对应的卷积结果,将卷积结果作为编码向量;将中间向量序列输入到机器学习模型的解码模型中,得到原始数据对应的目标输出数据包括:将中间向量序列输入到机器学习模型的解码模型中,得到图像对应的目标词序列,目标词序列用于描述图像的内容。
具体地,卷积神经网络模型中的每一个卷积层的一个或多个卷积神经元可以对应图像的一个区域,卷积神经元对应的图像区域可以根据需要设置。例如,可以是3*3像素为一个图像区域。将各个图像区域序列输入到卷积神经网络模型中,卷积层输出的是各个图像子区域对应的卷积结果,将图像子区域对应的卷积结果作为该图像子区域对应的编码向量。得到编码向量后,输入到中间处理模型中,得到对应的中间向量序列,并将中间向量序列输入到机器学习模型的解码模型中,得到描述图像的内容的目标词序列。本发明实施例中,由于将图像分割后的区域对应的结果作为编码向量,因此可以获取到各个图像子区域对应的有价值的内容信息,并将该内容信息经过中间处理模型以及解码模型进行解码,因此可以利用输出的词序列对图像的内容进行描述。
例如,以图8B的图像为待处理原始数据并输入到机器学习模型中为例,假设将该图像分为10个区域,将待处理图像输入到编码模型中,输出的编码向量为10个,然后将各个编码向量输入到中间处理模型中,假设中间处理模型的各个子学习模型包括7个循环神经网络单元,则中心向量序列包括7个中间向量,将中间向量序列输入到解码模型中,得到的输出数据可以是“客厅有桌子,墙上挂着电视”。
以下以各一个具体的实施例对本发明实施例提供的信息处理方法进行说明。
1、获取待处理原始数据,假设接收到终端发送的将待处理原始数据翻译为英文的翻译请求,翻译请求中携带待处理原始数据,且待处理原始数据为“今天是新的一天”。
2、对“今天是新的一天”进行分词,得到待处理词序列,待处理词序列可以包括“今”“天”“是”、“新”、“的”、“一”以及“天”共7个词。
3、获取待处理词序列中各个词语对应的词向量,依次为x1、x2、x3、x4、x5、x6以及x7,将词向量输入到编码模型的隐层中,编码模型输出各个词向量对应的编码向量,假设依次为b1、b2、b3、b4、b5、b6以及b7。
4、将各个编码向量输入到中间处理模型中,得到中间向量序列。其中,中间处理模型可以包括两个子学习模型,一个子学习模型中包括3个循环神经网络单元,各个循环神经网络单元的输出是根据前向循环神经网络单元对应的第一输出向量以及当前循环神经网络单元对应的前向子学习模型输出的前向向量序列得到的。以第2个子学习模型的第2个循环神经网络单元为当前循环神经网络单元为例,该循环神经网络单元包括两个注意力模型,可以获取编码向量组成的序列,利用第一个注意力模型计算得到各个编码向量对应的注意力向量z1,利用第二个注意力模型计算得到各个第一个子学习模型对应的向量序列对应的注意力向量z2。此外,获取第2个子学习模型的第1个循环神经网络单元的输出向量d1、第1个子学习模型的第3个循环神经网络单元的输出向量e3,将z1、z2、d1、e3输入到第2个子学习模型的第2个循环神经网络单元中,输出向量d2。此外,假设第2个子学习模型的第3个循环神经网络单元的输出向量为d3,则中间向量序列可以为d1、d2以及d3这三个向量组成的序列。
5、将中间向量序列输入到机器学习模型的解码模型中,得到待处理原始数据对应的目标输出数据。例如,将d1、d2以及d3这三个向量组成的序列输入到机器学习模型的解码模型中,目标输出数据可以为“today is a new day”。
如图9所示,在一个实施例中,提供了一种信息处理装置,该信息处理装置可以集成于上述的计算机设备120中,具体可以包括原始数据获取模块902、编码模块904、中间处理模块906以及解码模块908。
原始数据获取模块902,用于获取待处理原始数据。
编码模块904,用于将待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量。
中间处理模块906,用于将编码向量输入到机器学习模型的中间处理模型中,得到中间向量序列,其中,中间处理模型包括多个子学习模型,各个子学习模型包括多个循环神经网络单元,当前循环神经网络单元的输出是根据前向循环神经网络单元对应的第一输出向量以及当前循环神经网络单元对应的前向子学习模型输出的前向向量序列得到的。
解码模块908,用于将中间向量序列输入到机器学习模型的解码模型中,得到待处理原始数据对应的目标输出数据。
在其中一个实施例中,如图10所示,信息处理装置还包括用于获取当前循环神经网络单元的输出的模块,包括:
第一输出向量获取模块1002,用于获取前向循环神经网络单元对应的第一输出向量,获取当前循环神经网络单元对应的前向子学习模型输出的前向向量序列。
第一系数确定模块1004,用于确定前向向量序列中的各个前向向量对应的第一注意力分配权重系数。
第一注意力向量确定模块1006,用于根据前向向量以及对应的第一注意力分配权重系数确定前向向量序列对应的第一注意力向量。
当前输出向量得到模块1008,用于将第一输出向量以及第一注意力向量输入到当前循环神经网络单元中,得到对应的当前输出向量。
在其中一个实施例中,第一系数确定模块1004用于:分别计算各个前向向量与第一输出向量对应的相关度。根据各个前向向量与第一输出向量对应的相关度计算得到各个前向向量对应的第一注意力分配权重系数。
在其中一个实施例中,编码模块904包括:
分割单元,用于对待处理原始数据进行分割,得到待处理原始数据对应的分割数据序列。
编码单元,用于将分割数据序列输入到编码模型中,得到各个分割数据对应的编码向量。
信息处理装置还包括:
第二系数确定模块,用于确定各个分割数据对应的编码向量对应的第二注意力分配权重系数。
第二注意力向量确定模块,用于根据各个编码向量以及对应的第二注意力分配权重系数确定第二注意力向量。
当前输出向量得到模块1008用于:
将第一输出向量、第一注意力向量以及第二注意力向量输入到当前神经网络单元中,得到当前输出向量。
在其中一个实施例中,中间处理模块906还用于:获取中间处理模型最后一个子学习模型中各个循环神经网络单元对应的输出向量,将最后一个子学习模型中各个循环神经网络单元的输出向量组成中间向量序列。
在其中一个实施例中,如图11所示,信息处理装置还包括用于获取第一输出向量的模块,包括:
第一单元输出向量获取模块1102,用于获取与当前子学习模型连接的上一个子学习模型中尾部神经网络单元对应的第一单元输出向量,当前子学习模型为当前循环神经网络单元所在的子学习模型。
第二单元输出向量获取模块1104,用于在当前子学习模型中获取当前循环神经网络单元对应的前向神经网络单元对应的第二单元输出向量。
第一输出向量获取模块1106,用于根据第一单元输出向量和第二单元输出向量得到第一输出向量。
在其中一个实施例中,目标输出数据为目标词序列,解码模块908包括:
第三系数确定单元,用于确定中间向量序列对应的中间向量对应的第三注意力分配权重系数。
第三注意力向量获取单元,用于根据各个中间向量以及对应的第三注意力分配权重系数确定第三注意力向量。
当前输出词获取单元,用于将解码模型上一时刻的输出词对应的词向量以及第三注意力向量输入到解码模型中,得到解码模型在当前时刻的当前输出词。
目标数据获取单元,用于根据解码模型在各个时刻的输出词以及输出顺序得到目标词序列,作为待处理原始数据对应的目标输出数据。
在其中一个实施例中,目标输出数据为目标词序列,装置还包括:
样本获取模块,用于获取样本集中的训练样本数据,训练样本数据包括样本输入数据以及对应的参考输出词序列;
训练模块,用于根据训练样本数据进行模型训练,得到中间处理模型中各个子学习模型对应的训练输出向量序列,以及,各个训练输出向量序列分别作为词打分模型的输入得到的各个候选词分数集合;
损失值获取模块,用于根据各个候选词分数集合中目标参考输出词的分数以及非目标参考输出词的分数得到机器学习模型的损失值;
调整模块,用于根据损失值对机器学习模型中的参数进行调整,返回获取样本集中的训练样本数据的步骤继续进行模型训练,直至满足训练收敛条件,得到已训练的机器学习模型。
在其中一个实施例中,信息处理装置还包括:
变换模块,用于根据词打分模型中的线性变换矩阵分别对各个训练输出向量序列对应的矩阵进行线性变换,得到变换向量矩阵,其中,线性变换矩阵行数量或者列数量与候选词的数量一致;
统计模块,用于获取变换向量矩阵中各个候选词对应的矩阵对象,对各个候选词对应的矩阵对象中的矩阵值分别进行统计,得到各个候选词对应的统计结果;
分数集合获取模块,用于将各个候选词的统计结果作为对应的候选词的分数,得到候选词分数集合。
在其中一个实施例中,待处理原始数据为图像,编码模型为卷积神经网络模型,编码模块904用于:对图像进行分割,得到图像的图像子区域组成的图像区域序列;将图像区域序列输入到编码模型中,得到编码模型的卷积层输出的各个图像子区域对应的卷积结果,将卷积结果作为编码向量;
解码模块908用于:将中间向量序列输入到机器学习模型的解码模型中,得到图像对应的目标词序列,目标词序列用于描述图像的内容。
图12示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的计算机设备120。如图12所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器以及网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现信息处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行信息处理方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。例如,计算机设备还可以包括显示屏以及输入装置。显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,本申请提供的信息处理装置可以实现为一种计算机程序的形式,计算机程序可在如图12所示的计算机设备上运行。计算机设备的存储器中可存储组成该信息处理装置的各个程序模块,比如,图9所示的原始数据获取模块902、编码模块904、中间处理模块906以及解码模块908。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的信息处理方法中的步骤。
例如,图12所示的计算机设备可以通过如图9所示的信息处理装置中的原始数据获取模块902,用于获取待处理原始数据;通过编码模块904将待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量;通过中间处理模块906,用于将编码向量输入到机器学习模型的中间处理模型中,得到中间向量序列,其中,中间处理模型包括多个子学习模型,各个子学习模型包括多个循环神经网络单元,当前循环神经网络单元的输出是根据前向循环神经网络单元对应的第一输出向量以及当前循环神经网络单元对应的前向子学习模型输出的前向向量序列得到的;通过解码模块908,用于将中间向量序列输入到机器学习模型的解码模型中,得到待处理原始数据对应的目标输出数据。
在一个实施例中,提出了一种计算机设备,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取待处理原始数据;将待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量;将编码向量输入到机器学习模型的中间处理模型中,得到中间向量序列,其中,中间处理模型包括多个子学习模型,各个子学习模型包括多个循环神经网络单元,当前循环神经网络单元的输出是根据前向循环神经网络单元对应的第一输出向量以及当前循环神经网络单元对应的前向子学习模型输出的前向向量序列得到的;将中间向量序列输入到机器学习模型的解码模型中,得到待处理原始数据对应的目标输出数据。
在其中一个实施例中,计算机程序使得处理器执行获取当前循环神经网络单元的输出的步骤,包括:获取前向循环神经网络单元对应的第一输出向量,获取当前循环神经网络单元对应的前向子学习模型输出的前向向量序列;确定前向向量序列中的各个前向向量对应的第一注意力分配权重系数;根据前向向量以及对应的第一注意力分配权重系数确定前向向量序列对应的第一注意力向量;将第一输出向量以及第一注意力向量输入到当前循环神经网络单元中,得到对应的当前输出向量。
在其中一个实施例中,计算机程序执行的获取确定前向向量序列中的各个前向向量对应的第一注意力分配权重系数包括:分别计算各个前向向量与第一输出向量对应的相关度;根据各个前向向量与第一输出向量对应的相关度计算得到各个前向向量对应的第一注意力分配权重系数。
在其中一个实施例中,计算机程序执行的获取将待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量包括:对待处理原始数据进行分割,得到待处理原始数据对应的分割数据序列;将分割数据序列输入到编码模型中,得到各个分割数据对应的编码向量;计算机程序还使得使得处理器执行以下步骤:确定各个分割数据对应的编码向量对应的第二注意力分配权重系数;根据各个编码向量以及对应的第二注意力分配权重系数确定第二注意力向量;将第一输出向量以及第一注意力向量输入到当前神经网络单元中,得到对应的当前输出向量包括:将第一输出向量、第一注意力向量以及第二注意力向量输入到当前神经网络单元中,得到当前输出向量。
在其中一个实施例中,计算机程序执行的将编码向量输入到机器学习模型的中间处理模型中,得到中间向量序列包括:获取中间处理模型最后一个子学习模型中各个循环神经网络单元对应的输出向量,将最后一个子学习模型中各个循环神经网络单元的输出向量组成中间向量序列。
在其中一个实施例中,获取前向循环神经网络单元对应的第一输出向量的获取步骤包括:获取与当前子学习模型连接的上一个子学习模型中尾部神经网络单元对应的第一单元输出向量,当前子学习模型为当前循环神经网络单元所在的子学习模型;在当前子学习模型中获取当前循环神经网络单元对应的前向神经网络单元对应的第二单元输出向量;根据第一单元输出向量和第二单元输出向量得到第一输出向量。
在其中一个实施例中,计算机程序执行的目标输出数据为目标词序列,将中间向量序列输入到机器学习模型的解码模型中,得到待处理原始数据对应的目标输出数据包括:确定中间向量序列对应的中间向量对应的第三注意力分配权重系数;根据各个中间向量以及对应的第三注意力分配权重系数确定第三注意力向量;将解码模型上一时刻的输出词对应的词向量以及第三注意力向量输入到解码模型中,得到解码模型在当前时刻的当前输出词;根据解码模型在各个时刻的输出词以及输出顺序得到目标词序列,作为待处理原始数据对应的目标输出数据。
在其中一个实施例中,计算机程序执行的目标输出数据为目标词序列,机器学习模型的训练步骤包括:获取样本集中的训练样本数据,训练样本数据包括样本输入数据以及对应的参考输出词序列;根据训练样本数据进行模型训练,得到中间处理模型中各个子学习模型对应的训练输出向量序列,以及,各个训练输出向量序列分别作为词打分模型的输入得到的各个候选词分数集合;根据各个候选词分数集合中目标参考输出词的分数以及非目标参考输出词的分数得到机器学习模型的损失值;根据损失值对机器学习模型中的参数进行调整,返回获取样本集中的训练样本数据的步骤继续进行模型训练,直至满足训练收敛条件,得到已训练的机器学习模型。
在其中一个实施例中,获取候选词分数集合的步骤包括:根据词打分模型中的线性变换矩阵分别对各个训练输出向量序列对应的矩阵进行线性变换,得到变换向量矩阵,其中,线性变换矩阵行数量或者列数量与候选词的数量一致;获取变换向量矩阵中各个候选词对应的矩阵对象,对各个候选词对应的矩阵对象中的矩阵值分别进行统计,得到各个候选词对应的统计结果;将各个候选词的统计结果作为对应的候选词的分数,得到候选词分数集合。
在其中一个实施例中,待处理原始数据为图像,编码模型为卷积神经网络模型,将待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量包括:对图像进行分割,得到图像的图像子区域组成的图像区域序列;将图像区域序列输入到编码模型中,得到编码模型的卷积层输出的各个图像子区域对应的卷积结果,将卷积结果作为编码向量;将中间向量序列输入到机器学习模型的解码模型中,得到原始数据对应的目标输出数据包括:将中间向量序列输入到机器学习模型的解码模型中,得到图像对应的目标词序列,目标词序列用于描述图像的内容。
在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:获取待处理原始数据;将待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量;将编码向量输入到机器学习模型的中间处理模型中,得到中间向量序列,其中,中间处理模型包括多个子学习模型,各个子学习模型包括多个循环神经网络单元,当前循环神经网络单元的输出是根据前向循环神经网络单元对应的第一输出向量以及当前循环神经网络单元对应的前向子学习模型输出的前向向量序列得到的;将中间向量序列输入到机器学习模型的解码模型中,得到待处理原始数据对应的目标输出数据。
在其中一个实施例中,计算机程序使得处理器执行获取当前循环神经网络单元的输出的步骤,包括:获取前向循环神经网络单元对应的第一输出向量,获取当前循环神经网络单元对应的前向子学习模型输出的前向向量序列;确定前向向量序列中的各个前向向量对应的第一注意力分配权重系数;根据前向向量以及对应的第一注意力分配权重系数确定前向向量序列对应的第一注意力向量;将第一输出向量以及第一注意力向量输入到当前循环神经网络单元中,得到对应的当前输出向量。
在其中一个实施例中,计算机程序执行的获取确定前向向量序列中的各个前向向量对应的第一注意力分配权重系数包括:分别计算各个前向向量与第一输出向量对应的相关度;根据各个前向向量与第一输出向量对应的相关度计算得到各个前向向量对应的第一注意力分配权重系数。
在其中一个实施例中,计算机程序执行的获取将待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量包括:对待处理原始数据进行分割,得到待处理原始数据对应的分割数据序列;将分割数据序列输入到编码模型中,得到各个分割数据对应的编码向量;计算机程序还使得使得处理器执行以下步骤:确定各个分割数据对应的编码向量对应的第二注意力分配权重系数;根据各个编码向量以及对应的第二注意力分配权重系数确定第二注意力向量;将第一输出向量以及第一注意力向量输入到当前神经网络单元中,得到对应的当前输出向量包括:将第一输出向量、第一注意力向量以及第二注意力向量输入到当前神经网络单元中,得到当前输出向量。
在其中一个实施例中,计算机程序执行的将编码向量输入到机器学习模型的中间处理模型中,得到中间向量序列包括:获取中间处理模型最后一个子学习模型中各个循环神经网络单元对应的输出向量,将最后一个子学习模型中各个循环神经网络单元的输出向量组成中间向量序列。
在其中一个实施例中,获取前向循环神经网络单元对应的第一输出向量的获取步骤包括:获取与当前子学习模型连接的上一个子学习模型中尾部神经网络单元对应的第一单元输出向量,当前子学习模型为当前循环神经网络单元所在的子学习模型;在当前子学习模型中获取当前循环神经网络单元对应的前向神经网络单元对应的第二单元输出向量;根据第一单元输出向量和第二单元输出向量得到第一输出向量。
在其中一个实施例中,计算机程序执行的目标输出数据为目标词序列,将中间向量序列输入到机器学习模型的解码模型中,得到待处理原始数据对应的目标输出数据包括:确定中间向量序列对应的中间向量对应的第三注意力分配权重系数;根据各个中间向量以及对应的第三注意力分配权重系数确定第三注意力向量;将解码模型上一时刻的输出词对应的词向量以及第三注意力向量输入到解码模型中,得到解码模型在当前时刻的当前输出词;根据解码模型在各个时刻的输出词以及输出顺序得到目标词序列,作为待处理原始数据对应的目标输出数据。
在其中一个实施例中,计算机程序执行的目标输出数据为目标词序列,机器学习模型的训练步骤包括:获取样本集中的训练样本数据,训练样本数据包括样本输入数据以及对应的参考输出词序列;根据训练样本数据进行模型训练,得到中间处理模型中各个子学习模型对应的训练输出向量序列,以及,各个训练输出向量序列分别作为词打分模型的输入得到的各个候选词分数集合;根据各个候选词分数集合中目标参考输出词的分数以及非目标参考输出词的分数得到机器学习模型的损失值;根据损失值对机器学习模型中的参数进行调整,返回获取样本集中的训练样本数据的步骤继续进行模型训练,直至满足训练收敛条件,得到已训练的机器学习模型。
在其中一个实施例中,获取候选词分数集合的步骤包括:根据词打分模型中的线性变换矩阵分别对各个训练输出向量序列对应的矩阵进行线性变换,得到变换向量矩阵,其中,线性变换矩阵行数量或者列数量与候选词的数量一致;获取变换向量矩阵中各个候选词对应的矩阵对象,对各个候选词对应的矩阵对象中的矩阵值分别进行统计,得到各个候选词对应的统计结果;将各个候选词的统计结果作为对应的候选词的分数,得到候选词分数集合。
在其中一个实施例中,待处理原始数据为图像,编码模型为卷积神经网络模型,将待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量包括:对图像进行分割,得到图像的图像子区域组成的图像区域序列;将图像区域序列输入到编码模型中,得到编码模型的卷积层输出的各个图像子区域对应的卷积结果,将卷积结果作为编码向量;将中间向量序列输入到机器学习模型的解码模型中,得到原始数据对应的目标输出数据包括:将中间向量序列输入到机器学习模型的解码模型中,得到图像对应的目标词序列,目标词序列用于描述图像的内容。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种信息处理方法,所述方法包括:
获取待处理原始数据;
将所述待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量;
将所述编码向量输入到所述机器学习模型的中间处理模型中,得到中间向量序列,其中,所述中间处理模型包括多个子学习模型,各个子学习模型包括多个循环神经网络单元,当前循环神经网络单元的输出是根据前向循环神经网络单元对应的第一输出向量以及所述当前循环神经网络单元对应的前向子学习模型输出的前向向量序列得到的;
将所述中间向量序列输入到所述机器学习模型的解码模型中,得到所述待处理原始数据对应的目标输出数据。
2.根据权利要求1所述的方法,其特征在于,所述当前循环神经网络单元的输出通过以下步骤得到:
获取前向循环神经网络单元对应的第一输出向量,获取所述当前循环神经网络单元对应的前向子学习模型输出的前向向量序列;
确定所述前向向量序列中的各个前向向量对应的第一注意力分配权重系数;
根据所述前向向量以及对应的第一注意力分配权重系数确定所述前向向量序列对应的第一注意力向量;
将所述第一输出向量以及所述第一注意力向量输入到所述当前循环神经网络单元中,得到对应的当前输出向量。
3.根据权利要求2所述的方法,其特征在于,所述确定所述前向向量序列中的各个前向向量对应的第一注意力分配权重系数包括:
分别计算所述各个前向向量与所述第一输出向量对应的相关度;
根据所述各个前向向量与所述第一输出向量对应的相关度计算得到所述各个前向向量对应的第一注意力分配权重系数。
4.根据权利要求2所述的方法,其特征在于,所述将所述待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量包括:
对所述待处理原始数据进行分割,得到所述待处理原始数据对应的分割数据序列;
将所述分割数据序列输入到所述编码模型中,得到所述各个分割数据对应的编码向量;
所述方法还包括:
确定所述各个分割数据对应的编码向量对应的第二注意力分配权重系数;
根据所述各个编码向量以及对应的第二注意力分配权重系数确定第二注意力向量;
所述将所述第一输出向量以及所述第一注意力向量输入到所述当前神经网络单元中,得到对应的当前输出向量包括:
将所述第一输出向量、所述第一注意力向量以及所述第二注意力向量输入到当前神经网络单元中,得到当前输出向量。
5.根据权利要求1所述的方法,其特征在于,所述将所述编码向量输入到所述机器学习模型的中间处理模型中,得到中间向量序列包括:
获取所述中间处理模型最后一个子学习模型中各个循环神经网络单元对应的输出向量,将所述最后一个子学习模型中各个循环神经网络单元的输出向量组成所述中间向量序列。
6.根据权利要求1所述的方法,其特征在于,所述前向循环神经网络单元对应的第一输出向量的获取步骤包括:
获取与当前子学习模型连接的上一个子学习模型中尾部神经网络单元对应的第一单元输出向量,所述当前子学习模型为所述前向循环神经网络单元所在的子学习模型;
在所述当前子学习模型中获取所述前向循环神经网络单元对应的前向神经网络单元对应的第二单元输出向量;
根据所述第一单元输出向量和所述第二单元输出向量得到所述第一输出向量。
7.根据权利要求1所述的方法,其特征在于,所述目标输出数据为目标词序列,所述将所述中间向量序列输入到所述机器学习模型的解码模型中,得到所述待处理原始数据对应的目标输出数据包括:
确定所述中间向量序列对应的中间向量对应的第三注意力分配权重系数;
根据所述各个中间向量以及对应的第三注意力分配权重系数确定第三注意力向量;
将所述解码模型上一时刻的输出词对应的词向量以及所述第三注意力向量输入到所述解码模型中,得到所述解码模型在当前时刻的当前输出词;
根据所述解码模型在各个时刻的输出词以及输出顺序得到目标词序列,作为所述待处理原始数据对应的目标输出数据。
8.根据权利要求1所述的方法,其特征在于,所述目标输出数据为目标词序列,所述机器学习模型的训练步骤包括:
获取样本集中的训练样本数据,所述训练样本数据包括样本输入数据以及对应的参考输出词序列;
根据所述训练样本数据进行模型训练,得到所述中间处理模型中各个子学习模型对应的训练输出向量序列,以及,所述各个训练输出向量序列分别作为词打分模型的输入得到的各个候选词分数集合;
根据所述各个候选词分数集合中目标参考输出词的分数以及非目标参考输出词的分数得到所述机器学习模型的损失值;
根据所述损失值对所述机器学习模型中的参数进行调整,返回所述获取样本集中的训练样本数据的步骤继续进行模型训练,直至满足训练收敛条件,得到所述已训练的机器学习模型。
9.根据权利要求8所述的方法,其特征在于,获取所述候选词分数集合的步骤包括:
根据所述词打分模型中的线性变换矩阵分别对各个训练输出向量序列对应的矩阵进行线性变换,得到变换向量矩阵,其中,所述线性变换矩阵行数量或者列数量与候选词的数量一致;
获取所述变换向量矩阵中各个候选词对应的矩阵对象,对所述各个候选词对应的矩阵对象中的矩阵值分别进行统计,得到所述各个候选词对应的统计结果;
将所述各个候选词的统计结果作为对应的候选词的分数,得到候选词分数集合。
10.根据权利要求1所述的方法,其特征在于,所述待处理原始数据为图像,所述编码模型为卷积神经网络模型,所述将所述待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量包括:
对所述图像进行分割,得到所述图像的图像子区域组成的图像区域序列;
将所述图像区域序列输入到所述编码模型中,得到所述编码模型的卷积层输出的各个图像子区域对应的卷积结果,将所述卷积结果作为编码向量;
所述将所述中间向量序列输入到所述机器学习模型的解码模型中,得到所述原始数据对应的目标输出数据包括:
将所述中间向量序列输入到所述机器学习模型的解码模型中,得到所述图像对应的目标词序列,所述目标词序列用于描述所述图像的内容。
11.一种信息处理装置,所述装置包括:
原始数据获取模块,用于获取待处理原始数据;
编码模块,用于将所述待处理原始数据输入到已训练的机器学习模型的编码模型中,得到对应的编码向量;
中间处理模块,用于将所述编码向量输入到所述机器学习模型的中间处理模型中,得到中间向量序列,其中,所述中间处理模型包括多个子学习模型,各个子学习模型包括多个循环神经网络单元,当前循环神经网络单元的输出是根据前向循环神经网络单元对应的第一输出向量以及所述当前循环神经网络单元对应的前向子学习模型输出的前向向量序列得到的;
解码模块,用于将所述中间向量序列输入到所述机器学习模型的解码模型中,得到所述待处理原始数据对应的目标输出数据。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第一输出向量获取模块,用于获取前向循环神经网络单元对应的第一输出向量,获取所述当前循环神经网络单元对应的前向子学习模型输出的前向向量序列;
第一系数确定模块,用于确定所述前向向量序列中的各个前向向量对应的第一注意力分配权重系数;
第一注意力向量确定模块,用于根据所述前向向量以及对应的第一注意力分配权重系数确定所述前向向量序列对应的第一注意力向量;
当前输出向量得到模块,用于将所述第一输出向量以及所述第一注意力向量输入到所述当前循环神经网络单元中,得到对应的当前输出向量。
13.根据权利要求11所述的装置,其特征在于,所述中间处理模块还用于:
获取所述中间处理模型最后一个子学习模型中各个循环神经网络单元对应的输出向量,将所述最后一个子学习模型中各个循环神经网络单元的输出向量组成所述中间向量序列。
14.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至10中任一项权利要求所述信息处理方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至10中任一项权利要求所述信息处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810566917.6A CN108776832B (zh) | 2018-06-05 | 2018-06-05 | 信息处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810566917.6A CN108776832B (zh) | 2018-06-05 | 2018-06-05 | 信息处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108776832A CN108776832A (zh) | 2018-11-09 |
CN108776832B true CN108776832B (zh) | 2021-08-24 |
Family
ID=64025839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810566917.6A Active CN108776832B (zh) | 2018-06-05 | 2018-06-05 | 信息处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108776832B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109543199B (zh) * | 2018-11-28 | 2022-06-10 | 腾讯科技(深圳)有限公司 | 一种文本翻译的方法以及相关装置 |
CN111641831B (zh) * | 2019-03-01 | 2023-09-01 | 杭州海康威视数字技术股份有限公司 | 帧内预测方法、装置、设备及存储介质 |
CN110347792B (zh) * | 2019-06-25 | 2022-12-20 | 腾讯科技(深圳)有限公司 | 对话生成方法及装置、存储介质、电子设备 |
CN111027681B (zh) * | 2019-12-09 | 2023-06-27 | 腾讯科技(深圳)有限公司 | 时序数据处理模型训练方法、数据处理方法、装置及存储介质 |
CN111152796B (zh) * | 2020-04-07 | 2020-08-07 | 北京三快在线科技有限公司 | 一种车辆运动状态预测方法及装置 |
CN112036546B (zh) * | 2020-08-24 | 2023-11-17 | 上海交通大学 | 序列处理方法及相关设备 |
CN113608163A (zh) * | 2021-09-10 | 2021-11-05 | 天目数据(福建)科技有限公司 | 一种堆叠循环神经网络的电表故障诊断方法及装置 |
CN115879508A (zh) * | 2022-09-30 | 2023-03-31 | 华为技术有限公司 | 一种数据处理方法及相关装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126507A (zh) * | 2016-06-22 | 2016-11-16 | 哈尔滨工业大学深圳研究生院 | 一种基于字符编码的深度神经翻译方法及系统 |
CN107766894A (zh) * | 2017-11-03 | 2018-03-06 | 吉林大学 | 基于注意力机制和深度学习的遥感图像自然语言生成方法 |
WO2018081089A1 (en) * | 2016-10-26 | 2018-05-03 | Deepmind Technologies Limited | Processing text sequences using neural networks |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11087199B2 (en) * | 2016-11-03 | 2021-08-10 | Nec Corporation | Context-aware attention-based neural network for interactive question answering |
-
2018
- 2018-06-05 CN CN201810566917.6A patent/CN108776832B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126507A (zh) * | 2016-06-22 | 2016-11-16 | 哈尔滨工业大学深圳研究生院 | 一种基于字符编码的深度神经翻译方法及系统 |
WO2018081089A1 (en) * | 2016-10-26 | 2018-05-03 | Deepmind Technologies Limited | Processing text sequences using neural networks |
CN107766894A (zh) * | 2017-11-03 | 2018-03-06 | 吉林大学 | 基于注意力机制和深度学习的遥感图像自然语言生成方法 |
Non-Patent Citations (3)
Title |
---|
Fine-grained Video Attractiveness Prediction Using Multimodal Deep Learning on a Large Real-world Dataset;Xinpeng Chen 等;《WWW 2018》;20180427;全文 * |
On the Properties of Neural Machine Translation: Encoder–Decoder Approaches;Kyunghyun Cho 等;《arXiv:1409.1259v2》;20141007;全文 * |
基于CNN-RNN深度学习的图片描述方法与优化;陈虹君 等;《湘潭大学自然科学学报》;20180430;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108776832A (zh) | 2018-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108776832B (zh) | 信息处理方法、装置、计算机设备和存储介质 | |
CN109947912B (zh) | 一种基于段落内部推理和联合问题答案匹配的模型方法 | |
CN108052512B (zh) | 一种基于深度注意力机制的图像描述生成方法 | |
CN110598779B (zh) | 摘要描述生成方法、装置、计算机设备和存储介质 | |
CN107590192B (zh) | 文本问题的数学化处理方法、装置、设备和存储介质 | |
CN110928997A (zh) | 意图识别方法、装置、电子设备及可读存储介质 | |
CN108665506B (zh) | 图像处理方法、装置、计算机存储介质及服务器 | |
CN111695415A (zh) | 图像识别模型的构建方法、识别方法及相关设备 | |
CN112766172B (zh) | 一种基于时序注意力机制的人脸连续表情识别方法 | |
CN112613308A (zh) | 用户意图识别方法、装置、终端设备及存储介质 | |
WO2021238333A1 (zh) | 一种文本处理网络、神经网络训练的方法以及相关设备 | |
CN112417855A (zh) | 文本意图识别方法、装置以及相关设备 | |
CN112307168A (zh) | 基于人工智能的问诊会话处理方法、装置和计算机设备 | |
CN111368564B (zh) | 文本处理方法、装置、计算机可读存储介质和计算机设备 | |
CN113886550A (zh) | 基于注意力机制的问答匹配方法、装置、设备及存储介质 | |
CN114266897A (zh) | 痘痘类别的预测方法、装置、电子设备及存储介质 | |
CN114863229A (zh) | 图像分类方法和图像分类模型的训练方法、装置 | |
CN111767697A (zh) | 文本处理方法、装置、计算机设备以及存储介质 | |
CN109979461B (zh) | 一种语音翻译方法及装置 | |
CN109992785B (zh) | 基于机器学习的内容计算方法、装置及设备 | |
CN113689527B (zh) | 一种人脸转换模型的训练方法、人脸图像转换方法 | |
CN111783430A (zh) | 句对匹配率的确定方法、装置、计算机设备和存储介质 | |
CN116484885A (zh) | 基于对比学习和词粒度权重的视觉语言翻译方法和系统 | |
CN116206314A (zh) | 模型训练方法、公式识别方法、装置、介质及设备 | |
CN115617971A (zh) | 基于ALBERT-Coref模型的对话文本生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |