分层注意力,【原】干货|一文带你速览分层注意力网络在文本分类中的应用

2021/07/26 01:52 · 提高注意力训练 ·  · 分层注意力,【原】干货|一文带你速览分层注意力网络在文本分类中的应用已关闭评论
摘要:

分层注意力,【原】干货|一文带你速览分层注意力网络在文本分类中的应用展开全文2016年,神经网络在文本分类的任务上逐渐成为了主流方法之一。Word2vec等预训练词向量模型为文本任务提供了一个具有很强语义信息的输入,而卷积神经网络和LSTM/GRU也已表现出了在序列任务上的聚合能力。前者可以像n-gram模

分层注意力,【原】干货|一文带你速览分层注意力网络在文本分类中的应用

展开全文
2016年,神经网络在文本分类的任务上逐渐成为了主流方法之一。Word2vec等预训练词向量模型为文本任务提供了一个具有很强语义信息的输入,而卷积神经网络和LSTM/GRU也已表现出了在序列任务上的聚合能力。前者可以像n-gram模型一样将前后的信息用一个滑动窗口整合在一起,而后者则是能够在长距离上捕获信息,对于前后顺序极其敏感的文本序列输入非常有效。
注意力机制的引入进一步推动了神经网络模型在文本任务以及自然语言处理上的发展。它不仅能够帮助模型更好地利用输入中的有效信息,而且还对神经网络模型的行为提供了一定的解释能力。
本文介绍的“Hierarchical Neural Networks for Document Classfication”在传统注意力机制的基础上,考虑到了文本的内部结构:文本内的信息本身具有不同层级,比如最底层的字符级别、词语级别到上层的短语级别、句子段落级别。这篇论文将其与注意力机制结合,分别在词语级别上以及句子级别上做了注意力机制的建模,不仅提升了文本分类的效果,而且关注到了不同词语在不同类别上表征特性的变化。
这篇文章提出的分层注意力网络(Hierarchical Attention Network)的结构如上图所示。输入层使用了预训练的200维word2vec词向量,文章中也提到这一部分可以进一步用字符级别的编码模型来构建词向量。在编码层方面,上下两层编码器都采用了50维隐含层的双向GRU结构。在每个编码层之上,采用了注意力机制。
GRU训练速度更快,LSTM记忆能力更好
GRU模型相较于传统的RNN模型,使用了重置门(Reset Gate)r和更新门(Update Gate)z,它们共同决定当前信息如何传递到下一时间。相较于LSTM,GRU的参数更少(GRU只有两个控制门而LSTM有三个),因此GRU的训练速度会相对快一些,对于较小规模数据的学习效果相对更好。LSTM则是在较长的序列上有更好的记忆能力。
笔者认为由于模型的输入已经将长文本变为一些句子分别进行输入,输入文本的预期长度相较于原输入会短很多,因此在这里采用了GRU。
HAN中一种基础的注意力机制
在2016年“Attention is All you need”还未出来时,注意力机制已经和LSTM/CNN等序列模型有了很好的结合。相较于直接使用RNN最后的输出,或是使用Max-Pooling或者Average-Pooling在RNN的所有输出上做聚合,使用注意力机制能够更好地利用不同时间点上RNN单元的输出,而且还为模型的行为提供了一定程度的解释。
上图所示的公式便是在HAN中使用的比较基础的一种注意力机制。这里先用一个单层MLP获得输入的隐含表示,然后再用非线性层(tanh)加上softmax做正规化处理得到权重,最后依据这些权重做线性叠加得到重新分配权重后的序列表征。
在模型的最后,HAN采用了单层MLP加softmax做文本分类,并使用negative log likelihood作为训练目标。
原论文在Yelp Review,IMDB reviews,Yahoo reviews以及Amazon Review上做了一系列实验,比较了HAN以及几种经典的Baseline模型的效果。其中,分层注意力网络在各个数据集上都取得了很好的效果提升。
层次网络相较于之前有一定提升
文章指出,在长文本方面,朴素的神经网络模型(LSTM,CNN-word,CNN-char)并没有比传统机器学习模型(SVM)有很大的提升,它们没有充分利用层次信息。显式地使用层次信息(HN-AVE,HN-MAX,HN-ATT)则有非常显著的提升,而且本文的层次网络相较于之前使用层次信息的Conv-GRNN以及LSTM-GRNN也有一定的提升。
注意力机制帮助模型有更高输出
注意力机制对于词语信息的权重重分配,可以帮助模型在相应分类上有着更高的输出。比如对于一个评论,“good”往往象征着积极的评论。如下图所示,横坐标是权重的大小,纵坐标是出现的比例,图3(a)图是“good”在所有案例中的分布,(b)到(f)分别是评分1~5的案例中good的分布情况。可以看到,对于较好的评分(e/f图对应4/5分),”good”的权重往往会较大。
图4中bad的分布正好相反:评分越高bad的权重越小。
层次信息+注意力机制=提高模型的理解分析能力
层次信息的使用加上注意力机制,能够让模型在做出判断时,忽略掉一些干扰信息。比如下图分别是评分为4和评分为0的两个案例的注意力分配情况。左侧的红方块深浅代表句子权重,右侧的蓝方块深浅代表词语权重。可以看到在评分为4的案例中出现了don’t even like这样的信息,虽然这几个词的权重都相对较高,但是句子上的权重把这个影响忽略掉了。
在右侧评分为0的案例中,同样出现了good这样的积极词汇,但是同样地,句子上的权重帮助模型将注意力放在了收尾两句情感意向非常明显的信息上,从而做出了正确的判断。可见层次信息与注意力机制的结合确实提高了模型的理解分析能力,表现出了文本中句子层次上结构信息的重要性。
原文
Yang,Zichao, et al. "Hierarchical attention networks for documentclassification." Proceedings of the 2016 Conference of the NorthAmerican Chapter of the Association for Computational Linguistics: HumanLanguage Technologies. 2016.
引用
https://towardsdatascience.com/what-is-a-recurrent-nns-and-gated-recurrent-unit-grus-ea71d2a05a69
学术头条已建立微信交流群,想进群的同学请加学术君微信:AMiner308,记得备注:名字+单位/学校噢!
分层注意力,【原】干货|一文带你速览分层注意力网络在文本分类中的应用  第1张

