Attention

作者: shudaxu | 来源:发表于2020-12-01 19:08 被阅读0次

    Attention叫法的起源:[1]
    其实这与之前语言模型的一个瓶颈有关,因为传统的rnn语言模型,会将输入编码进一个定长的vector中,然后decoder通过这个定长的vector来获得输出。所以这个vector本身会成为瓶颈。attention机制能够:relieve the encoder from the burden of having to encode all information in the source sentence into a fixed- length vector.
    这篇提出创造一个alignment model,来指导input与output的关联程度。本篇中使用ff网络来对此建模,并直接jointly training来训练这个网络中的参数。

    Attention的本质:
    就是用一个一个单独的网络(部分参数)来学习一个加权的参数向量aj(狭义上输入为之前的隐含状态向量sj-1与annotation向量hj),通过这个向量,来实现一个soft的“门机制”。

    Attention的分类(非严格意义分类,有交叉):
    additive attention(通过一个ff网络加权,来计算出注意力向量aj)
    dot-product attention(通过权重矩阵代替ff网络,复杂度一样,但更快,计算效率更高)【scaled dot product attention】
    self-attention(指不是关注input 与output的关系,而更多关注input之间的联系)
    key-value attention

    Attention思路的延展:
    譬如fm,FM这个做法其实提出的时间更早,不过与attention本身还是有差异的,但是思路上确实有相通之处:
    类似于全部特征固定embedding size。当然,fm获取embedding后并不是像传统dnn一样随后还有weight加权连接,而是直接隐向量之间做点积然后乘以输入的乘积。这里的做法其实类似于dot attention中Q,K的做法,这里使用Q,K的点积来作为后续V值的的激活权重,借此来建模各个输入之间的相关性。和fm唯一的区别是,fm得到的注意力矩阵是对称的,而dot attention中得到是非对称的(因为nlp中词之间的互相“依赖”关系本身也应该是非对称的)【当然,后续的处理也是有差异的,dot att中,使用attention矩阵乘以V矩阵,而fm中是乘以xi xj的交叉积矩阵】

    refer:
    [1]:NEURAL MACHINE TRANSLATION
    BY JOINTLY LEARNING TO ALIGN AND TRANSLATE
    [hard attention]:Show, Attend and Tell: Neural Image Caption
    Generation with Visual Attention

    相关文章

      网友评论

        本文标题:Attention

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