CN110929869B - 序列数据处理方法、装置、设备及存储介质 - Google Patents

序列数据处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110929869B
CN110929869B CN201911235348.8A CN201911235348A CN110929869B CN 110929869 B CN110929869 B CN 110929869B CN 201911235348 A CN201911235348 A CN 201911235348A CN 110929869 B CN110929869 B CN 110929869B
Authority
CN
China
Prior art keywords
attention
model
network
layer
loss function
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
Application number
CN201911235348.8A
Other languages
English (en)
Other versions
CN110929869A (zh
Inventor
燕鹏举
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tongdun Holdings Co Ltd
Original Assignee
Tongdun Holdings Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tongdun Holdings Co Ltd filed Critical Tongdun Holdings Co Ltd
Priority to CN201911235348.8A priority Critical patent/CN110929869B/zh
Publication of CN110929869A publication Critical patent/CN110929869A/zh
Application granted granted Critical
Publication of CN110929869B publication Critical patent/CN110929869B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一种注意力模型的训练方法、装置、计算机设备及存储介质。该方法包括:获取训练数据,所述训练数据包括训练样本及其标签;通过所述注意力模型对所述训练样本进行处理,获得所述注意力模型的预测结果和注意力向量;根据所述训练样本的预测结果及其标签,获得固有损失函数;根据所述固有损失函数和所述注意力向量确定总损失函数;基于所述总损失函数更新所述注意力模型的模型参数,获得所述注意力模型的目标模型参数。本发明使得注意力模型在训练过程中对注意力向量进行优化,从而可实现提高注意力模型的收敛速度。

Description

序列数据处理方法、装置、设备及存储介质
技术领域
本发明涉及机器学习技术领域,具体而言,涉及一种序列数据处理方法、装置、设备及可读存储介质。
背景技术
人工神经网络是基于对人脑神经元网络工作原理的理解,从信息处理角度建立的模拟模型,由大量的节点和节点相互之间的联接所构成。深度学习是一种通过建立多层人工神经网络,以实现基于人工智能的机器学习方法。处理序列数据的深度学习模型,往往使用注意力模型以便让模型学习到特定层节点与另一特定层节点之间的对应关系,以提高模型对训练数据的拟合程度和对测试数据的预测准确度。在相关的注意力模型中,通常基于网络中现有信息动态地计算针对特定节点的注意力权重。然而,采用注意力机制的机器学习通常是非常缓慢的过程,对于完全基于数据驱动的机器学习,单个深度学习模型到达收敛常常需要持续几十万个时间步。
深度学习的建模过程,需要通过非常多的实验才能最终找到适合的网络结构和参数,每次实验都需要重新训练模型。模型收敛速度慢意味着消耗较多的计算资源,以及比较长的模型上线周期,使深度学习模型研发的预算和时间成本居高不下。
如上所述,如何减少处理序列数据时对计算资源的消耗成为亟待解决的问题。
在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明提供一种序列数据处理方法、装置、设备及可读存储介质。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的一方面,提供一种序列数据处理方法,包括:获取训练数据,所述训练数据包括训练样本及其标签;通过注意力模型对所述训练样本进行处理,获得所述注意力模型的预测结果和注意力向量;根据所述训练样本的预测结果及其标签,获得固有损失函数;根据所述固有损失函数和所述注意力向量确定总损失函数;基于所述总损失函数更新所述注意力模型的模型参数,获得所述注意力模型的目标模型参数,以通过以所述目标模型参数为模型参数的注意力模型对输入的序列数据进行预测输出。
根据本发明的一实施例,所述根据所述固有损失函数和所述注意力向量确定总损失函数,包括:根据所述注意力向量获得注意力向量熵;根据所述注意力向量熵获得注意力分布损失函数;根据所述注意力分布损失函数和所述固有损失函数获得所述总损失函数。
根据本发明的一实施例,总损失函数C1t)表示为:
Figure GDA0002970408370000021
其中,θt用于表示t时刻所述模型参数的向量,C(θt)用于表示所述固有损失函数,λ用于表示预设正则化强度,
Figure GDA0002970408370000022
用于表示所述注意力分布损失函数,Tx用于表示所述注意力模型的输入序列中的符号个数,Ty用于表示所述注意力模型的输出序列中的符号个数,αij用于表示所述注意力模型输出所述输出序列中的第i个符号时对所述输入序列中的第j个符号的注意力权重,i为大于等于1且小于等于Ty的正整数,j为大于等于1且小于等于Tx的正整数。
根据本发明的一实施例,所述通过所述注意力模型对所述训练样本进行处理,获得所述注意力模型的注意力向量,包括:通过所述注意力模型对所述训练样本进行处理,获得所述注意力模型的隐藏状态;根据所述隐藏状态获得所述注意力模型的注意力向量。
根据本发明的一实施例,所述基于所述总损失函数更新所述注意力模型的模型参数,获得所述注意力模型的目标模型参数,包括:通过所述注意力模型基于所述总损失函数和所述训练样本获得所述模型参数的梯度;根据所述模型参数的梯度更新所述注意力模型的模型参数。
根据本发明的一实施例,采用以下公式获得所述模型参数的梯度,包括:
Figure GDA0002970408370000031
其中,C1t)用于表示所述总损失函数,
Figure GDA0002970408370000032
用于表示t时刻所述总损失函数C1t)在所述模型参数θt处的梯度,θt用于表示t时刻所述模型参数的向量,
Figure GDA0002970408370000033
用于表示所述注意力模型中第l层的第m个输入在第n个节点输出中的权重参数,
Figure GDA0002970408370000034
用于表示所述注意力模型中所述第m个输入在所述第l层的位移参数,所述模型参数包括所述权重参数和所述位移参数,m为大于等于1且小于等于所述注意力模型的所述第l层输入序列中的符号个数的正整数,l为大于等于1且小于等于所述注意力模型的网络层数的正整数,n为大于等于1且小于等于所述注意力模型的网络节点数的正整数。
根据本发明的一实施例,所述根据所述模型参数的梯度更新所述注意力模型的模型参数,包括:
Figure GDA0002970408370000035
其中,θt+1用于表示更新后的t+1时刻所述模型参数的向量,η用于表示预设学习率。
根据本发明的一实施例,所述通过所述注意力模型对所述训练样本进行处理,获得所述注意力模型的预测结果和注意力向量,包括:将所述训练样本输入所述注意力模型,其中,所述注意力模型包括编码器网络和解码器网络,所述编码器网络和所述解码器网络相连接;通过所述编码器网络将所述训练样本进行编码,获得所述编码器网络中lx-1层的编码器输出和lx层的编码器输出,其中,所述lx-1层和所述lx层用于表示所述编码器网络中采用注意力机制的层,lx为大于1且小于等于所述编码器网络的网络层数的正整数;对所述lx-1层的编码器输出进行变换,得到查询矩阵、键矩阵和值矩阵;基于所述查询矩阵和所述键矩阵获得所述lx层针对所述lx-1层的编码器输出的注意力向量;基于所述注意力向量和所述值矩阵获得所述lx层的编码器输出;通过所述解码器网络基于所述lx层的编码器输出获得所述注意力模型的预测结果。
根据本发明的一实施例,所述通过所述注意力模型对所述训练样本进行处理,获得所述注意力模型的预测结果和注意力向量,包括:将所述训练样本输入所述注意力模型,其中,所述注意力模型包括编码器网络和解码器网络,所述编码器网络和所述解码器网络相连接;通过所述编码器网络将所述训练样本进行编码,获得所述编码器网络中lx-1层的编码器输出和lx层的编码器输出,其中,所述lx-1层和所述lx层用于表示所述编码器网络中采用注意力机制的层,lx为大于1且小于等于所述编码器网络的网络层数的正整数;对所述lx层的编码器输出进行变换,得到键矩阵和值矩阵;通过所述解码器网络基于所述lx-1层的编码器输出获得所述解码器网络中ly-1层的编码器输出,其中,所述ly-1层用于表示所述解码器网络中与所述lx-1层相连接的层,ly为大于1且小于等于所述解码器网络的网络层数的正整数;对所述ly-1层的编码器输出进行变换,得到查询矩阵;基于所述查询矩阵和所述键矩阵获得所述解码器网络中ly层针对所述lx层的编码器输出的注意力向量,其中,所述ly层用于表示所述解码器网络中与所述lx层相连接的层;基于所述注意力向量和所述值矩阵获得所述ly层的解码器输出;通过所述解码器网络基于所述ly层的解码器输出获得所述注意力模型的预测结果。
根据本发明的一实施例,所述通过所述注意力模型对所述训练样本进行处理,获得所述注意力模型的预测结果和注意力向量,包括:将所述训练样本输入所述注意力模型,其中,所述注意力模型包括编码器网络和解码器网络,所述编码器网络和所述解码器网络相连接;通过所述编码器网络将所述训练样本进行编码,获得所述编码器网络中各层的编码器输出;通过所述解码器网络将所述编码器输出进行解码,获得所述解码器网络中ly-1层的解码器输出,其中,所述ly-1层用于表示所述解码器网络中采用注意力机制的层,ly为大于1且小于等于所述解码器网络的网络层数的正整数;对所述ly-1层的解码器输出进行变换,得到查询矩阵、键矩阵和值矩阵;基于所述查询矩阵和所述键矩阵获得所述解码器网络中ly层针对所述ly-1层的解码器输出的注意力向量,其中,所述ly层用于表示所述解码器网络中采用注意力机制的层;基于所述注意力向量和所述值矩阵获得所述ly层的解码器输出;通过所述解码器网络基于所述ly层的解码器输出获得所述注意力模型的预测结果。
根据本发明的另一方面,提供一种序列数据处理装置,包括:数据获取模块,用于获取训练数据,所述训练数据包括训练样本及其标签;注意力模型模块,用于对所述训练样本进行处理,获得注意力模型的预测结果和注意力向量;固有损失函数确定模块,用于根据所述训练样本的预测结果及其标签,获得固有损失函数;总损失函数确定模块,用于根据所述固有损失函数和所述注意力向量确定总损失函数;模型更新模块,用于基于所述总损失函数更新所述注意力模型的模型参数,获得所述注意力模型的目标模型参数,以通过以所述目标模型参数为模型参数的注意力模型对输入的序列数据进行预测输出。
根据本发明的再一方面,提供一种计算机设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,所述处理器执行所述可执行指令时实现如上述任一种方法。
根据本发明的再一方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现如上述任一种方法。
根据本发明实施例提供的方法,通过注意力模型对获取的训练样本进行处理,获得注意力模型的预测结果和注意力向量,再根据训练样本的预测结果及其标签,获得固有损失函数,然后根据固有损失函数和注意力向量确定总损失函数,最后基于总损失函数更新注意力模型的模型参数,以获得注意力模型的目标模型参数,以通过以目标模型参数为模型参数的注意力模型对输入的序列数据进行预测输出,使得注意力模型在训练过程中对注意力向量进行优化,提高了注意力模型的收敛速度,从而可实现减少处理序列数据时对计算资源的消耗。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。
图1是根据一示例性实施例示出的一种注意力模型的训练方法的流程图。
图2是根据一示例性实施例示出的另一种注意力模型的训练方法的流程图。
图3是根据一示例性实施例示出的再一种注意力模型的训练方法的流程图。
图4是根据一示例性实施例示出的再一种注意力模型的训练方法的流程图。
图5是根据一示例性实施例示出的一种注意力模型的训练装置的框图。
图6是根据一示例性实施例示出的一种计算机设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本发明将更加全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本发明的各方面变得模糊。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。符号“/”一般表示前后关联对象是一种“或”的关系。
在本发明中,除非另有明确的规定和限定,“连接”等术语应做广义理解,例如,可以是电连接或可以互相通讯;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
相关技术中,因采用注意力机制的深度学习在完全基于训练数据驱动的情况下非常缓慢,需要通过非常多的实验才能最终使模型收敛。因此,本发明实施例提供了一种方法,通过在固有损失函数上增加注意力向量项,使得注意力模型在训练过程中对注意力向量进行优化,从而可提高注意力模型的收敛速度。
图1是根据一示例性实施例示出的一种注意力模型的训练方法的流程图。如图1所示的注意力模型的训练方法例如可以应用于注意力模型的训练系统的服务器端,也可应用于注意力模型的训练系统的移动终端。
参考图1,本公开实施例提供的方法10可以包括:
在步骤S102中,获取训练数据,训练数据包括训练样本及其标签。
相关技术中,注意力模型每次训练采用小批量(mini-batch)形式训练数据,每次小批量的训练数据导致模型参数的更新非常微小,因此需要非常多的小批量数据才足以将模型参数收敛。
在一些实施例中,具体地,注意力模型可以在输入的训练数据为序列元素的深度学习模型中使用。注意力模型所处理的任务数据,可以是回归任务、分类任务、序列标注任务或序列生成任务等中的任意一种。
在步骤S104中,通过注意力模型对训练样本进行处理,获得注意力模型的预测结果和注意力向量。
在示例性实施例中,通过注意力模型对训练样本进行处理,获得注意力模型的注意力向量,可以包括:通过注意力模型对训练样本进行处理,获得注意力模型的隐藏状态;根据隐藏状态获得注意力模型的注意力向量。
例如,对于采用双向循环神经网络(Recurrent Neural Network,RNN)进行编码-解码的注意力模型,t时刻输入的训练数据序列假设为
Figure GDA0002970408370000081
其中Tx用于表示输入注意力模型的训练数据序列中的符号个数,Tx为大于或等于1的正整数;编码器网络首先对输入序列
Figure GDA0002970408370000082
进行编码,计算得出隐藏向量序列为
Figure GDA0002970408370000083
注意力模型的预测结果亦即解码器网络的输出序列为
Figure GDA0002970408370000084
其中的隐藏序列为
Figure GDA0002970408370000085
其中Ty用于表示注意力模型的输出序列中的符号个数,即解码器网络的输出序列中的符号个数,Ty为大于或等于1的正整数。采用对齐模型eij来表示输出序列中第i个输出yi与输入序列中第j个输入xj的对齐可能性:
eij=a(si-1,hj) (1)
其中,a为注意力打分函数,表示了获得第i-1个隐藏输出si-1时考虑第j个隐藏输入hj的权重,
Figure GDA0002970408370000086
i为大于1且小于或等于Ty的正整数,
Figure GDA0002970408370000087
j为大于等于1且小于或等于Tx的正整数。其中隐藏序列
Figure GDA0002970408370000088
可由si=f(si-1,yi-1,ci)得到,ci为上下文向量,其具体表达方式将在下文介绍。将上述对齐模型eij利用softmax函数进行归一化,可得到注意力分布αij
Figure GDA0002970408370000089
其中,k为大于等于1且小于等于j的正整数。注意力分布αij就代表了注意力模型在进行输出yi时,网络应该“关注”输入xj的“概率”,而且有
Figure GDA0002970408370000091
反过来利用注意力分布αij和编码器网络的隐藏向量序列
Figure GDA0002970408370000092
编码器网络将输入序列编码为连接编码器网络与解码器网络的上下文向量
Figure GDA0002970408370000093
Figure GDA0002970408370000094
注意力模型的预测结果亦即解码器网络的输出序列为y1,y2,...,yTy,该输出序列中第i个输出yi的输出概率可表示为前一个输出yi-1、第i个隐层输出si和上下文向量中第i个值的函数:
p(yi|y1,y2,...,yi-1;x)=g(yi-1,si,ci) (4)
其中,si为解码器网络中的隐藏序列
Figure GDA0002970408370000095
中的第i个隐层输出,ci为上下文向量
Figure GDA0002970408370000096
的第i个值。
采用注意力模型计算当前时刻应该输出的内容时,网络往往应该“关注”比较少的几个输入。在一些实施例中,例如在英语翻译成中文的任务中,面对输入“I went to thebank to withdraw money”(共8个词)(最终输出的中文应该是“我去银行取钱”),当已经生成了“我去”将要生成下一个字时,此时注意力模型产生的注意力权重中的α35分量(下标35表示输出第3个内容时网络对应于第5个输入“bank”的注意力)应该取值比较大的、甚至接近于1的值,而在其它分量上取值应该接近于0。也就是说,注意力网络模型参数最终要收敛到使得注意力权重比较集中,才是训练到比较好的状态。但是,由于网络参数是随机初始化的,所以最开始生成的αij向量一定分布是比较均匀的,而且需要非常多的训练步骤以及非常长的训练时间才能使得注意力权重比较集中。
在步骤S106中,根据训练样本的预测结果及其标签,获得固有损失函数。
注意力模型的网络中包含多个参数,如上述输出隐藏序列函数si=f(si-1,yi-1,ci)、输出概率函数p(yi|y1,y2,...,yi-1;x)=g(yi-1,si,ci)等函数中的参数,这些参数会在模型训练时进行更新,以便使注意力模型向输出更为接近样本的标签的方向变化。因此在进行参数更新时,需要先计算当前模型输出与样本的标签的偏差即损失函数,然后再根据偏差计算更新后的参数。常用的损失函数有0-1损失函数、绝对值损失函数、平方损失函数等等。
为防止模型过拟合,通常会对损失函数中的某些参数做一些限制,即在损失函数的后面添加一个正则化项,通常采用参数的L1范数、L2范数形式的正则化约束,以便提高模型的泛化能力,提高在未知数据上的预测准确性。
本申请中的固有损失函数可以为计算当前模型输出与样本的标签的偏差的损失函数,也可为在此基础上增加正则化项的损失函数,本申请不以此为限。
在步骤S108中,根据固有损失函数和注意力向量确定总损失函数。
在一些实施例中,根据固有损失函数和注意力向量确定总损失函数,可以包括:根据注意力向量获得注意力向量熵;根据注意力向量熵获得注意力分布损失函数;根据注意力分布损失函数和固有损失函数获得总损失函数。
根据神经网络模型训练的原理,在损失函数中出现的任何带有网络参数的项,在训练过程就会趋向这些项变小的方向变化。因此本申请中在固有损失函数的基础上,增加了注意力向量熵项。根据上文对注意力分布αij的定义,注意力分布向量为归一化的离散分布向量,而根据离散分布的熵的定义,当概率分布比较“均匀”时熵比较大,而当概率分布比较“集中”时熵比较小,具体表示如下,总损失函数C1t)表示为:
Figure GDA0002970408370000101
其中,θt用于表示t时刻模型参数的向量,C(θt)用于表示固有损失函数,λ用于表示预设正则化强度,
Figure GDA0002970408370000102
用于表示注意力分布损失函数,Tx用于表示注意力模型的输入序列中的符号个数,Ty用于表示注意力模型的输出序列中的符号个数,αij用于表示注意力模型输出输出序列中的第i个符号时对输入序列中的第j个符号的注意力权重,i为大于等于1且小于等于Ty的正整数,j为大于等于1且小于等于Tx的正整数。添加该项之后,模型参数会倾向于向使得注意力分布αij更为集中的状态更新,从而加快模型训练速度,使用更少训练数据就可以将模型迭代更新至收敛状态。
在步骤S110中,基于总损失函数更新注意力模型的模型参数,获得注意力模型的目标模型参数。
诸如注意力模型的深度学习模型的参数的更新一般采用梯度下降的方式进行,先通过反向传播(遵循偏导计算的链式法则)计算梯度,再通过梯度下降去更新参数。具体地说,通过注意力模型基于总损失函数和训练样本获得模型参数的梯度;根据模型参数的梯度更新注意力模型的模型参数。
首先,对于含有L层节点的无注意力机制的网络模型,网络的初始输入为
Figure GDA0002970408370000111
网络中各层先计算
Figure GDA0002970408370000112
Figure GDA0002970408370000113
用于表示注意力模型中第l层的第m个输入的线性隐藏输出,
Figure GDA0002970408370000114
用于表示注意力模型中第l层的第m个输入在第n个节点输出中的权重参数,
Figure GDA0002970408370000115
用于表示注意力模型中第m个输入在第l层的位移参数,m为大于等于1且小于等于注意力模型的第l层输入序列中的符号个数的正整数,l为大于等于1且小于等于注意力模型的网络层数L的正整数,n为大于等于1且小于等于注意力模型的网络节点数的正整数。
Figure GDA0002970408370000116
为注意力模型中第l层的第m个输入的隐藏输出,由非线性的激活函数表示:
Figure GDA0002970408370000117
其中
Figure GDA0002970408370000118
网络最终的输出为
Figure GDA0002970408370000119
根据网络的输出和输入样本的标签可得到固有损失函数C(θt),可根据损失函数得到网络L层的误差为
Figure GDA00029704083700001110
Figure GDA00029704083700001111
用于表示t时刻固有损失函数C(θt)在模型参数θt处的梯度,模型参数θt用于表示t时刻模型参数
Figure GDA0002970408370000121
Figure GDA0002970408370000122
组成的向量;小于L的第l层的误差为
Figure GDA0002970408370000123
据此可得到固有损失函数C(θt)相对于各个模型参数的偏导数:
Figure GDA0002970408370000124
最后根据模型参数的梯度更新模型参数:
Figure GDA0002970408370000125
其中模型参数的梯度为:
Figure GDA0002970408370000126
η用于表示预设学习率。
因此,对于注意力模型的模型参数更新方法,结合上述具有编码-解码结构的注意力模型的内容,根据式(4),注意力模型输出中上下文向量贡献的误差为:
Figure GDA0002970408370000127
Figure GDA0002970408370000128
又联系式(3)可得:
Figure GDA0002970408370000129
再联系式(2)可得:
Figure GDA00029704083700001210
其中Jα是从对齐模型eij函数到注意力分布αij的雅克比矩阵,该矩阵中的各个元素表示为
Figure GDA00029704083700001211
其中k为大于等于1且小于等于j的正整数;再联系式(1),注意力打分函数a为模型第j个输入贡献的总误差为:
Figure GDA00029704083700001212
式中,
Figure GDA00029704083700001213
Figure GDA00029704083700001214
中的第k个元素,
Figure GDA00029704083700001215
为注意力打分函数中第j个输入在第i-1个输出中的权重参数。由此可得到注意力模型的固有损失函数对于权重参数
Figure GDA00029704083700001216
的偏导数为:
Figure GDA00029704083700001217
最后联系式(5),采用以下公式获得损失函数增加了注意力向量熵项的注意力模型的参数的梯度,包括:
Figure GDA0002970408370000131
其中,C1t)用于表示总损失函数,
Figure GDA0002970408370000132
用于表示t时刻总损失函数C1t)在模型参数θt处的梯度,
Figure GDA0002970408370000133
中包括了式(7)得到的注意力模型的固有损失函数对于权重参数
Figure GDA0002970408370000134
的偏导数。
然后根据模型参数的梯度更新注意力模型的模型参数,包括:
Figure GDA0002970408370000135
其中,θt+1用于表示更新后的t+1时刻模型参数的向量,η用于表示预设学习率。
根据本发明实施例提供的注意力模型的训练方法,通过注意力模型对获取的训练样本进行处理,获得注意力模型的预测结果和注意力向量,再根据训练样本的预测结果及其标签,获得固有损失函数,然后根据固有损失函数和注意力向量确定总损失函数,最后基于总损失函数更新注意力模型的模型参数,以获得注意力模型的目标模型参数,使得注意力模型在训练过程中对注意力向量进行优化,从而可实现提高注意力模型的收敛速度。
上述注意力机制可能在网络模型的多个地方使用,包括但不限于编码器的自注意力、解码器的自注意力及解码器到编码器的注意力,下面将分别解释这些情形。图2是根据一示例性实施例示出的一种编码器自注意力模型的训练方法的流程图。如图2所示的注意力模型的训练方法例如可以应用于注意力模型的训练系统的服务器端,也可应用于注意力模型的训练系统的移动终端。
参考图2,本公开实施例提供的方法20可以包括:
在步骤S202中,获取训练数据,训练数据包括训练样本及其标签。
在步骤S2041中,将训练样本输入注意力模型,其中,注意力模型包括编码器网络和解码器网络,编码器网络和解码器网络相连接。
在步骤S2042中,通过编码器网络将训练样本进行编码,获得编码器网络中lx-1层的编码器输出和lx层的编码器输出,其中,lx-1层和lx层用于表示编码器网络中采用注意力机制的层,lx为大于1且小于等于编码器网络的网络层数Lx的正整数。
在步骤S2043中,对lx-1层的编码器输出进行变换,得到查询矩阵
Figure GDA0002970408370000141
键矩阵
Figure GDA0002970408370000142
和值矩阵
Figure GDA0002970408370000143
其中,
Figure GDA0002970408370000144
表示各个要处理的输入单元对应的向量组成的矩阵,
Figure GDA0002970408370000145
表示在处理各个输入单元时需要关注的其他输入单元的向量组成的矩阵,
Figure GDA0002970408370000146
表示
Figure GDA0002970408370000147
对应的关键词矩阵。这三个矩阵可通过训练出三个矩阵与输入的词嵌入相乘得到。
在步骤S2044中,基于查询矩阵和键矩阵获得lx层针对lx-1层的编码器输出的注意力向量。对于该编码器的自注意力机制,获得注意力向量仅考虑编码器各个输入单元之间的注意力,因此将矩阵
Figure GDA0002970408370000148
和矩阵
Figure GDA0002970408370000149
分别代入式(1)、式(2)中,得到编码器自注意力模型的注意力向量
Figure GDA00029704083700001410
在步骤S2045中,基于注意力向量和值矩阵获得lx层的编码器输出
Figure GDA00029704083700001411
在步骤S2046中,通过解码器网络基于lx层的编码器输出获得注意力模型的预测结果。通过以上步骤依次计算出各个编码层输出后,获得最后一层编码层Lx层的输出,然后将Lx层输出导入解码器网络的各个解码层进行解码,最后获得解码器网络输出即注意力模型的最终预测结果。
在步骤S206中,根据训练样本的预测结果及其标签,获得固有损失函数。
在步骤S208中,根据固有损失函数和注意力向量确定总损失函数。
在步骤S210中,基于总损失函数更新注意力模型的模型参数,获得注意力模型的目标模型参数。
步骤S206至步骤S210的一些实施例参照步骤106至步骤S110,即将编码器自注意力向量
Figure GDA00029704083700001412
代入式(7)、式(5)后通过式(8)得到增加了注意力向量熵项的注意力模型的参数的梯度,再根据式(9)更新网络模型参数。
根据本发明实施例提供的编码器自注意力模型的训练方法,通过注意力模型对获取的训练样本进行处理,获得编码器网络自注意力层的查询矩阵、键矩阵和值矩阵,再据此得到编码器网络自注意力层的注意力向量以及编码器网络输出,再通过解码器网络根据编码器网络输出获得网络预测结果,再根据训练样本的预测结果及其标签,获得固有损失函数,然后根据固有损失函数和注意力向量确定总损失函数,最后基于总损失函数更新注意力模型的模型参数,以获得注意力模型的目标模型参数,使得注意力模型在训练过程中对注意力向量进行优化,从而可实现提高注意力模型的收敛速度。
图3是根据一示例性实施例示出的一种编码器到解码器注意力模型的训练方法的流程图。如图3所示的注意力模型的训练方法例如可以应用于注意力模型的训练系统的服务器端,也可应用于注意力模型的训练系统的移动终端。
参考图3,本公开实施例提供的方法30可以包括:
在步骤S302中,获取训练数据,训练数据包括训练样本及其标签。
在步骤S3041中,将训练样本输入注意力模型,其中,注意力模型包括编码器网络和解码器网络,编码器网络和解码器网络相连接。
在步骤S3042中,通过编码器网络将训练样本进行编码,获得编码器网络中lx-1层的编码器输出和lx层的编码器输出,其中,lx-1层和lx层用于表示编码器网络中采用注意力机制的层,lx为大于1且小于等于编码器网络的网络层数Lx的正整数。
在步骤S3043中,对lx层的编码器输出进行变换,得到键矩阵
Figure GDA0002970408370000151
和值矩阵
Figure GDA0002970408370000152
Figure GDA0002970408370000153
表示在ly层解码器解码时需要关注的的lx层编码器输出向量组成的矩阵,
Figure GDA0002970408370000154
表示
Figure GDA0002970408370000155
对应的关键词矩阵。这两个矩阵可通过训练出两个矩阵与输入的词嵌入相乘得到。
在步骤S3044中,基于步骤S104至S106及相关实施例,通过解码器网络基于lx-1层的编码器输出获得解码器网络中ly-1层的编码器输出
Figure GDA0002970408370000156
其中,ly-1层用于表示解码器网络中与lx-1层相连接的层,ly为大于1且小于等于解码器网络的网络层数的正整数。
在步骤S3045中,对ly-1层的编码器输出
Figure GDA0002970408370000157
进行变换,可通过训练出一个矩阵与输入的词嵌入相乘得到查询矩阵
Figure GDA0002970408370000158
在步骤S3046中,基于查询矩阵
Figure GDA0002970408370000159
和键矩阵
Figure GDA00029704083700001510
将矩阵
Figure GDA00029704083700001511
和矩阵
Figure GDA00029704083700001512
分别代入式(1)、式(2)中,获得解码器网络中ly层针对lx层的编码器输出的注意力向量
Figure GDA00029704083700001513
其中,ly层用于表示解码器网络中与lx层相连接的层。
在步骤S3047中,基于注意力向量和值矩阵
Figure GDA0002970408370000161
获得ly层的解码器输出
Figure GDA0002970408370000162
在步骤S3048中,通过解码器网络基于ly层的解码器输出获得注意力模型的预测结果。通过以上步骤依次计算出各个解码层输出后,获得最后一层解码层Ly层的输出即注意力模型的最终预测结果。
在步骤S306中,根据训练样本的预测结果及其标签,获得固有损失函数。
在步骤S308中,根据固有损失函数和注意力向量确定总损失函数;
在步骤S310中,基于总损失函数更新注意力模型的模型参数,获得注意力模型的目标模型参数。
步骤S306至步骤S310的一些实施例参照步骤106至步骤S110,即将解码-编码注意力向量
Figure GDA0002970408370000163
代入式(7)、式(5)后通过式(8)得到增加了注意力向量熵项的注意力模型的参数的梯度,再根据式(9)更新网络模型参数。
根据本发明实施例提供的编码器自注意力模型的训练方法,通过注意力模型对获取的训练样本进行处理,通过编码器网络中与解码器连接的具有注意力机制的层获得键矩阵和值矩阵,再由解码器网络获得与编码器连接的具有注意力机制的层的查询矩阵,再据此得到编码-解码注意力向量以及解码器网络输出,据此获得网络预测结果,再根据训练样本的预测结果及其标签,获得固有损失函数,然后根据固有损失函数和注意力向量确定总损失函数,最后基于总损失函数更新注意力模型的模型参数,以获得注意力模型的目标模型参数,使得注意力模型在训练过程中对注意力向量进行优化,从而可实现提高注意力模型的收敛速度。
图4是根据一示例性实施例示出的一种解码器自注意力模型的训练方法的流程图。如图4所示的注意力模型的训练方法例如可以应用于注意力模型的训练系统的服务器端,也可应用于注意力模型的训练系统的移动终端。
参考图4,本公开实施例提供的方法40可以包括:
在步骤S402中,获取训练数据,训练数据包括训练样本及其标签。
在步骤S4041中,将训练样本输入注意力模型,其中,注意力模型包括编码器网络和解码器网络,编码器网络和解码器网络相连接。
在步骤S4042中,通过编码器网络将训练样本进行编码,获得编码器网络中各层的编码器输出。
在步骤S4043中,通过解码器网络将编码器输出进行解码,获得解码器网络中ly-1层的解码器输出,其中,ly-1层用于表示解码器网络中采用注意力机制的层,ly为大于1且小于等于解码器网络的网络层数Ly的正整数。具体地,依次计算出各个编码层输出后,获得最后一层编码层Lx层的输出,然后将Lx层输出导入解码器网络的各个解码层进行解码。
在步骤S4044中,对ly-1层的解码器输出进行变换,得到查询矩阵
Figure GDA0002970408370000171
键矩阵
Figure GDA0002970408370000172
和值矩阵
Figure GDA0002970408370000173
其中,
Figure GDA0002970408370000174
表示各个从ly-1层解码器网络输出然后到ly层的输入对应的向量组成的矩阵,
Figure GDA0002970408370000175
表示ly层在处理各个输入时需要关注的其他输入的向量组成的矩阵,
Figure GDA0002970408370000176
表示
Figure GDA0002970408370000177
对应的关键词矩阵。这三个矩阵可通过训练出三个矩阵与输入的词嵌入相乘得到。
在步骤S4045中,基于查询矩阵和键矩阵获得解码器网络中ly层针对ly-1层的解码器输出的注意力向量,其中,ly层用于表示解码器网络中采用注意力机制的层。对于该解码器的自注意力机制,获得注意力向量仅考虑解码器各个输入单元之间的注意力,因此将矩阵
Figure GDA0002970408370000178
和矩阵
Figure GDA0002970408370000179
分别代入式(1)、式(2)中,得到解码器自注意力模型的注意力向量
Figure GDA00029704083700001710
解码器与编码器的输入序列一次性全部输入到网络不同,输出序列需要一个一个地按顺序解码出来,因此第i个序列元素的解码,不得依赖于序号大于i的那些元素,因为还没有计算出来。因此,注意力向量
Figure GDA00029704083700001711
实际上是按时间分次进行计算的,也即依次计算第1行的长度为1的注意力分布向量,计算第2行的长度为2的注意力分布向量,直到第Ty行的长度为Ty的注意力分布向量。
在步骤S4046中,基于注意力向量和值矩阵
Figure GDA00029704083700001712
获得ly层的解码器输出
Figure GDA00029704083700001713
在步骤S4047中,通过解码器网络基于ly层的解码器输出获得注意力模型的预测结果。通过以上步骤依次计算出各个解码层输出后,获得最后一层解码层Ly层的输出即注意力模型的最终预测结果。
在步骤S406中,根据训练样本的预测结果及其标签,获得固有损失函数。
在步骤S408中,根据固有损失函数和注意力向量确定总损失函数。
在步骤S410中,基于总损失函数更新注意力模型的模型参数,获得注意力模型的目标模型参数。
步骤S406至步骤S410的一些实施例参照步骤106至步骤S110,即将编码器自注意力向量
Figure GDA0002970408370000181
代入式(7)、式(5)后通过式(8)得到增加了注意力向量熵项的注意力模型的参数的梯度,再根据式(9)更新网络模型参数。
根据本发明实施例提供的编码器自注意力模型的训练方法,通过注意力模型对获取的训练样本进行处理,获得编码器网络输出后输入解码器网络,然后获得解码器自注意力层的查询矩阵、键矩阵和值矩阵,再据此得到解码器网络自注意力层的注意力向量以及解码器网络输出,据此获得网络预测结果,再根据训练样本的预测结果及其标签,获得固有损失函数,然后根据固有损失函数和注意力向量确定总损失函数,最后基于总损失函数更新注意力模型的模型参数,以获得注意力模型的目标模型参数,使得注意力模型在训练过程中对注意力向量进行优化,从而可实现提高注意力模型的收敛速度。
图5是根据一示例性实施例示出的一种注意力模型的训练装置的框图。如图5所示的注意力模型的训练装置法例如可以应用于注意力模型的训练系统的服务器端,也可应用于注意力模型的训练系统的移动终端。
参考图5,本公开实施例的装置50可以包括:数据获取模块502、注意力模型模块504、固有损失函数确定模块506、总损失函数确定模块508以及模型更新模块510。
数据获取模块502可用于获取训练数据,训练数据包括训练样本及其标签。
注意力模型模块504可用于对训练样本进行处理,获得注意力模型的预测结果和注意力向量。
固有损失函数确定模块506可用于根据训练样本的预测结果及其标签,获得固有损失函数。
总损失函数确定模块508可用于根据固有损失函数和注意力向量确定总损失函数。
模型更新模块510可用于基于总损失函数更新注意力模型的模型参数,获得注意力模型的目标模型参数。
在示例性实施例中,总损失函数确定模块508还可用于根据注意力向量获得注意力向量熵;根据注意力向量熵获得注意力分布损失函数;根据注意力分布损失函数和固有损失函数获得总损失函数;其中,总损失函数C1t)表示为:
Figure GDA0002970408370000191
其中,θt用于表示t时刻模型参数的向量,C(θt)用于表示固有损失函数,λ用于表示预设正则化强度,
Figure GDA0002970408370000192
用于表示注意力分布损失函数,Tx用于表示注意力模型的输入序列中的符号个数,Ty用于表示注意力模型的输出序列中的符号个数,αij用于表示注意力模型输出输出序列中的第i个符号时对输入序列中的第j个符号的注意力权重,i为大于等于1且小于等于Ty的正整数,j为大于等于1且小于等于Tx的正整数。
在示例性实施例中,注意力模型模块504还可用于通过注意力模型对训练样本进行处理,获得注意力模型的隐藏状态;根据隐藏状态获得注意力模型的注意力向量。
在示例性实施例中,模型更新模块510还可用于通过注意力模型基于总损失函数和训练样本获得模型参数的梯度,包括:
Figure GDA0002970408370000193
其中,θt+1用于表示更新后的t+1时刻模型参数的向量,η用于表示预设学习率;根据模型参数的梯度更新注意力模型的模型参数;其中,采用以下公式获得模型参数的梯度,包括:
Figure GDA0002970408370000194
其中,C1t)用于表示总损失函数,
Figure GDA0002970408370000201
用于表示t时刻总损失函数C1t)在模型参数θt处的梯度,θt用于表示t时刻模型参数的向量,
Figure GDA0002970408370000202
用于表示注意力模型中第l层的第m个输入在第n个节点输出中的权重参数,
Figure GDA0002970408370000203
用于表示注意力模型中第m个输入在第l层的位移参数,模型参数包括权重参数和位移参数,m为大于等于1且小于等于注意力模型的第l层输入序列中的符号个数的正整数,l为大于等于1且小于等于注意力模型的网络层数的正整数,n为大于等于1且小于等于注意力模型的网络节点数的正整数。
在示例性实施例中,注意力模型模块504还可用于将训练样本输入注意力模型,其中,注意力模型包括编码器网络和解码器网络,编码器网络和解码器网络相连接;通过编码器网络将训练样本进行编码,获得编码器网络中lx-1层的编码器输出和lx层的编码器输出,其中,lx-1层和lx层用于表示编码器网络中采用注意力机制的层,lx为大于1且小于等于编码器网络的网络层数的正整数;对lx-1层的编码器输出进行变换,得到查询矩阵、键矩阵和值矩阵;基于查询矩阵和键矩阵获得lx层针对lx-1层的编码器输出的注意力向量;基于注意力向量和值矩阵获得lx层的编码器输出;通过解码器网络基于lx层的编码器输出获得注意力模型的预测结果。
在示例性实施例中,注意力模型模块504还可用于将训练样本输入注意力模型,其中,注意力模型包括编码器网络和解码器网络,编码器网络和解码器网络相连接;通过编码器网络将训练样本进行编码,获得编码器网络中lx-1层的编码器输出和lx层的编码器输出,其中,lx-1层和lx层用于表示编码器网络中采用注意力机制的层,lx为大于1且小于等于编码器网络的网络层数的正整数;对lx层的编码器输出进行变换,得到键矩阵和值矩阵;通过解码器网络基于lx-1层的编码器输出获得解码器网络中ly-1层的编码器输出,其中,ly-1层用于表示解码器网络中与lx-1层相连接的层,ly为大于1且小于等于解码器网络的网络层数的正整数;对ly-1层的编码器输出进行变换,得到查询矩阵;基于查询矩阵和键矩阵获得解码器网络中ly层针对lx层的编码器输出的注意力向量,其中,ly层用于表示解码器网络中与lx层相连接的层;基于注意力向量和值矩阵获得ly层的解码器输出;通过解码器网络基于ly层的解码器输出获得注意力模型的预测结果。
在示例性实施例中,注意力模型模块504还可用于将训练样本输入注意力模型,其中,注意力模型包括编码器网络和解码器网络,编码器网络和解码器网络相连接;通过编码器网络将训练样本进行编码,获得编码器网络中各层的编码器输出;通过解码器网络将编码器输出进行解码,获得解码器网络中ly-1层的解码器输出,其中,ly-1层用于表示解码器网络中采用注意力机制的层,ly为大于1且小于等于解码器网络的网络层数的正整数;对ly-1层的解码器输出进行变换,得到查询矩阵、键矩阵和值矩阵;基于查询矩阵和键矩阵获得解码器网络中ly层针对ly-1层的解码器输出的注意力向量,其中,ly层用于表示解码器网络中采用注意力机制的层;基于注意力向量和值矩阵获得ly层的解码器输出;通过解码器网络基于ly层的解码器输出获得注意力模型的预测结果。
需要说明的是,图6示出的设备仅以计算机系统为示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有设备600操作所需的各种程序和数据。CPU601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括数据获取模块、注意力模型模块、固有损失函数确定模块、总损失函数确定模块和模型更新模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,数据获取模块还可以被描述为“向所连接的服务器端获取数据的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:获取训练数据,训练数据包括训练样本及其标签;通过注意力模型对训练样本进行处理,获得注意力模型的预测结果和注意力向量;根据训练样本的预测结果及其标签,获得固有损失函数;根据固有损失函数和注意力向量确定总损失函数;基于总损失函数更新注意力模型的模型参数,获得注意力模型的目标模型参数。
以上具体地示出和描述了本发明的示例性实施例。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (11)

