基于改进的混合自注意力机制模型的研究

2021-02-14 06:24马佳琳
电视技术 2021年12期
关键词:注意力权重向量

高 莹,马佳琳

(沈阳师范大学 软件学院,辽宁 沈阳 110000)

0 引 言

早期,计算机处理自然语言等主观任务,通常使用语料库的方法,将所有词汇转变为数据再进行处理,这种方法费时又费力。近年来,深度学习技术引起了自然语言处理领域学者的广泛关注。2017年,谷歌提出基于自注意力机制的预训练模型,解决了自然语言处理任务的瓶颈[1]。自注意力用于计算元素序列的分类分布,得到的概率可以反映每个元素的重要性,并作为生成上下文编码的权重,即所有元素的加权平均和。自注意力机制降低了对外部信息的依赖,并且更擅长于捕捉内部信息关系。

自注意力有两个分支,即软注意力机制和硬注意力机制。在软注意力机制计算中,通常会为琐碎的元素分配少量权重,一旦这些琐碎元素的数量达到一定数量级,注意力矩阵会把很大一部分权重分配给这些琐碎元素,从而导致模型对重要信息的注意力减弱。而硬注意力机制从样本中选择元素的子集并且一次只关注一个元素,强制模型只关注重要元素而不考虑其他信息。传统的自注意力机制只能将两个词的相关性设置为零,这极大削弱了词间的冲突程度。因此,本文提出在注意力矩阵中应用负权重信息来帮助模型提取此类信息。

1 相关工作

注意力机制首先被应用在处理视觉领域的问题中,接着人们又将注意力引入到自然语言处理中,如关系抽取、机器翻译、情感分类等任务。XIAO等人[2]在2018年提出了注意力因子分解机AFM,在特征交叉层和输出层之间加入注意力网络,为每一个交叉特征提供权重。SONG等人[3]在2019年提出了AutoInt模型,该模型使用多头自注意力机制来自动学习交互特征,通过堆叠多个注意力层以捕捉高阶交互并增加注意力头的数量以提高表达能力,从而提高CTR预测任务的准确性。VASWANI等人[4]提出多头注意力机制模型代替了传统的seq2seq模型,大大提高了模型的并行性。张青博等人[5]提出规范化矩阵分解模型,利用项目属性关注度获取用户偏好以提高推荐精准度,但这种方法要求带权重的注意力向量必须是连续的,分裂了长关系依赖。

2 注意力机制

2.1 软注意力机制(Soft Attention)

假定一个输入序列X=(x1,…,xn),其中xi表示第i个元素的嵌入向量。句子的标记分数由Softmax函数生成,如式(1)所示。

式中:Qi表示原始注意力向量,n表示句子的长度,S表示句子的最终嵌入。

然而,由于原始注意力向量是一维的,对句子不够重视。因此,VASWANI等人[6]提出了一种自注意力机制,将源文件看成是键值对序列,用K表示键序列、V表示值序列和Q表示查询序列,自注意力机制就可以被描述为键值对序列在该查询上的映射,再使用Softmax函数对注意力矩阵得分做归一化处理,如式(3)所示。

式中:dk是比例因子。

2.2 硬注意力机制(Hard Attention)

硬注意力克服了长序列软注意力的弱点,强调只关注重要元素而忽视其他无关信息,同时解决一维向量存在的局限。使用变量ai表示注意力向量是否关注句子i中的位置,对于任何位置的句子注意力向量,只有一个位置为1,其余位置都等于0。这种一次只关注一个位置的技术构成了硬注意力机制的基础,可以描述为:

3 混合自注意力机制模型

由于传统注意力机制产生的缺陷,本文使用稀疏注意力矩阵来提取句子的正负信息,从而更好地理解语言的内部结构,并提出一种混合自注意力机制模型。首先,利用词间的距离信息和注意力的权重信息来构造注意力矩阵的稀疏性;其次,利用软注意力机制提供的相对稳定的环境来优化模型的性能,从而帮助模型提取句子的双向信息。

