ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

注意力机制的一些变体

2022-08-26 10:01:08  阅读:194  来源: 互联网

标签:... right Attention 变体 机制 注意力 向量 left


1. 硬性注意力机制

在经典注意力机制章节我们使用了一种软性注意力的方式进行Attention机制,它通过注意力分布来加权求和融合各个输入向量。而硬性注意力(Hard Attention)机制则不是采用这种方式,它是根据注意力分布选择输入向量中的一个作为输出。这里有两种选择方式:

  • 选择注意力分布中,分数最大的那一项对应的输入向量作为Attention机制的输出。

  • 根据注意力分布进行随机采样,采样结果作为Attention机制的输出。

硬性注意力通过以上两种方式选择Attention的输出,这会使得最终的损失函数与注意力分布之间的函数关系不可导,导致无法使用反向传播算法训练模型,硬性注意力通常需要使用强化学习来进行训练。因此,一般深度学习算法会使用软性注意力的方式进行计算,

2. 键值对注意力机制

假设我们的输入信息不再是前边所提到的\[H = \left[ {h\_1,h\_2,h\_3,...,h\_n} \right]\] 而是更为一般的键值对(key-value pair)形式 (K,V)=[(k1,v1),(k2,v2),...,(kn,vn)](K,V)=[(k1,v1),(k2,v2),...,(kn,vn)] ,相关的查询向量仍然为 qq。这种模式下,一般会使用查询向量 qq和相应的键 kiki进行计算注意力权值 aiai。

ai=softmax(s(ki,q))=exp(s(ki,q))∑nj=1exp(s(kj,q))ai=softmax(s(ki,q))=exp(s(ki,q))∑j=1nexp(s(kj,q))

当计算出在输入数据上的注意力分布之后,利用注意力分布和键值对中的对应值进行加权融合计算:

\[context = \sum\limits_{i = 1}^n {{a_i}} \cdot {v_i}\]

显然,当键值相同的情况下\[k = v\],键值对注意力就退化成了普通的经典注意力机制。

3. 多头注意力机制

多头注意力(Multi-Head Attention)是利用多个查询向量 Q=[q1,q2,...,qm]Q=[q1,q2,...,qm],并行地从输入信息\[\left( {K,V} \right) = \left[ {\left( {k\_1,v\_1} \right),\left( {k\_2,v\_2} \right),...,\left( {k\_n,v\_n} \right)} \right]\]中选取多组信息。在查询过程中,每个查询向量 qiqi 将会关注输入信息的不同部分,即从不同的角度上去分析当前的输入信息。

假设 aijaij代表第 ii 各查询向量 qiqi 与第 jj 个输入信息 kjkj 的注意力权重, contexticontexti 代表由查询向量qiqi计算得出的Attention输出向量。其计算方式为:

\[\begin{array}{*{20}{l}}
{{a_{ij}} = softmax(s({k_j},{q_i}))}&{ = \frac{{exp(s({k_j},{q_i}))}}{{\sum\limits_{t = 1}^n e xp(s({k_t},{q_i}))}}}\\
{contex{t_i}}&{ = \sum\limits_{j = 1}^n {{a_{ij}}} \cdot {v_j}}
\end{array}\]

最终将所有查询向量的结果进行拼接作为最终的结果:

\[context = contex{t_1} \oplus contex{t_2} \oplus contex{t_3} \oplus ... \oplus contex{t_m}\]

公式里的 \[ \oplus \]表示向量拼接操作。

标签:...,right,Attention,变体,机制,注意力,向量,left
来源: https://www.cnblogs.com/beyoncewxm/p/16625342.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有