一种新型的多头注意力机制制造技术

技术编号:24290146 阅读:54 留言:0更新日期:2020-05-26 20:16
一种新型的多头注意力机制,采用局部注意力的方法,与传统的多头注意力机制采用全局注意力方法相对比,降低了模型复杂度,运算过程中所有的矩阵大小均只与序列的长度成正比,相比较传统注意力机制中与序列平方成正比的矩阵,较大程度地降低了模型的存储空间消耗。在计算过程中,相比较Transformer‑XL中的解决方案,未对序列做分块处理,极大程度的保留了原序列的序列特征,使用softmax建立全局语义,相比较Transformer‑XL中使用跨块连接的方式,提升了模型的可并行程度。

A new multi attention mechanism

【技术实现步骤摘要】
一种新型的多头注意力机制
本专利技术涉及人工智能、机器学习与数据挖掘
,具体涉及一种新型的多头注意力机制。
技术介绍
随着人工智能技术,机器学习技术在自然语言处理领域中的不断融合,越来越多的深度学习技术被应用在了自然语言处理领域。其中尤以GPT、BERT、RoBERTa、ALBERT、XL-Net等以基于多头注意力机制的Transformer为基础的方法,赢得业界交口称赞,也越来越多的被应用在了自然语言处理等领域。但是原有的多头注意力机制有其先天的劣势:首先,多头注意力机制的空间占用与处理的序列的长度的平方成正比,空间复杂度较高,在处理较长序列时会占用大量的计算空间;其次,注意力机制建立了序列中所有元素之间的关系,但在实际语言处理领域,并不需要对所有的序列中的所有元素全部建模,也就是,传统的多头注意力矩阵中的计算存在大量浪费,拖慢了序列处理的速度。而传统的解决多头注意力机制空间复杂度的方式如Transformer-XL,将序列进行了分块处理,而序列的分割破坏了序列原有的连续性结构,破坏了原有数据的特征。且在块与块之间的连接结构部分,采用类似Transformer中Decoder的注意力机制进行处理,在模型的处理过程中增加了循环结构,降低了模型的可并行化程度,降低了模型的整体性能。
技术实现思路
本专利技术为了克服以上技术的不足,提供了一种降低了模型复杂度和模型的存储空间消耗的新型的多头注意力机制。本专利技术克服其技术问题所采用的技术方案是:一种新型的多头注意力机制,包括如下步骤:a)将输入多头注意力机制的等维度的向量序列连接起来形成矩阵E,Ei,j表示矩阵中第i行第j列的数据,1≤i≤l,l为矩阵中的序列长度,1≤j≤d,d为向量序列的维度;b)分别设置模型超参数k、h、m,k、h、m为正整数,k表示为多头注意力机制中建立上下文关系的长度范围,h表示为多头注意力机制中的头的数目,m为多头注意力机制中每个头处理的隐藏层的向量维度;c)分别初始化参数矩阵集合及每个集合中有h个大小皆为d行m列的参数矩阵,为集合中的第i个矩阵,1≤i≤h,为集合中的第i个矩阵,1≤i≤h,为集合中的第i个矩阵,1≤i≤h;d)通过公式计算得到矩阵集合{Q1,Q2,Q3,……,Qh}、{K1,K2,K3,……,Kh}以及{V1,V2,V3,……,Vh},每个集合中均有h个大小均为l行m列的矩阵;e)将{K1,K2,K3,……,Kh}以及{V1,V2,V3,……,Vh}集合中的各个矩阵前后各扩展k行,扩展部分值均为0,扩展后各矩阵大小为l+2k行m列,将{Q1,Q2,Q3,……,Qh}集合中的各个矩阵向后扩展2k行,扩展部分值均为0,扩展后各矩阵大小为l+2k行m列;f)使用公式计算出矩阵集合{T1,T2,T3,……,Th},1≤i≤h,矩阵集合中各个矩阵大小均为l+2k行m列,将矩阵集合中的各个矩阵的各行的所有数据分别求和,得到向量集合其中每个向量维度均为l+2k;g)删除矩阵集合{K1,K2,K3,……,Kh}中每个矩阵的第一行,删除后在每个矩阵的最后一行扩展一行,扩展部位值均为0;h)将步骤g)处理过的矩阵集合{K1,K2,K3,……,Kh}代入步骤f)中得到向量集合其中每个向量维度均为l+2k;i)重复步骤g)至步骤h),直至执行第2k+1次,得到向量集合j)建立所有向量的大集合,将大集合中的向量连接成大小为l+2k行2k+1列的矩阵的矩阵集合{A1,A2,A3,……,Ah},Ai为矩阵集合中第i个矩阵;k)通过公式计算得到矩阵集合{C1,C2,C3,……,Ch},式中Ai,(p,q)为矩阵集合中第i个矩阵的第p行第q列的值,矩阵集合中的各个矩阵的大小均为l+2k行2k+1列,通过公式计算得到矩阵集合{R1,R2,R3,……,Rh},矩阵集合中的各个矩阵的大小均为l+2k行2k+1列;l)使用0值初始化矩阵集合{B1,B2,B3,……,Bh},矩阵集合{B1,B2,B3,……,Bh}中每个矩阵的大小均为l+2k行m列,Bi为矩阵集合中第i个矩阵,Vi为步骤d)中矩阵集合{V1,V2,V3,……,Vh}的第i个矩阵;m)通过公式Bi,(p,q)=Bi,(p,q)+Ci,(p,j)×Vi,(p,q)+Ri,(p,j)×Vi,(p,q)对Bi,(p,q)进行赋值,Bi,(p,q)为矩阵集合{B1,B2,B3,……,Bh}第i个矩阵的第p行第q列的值,Ci,(p,j)为矩阵集合{C1,C2,C3,……,Ch}中第i个矩阵的第p行第j列的值,j=1,Vi,(p,q)为矩阵集合{V1,V2,V3,……,Vh}的第i个矩阵的第p行第j列的值,Ri,(p,j)为矩阵集合{R1,R2,R3,……,Rh}中第i个矩阵的第p行第j列的值,j=1;n)通过公式j'=j+1计算j',如果j'≤2k+1则跳转执行步骤m)并用j'取代公式Bi,(p,q)=Bi,(p,q)+Ci,(p,j)×Vi,(p,q)+Ri,(p,j)×Vi,(p,q)中的j,如果j'>2k+1则执行步骤o);o)将矩阵集合{B1,B2,B3,……,Bh}中的每个矩阵删除前k行和后k行,矩阵集合中每个矩阵的大小为l行m列,将修改后的矩阵集合{B1,B2,B3,……,Bh}中的所有矩阵的列连接起来,得到一个l行m×h列的矩阵U;p)使用公式Y=U×WU计算得到最终的结果矩阵Y,结果矩阵Y的大小与步骤a)中的矩阵E相同。进一步的,步骤j)中通过公式建立所有向量的大集合。进一步的,步骤k)中函数f的定义为本专利技术的有益效果是:本新型多头注意力机制采用局部注意力的方法,与传统的多头注意力机制采用全局注意力方法相对比,降低了模型复杂度,运算过程中所有的矩阵大小均只与序列的长度成正比,相比较传统注意力机制中与序列平方成正比的矩阵,较大程度地降低了模型的存储空间消耗。在计算过程中,相比较Transformer-XL中的解决方案,未对序列做分块处理,极大程度的保留了原序列的序列特征,使用softmax建立全局语义,相比较Transformer-XL中使用跨块连接的方式,提升了模型的可并行程度具体实施方式下面对本专利技术做进一步说明。一种新型的多头注意力机制,包括如下步骤:a)将输入多头注意力机制的等维度的向量序列连接起来形成矩阵E,Ei,j表示矩阵中第i行第j列的数据,1≤i≤l,l为矩阵中的序列长度,1≤j≤d,d为向量序列的维度;b)分别设置模型超参数k、h、m,k、h、m为正整数,k表示为多头注意力机制中建立上下文关系的长度范围,h表示为多头注意力机制中的头的数目,m为多头注意力机制中每个头处理的隐藏层的向量维度;c)分别初始化参数矩阵集合及每个集合中有h个大小皆为d行m列的参数矩阵,为集合中的第i个矩阵,1≤i≤h,为集合中的第i个矩阵,1≤i≤h,为集合中的第i个矩阵,1≤i≤h本文档来自技高网...

