《A Structured Self-Attentive Sentence Embedding》阅读笔记

论文来源:ICLR 2017

本文利用self-attention的方式去学习句子的embedding,表示为二维矩阵,而不是一个向量,矩阵中的每一行都表示句子中的不同部分。模型中使用了self-attention机制和一个特殊的regularization term。


《A Structured Self-Attentive Sentence Embedding》阅读笔记_第1张图片

目的是将变长的句子encode到定长的embedding中

Self-attention

其中H是LSTM的输出隐状态,Ws1和ws2分别是参数。

二维矩阵的self-attention

最终的sentence embedding为:

sentence embedding

Penalization Term:

M会有冗余,如果不同的attention之间有相似信息,因此不同attention之间需要有约束。

The best way to evaluate the diversity is definitely the Kullback Leibler divergence between any 2 of the summation weight vectors.

但是不能使用KL距离的原因在于attention值中有一些0,可能会使得训练不稳定,另外我们希望A中的每一行代表单一的语义,也就是说各个attention之间更加独立,不要相互干扰,但是KL距离不能。

penalization term


在AAT中的非对角元素

在极端情况下,ai和aj这两个概率分布之间没有重叠,aij为0,否则的话是一个正数;如果两个分布相同,所有集中在一个单词上,那么它的最大值是1。减去单位矩阵是为了让对角元素接近1,因为希望attention能更集中在少量词汇上,这样就能减少多个attention之间的重叠和冗余。


《A Structured Self-Attentive Sentence Embedding》阅读笔记_第2张图片
Sentence embedding不同行数的影响

你可能感兴趣的:(《A Structured Self-Attentive Sentence Embedding》阅读笔记)