1.一种序列数据处理方法,其特征在于,包括:
获取训练数据,所述训练数据包括训练样本及其标签,所述训练数据为序列数据;
通过注意力模型对所述训练样本进行处理,获得所述注意力模型的预测结果和注意力向量;
根据所述训练样本的预测结果及其标签,获得固有损失函数;
根据所述固有损失函数和所述注意力向量确定总损失函数;
基于所述总损失函数更新所述注意力模型的模型参数,获得所述注意力模型的目标模型参数;
将英文词序列输入以所述目标模型参数为模型参数的注意力模型,对将所述英文词序列翻译为中文的结果进行预测;
获得以所述目标模型参数为模型参数的注意力模型预测输出的中文词序列;
所述根据所述固有损失函数和所述注意力向量确定总损失函数,包括:
根据所述注意力向量获得注意力向量熵;
根据所述注意力向量熵获得注意力分布损失函数;
根据所述注意力分布损失函数和所述固有损失函数获得所述总损失函数;
其中,所述总损失函数C1t)表示为:
Figure FDA0003195105950000011
其中,θt用于表示t时刻所述模型参数的向量,C(θt)用于表示所述固有损失函数,λ用于表示预设正则化强度,
Figure FDA0003195105950000012
用于表示所述注意力分布损失函数,Tx用于表示所述注意力模型的输入序列中的符号个数,Ty用于表示所述注意力模型的输出序列中的符号个数,αij用于表示所述注意力模型输出所述输出序列中的第i个符号时对所述输入序列中的第j个符号的注意力权重,i为大于等于1且小于等于Ty的正整数,j为大于等于1且小于等于Tx的正整数。
2.根据权利要求1所述的方法,其特征在于,所述通过所述注意力模型对所述训练样本进行处理,获得所述注意力模型的注意力向量,包括:
通过所述注意力模型对所述训练样本进行处理,获得所述注意力模型的隐藏状态;
根据所述隐藏状态获得所述注意力模型的注意力向量。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述总损失函数更新所述注意力模型的模型参数,获得所述注意力模型的目标模型参数,包括:
通过所述注意力模型基于所述总损失函数和所述训练样本获得所述模型参数的梯度;
根据所述模型参数的梯度更新所述注意力模型的模型参数。
4.根据权利要求3所述的方法,其特征在于,采用以下公式获得所述模型参数的梯度,包括:
Figure FDA0003195105950000021
其中,C1t)用于表示所述总损失函数,
Figure FDA0003195105950000022
用于表示t时刻所述总损失函数C1t)在所述模型参数θt处的梯度,θt用于表示t时刻所述模型参数的向量,
Figure FDA0003195105950000023
用于表示所述注意力模型中第l层的第m个输入在第n个节点输出中的权重参数,
Figure FDA0003195105950000024
用于表示所述注意力模型中所述第m个输入在所述第l层的位移参数,所述模型参数包括所述权重参数和所述位移参数,m为大于等于1且小于等于所述注意力模型的所述第l层输入序列中的符号个数的正整数,l为大于等于1且小于等于所述注意力模型的网络层数的正整数,n为大于等于1且小于等于所述注意力模型的网络节点数的正整数。
5.根据权利要求4所述的方法,其特征在于,所述根据所述模型参数的梯度更新所述注意力模型的模型参数,包括:
Figure FDA0003195105950000031
其中,θt+1用于表示更新后的t+1时刻所述模型参数的向量,η用于表示预设学习率。
6.根据权利要求1或2所述的方法,其特征在于,所述通过所述注意力模型对所述训练样本进行处理,获得所述注意力模型的预测结果和注意力向量,包括:
将所述训练样本输入所述注意力模型,其中,所述注意力模型包括编码器网络和解码器网络,所述编码器网络和所述解码器网络相连接;
通过所述编码器网络将所述训练样本进行编码,获得所述编码器网络中lx-1层的编码器输出和lx层的编码器输出,其中,所述lx-1层和所述lx层用于表示所述编码器网络中采用注意力机制的层,lx为大于1且小于等于所述编码器网络的网络层数的正整数;
对所述lx-1层的编码器输出进行变换,得到查询矩阵、键矩阵和值矩阵;
基于所述查询矩阵和所述键矩阵获得所述lx层针对所述lx-1层的编码器输出的注意力向量;
基于所述注意力向量和所述值矩阵获得所述lx层的编码器输出;
通过所述解码器网络基于所述lx层的编码器输出获得所述注意力模型的预测结果。
7.根据权利要求1或2所述的方法,其特征在于,所述通过所述注意力模型对所述训练样本进行处理,获得所述注意力模型的预测结果和注意力向量,包括:
将所述训练样本输入所述注意力模型,其中,所述注意力模型包括编码器网络和解码器网络,所述编码器网络和所述解码器网络相连接;
通过所述编码器网络将所述训练样本进行编码,获得所述编码器网络中lx-1层的编码器输出和lx层的编码器输出,其中,所述lx-1层和所述lx层用于表示所述编码器网络中采用注意力机制的层,lx为大于1且小于等于所述编码器网络的网络层数的正整数;
对所述lx层的编码器输出进行变换,得到键矩阵和值矩阵;
通过所述解码器网络基于所述lx-1层的编码器输出获得所述解码器网络中ly-1层的编码器输出,其中,所述ly-1层用于表示所述解码器网络中与所述lx-1层相连接的层,ly为大于1且小于等于所述解码器网络的网络层数的正整数;
对所述ly-1层的编码器输出进行变换,得到查询矩阵;
基于所述查询矩阵和所述键矩阵获得所述解码器网络中ly层针对所述lx层的编码器输出的注意力向量,其中,所述ly层用于表示所述解码器网络中与所述lx层相连接的层;
基于所述注意力向量和所述值矩阵获得所述ly层的解码器输出;
通过所述解码器网络基于所述ly层的解码器输出获得所述注意力模型的预测结果。
8.根据权利要求1或2所述的方法,其特征在于,所述通过所述注意力模型对所述训练样本进行处理,获得所述注意力模型的预测结果和注意力向量,包括:
将所述训练样本输入所述注意力模型,其中,所述注意力模型包括编码器网络和解码器网络,所述编码器网络和所述解码器网络相连接;
通过所述编码器网络将所述训练样本进行编码,获得所述编码器网络中各层的编码器输出;
通过所述解码器网络将所述编码器输出进行解码,获得所述解码器网络中ly-1层的解码器输出,其中,所述ly-1层用于表示所述解码器网络中采用注意力机制的层,ly为大于1且小于等于所述解码器网络的网络层数的正整数;
对所述ly-1层的解码器输出进行变换,得到查询矩阵、键矩阵和值矩阵;
基于所述查询矩阵和所述键矩阵获得所述解码器网络中ly层针对所述ly-1层的解码器输出的注意力向量,其中,所述ly层用于表示所述解码器网络中采用注意力机制的层;
基于所述注意力向量和所述值矩阵获得所述ly层的解码器输出;
通过所述解码器网络基于所述ly层的解码器输出获得所述注意力模型的预测结果。
9.一种序列数据处理装置,其特征在于,包括:
数据获取模块,用于获取训练数据,所述训练数据包括训练样本及其标签,所述训练数据为序列数据;
注意力模型模块,用于对所述训练样本进行处理,获得注意力模型的预测结果和注意力向量;
固有损失函数确定模块,用于根据所述训练样本的预测结果及其标签,获得固有损失函数;
总损失函数确定模块,用于根据所述固有损失函数和所述注意力向量确定总损失函数;
模型更新模块,用于基于所述总损失函数更新所述注意力模型的模型参数,获得所述注意力模型的目标模型参数;
所述注意力模型模块,还用于:
将英文词序列输入以所述目标模型参数为模型参数的注意力模型,对将所述英文词序列翻译为中文的结果进行预测;
获得以所述目标模型参数为模型参数的注意力模型预测输出的中文词序列;
所述总损失函数确定模块,还用于:
根据所述注意力向量获得注意力向量熵;
根据所述注意力向量熵获得注意力分布损失函数;
根据所述注意力分布损失函数和所述固有损失函数获得所述总损失函数;
其中,所述总损失函数C1t)表示为:
Figure FDA0003195105950000061
其中,θt用于表示t时刻所述模型参数的向量,C(θt)用于表示所述固有损失函数,λ用于表示预设正则化强度,
Figure FDA0003195105950000062
用于表示所述注意力分布损失函数,Tx用于表示所述注意力模型的输入序列中的符号个数,Ty用于表示所述注意力模型的输出序列中的符号个数,αij用于表示所述注意力模型输出所述输出序列中的第i个符号时对所述输入序列中的第j个符号的注意力权重,i为大于等于1且小于等于Ty的正整数,j为大于等于1且小于等于Tx的正整数。
10.一种计算机设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,其特征在于,所述处理器执行所述可执行指令时实现如权利要求1-8任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1-8任一项所述的方法。
CN201911235348.8A 2019-12-05 2019-12-05 序列数据处理方法、装置、设备及存储介质 Active CN110929869B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911235348.8A CN110929869B (zh) 2019-12-05 2019-12-05 序列数据处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911235348.8A CN110929869B (zh) 2019-12-05 2019-12-05 序列数据处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110929869A CN110929869A (zh) 2020-03-27
CN110929869B true CN110929869B (zh) 2021-09-07

Family

ID=69857129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911235348.8A Active CN110929869B (zh) 2019-12-05 2019-12-05 序列数据处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110929869B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111631705B (zh) * 2020-05-29 2024-07-16 广州视源电子科技股份有限公司 心电异常检测方法、模型训练方法、装置、设备及介质
CN113822281A (zh) * 2020-06-19 2021-12-21 富士通株式会社 用于进行多目标优化的装置、方法以及存储介质
CN111950586B (zh) * 2020-07-01 2024-01-19 银江技术股份有限公司 一种引入双向注意力的目标检测方法
CN112182976B (zh) * 2020-10-12 2023-03-24 上海交通大学 一种工业设备剩余寿命预测方法
CN112528019A (zh) * 2020-12-01 2021-03-19 清华大学 文本中实体关系处理方法、装置、电子设备及存储介质
CN112784685B (zh) * 2020-12-28 2022-08-26 山东师范大学 基于多尺度引导注意力机制网络的人群计数方法及系统
CN112786108B (zh) * 2021-01-21 2023-10-24 北京百度网讯科技有限公司 分子理解模型的训练方法、装置、设备和介质
CN113537297B (zh) * 2021-06-22 2023-07-28 同盾科技有限公司 一种行为数据预测方法及装置
CN113591955B (zh) * 2021-07-20 2023-10-13 首都师范大学 一种提取图数据的全局信息的方法、系统、设备及介质
CN113392938A (zh) * 2021-07-30 2021-09-14 广东工业大学 一种分类模型训练方法、阿尔茨海默病分类方法及装置
CN113516232B (zh) * 2021-08-10 2024-05-17 中国科学院空天信息创新研究院 一种基于自注意力机制的穿墙雷达人体姿态重构方法
CN113516242B (zh) * 2021-08-10 2024-05-14 中国科学院空天信息创新研究院 一种基于自注意力机制的穿墙雷达人体动作识别方法
CN115223271B (zh) * 2022-06-28 2024-05-07 东软睿驰汽车技术(沈阳)有限公司 车辆剩余信息误差的关注度获得方法及相关装置
CN115063666A (zh) * 2022-07-06 2022-09-16 京东科技信息技术有限公司 解码器的训练方法、目标检测方法、装置以及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108345887A (zh) * 2018-01-29 2018-07-31 清华大学深圳研究生院 图像语义分割模型的训练方法及图像语义分割方法
CN108647603A (zh) * 2018-04-28 2018-10-12 清华大学 基于注意力机制的半监督连续手语翻译方法及装置
CN110276439A (zh) * 2019-05-08 2019-09-24 平安科技(深圳)有限公司 基于注意力机制的时间序列预测方法、装置及存储介质
GB201912844D0 (en) * 2019-09-06 2019-10-23 Smiths Heimann Sas Image retrieval system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108345887A (zh) * 2018-01-29 2018-07-31 清华大学深圳研究生院 图像语义分割模型的训练方法及图像语义分割方法
CN108647603A (zh) * 2018-04-28 2018-10-12 清华大学 基于注意力机制的半监督连续手语翻译方法及装置
CN110276439A (zh) * 2019-05-08 2019-09-24 平安科技(深圳)有限公司 基于注意力机制的时间序列预测方法、装置及存储介质
GB201912844D0 (en) * 2019-09-06 2019-10-23 Smiths Heimann Sas Image retrieval system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation;Kyunghyum Cho et al;《arXiv:1406.1078v3》;20140903;全文 *
Learning to Read Irregular Text with Attention Mechanisms;Xiao Yang et al;《International Joint Conferences on Artificial Intelligence》;20171231;全文 *
基于注意力机制和改进型RNN的Web文本情感分析研究;王治权;《中国优秀硕士学位论文全文数据库信息科技辑》;20181115;第2018年卷(第11期);I138-660 *
基于深度学习的开放领域对话系统研究综述;陈晨等;《计算机学报》;20190731;全文 *

