美文网首页
NLP-Attention

NLP-Attention

作者: Jessie_83bf | 来源:发表于2019-09-28 15:55 被阅读0次

    Attention:

    把注意力集中放在重要的点上, 而忽略不重要的因素. 其中重要成都取决于应用场景.

    1. 为什么要用Attention机制?

    在seq2seq模型中,原始编码模型的encode 过程中会生成一个中间向量C用于保存原序列的语义信息. 但是这个向量长度时固定的, 当输入原序列的长度比较长时, 向量C 无法保存全部语义信息, 上下文语义信息受到了限制. 这也限制了模型的理解能力. 所以使用Attention机制来打破这种原始编码解码模型对固定向量的限制.

    2. Attention 原理.

    Attention的原理就时计算当前输入序列与输出向量的匹配程度, 匹配度高也就是注意力集中点其相对分数越高, 其中Attention计算得到的匹配度权重, 只限于当前序列对, 而不是像网络模型权重这样的整体权重.

    3. 算法过程:

    1) encode 对输入序列编码得到最后一个时间步的状态C, 和每个时间步的输出h, 其中C又作为decode 的初始状态z0.

    2) 在decoder层 对于每个时间步的输出h与z0做匹配也就是match操作, 得到每个时间步的匹配向量a_01

    3)  对于所有时间步的输出h与z0的匹配度a0, 使用softmax做归一化处理,得到各个时间步对于z0的分配分数.

    4) 求各个时间步的输出h与匹配分数的加权求和得到的c0, 作为decode的下一个时间步的输入.

    5) 计算各个时间步的输出h与z1的匹配度得到C1作为decode下一个时间步的输入, 如此一步步重复下去.

    这样就可以把每个时间步重要的信息传递给decode中,以上是Attention机制的处理过程.其中match 操作,一般是求两个向量的相似度,通常有如下方法:

    1) 余弦相似度, 2) 一个简单的神经网络 输入为hh 和 ww,输出a, 3) 或者矩阵变化a=hTWz.

    参考:attention

    相关文章

      网友评论

          本文标题:NLP-Attention

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