Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification

paper https://www.aclweb.org/anthology/P16-2034
这篇文章讲述了如何利用LSTM+attention机制对文本进行分类
Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification_第1张图片
整篇论文可以用这张图表表示:
Input Layer: 输出层,原始数据
Embedding Layer: embedding 层,将原始数据中的单词编码为vector
LSTM Layer: 双向编码,输出每一时刻单词的隐状态
Attention Layer: 对LSTM Layer层每一时刻的输出进行attention,加权运算得到输出

Word Embeddings

将word 转变为vector通过一个, 通过与一个 look up the embedding matrix 相乘得到
在这里插入图片描述
v i v^{i} vi 是一个one hot向量,来唯一标志某个单词, W  wrd  W^{\text { wrd }} W wrd 是一个维度为d*V的矩阵,V是词汇表的总大小,是一个固定值。d是单词向量的长度,是个超参数可以设置。
embedding 矩阵可以实现训练好,比如用word2vec训练出单词的vector, 也可以attention模型训练的时候学习。

BidirectionalNetwork

双向网络,网络的单元可以是LSTM或者GRU。

对于许多序列建模任务来说,访问未来和过去的上下文是有益的。然而,标准的LSTM网络以时间顺序处理序列,它们忽略了未来的上下文。**双向LSTM网络通过引入第二个层来扩展单向的LSTM网络,在这个层中隐藏的隐藏连接以相反的时间顺序流动。**因此,该模型能够利用过去和未来的信息。

如上图所示,每个单词前向和后向传递的信息最终被合并到一起作为单词的输出:
在这里插入图片描述

Attention

Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification_第2张图片
H 为每个时刻隐向量的总矩阵 [ h 1 , h 2 , … , h T ] \left[h_{1}, h_{2}, \ldots, h_{T}\right] [h1,h2,,hT]
α \alpha α 为attention的权重矩阵,它有H经过tanh函数生成的M再通过softmax函数得到的,其中的 w T w^{T} wT是可训练的参数,决定权重如何分布
r为最终的句子表示,由隐状态矩阵H和权重 α \alpha α 相乘得到

Classifying

将上一步中的r通过tanh函数得到 h ∗ h^{*} h
在这里插入图片描述
h ∗ h^{*} h作为softmax classifier 的变量来做预测
Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification_第3张图片
代价函数如下
Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification_第4张图片
它由似然对数和L2正则组成。
此外,文章还提到使用dropout来减少过拟合的产生。

你可能感兴趣的:(机器学习)