分层注意力,【语义分割】分层多尺度注意力 Hierarchical multi-scale attention for semantic segmentation

1. 摘要2. 引言3.本文相关方法3.1 Multi-scale context methods3.2 Relational context methods3.3 Multi-scale inference3.4 Auto-labelling
4.本文方法5.实验6.结论

论文链接:https://arxiv.org/pdf/2005..pdf

最强语义分割网络来了,在Cityscapes test上可达85.1% mIoU,在Mapillary val上高达61.1% mIoU,SOTA!性能优于SegFix、HRNetV2-OCR等网络。
作者团队:NVIDIA

多尺度预测常用来提高语义分割的结果。多种图像尺度通过经过网络,然后利用平均池化或最大池化来得到。在本文中,作者提出一种基于attention的方法来结合多尺度预测。表明,在某些特定尺度的预测更能解决某些较难预测的例子,并且网络学会在这种情况下偏爱这些尺度,以便产生更好的预测。本文的attention机制是多层级的,使其能够减少四倍的内存占用。除了能使训练的速度更快,而且能够训练一些更大的惠存的图像,而且精度更高。实验在Cityscapes and Mapillary Vistas两个数据集上进行了验证。对于Cityscapes,有很多简易标注的图像,本文利用自动标注来改善了这个问题,达到SOTA, 在Cityscapes test上可达85.1% mIoU,在Mapillary val上高达61.1% mIoU。

语义分割任务就是对每个像素进行分类。在这个任务中有一个权衡,某些类别的预测在较低的推理分辨率下处理得最好,而其他任务在较高的推理分辨率下处理得更好。精细的细节,比如物体的边缘或薄的结构,通常可以通过放大图像尺寸来更好地预测。与此同时,对于需要更多全局背景的大型结构的预测,通常在缩小图像尺寸时做得更好,因为网络的感受野可以观察到更多必要的背景。我们把后一个问题称为类别混淆。下图给出了这两种情况的示例。