【技术保护点】
1.一种新型的多头注意力机制,其特征在于,包括如下步骤:/na)将输入多头注意力机制的等维度的向量序列连接起来形成矩阵E,E

【技术特征摘要】
1.一种新型的多头注意力机制,其特征在于,包括如下步骤:
a)将输入多头注意力机制的等维度的向量序列连接起来形成矩阵E,Ei,j表示矩阵中第i行第j列的数据,1≤i≤l,l为矩阵中的序列长度,1≤j≤d,d为向量序列的维度;
b)分别设置模型超参数k、h、m,k、h、m为正整数,k表示为多头注意力机制中建立上下文关系的长度范围,h表示为多头注意力机制中的头的数目,m为多头注意力机制中每个头处理的隐藏层的向量维度;
c)分别初始化参数矩阵集合及每个集合中有h个大小皆为d行m列的参数矩阵,为集合中的第i个矩阵,1≤i≤h,为集合中的第i个矩阵,1≤i≤h,为集合中的第i个矩阵,1≤i≤h;
d)通过公式计算得到矩阵集合{Q1,Q2,Q3,……,Qh}、{K1,K2,K3,……,Kh}以及{V1,V2,V3,……,Vh},每个集合中均有h个大小均为l行m列的矩阵;
e)将{K1,K2,K3,……,Kh}以及{V1,V2,V3,……,Vh}集合中的各个矩阵前后各扩展k行,扩展部分值均为0,扩展后各矩阵大小为l+2k行m列,将{Q1,Q2,Q3,……,Qh}集合中的各个矩阵向后扩展2k行,扩展部分值均为0,扩展后各矩阵大小为l+2k行m列;
f)使用公式计算出矩阵集合{T1,T2,T3,……,Th},1≤i≤h,矩阵集合中各个矩阵大小均为l+2k行m列,将矩阵集合中的各个矩阵的各行的所有数据分别求和,得到向量集合其中每个向量维度均为l+2k;
g)删除矩阵集合{K1,K2,K3,……,Kh}中每个矩阵的第一行,删除后在每个矩阵的最后一行扩展一行,扩展部位值均为0;
h)将步骤g)处理过的矩阵集合{K1,K2,K3,……,Kh}代入步骤f)中得到向量集合其中每个向量维度均为l+2k;
i)重复步骤g)至步骤h),直至执行第2k+1次,得到向量集合
j)建立所有向量的大集合,将大集合中的向量连接成大小为l+2k行2k+1列的矩阵的矩阵集合{A1,A2,A3,……,Ah},Ai为矩阵集合中第i个矩阵;
k)通过公式计算得到矩阵集合{C1,...

【专利技术属性】
技术研发人员:张福鑫吴军张伯政樊昭磊张述睿
申请(专利权)人:山东众阳健康科技集团有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1