在计算硬注意力模型时,考虑到词间的距离信息,使用αe-x函数来逐渐减少距离远的词之间的影响。其中α表示可训练参数,x表示两个词间的距离。同时,还需要充分考虑注意力权重对模型的影响。因此,信息增强注意力矩阵计算可表示为:

式中:α+和β+为可训练的参数,将α+初始化为0.2,β+初始化为0.8。随着后续训练,不断调整参数值,以在距离因子和注意力之间得到更好的权重;H表示不考虑距离因素的情况下词向量i和j之间的关联值,H+计算重新训练了一个查询矩阵Q+以区分硬注意机制和软注意机制。如式(6)所示:

为了得到稀疏注意力矩阵并消除琐碎信息的影响,设置阈值μ来过滤掉权重过小的元素,从而达到提取模型重要信息的效果。该方法将小于阈值的位置设置为负无穷大,大于或等于阈值的位置不处理。最终经过归一化指数函数处理后就会得到一个稀疏的权重矩阵。如式(7)、式(8)所示:

此信息增强矩阵A+把句子中不重要的信息设置为零,从而增加重要信息的权重。按照同样的方法,训练信息缩减矩阵A-,用于提取句子中的负信息。融合信息增强矩阵和信息缩减矩阵,形成最终的混合注意力矩阵A,如式(9)所示,通过构造注意力矩阵的负权重,让注意力机制捕获更多信息。最后将注意力矩阵A和值矩阵V相乘以获得句子表示,如式(10)所示。

4 实验与评价

4.1 数据集

本文使用开源的IMDB数据集,有50 000条电影评论数据,包含训练集、测试集和未标记数据的二进制分类数据集,如表1所示。

表1 IMDB数据集分类表

4.2 实验参数

为了评估μ值对结果的影响,使用不同μ值(0.5/n、0.6/n、0.7/n、0.8/n、0.9/n和1/n),上限设置为1/n。实验结果如图1所示。

图1 不同μ值的准确度曲线图

图1 表明模型在μ值为0.9/n时获得最佳成绩。模型的分数随着μ的增加而增加,即正负信息的提取变得更加集中,但过度集中可能会导致重要信息被忽略。因此需选择合适的μ值以提高模型的性能。

4.3 实验结果与分析

为了验证模型的有效性,本文采用准确率(Accuracy)和F1值(F1-Measure)作为模型评估指标,在IMDB公开数据集上与传统的常用模型进行对比实验,具体如下:

(1)TextCNN,该模型采用三种大小的多通道卷积核,提取到了文本不同的N-grams特征;

(2)LSTM,长短期记忆网络,使用一个神经网络模型对文本编码获取语义信息;

(3)BiLSTM,该模型采用双向长短期记忆网络,从而提取到了文本的上下文信息;

(4)BGRU,该模型采用双向在BiLSTM基础上减少“门”的数量,使结构更加简单;

(5)Self-Attention,此模型只包含自注意力机制。

经过对比实验,以上模型与本文混合自注意力模型的实验结果如表2所示。

通过表2的实验数据可知,在IMDB数据集上,本文模型相比Self-Attention模型准确率和F1-值分别提高3.17%和1.5%,比其他模型表现更优。

表2 模型实验对比结果表

5 结 语

本文提出的混合的自注意力机制模型改进了现有的模型,该模型采用硬注意力机制来减轻软注意力机制引入的琐碎信息的高权重影响,并克服传统自注意力模型无法提取负面信息的问题。该方法具有普遍性,可以扩展到其他自注意力机制的应用场景,例如翻译任务等。未来的工作将优化模型以提高其性能。

猜你喜欢
注意力权重向量
向量的分解
让注意力“飞”回来
聚焦“向量与三角”创新题
权重常思“浮名轻”
为党督政勤履职 代民行权重担当
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
基于局部权重k-近质心近邻算法