本发明涉及自然语言处理领域,尤其涉及一种自注意力机制的动态调整方法及系统。
背景技术:
1、自然语言处理(natural language processing,nlp)是以语言为对象,利用计算机技术来分析、理解和处理自然语言的一门学科,即把计算机作为语言研究的强大工具,在计算机的支持下对语言信息进行定量化的研究,并提供可供人与计算机之间能共同使用的语言描写。包括自然语言理解(naturallanguage understanding,nlu)和自然语言生成(natural languagegeneration,nlg)两部分。
2、google于2017年6月提出了解决sequence to sequence问题的transformer模型,该文章使用全attention的结构代替了lstm,抛弃了之前传统的encoder-decoder模型必须结合cnn或者rnn的固有模式,在减少计算量和提高并行效率的同时在多种语言模型任务都取得了较好的表现。然而,transformer的模型相对于传统的编码器-解码器架构更为复杂,它在计算自注意力分布时需要计算所有输入序列的注意力信息,这使得transformer在该步计算时时间复杂度是o(n2)级别,而传统编码器-解码器架构仅仅为o(n)。对于要处理上千个字符的输入序列,传统的transformer需要较长的训练时间。
技术实现思路
1、鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种自注意力机制的动态调整方法及系统。
2、根据本发明的一个方面,提供了一种自注意力机制的动态调整方法,所述动态调整方法包括:
3、设计动态调整窗口函数,用于采用注意力机制计算;
4、动态调整自注意力机制在transformer架构中的实现方式,控制离查询值距离不同的注意力权重。
5、可选的,所述设计动态调整窗口函数,用于采用注意力机制计算具体包括:
6、动态调整窗口函数,使得注意力机制计算时,只计算合适范围的值。
7、可选的,所述动态调整窗口函数为:
8、
9、其中,x是离查询值距离,d是需要学习的窗口长度参数,r是缓冲区间长度,x为超参数。
10、可选的,所述动态调整自注意力机制在transformer架构中的实现方式具体包括:
11、使用动态窗口调整函数的值判断是否需要计算相应的注意力权值,控制离查询值距离不同值的注意力权重,减小了模型的计算量,使得模型处理更长的文本输入。
12、可选的,所述自注意力机制中的变量取值范围根据可学习的窗口长度参数d来控制。
13、可选的,所述注意力机制计算方法具体包括:注意力计算函数的计算过程如下式所示。
14、
15、公式中q,k,v表示将全部输入映射得到的查询query、索引key、内容value向量拼接为一体的矩阵;dk表示key向量的维度;softmax函数用于将注意力权值映射为(0,1)之前的概率分布;
16、qkt为点积的运算过程,dk为控制缩放的程度。
17、可选的,所述动态调整自注意力机制在transformer架构中的实现方式具体包括:
18、引入多头机制后计算某个注意力头hi输入位置为k的元素xk时对应输出向量的zik计算方式如下:
19、
20、
21、
22、
23、
24、公式中wiq,wik,wiv表示注意力头hi将全部输入映射得到的query、key、value向量拼接为一体的矩阵;xk,xj分别表示输入位置为k,j的元素对应向量;dk表示key向量的维度;αkj是使用softmax函数将注意力权值ekj映射为(0,1)之前的概率分布。
25、可选的,所述动态调整自注意力机制在transformer架构中的实现方式还包括:如果wjd值为零,无需计算ekj,减小了模型的计算量。
26、可选的,所述动态调整方法还包括:
27、优化时模型自动寻找合适的di值,将di的带权求和加入到损失函数l,m是自注意力头数量,λ>0是超参数。
28、
29、本发明还提供了一种自注意力机制的动态调整系统,其特征在于,所述调整系统包括:
30、窗口函数调整模块,用于设计动态调整窗口函数,用于采用注意力机制计算;
31、动态调整模块,用于动态调整自注意力机制在transformer架构中的实现方式,控制离查询值距离不同的注意力权重。
32、本发明提供的一种自注意力机制的动态调整方法及系统,所述动态调整方法包括:设计动态调整窗口函数,用于采用注意力机制计算;动态调整自注意力机制在transformer架构中的实现方式,控制离查询值距离不同的注意力权重。通过窗口调整函数,注意力机制计算时不必计算全局的变量,只需要计算合适范围内的值。在对模型性能损失较小的前提下降低模型的复杂度,使得模型能够处理更长的文本输入。
33、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
1.一种自注意力机制的动态调整方法,其特征在于,所述动态调整方法包括:
2.根据权利要求1所述的一种自注意力机制的动态调整方法,其特征在于,所述设计动态调整窗口函数,用于采用注意力机制计算具体包括:
3.根据权利要求1所述的一种自注意力机制的动态调整方法,其特征在于,所述动态调整窗口函数为:
4.根据权利要求1所述的一种自注意力机制的动态调整方法,其特征在于,所述动态调整自注意力机制在transformer架构中的实现方式具体包括:
5.根据权利要求1所述的一种自注意力机制的动态调整方法,其特征在于,所述自注意力机制中的变量取值范围根据可学习的窗口长度参数d来控制。
6.根据权利要求1所述的一种自注意力机制的动态调整方法,其特征在于,所述注意力机制计算方法具体包括:注意力计算函数的计算过程如下式所示。
7.根据权利要求1所述的一种自注意力机制的动态调整方法,其特征在于,所述动态调整自注意力机制在transformer架构中的实现方式具体包括:
8.根据权利要求7所述的一种自注意力机制的动态调整方法,其特征在于,所述动态调整自注意力机制在transformer架构中的实现方式还包括:如果wjd值为零,无需计算ekj,减小了模型的计算量。
9.根据权利要求1所述的一种自注意力机制的动态调整方法,其特征在于,所述动态调整方法还包括:
10.一种自注意力机制的动态调整系统,其特征在于,所述调整系统包括: