[发明专利]一种基于注意力分散的长短期记忆网络的语义编码方法有效
申请号: | 202110375326.2 | 申请日: | 2021-04-08 |
公开(公告)号: | CN113033189B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 郭树理;杨文涛;韩丽娜;王国威;宋晓伟 | 申请(专利权)人: | 北京理工大学;中国人民解放军总医院第二医学中心;海南软件职业技术学院 |
主分类号: | G06F40/258 | 分类号: | G06F40/258;G06F40/284;G06F40/30;G06N3/04;G06N3/08 |
代理公司: | 北京正阳理工知识产权代理事务所(普通合伙) 11639 | 代理人: | 邬晓楠 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 注意力 分散 短期 记忆 网络 语义 编码 方法 | ||
1.一种基于注意力分散的长短期记忆网络的语义编码方法,其特征在于:包括如下步骤,
步骤1:搭建参数共享单元,通过参数共享模块接受神经网络的输入,再通过参数共享单元输出与LSTM的输入连接;以此增强LSTM控制上下文语义的能力;
步骤1的实现方法为,
参数共享单元使用的函数δ是改进的线性整流函数的ReLU函数,具体为δ(x)=2max(eαx-1,αx)-1,其中α>1,α为训练学习的参数;改进后的ReLU函数使均值输出趋于平缓,负值区域接近饱和,同时运用负值非零的特性避免神经元死亡;
参数共享模块分为控制门运算、共享单元运算、输出运算三部分;对于参数共享单元,rt是控制门运算,dt是共享单元运算,W表示各个门的权重,为待训练的参数;δ是改进的线性整流函数的ReLU函数;it是参数共享单元的输出,同时也是LSTM的输入;Wrx是对话参数共享单元对于输入xt的权重,Wrh是对话参数共享单元对于隐藏层ht-1的权重,Wrx,Wrh均为待训练参数;
控制门运算将前项隐藏层的输出和前项输入一起进行运算,使控制门计算包含前一时刻的输入和隐藏信息,参数共享单元的控制门运算公式为式(1):
rt=δ(Wrx[xt,xt-1]+Wrh[ht-1,ht-2]) (1)
式(1)中的δ对矩阵中的所有元素进行改进后的ReLU函数计算,通过式(1)输入门计算后得到rt;接下来需要进行共享单元运算得到dt,dt也是对话参数共享单元的共享参数;对话参数共享单元除了与LSTM连接,与其它对话参数共享单元也进行连接从而将dt共享,加强语义信息上的控制能力;共享单元运算为式(2):
dt=rtdt-1 (2)
对话参数共享单元的最终输出采用改进的双曲正切激活函数tanh,函数具体为其中1≤λ<2,为待学习的参数;改进后的tanh函数通过设限的方式使训练神经网络更加快速收敛,减少模型训练时间;参数共享单元输出的运算公式为式(3):
式(3)中的xt是输入,ht-1是隐藏层,ft是遗忘门,ct是记忆单元,rt是控制门运算,dt是共享单元输出,Wrx、Wrh是待训练的权重参数,it是参数共享单元的输出,同时也是LSTM的输入;tanh为改进的双曲正切激活函数,对矩阵中的所有元素进行tanh函数计算;
步骤2:将参数共享单元嵌入LSTM,从而组成嵌入参数共享单元后的LSTM神经单元;
步骤2的实现方式为,
隐藏共享层关系式为式(4)
Qt,Rt为待训练的参数;ht-1、ht-2为前一个、前两个时刻的隐藏层输出;it-1、it-2为步骤1中式(3)得到的前一个、前两个时刻参数共享单元的输出;
对于记忆单元,采用将BiLSTM的另一层记忆单元输出与输入相加计算本层的LSTM神经元的记忆单元,因此LSTM神经元的关系式为式(5):
表示在BiLSTM的另一层的记忆单元前一时刻的输出,其中xt是输入,ht-1是隐藏层,ft是遗忘门,c′t当前输入的单元状态,ct是记忆单元,Wfh Wfi Wih Wix Woh Wch Wcx是各个门的权重,是式(4)得到隐藏共享层的输出,同时也是LSTM的输入;σ(·)、tanh(·)为步骤1中改进的激活函数;
softmax为输出层函数,其中λ根据xi对应的遗忘门的输出得到,λ计算公式为λ=sigmoid(fi),fi为与hi对应的遗忘门输出,以此双激活的形式定义该激活函数,以此防止溢出值得出现,同时使输出更具鲁棒性;
步骤3:利用全连接层,将添加参数共享单元后的BiLSTM模型生成的前向上下文向量和后向上下文向量代表进行连接;
步骤3的实现方式为,
双向LSTM可以捕获前向后向的语义;添加参数共享单元后的BiLSTM模型有两层LSTM,分别为前向LSTM,后向LSTM,对于每个标记,前向LSTM从头开始处理用于计算前向上下文向量表示的向量反之亦然,后向LSTM,从中进行处理句末,计算后向上下文向量表示的向量前向向量和后向向量的连接采取语义表示连接层进行连接形成最终词向量ot;
语义表示连接层的计算公式为式(6),va表示通过连接层后得到的双向上下文向量;
ω1、ω2式(6)中各项权重且ω1+ω2=1,表示直接和;以下为的定义:u,v是二维空间中的向量u=[u1...ur]T,v=[v1...vr]则直接和u,v是二维空间中的向量则
利用积累上下文信息及未加惩罚项上下文信息计算下一个上下文信息,上下文语义信息包含语句中的隐藏语义信息,因此需利用神经网络中的隐藏层和记忆单元的结果;计算上下文语义信息ct的公式为式(7)
hi为隐藏层的输出,cj是第j个位置的记忆单元输出的累计求和,Wc、Uc设定为对角矩阵,为待学习的参数,αt,i是解码时施加在第t时刻的注意力权重;tanh为双曲函数;
利用未加历史注意力权重的原始注意力α′t,i求取施加在语义上的历史权重为αi,j,求取语义历史权重αi,j,计算公式为式(8)
va为步骤3中式(6)中通过连接层后得到的双向上下文向量,Ci-1,k为步骤4中式(9)得到的表示一个词有多少语句结构信息生成的信息;
步骤4:引入一个变量Ci,k完成注意力机制的分散;
步骤4的实现方式为,
对于在式(8)引入一个变量Ci,k完成注意力机制的分散,与其他注意力机制不同在于此变量的分散作用,用Ci,k表示一个词有多少语句结构信息生成,有多少语句结构信息没有生成;而此变量值对attention系数进行优化使attention机制既可包含语义信息,又可防止过拟合化;Ci,k的迭代公式为式(9)
at为随机丢弃系数,服从伯努利分布,将ai,k除以一个φk值,使得信息量大的话题词每次减少的数值更小一些,这样就保证了最后生成的信息能更多一些;n为输入到神经网络的文本长度,为输入到神经网络中每个词的输入,Uf为待训练的参数,δ是ReLU函数,φk的计算公式为式(10):
步骤5:计算训练目标函数,当训练目标函数达到最优时,得到模型的训练参数,同时停止对于Ci的更新迭代;
步骤5的实现方法为,
k为词的数量,公式的是编码的第一层的第i个隐藏状态;向量集合由Ti表示式(11)
每个词的概率分布P,ct为步骤4计算得到的上下文语义信息,P计算公式为式(12):
上式子中的g()表示隐藏信息和输出信息的关系程度,其计算公式为式(13)
yt为LSTM的t时刻的输出,f(·)为隐藏层公式,在式(5)有定义,计算公式为式(14)
训练目标函数为式(15):
θ,η为上述步骤中待训练参数的集合,θ={Wrx,Wrh,Wfh,Wih,Wft,Wix,Wcx,Wch,Wc,Wa}、η={Uc,Ua,ba,Uf,W0,C0,Uh};在通过以上步骤搭建好神经网络模型和确定好目标函数后,通过优化算法进行训练;
将经过上述计算和训练后得到的注意力权重αt,i与编码后得到的语义向量相乘得到最终的语义词向量ot;cl表示LSTM层数,为第cl层的产生的未加权的词向量;ot加权公式为式(16):
2.如权利要求1所述的一种基于注意力分散的长短期记忆网络的语义编码方法,其特征在于:
通过步骤1到步骤5后,得到词语编码;词语编码是自然语言生成的第一部分,还需要解码器对编码进行解码,将词语编码输入到解码器得到最终生成的文本,由于编码阶段通过对LSTM的改进加强了对语义信息的捕获能力,进而改善了最终语言生成的语义正确性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学;中国人民解放军总医院第二医学中心;海南软件职业技术学院,未经北京理工大学;中国人民解放军总医院第二医学中心;海南软件职业技术学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110375326.2/1.html,转载请声明来源钻瓜专利网。