注意力机制

注意力机制

一、最开始的注意力机制

  • 为什么会有注意力机制提出来

    类似于人类看图片,当人们看到一张图片的时候,都会下意识的将注意力放到比较明显的地方或者是自己比较感兴趣的地方,当我们做英文的阅读理解的时候,一般都是先看题目,再带着问题去看全文,将注意力更多的放在与问题相关的地方,文本表示也应该类似。

  • 背景变量c

    在以往的encode-decode当中,一般都将编码器的最后一步隐藏状态作为背景向量c,不论对于什么样子的目标都是不会变的,这样显然不是很合理的。

    背景变量应当随着时间步的变化同时也应该产生相应的变化,第t步解码器的背景向量c_{t’}根据第t步的隐藏状态h_t和第t-1步解码器的隐藏状态s_{{t'}-1}决定。

  • 背景变量c_{t'}的计算

    t步解码器的背景向量c_{t’}根据第t步的隐藏状态h_t和第t-1步解码器的隐藏状态s_{t'}决定。
    C_{t'}=\sum_{t=1}^T\alpha_{t{t'}}h_t
    上式中,h_t为编码器t时间步的隐藏状态,\alpha_{t{t'}}为一个概率分布,为h_t做加权平均。
    \alpha_{t{t'}}={exp(a(s_{{t'}-1}, h_t))\over \sum_{k=1}^Texp(a(s_{{t'}-1}, h_k))}
    a代表一种运算,如果其代表点乘的话,则 a(s,h)=s^Th

\alpha_{t{t'}}={exp(s_{{t'}-1}^T h_t)\over \sum_{k=1}^Texp(s_{{t'}-1}^Th_k)}

Q为查询项,也即s_{t'-1}^T\in R^{1\times h}K为键项\in R^{h \times t}V为值项\in R^{h\times t},则上式可以简化成为

\alpha_{t{t'}}= softmax(QK)
,也即
C_{t'} = softmax(QK)^TV

  • 可以在解码器的每个时间步使用不同的背景变量,并对输入序列中不同时间步编码的信息分配不同的注意力
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容