美文网首页NLP&NLU
[读书笔记]A Structured Self-attentiv

[读书笔记]A Structured Self-attentiv

作者: top_小酱油 | 来源:发表于2020-04-13 19:06 被阅读0次

    背景和动机

    现有的处理文本的常规流程第一步就是:Word embedding。也有一些 embedding 的方法是考虑了 phrase 和 sentences 的。这些方法大致可以分为两种: universal sentence(general 的句子)和 certain task(特定的任务);常规的做法:利用 RNN 最后一个隐层的状态,或者 RNN hidden states 的 max or average pooling 或者 convolved n-grams. 也有一些工作考虑到 解析和依赖树(parse and dependence trees);

    对于一些工作,人们开始考虑通过引入额外的信息,用 attention 的思路,以辅助 sentence embedding。但是对于某些任务,如:情感分类,并不能直接使用这种方法,因为并没有此类额外的信息:the model is only given one single sentence as input. 此时,最常用的做法就是 max pooling or averaging 所有的 RNN 时间步骤的隐层状态,或者只提取最后一个时刻的状态作为最终的 embedding。

    而本文提出一种 self-attention 的机制来替换掉通常使用的 max pooling or averaging step. 因为作者认为:carrying the semantics along all time steps of a recurrent model is relatively hard and not necessary. 不同于前人的方法,本文所提出的 self-attention mechanism 允许提取句子的不同方便的信息,来构成多个向量的表示(allows extracting different aspects of the sentence into multiple vector representation)。在我们的句子映射模型中,是在 LSTM 的顶端执行的。这确保了 attention 模型可以应用于没有额外信息输入的任务当中,并且减少了 lstm 的一些长期记忆负担。另外一个好处是,可视化提取的 embedding 变的非常简单和直观。

    文章亮点

    1. 提出自注意力机制,无需外部信息即可对自身进行attention
    2. 提出用二维矩阵表示句子,矩阵的不同行表示句子不同层面的信息,使句子表达信息更丰富,解决了句子被压缩成一维向量时的信息损失

    模型介绍

    如图所示,将长度为n的句子通过隐层为u的双向LSTM得到隐态向量表示 自注意力机制: 此时便可得到一维自注意力句子向量表示:
    该向量往往只关注于句子的某个特定元素。作者认为要得到更完整的句子信息,则需要多个m来表示句子,由此引出二维句子表示矩阵:

    与传统Attention的不同

    实验设置与结果

    文中还有实验结果的可视化,即具体会关注到句子的哪些部分,这里就不贴了。有兴趣的可以到原文看看。论文附录里还有简化参数更新的trick。

    个人想法

    1. 作者在结论部分也提出,这个模型最大的不足是超参r的选择太依赖于下游的任务应用,因此难以泛化或进行无监督学习。
    2. 个人觉得r的选择不仅受限于下游的任务,还受限于句子的长度分布,若句子长度很不均匀,r小的话不足以获取长句子的完整信息,r大的话短句子的focus又过于冗余。
    3. 该模型的创新点在于不依赖于外部信息进行自身的attention,可以聚焦于句子本身的重要部分。因此可以采用该模型的一维向量表示来对句子本身进行focus得到更有效的句子表示,效果会有一些提升。

    最后,非常感谢用户@jamiechoi、@LUOHAO对本文公式格式的指正与帮助!

    参考原文:https://www.paperweekly.site/papers/notes/148
    https://www.cnblogs.com/wangxiaocvpr/p/9501442.html

    相关文章

      网友评论

        本文标题:[读书笔记]A Structured Self-attentiv

        本文链接:https://www.haomeiwen.com/subject/toinmhtx.html