使用多尺度推断是解决这种权衡的常见做法。使用一定范围内的尺度进行预测,结果可以通过平均池化或最大池化来进行。使用平均结合多个尺度通常可以提高结果,但会有将最好的预测与较差的预测结合起来的问题。比如说,如果对于某个给定的像素,最好的预测结果来自于2x scale,一个相比差很多的预测结果来自于0.5X scale,然后对这两个结果进行取平均,这样最优的结果可能就是对不同尺度进行不同权重的结合。
为了解决这个问题,本文提出一种attention机制来预测如何结合不同尺度的预测结果。本文提出一种多层级的attention机制,通过让网络来学习一个相邻尺度之间的相关权重,由于分层级的属性,在训练的pipeline中只增加了一个额外的尺度。比如,当目标预测的scale为 {0.5, 1.0 and 2.0,其他的attention方法会要求网络首先在这些尺度上进行训练,导致会增加

4.25

X

0.

5

2

+

2.

0

2

4.25X(0.5^2 + 2.0^2)

4.25X(0.52+2.02)倍的额外的训练消耗。本文提出的方法仅增加一个0.5X的尺度进行训练,因此仅增加

0.25

X

(

0.

5

2

)

0.25X(0.5^2)

0.25X(0.52)的消耗。而且,本文提出的多层级机制也会提供在预测时选择额外scale尺度作为对比的灵活性。
为了实现在Cityscapes中的SOTA,本文同时提出了一种自动标注的策略,用于粗略标注的数据,为了提高样本的多样性,提高泛化能力。不同于以前的soft-labelling 策略,本文使用一种hard labelling,为了能够管理label存储的size,可以帮助改善在训练时减低IO消耗。
本文的主要贡献:

提出一种分层级的attention 机制,能够改善类别混淆的问题,从多尺度中找到最好的预测结果;使用基于自动标注的hard-threshold策略;实现在Cityscapes和Mapillary Vistas上SOTA。

目前最先进的语义分割网络多使用低输出步幅的网络主干。使得网络能够解决fine details的问题,同时也会产生减少感受野的问题。感受野的减小会导致网络在预测大目标的时候具有一定的局限性。金字塔池化可以抵消掉一部分这样的问题。PSPNet使用了空间金字塔池化模块,DeepLab使用带空洞的空间金字塔池化。ACNet主要利用的是中间特征而不是只是最后一层特征来产生多尺度上下文信息。

在实验中,金字塔池化的方法关注的是固定的、正方形的区域。然而,relational context 方法通过增加像素之间以及并非限制在正方区域内的关系。关系上下文方法的学习特性允许基于图像组合构建上下文,这种方法可以为非正方形的语义区域建立更合适的上下文,例如一列长长的火车或一根又高又细的灯柱。这样的方法主要有OCRNet、DANET、CFNet、OCNet。

上述方法使用的是多尺度的评估方式达到较好的结果。有两种常见的方法可以在多个尺度上组合网络预测:平均池化和最大池化,平均池化更常用。然而,平均池化产生的结果是同样权重的,可能会导致次优结果。为了解决这个问题,可以使用attention机制来结合不同尺度。

本文提出的attention机制与之前的某个方法类似,对于每个尺度学习一个密集的mask,然后不同尺度的预测再结合起来,这些多尺度预测通过在mask之间进行像素相乘,然后在不同尺度之间进行像素求和,从而得到最终结果,如上图所示。在本文的分层方法中,学习相邻尺度之间的相对attention掩码,而不是学习每个固定尺度集的所有attention掩码。在训练网络时,只训练相邻尺度对。如上图所示,给出一组来自lower scale的特征图,预测一个两个图像尺度之间的密集的相关attention。在实验中,为了得到scaled图像对,使用一个输入图像然后将其下采样两倍利用scale尺度2,这样,就有一个1x的输入和一个0.5x的缩放输入,当然其他scale-down尺度也可以选择。需要注意的是,网络输入本身是原始训练图像的重新缩放版本,因为我们在训练时使用图像缩放增强。这使得网络学会预测一个范围内的图像尺度的相对注意力。当预测的时候,可以分层的应用学到的注意力来结合N个不同的scale预测。优先考虑较低的scale,然后逐步上升到较高的scale,因为,它们具有更多的全局上下文信息,对于需要改进的scale可以使用更高scale的预测。

在训练过程中,输入图像通过一个参数

r

r

r=0.5表示进行下采样两倍,参数

r

r

r=2表示进行上采样两倍。然后两张使用

r

r

r=1和

r

r

r=0.5的图像送入网络的backbone,然后得到语义logits,每个scale也有一个attention mask,用来结合不同scale的logits,这是用于两个scale的训练和预测:

其中,

μ

\mu

μ表示双线性上采样,

?

+

*和+

?和+表示逐像素相乘和相加。使用这个方法有两个优势:

在每次预测的时候,可以灵活的选择scale,比如增加0.25X,或是2.0X的尺度;这种分层的结构提高了训练的效率。

多尺度推理通常用于改善语义分割的结果。多个图像尺度通过网络传递,然后将结果与平均或最大池合并。在这项工作中提出了一种基于注意力的方法来组合多尺度预测。在Cityscapes test上可达85.1% mIoU,在Mapillary val上高达61.1% mIoU,表现真SOTA!性能优于SegFix、HRNetV2-OCR等网络。
分层注意力,【原】干货|一文带你速览分层注意力网络在文本分类中的应用  第2张

分层注意力,基于分层注意力机制的细粒度情感分析Fine-Grained Sentiment Analysis Based on Hierarchical Attention Networks

1. 背景与简介
情感分析 [1] 是自然语言处理领域的基本任务之一,特别是aspect-level级别的细粒度情感分析越来越成为研究热点,对于商品评论、舆情分析等领域有重要的现实意义。一般来说情感分析只能对一整段文本进行情感极性判断,而细粒度情感分析针对文本的不同属性做出具体的情感分析。例如,“苹果派很美味,但服务员真的太没礼貌了”。对于这段评论,针对实体“食物(苹果派)”,情感极性判断为“积极”,对于实体“服务(服务员)”,情感极性判断为“消极”。针对一段评论的不同方面,情感极性的判断有可能完全相反。
近来深度学习方法对于自然语言处理领域的各种任务都取得了很好的效果。比如机器翻译 [2],文本分类 [3],问答 [4],文本摘要 [5] 等等。情感分析作为文本分类的子领域之一,也出现了很多优秀成果。Yoon kim [6] 提出基于卷积神经网络(CNN)的文本分类模型,成为文本分类问题的一个基准;D Tang [7] 提出用分层注意力机制分别对句子和文档建模,对文档级别文本进行情感分析;Zhang [8] 等采用了新的的思路,采用字符级别词嵌入实现文本分类,也取得了很好的效果;D Tang [9] 提出用记忆网络实现细粒度情感分析。文档和句子级别的情感分析取得了不错的效果,但难度更高、更有实际价值的aspect-level级别的情感分析的研究还处于初级阶段。D Tang [10] 提出的Target-Dependent LSTM (TD-LSTM)和Target-Connection LSTM (TC-LSTM)实现了不错的效果,通过加入属性嵌入向量,考虑具体的属性信息,实现细粒度情感分析。这些模型仅仅考虑了属性信息,但在aspect-level级别的情感分析中,实体信息更为重要,同时由于一段文本通常会有多个句子,选出那些对情感极性判断有更重要作用的句子也有很重要的意义。
本文提出了一种基于分层注意力机制的多层网络,采取实体信息作为嵌入向量,实现细粒度情感分析。首先,提取实体信息作为嵌入向量,比如“苹果派很美味,但服务员真的太没礼貌了”。这段评论,属性“苹果派”属于实体“食物”,则把“食物”对应的向量表示作为嵌入向量。aspect-level级别的情感分析中,实体信息的提取对结果有重要影响。另外,模型引入了多级注意力机制,注意力机制最先开始被应用于计算机视觉领域,后来被证实在包括机器翻译 [11],文本摘要,文本分类等多个自然语言处理处理领域也有重要的作用。由于文本通常包含多个句子,构成了单词–句子的层次结构,因此相应地可以构建句子–文档分层表示,而且由于上下文语境的不同,不同的单词和句子会对语义表达有不同的影响,而分层注意力机制则是很好的解决办法。通过加入多级注意力机制,帮助模型对不同单词、不同句子赋予不同的注意力权重,从而对情感极性做出更为准确的判断。
本文的主要贡献有以下两点:一是采取实体信息而不是属性信息作为嵌入向量,二是使用了分层注意力机制,对不同的单词和句子分别赋予不同的注意力权重。
2. 相关工作
2.1. 注意力机制
Volodymyr Mnih等人首先将注意力机制应用于图像领域,他们研究的动机也是受到人类注意力机制的启发。该模型是在传统的RNN上加入了attention机制,通过attention去学习一幅图像要处理的部分,每次当前状态,都会根据前一个状态学习得到的要关注的位置和当前输入的图像,去处理注意力部分像素,而不是图像的全部像素。这样的好处就是更少的像素需要处理,减少了任务的复杂度。随后注意力机制也被应用于NLP领域。Bahdanau等人在2014年第一次将注意力机制用于机器翻译,使用encoder-decoder框架,并且在翻译之前使用注意力机制来选择对应外语单词的原始语言的参考单词,基于attention的机器翻译系统把源语言端的每个词学到的表达和当前要预测翻译的词联系了起来。T Luong等人的工作 [12] 将attention在RNN中进行扩展,这篇论文对后续各种基于attention的模型在NLP应用起到了很大的促进作用。在论文中他们提出了两种attention机制,一种是全局(global)机制,一种是局部(local)机制。Z. Yang等人提出一种分层注意力机制,对句子和单词级别分别使用注意力机制,用于分别对句子和文档中的单词、句子的重要性进行建模。更多注意力机制的应用还包括自然语言问答 [13],图像问答 [14] 等等。注意力机制在图像和文本领域都取得了显而易见的成效。本文将使用一种分层注意力机制,对不同的单词和句子分别赋予不同的注意力权重,提高分类正确率。
2.2. Aspect-Level级别情感分析
aspect-level级别的情感分析是典型的分类问题,正如我们之前提到的,aspect-level级别的情感分析作为一种细粒度的情感分析,能够从多个角度对文本情感极性进行分析,越来越成为情感分析领域的热点问题。目前的大多数方法都是对一个句子整体进行情感极性的分析,而很少针对句子某个方面进行分析。传统的解决这些问题的方法是手动设置一系列特征。Ravichandran等人基于情感词汇的丰富 [15]、Mohammad等人基于词典的特征 [16] 来进行细粒度的情感分析,这些研究都是构建具有特征的情感分类器。但是这些方法大都依赖于提取特征的质量,而特征工程本身就是一项繁重的工程。
LSTM网络已经被证明在NLP各个领域都取得了很好的效果。Tang等人提出的TD-LSTM和TC-LSTM在判断句子情感极性时考虑了属性信息,在细粒度情感分析上取得了不错的效果。TC-LSTM通过取目标短语包含的单词的向量平均值来获得嵌入向量,然而,简单地平均目标短语的单词嵌入不足以表示目标短语的语义,效果并不理想。
尽管这些方法取得了一定的效果,但是细粒度的情感分析仍然具有很大的挑战性。本文基于之前的工作提出了一种改进的基于分层注意力机制的网络,可以充分利用实体信息进行细粒度情感分析。
3. 用于细粒度情感分析的分层注意力机制网络
3.1. 长短期记忆网络
循环神经网络(RNN)能够把以前的信息联系到现在,从而解决现在的问题。这种记忆单元使其成为自然语言处理领域最常用的网络架构,然而标准的RNN会出现梯度爆炸和梯度消失问题,为了解决这些问题,LSTM网络于1997年由Hochreiter等人提出,被广泛地应用于解决各类问题,并取得了非常棒的效果。LSTM的结构主要包括三个门和一个记忆单元。图1展示了标准LSTM的架构。
Figure 1. Standard LSTM network architecture
图1. 标准LSTM网络架构
每一个记忆单元的计算如下:
遗忘门:

f

t

=

σ

(

W

f

?

[

h

t

?

1

,

x

t

]

+

b

f

)

(1)
传入门:

i

t

=

σ

(

W

i

?

[

h

t

?

1

,

x

t

]

+

b

i

)

(2)

Δ

C

t

=

tanh

(

W

C

?

[

h

t

?

1

,

x

t

]

+

b

C

)

(3)

C

t

=

f

t

?

C

t

?

1

+

i

t

?

Δ

C

t

(4)
输出门:

o

t

=

σ

(

W

o

?

[

h

t

?

1

,

x

t

]

+

b

o

)

(5)

h

t

=

o

t

?

tanh

(

C

t

)

(6)
其中,

W

f

W

i

W

o

是权重矩阵,

b

f

b

i

b

o

是偏置。

σ

是激活函数,此处是sigmoid函数。

x

t

代表记忆单元的输入,具体是指单词的词嵌入向量。

h

t

代表隐层的输出向量。实验中将隐层的最后一个输出向量作为句子的向量表示并且将其经过softmax层处理最终输出每个类别的预测概率。
3.2. 分层注意力机制网络
实体信息对于aspect-level级别的细粒度情感分析有着重要的作用,不同于Tang等人将作为属性信息的单词词向量进行平均求值,本文采用实体信息作为嵌入向量。对于一段评论的情感极性,如果考虑的实体信息不同,情感极性可能会有相反的结果。
标准的LSTM只能判断句子的情感极性,但不能检测句子的哪一部分、哪个单词对句子情感极性的判断具有重要作用。因此本文提出一种分层注意力机制网络,在给定具体的实体信息后,通过赋予不同单词、不同句子不同的注意力权重,让网络更注意那些对句子情感极性判断有更重要作用的部分。分层即在句子级别,单词级别分别加入注意力机制,在句子级别,注意力机制可以给予重要的单词更大的注意力权重,在句子级别,注意力机制可以给予重要的句子更大的注意力权重。这样不仅每一个单词有其向量表示,每一个句子也有其向量表示,并且单词和句子都有自己的注意力权重。图2代表了新提出的的分层注意力机制网络。
Figure 2. Layered attention network
图2. 分层注意力网络
单词级别:
给定一个包含N个单词的句子,表示为

[

w

i

1

,

?

,

w

i

N

]

,通过一个词向量矩阵

W

e

,得到每个单词的词向量表示

x

i

j

=

W

e

w

i

j

,作为输入。然后使用LSTM网络得到单词级别的隐层表示,即将输入的单词向量抽象成隐层表示,隐层表示包含了输入的信息。

x

i

j

=

W

e

w

i

j

,

?

?

j

[

1

,

N

]

(7)
(8)
然后加入实体信息作为嵌入向量,相比于TC-LSTM通过取目标短语包含的单词的向量平均值来获得嵌入向量,实体信息更能表示目标短语的含义。其中嵌入向量

v

a

R

N

×

d

,N表示句子长度,d表示隐藏层神经元个数。
并不是所有单词对句子的意义表示都有相同重要的作用,因此引入注意力机制来提取那些对句子意义有更重要作用的单词,通过得到的注意力权重

α

与隐层表示

h

i

j

加权求和就可以得到句子的向量表示。

M

1

=

tanh

(

W

w

[

H

1

,

v

a

]

)

(9)

α

w

=

softmax

(

u

w

T

M

1

)

(10)

s

i

=

H

1

α

w

T

(11)
首先将嵌入向量

v

a

与LSTM输出的隐层表示

h

i

j

进行拼接作为输入,通过一层MLP网络得到

M

i

j

,然后用单词级别的向量

u

w

来衡量单词的重要程度,通过softmax激活函数得到归一化的注意力权重

α

i

j

,接下来将注意力权重

α

i

j

与LSTM的隐层表示进行加权求和,就可以得到一个句子的向量表示

s

i

。其中向量 随机初始化,在训练过程与其他参数一起参与训练。
句子级别:
Y. Wang等人提出的Attention-based LSTM网络加入嵌入向量后考虑了单词级别的注意力机制,本文提出的分层注意力机制网络则新加入一层句子级别的注意力机制,除了对单词的不同重要程度进行标明,对于一段评论,可能包含多个句子,通过对句子加入注意力机制,可以使模型提取那些跟嵌入向量更符合的句子作为情感极性分析的依据。
将输出的句子表示作为LSTM网络新的输入,即

[

s

1

,

?

,

s

T

]

,T表示句子长度,经过LSTM网络输出句子级别的隐层表示

h

i

,此时隐层表示抽象后的句子信息。

h

i

=

LSTM

(

s

i

)

,

?

?

i

[

1

,

T

]

(12)
然后再一次加入实体信息作为嵌入向量。然后在句子级别引入注意力机制,来提取那些对评论的情感极性有更重要作用的句子,通过得到的注意力权重

α

与隐层表示

h

i

的输入加权求和就可以得到整个评论的向量表示。

M

2

=

tanh

(

W

s

[

H

2

,

v

a

]

)

(13)

α

s

=

softmax

(

u

s

T

M

2

)

(14)

v

=

H

2

α

s

T

(15)
这里引入句子级别的向量

u

s

来衡量句子的重要程度,最终得到的向量v就是整个评论的向量表示,类似的,向量

u

s

也是随机初始化,在训练过程与其他参数一起参与训练。本文参考Rocktaschel的想法,将句子级别的隐层表示

h

T

加入最后整个评论的表示。

h

*

=

tanh

(

W

1

v

+

W

2

h

T

)

(16)

y

=

softmax

(

W

h

*

+

b

)

(17)

h

*

就是一个高层次的最终的整个评论的向量表示,将

h

*

经过softmax层就可以得到最终的分类结果,其中W,b分别是softmax层的权重与偏置。实验结果标明加入隐层表示

h

T

后取得了更好的实验结果。
3.3. 模型训练
本文模型使用交叉熵损失作为损失函数,y代表目标评论对应的真实分类结果,

y

^

代表预测的分类结果,训练目标则是最小化交叉熵损失。

loss

=

?

i

j

y

i

j

log

y

^

i

j

+

λ

θ

(18)
其中,i代表评论的下标,j代表类别的下标。本文是一个三分类问题。

λ

代表

L

2

正则系数,

θ

则代表参数集合。与标准的LSTM网络类似,参数集合包括

{

W

f

,

b

f

,

W

i

,

b

i

,

W

C

,

b

C

,

W

o

,

b

o

,

W

,

b

}

,除此之外,网络加入了嵌入向量

v

a

,MLP网络的参数,

W

s

,衡量单词和句子重要程度的参数

u

w

u

s

,以及

W

1

,。因此除了包含标准LSTM网络的参数外,分层注意力机制网络还包括以下参数

{

v

a

,

W

w

,

W

s

,

u

w

,

u

s

,

W

1

,

W

2

}

。其中词向量和嵌入向量也是在训练过程不断优化。
训练集中大约有5%的单词不在已有的词向量矩阵中,本文将这些单词随机初始化。最后,本文实验采用Adam算法作为我们的优化算法。
4. 实验
本文将提出的分层注意力模型应用于细粒度的情感分析。实验中训练集的所有词向量都通过Glove初始化。词嵌入向量是在未标记的语料库上预先训练的,其大小约为8400亿,其他参数都是随机初始化得到。词嵌入向量的维度大小为300,方面嵌入向量和隐藏层神经元的数目也为300。单词级别的注意力机制权重

α

w

长度与每个句子包含的单词数相同,句子级别的注意力机制权重长度

α

s

与每篇评论包含的句子数相同。本文采用tensorflow来进行实验,其中batch size大小为64,

L

2

正则化系数为0.5,学习率为0.001。
4.1. 数据集
本文实验采用的数据集是SemEval 2014 Task 4。数据集由顾客评论组成,每一篇评论对应一个实体信息以及相应的情感极性。我们的目标就是给定特定实体判断相应的情感极性。具体的数据统计见表1。
Table 1. Data set emotional polarity classification statistics table
表1. 数据集情感极性分类统计表
4.2. 实验结果
4.2.1. 模型效果对比
本文首先将改进的模型与TC-LSTM,TD-LSTM等进行了对比。采用的是SemEval 2014 Task 4下的“restaurants”数据集,该数据集包含aspect与aspect-term两个嵌入信息,对分别应“实体”,“属性”信息。对于给定的句子,采用实体信息作为嵌入信息,来判断给定实体对应的句子情感极性。比如,“这家餐厅实在是太贵了”,实体信息对应的是“价格”,数据集总共包含了五种实体信息,分别为食物,价格,服务,环境,其他。表2是实验结果。
Table 2. Entity information as the classification accuracy of each model of embedded information
表2. 实体信息作为嵌入信息的各模型分类准确率
在将实体信息作为嵌入信息的前提下,可以看出新改进的模型在实验结果上有了一定的提升,特别是在二分类问题上已经能够达到90%的准确率。
4.2.2. 嵌入信息效果对比
实验还是采用SemEval 2014 Task 4下的“restaurants”数据集,模型也跟之前的基本相同,不同的是于给定的句子,采用属性信息作为嵌入信息,来判断给定实体对应的句子情感极性。比如,“这家餐厅实在是太贵了”,将“餐厅”作为嵌入信息,来判断对应的情感极性。表3是实验结果。
Table 3. Attribute information as the classification accuracy of each model of embedded information
表3. 属性信息作为嵌入信息的各模型分类准确率
可以看出相对于实体信息,属性信息作为嵌入信息实验效果会有明显的下滑,说明在细粒度情感分析中实体信息比属性信息更重要。
4.3. 注意力机制的有效性
本文采用了注意力机制来赋予不同的单词和句子不同的权重,来更好的进行情感极性的判断。通过公式(10),(14)可以得到注意力权重的具体数值,下面通过可视化的注意力机制的图来展示注意力机制的有效性。
对于例句,“The noodles tastes good, and the price is reasonable, but the service is not good”,图3展示了在给定实体为“food”的时候,句子中每个单词被赋予的注意力权重,可以看出“noodles”,“good”被赋予了更高的权重,说明在句子情感极性的判断中二者起到了重要的作用,这也与我们的预期相符。
Figure 3. Word level attention weight distribution diagram
图3. 单词级别注意力权重分布示意图
更进一步,对于该评论中的三个句子,“The noodles tastes good”,“and the price is reasonable”,“but the service is not good”,得到每个句子的注意力权重并且可视化,结果如图4,可以看出第一个句子在情感极性的判断中起到了重要作用,而这一句子正是实体“food”所对应的句子。
Figure 4. Sentence level attention weight distribution diagram
图4. 句子级别注意力权重分布示意图
类似的,将实体“service”作为嵌入信息时,每个单词及句子的注意力权重可视化如图5和图6。
Figure 5. Word level attention weight distribution diagram
图5. 单词级别注意力权重分布示意图
与预期的结果相同,在单次级别的注意力权重计算中,“service”,“not”,“good”占有比较大的权重,而在句子级别的注意力权重计算中,“but the service is not good”占有的权重则最大。
5. 结论
本文提出了一种用于细粒度情感分析的分层注意力机制网络,一方面加入实体信息作为嵌入信息,生成包含实体信息的句子表示,使模型能够在给定实体下更好地判定相应情感极性,另一方面采用分层注意力机制,在单词,句子两个层面分别加入注意力机制,使模型能赋予那些更重要的单词,句子更大
Figure 6. Sentence level attention weight distribution diagram
图6. 句子级别注意力权重分布示意图
的权重。实验结果表明新改进的HAT-LSTM比之前的模型取得了更好的效果。对注意力权重的可视化也说明了模型可以有效地挑选出那些更重要的单词和句子。
分层注意力,【原】干货|一文带你速览分层注意力网络在文本分类中的应用  第3张

分层注意力,基于字嵌入的可识别长流的分层注意力模型

  在网络安全研究中,基于深度学习的入侵检测方法因具有较强的检测能力而受到越来越多的关注。然而,大部分基于深度学习的入侵检测方法处理长度过长的网络流量数据时能力不足,它们选择只处理流量的包头部分,忽略流量载荷中有价值的信息,因此当黑客把攻击行为隐藏在流量的载荷中时,这些入侵检测方法就无法有效检测到恶意流量。
  中科院声学所国家网络新媒体工程技术研究中心的博士生韩陆超等人提出了一种能够检测不同长度流量的注意力模型,以检测基于流量载荷的恶意流量;同时设计了一种基于生成式对抗网络(Generative Adversarial Networks, GAN)的流量生成模型,可以从原始数据集生成新的网络流量数据,以增强数据的安全性并保护用户隐私。相关研究成果2019年6月24日在线发表于国际学术期刊 IEEE Access 。
  研究人员提出的分层注意力模型,可以从字节和数据包这两个层面学习流量信息。该模型使用双向GRU(Gated Recurrent Unit)构建字节表示,并通过注意机制给不同的字节分配不同的权重,一些与分类目标直接相关的关键字节在编码过程中被赋予更多权重。数据包表示的构建与此类似,最后使用注意力机制汇总构建整个TCP(Transmission Control Protocol)流的表示向量。
  在入侵检测研究中经常遇到缺乏流量数据的问题,特别是在深度学习方法中,训练数据的局限性严重限制了模型的训练效果。此外,直接检测现实用户的网络流量可能会侵犯用户隐私。
  研究人员提出了Flow-WGAN(Wasserstein GAN)流量生成模型,从原始数据集中生成新数据。这种模型的结构和提取信息的方法与分类器不同,因此可以从同一原始训练集中学习新的特征并获得具有全新数据的网络流数据包。研究人员用此数据包来模拟新的网络应用流量类型,以评估分类器的性能或改进分类器。
  基于ISCX-2012和ISCX-2017数据集的实验结果表明,与其他四种先进的深度学习方法相比,该分层注意力模型在准确性和真阳性率(true positive rate,TPR)方面具有更高的性能,且该模型在检测生成的数据包时所需训练时间比当前最先进的HSAT-IDS恶意流量检测模型减少30%。
   
  分层注意力模型的结构图(图/中科院声学所)
   
  流量生成模型的原理图(图/中科院声学所)
  关键词:
  网络安全;入侵检测;深度学习
  参考文献:
  HAN Luchao, SHENG Yiqiang, ZENG Xuewen. A Packet-Length-Adjustable Attention Model Based on Bytes Embedding Using Flow-WGAN for Smart Cybersecurity. IEEE Access, 2019, 7: - . DOI: 10.1109/ACCESS.2019..
  论文链接:
  https://ieeexplore.ieee.org/document/

分层注意力,【原】干货|一文带你速览分层注意力网络在文本分类中的应用  第4张

分层注意力,声学所提出基于字嵌入的可识别长流的分层注意力模型

  在网络安全研究中,基于深度学习的入侵检测方法因具有较强的检测能力而受到越来越多的关注。然而,大部分基于深度学习的入侵检测方法处理长度过长的网络流量数据时能力不足,它们选择只处理流量的包头部分,忽略流量载荷中有价值的信息,因此当黑客把攻击行为隐藏在流量的载荷中时,这些入侵检测方法就无法有效检测到恶意流量。
  中国科学院声学研究所国家网络新媒体工程技术研究中心博士生韩陆超等人提出了一种能够检测不同长度流量的注意力模型,以检测基于流量载荷的恶意流量;同时设计了一种基于生成式对抗网络(Generative Adversarial Networks, GAN)的流量生成模型,可以从原始数据集生成新的网络流量数据,以增强数据的安全性并保护用户隐私。相关研究成果6月24日在线发表于国际学术期刊 IEEE Access。
  研究人员提出的分层注意力模型,可以从字节和数据包这两个层面学习流量信息。该模型使用双向GRU(Gated Recurrent Unit)构建字节表示,并通过注意机制给不同的字节分配不同的权重,一些与分类目标直接相关的关键字节在编码过程中被赋予更多权重。数据包表示的构建与此类似,最后使用注意力机制汇总构建整个TCP(Transmission Control Protocol)流的表示向量。
  在入侵检测研究中经常遇到缺乏流量数据的问题,特别是在深度学习方法中,训练数据的局限性严重限制了模型的训练效果。此外,直接检测现实用户的网络流量可能会侵犯用户隐私。
  研究人员提出了Flow-WGAN(Wasserstein GAN)流量生成模型,从原始数据集中生成新数据。这种模型的结构和提取信息的方法与分类器不同,因此可以从同一原始训练集中学习新的特征并获得具有全新数据的网络流数据包。研究人员用此数据包来模拟新的网络应用流量类型,以评估分类器的性能或改进分类器。
  基于ISCX-2012和ISCX-2017数据集的实验结果表明,与其他四种先进的深度学习方法相比,该分层注意力模型在准确性和真阳性率(true positive rate,TPR)方面具有更高的性能,且该模型在检测生成的数据包时所需训练时间比当前最先进的HSAT-IDS恶意流量检测模型减少30%。
  论文链接
  分层注意力模型的结构图(图/中科院声学所)
  流量生成模型的原理图(图/中科院声学所)

您可能感兴趣的文章

本文地址:https://www.wskee.cn/51017.html
文章标签: ,  
版权声明:本文为原创文章,版权归 专注力训练与注意力训练网 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!