Also Published As

Publication number Publication date
CN110929869A (zh) 2020-03-27

Similar Documents

Publication Publication Date Title
CN110929869B (zh) 序列数据处理方法、装置、设备及存储介质
CN108090218B (zh) 基于深度强化学习的对话系统生成方法和装置
CN112579758A (zh) 模型训练方法、装置、设备、存储介质和程序产品
CN112955907A (zh) 量化训练的长短期记忆神经网络
US20230196202A1 (en) System and method for automatic building of learning machines using learning machines
CN113254785B (zh) 推荐模型训练方法、推荐方法和相关设备
CN111368545B (zh) 一种基于多任务学习的命名实体识别方法和装置
CN109558605B (zh) 用于翻译语句的方法和装置
CN110858226A (zh) 对话管理方法和装置
CN112580733A (zh) 分类模型的训练方法、装置、设备以及存储介质
CN113779225A (zh) 实体链接模型的训练方法、实体链接方法及装置
CN113935489A (zh) 基于量子神经网络的变分量子模型tfq-vqa及其两级优化方法
CN108475346A (zh) 神经随机访问机器
CN110782016A (zh) 用于优化神经网络架构搜索的方法和装置
CN114511152A (zh) 预测模型的训练方法和装置
CN115525743A (zh) 基于自学习白化网络的人机交互方法及电子设备
CN113591398A (zh) 基于深度强化学习的智能作业分批方法、装置及电子设备
CN113806507A (zh) 一种多标签分类方法、装置及可读介质
CN112036546A (zh) 序列处理方法及相关设备
EP4293534A1 (en) Blockchain address classification method and apparatus
CN113160795B (zh) 语种特征提取模型训练方法、装置、设备及存储介质
CN111898707B (zh) 文本分类方法、电子设备及存储介质
CN114943274B (zh) 模型训练方法、装置、存储介质、服务器、终端及系统
US20230342193A1 (en) Task processing method, task processing device, and computer program product
CN117973683B (zh) 基于评估知识表征的装备体系效能评估装置

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