多头注意力机制各头独立进行, Talking-Heads 即交头接耳.

注意力机制

已知矩阵 Qn1×dkQ_{n_1 \times d_k}Qn1​×dk​​, Kn2×dkK_{n_2 \times d_k}Kn2​×dk​​, Vn2×dvV_{n_2\times d_v}Vn2​×dv​​, 注意力
Attention⁡(Q,K,V):=A^V:=Softmax⁡(QKTdk)V.\operatorname{ Attention}(Q,K,V):= \hat{A}V:=\operatorname{ Softmax}(\frac{QK^T}{\sqrt{d_k}})V.Attention(Q,K,V):=A^V:=Softmax(dk​​QKT​)V.
将 VVV记为 (v1⋮vn2)\left( \begin{array}{c} v_{1} \\ \vdots \\ v_{n_2} \end{array} \right)⎝⎜⎛​v1​⋮vn2​​​⎠⎟⎞​. 可以将 viv_ivi​ 想象成第 i 个词汇的向量. 注意力的第 i 个 行向量为

zi:=(∑kA^i,kVk,1,⋯,∑kA^i,kVk,dv)=∑kA^i,kvk.z_i:=(\sum_k\hat{A}_{i,k}V_{k,1}, \cdots, \sum_k\hat{A}_{i,k}V_{k,d_v} )=\sum_k \hat{A}_{i,k}v_k.zi​:=(k∑​A^i,k​Vk,1​,⋯,k∑​A^i,k​Vk,dv​​)=k∑​A^i,k​vk​.
这表明 第 i 个行向量 由 V 的所有向量(词汇) 共同决定.


多头注意力机制

通过将 文字的向量分为 h 个片段, 各个片段 做注意力机制, 将得到的矩阵从左到右拼接, 得到一个矩阵, 将之投影到输出矩阵 WOW^OWO.
矩阵 WiQW_i^QWiQ​, WiKW_i^KWiK​,WiVW_i^VWiV​ 分别是 dk×dk′d_k \times d'_kdk​×dk′​, dk×dk′d_k \times d'_kdk​×dk′​, dv×dv′d_v \times d'_vdv​×dv′​.令
Qi:=QWiQQ_i:=QW_i^QQi​:=QWiQ​, Ki:=KWiKK_i:=KW_i^KKi​:=KWiK​, Vi:=VWiVV_i:=VW_i^VVi​:=VWiV​, 有注意力机制
headi⁡:=Attention⁡(Qi,Ki,Vi)\operatorname{head_i}:= \operatorname{ Attention}(Q_i,K_i,V_i)headi​:=Attention(Qi​,Ki​,Vi​).
Multihead⁡(Q,K,V):=Concat⁡(head⁡1,⋯,headh⁡)WO,\operatorname{Multihead}(Q,K,V):=\operatorname{Concat}(\operatorname{head}_1, \cdots, \operatorname{head_h} )W^O, Multihead(Q,K,V):=Concat(head1​,⋯,headh​)WO,


Talking-Heads Attention

如果我们将 多头 看成是 Q,K,VQ, K,VQ,K,V 都分为 h 个头. 也可以考虑他们分的头不相同的情况. Q,KQ,KQ,K 分为 hkh_khk​ 个头, VVV 分为 hvh_vhv​ 个头. h 是 QiKiTQ_iK_i^TQi​KiT​ 中 i 的取值数目. 这里应该注意到 如果不用 hhh 限制, i 应该有 hkh_khk​ 种取值. 从 hkh_khk​ 到 hhh 我们需要使用 转移矩阵 Pl⁡hk×h\operatorname{Pl}_{h_k \times h}Plhk​×h​. 分别 softmax 后 头依然是 h 个, 但是 VVV 的头有 hvh_vhv​个所以还需要使用 转移矩阵让 softmax 转移到 hvh_vhv​ 个头上, 转移矩阵为 Pw⁡h,hv\operatorname{Pw}_{h,h_v}Pwh,hv​​.

需要学习的参数 WiQ,WiKW_i^Q,W_i^KWiQ​,WiK​, 1≤i≤hk1 \leq i \leq h_k1≤i≤hk​. WiV,WiOW_i^V, W_i^OWiV​,WiO​, 1≤i≤hv1\leq i \leq h_v1≤i≤hv​. Pl⁡hk×h\operatorname{Pl}_{h_k \times h}Plhk​×h​, Pw⁡h×hv\operatorname{Pw}_{h\times h_v}Pwh×hv​​.

依据上面的思路
Ll:=∑jsoftmax⁡(∑iQiKiTPl⁡i,j)Pw⁡j,lL_l:=\sum_{j}\operatorname{softmax}(\sum_iQ_iK_i^T\operatorname{Pl}_{i,j})\operatorname{Pw}_{j,l} Ll​:=j∑​softmax(i∑​Qi​KiT​Pli,j​)Pwj,l​ 对矩阵的行向量归一化. 注意力机制最后一步 softmax 乘以 VlV_lVl​
Ul:=LlVlU_l:=L_l V_lUl​:=Ll​Vl​
对多头注意力还需要拼接 UlU_lUl​, 然后乘以 WOW^OWO.
我们做一点改动, UlU_lUl​ 是 其拼接矩阵的 1×hv1 \times h_v1×hv​ 分块, 将 WOW^OWO 分块为 hv×1h_v \times 1hv​×1
(W1O⋮WhvO)\left( \begin{array}{c} W^O_{1} \\ \vdots \\ W_{h_v}^O \end{array} \right)⎝⎜⎛​W1O​⋮Whv​O​​⎠⎟⎞​
这样我们可以使用 WlOW^O_lWlO​ 取代 WOW^OWO. 每个头做注意力机制然后相加.即
O:=∑lhvUlWlO.O:=\sum_l^{h_v}U_l W_l^O. O:=l∑hv​​Ul​WlO​.


什么 要将 点乘的头和 Q,KQ,KQ,K 的头区分?
为什么 QQQ, KKK 得 头要一样多?

Talking-Heads Attention相关推荐

  1. 图文并茂解释Transformer--The Illustrated Transformer翻译精简

    原文链接https://jalammar.github.io/illustrated-transformer/ 所需知识储备: RNN, Seq2Seq序列模型,Residual残差计算... 自从A ...

  2. attention seq2seq transformer bert 学习总结 _20201107

    https://blog.csdn.net/weixin_44388679/article/details/102575223 Seq2Seq原理详解 一文读懂BERT(原理篇) 2018年的10月1 ...

  3. “Attention is All You Need 翻译

    <p><img src="output_0_0.png" alt="png"></p> "Attention is ...

  4. 全领域涨点 | Evolving Attention在CV与NLP领域全面涨点

    本文提出了一种新型通用的注意力机制Evolving Attention来提高Transformer的性能.针对多种任务,其中包括图像分类.自然语言理解和机器翻译,本文所提出的Evolving Atte ...

  5. NLP中的Attention注意力机制+Transformer详解

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 作者: JayLou娄杰 知乎链接:https://zhuanlan.zhihu. ...

  6. Attention Is All You Need (transformer)

    Transformer 研究意义: 1.提出了self-attention,拉开了非序列化模型的序幕 2.为预训练模型的到来打下了坚实的基础 序列化模型主导(LSTM) <----- 2017 ...

  7. Paper:2017年的Google机器翻译团队《Transformer:Attention Is All You Need》翻译并解读

    Paper:2017年的Google机器翻译团队<Transformer:Attention Is All You Need>翻译并解读 目录 论文评价 1.Motivation: 2.创 ...

  8. 【知识星球】ElementAI提出超复杂多尺度细粒度图像分类Attention模型

    欢迎大家来到<知识星球>专栏,这里是网络结构1000变小专题. 作者&编辑 | 言有三 1 Attention模型 Attention机制已经被证明在很多的任务中都能提升其性能,我 ...

  9. AAAI 2021最佳论文亚军:Attention+积分梯度=归因解释新方法

    ©PaperWeekly 原创 · 作者|李泺秋 学校|浙江大学硕士生 研究方向|自然语言处理.知识图谱 本文是对 AAAI 2021 最佳论文亚军得主<Self-Attention Attri ...

  10. 【Transformer】CrossFormer:A versatile vision transformer based on cross-scale attention

    文章目录 一.背景 二.动机 三.方法 3.1 Cross-scale Embedding Layer(CEL) 3.2 Cross-former Block 3.2.1 Long Short Dis ...

最新文章

  1. html body 间距,VBA&amp; HTMLBody - 正文和签名之间的间距
  2. codeforces round 422 div2 补题 CF 822 A-F
  3. python array函数_Python numpy.array函数方法的使用
  4. 使用友盟分享心得(SSO登陆,不能获取accesstoken,不能跳转APPSSO登陆的问题)
  5. Java BigDecimal和double区别
  6. java中变量运算细节 (2)
  7. 快捷键查看Emacs源码
  8. app调用webapi时候出现读取不到session的问题
  9. vue + ElementUI如何动态删除表格当前行内容
  10. 用Python绘制杨紫作品集动态二维码
  11. 这条命令帮我在一分钟内修改了200台远程服务器密码!
  12. 组织能力:企业成败的关键(组织能力杨三角系列一)
  13. win10计算机怎么拨号上网,win10如何设置宽带拨号连接
  14. 【翻译】torch.device的使用举例
  15. 从招股书看蚂蚁集团的技术底色
  16. 读取网络时间完整代码
  17. 自发光材质、panner、sin——移动的光栅
  18. 计算机二级c语言软件是,我想考计算机二级考C语言,用哪个教材?下载哪个软件?谢谢!!!!...
  19. call和calling的用法_call和called的区别和用法
  20. 美国圣克鲁斯大学计算机科学,加州大学圣克鲁兹分校最热门专业,了解一下?...

热门文章

  1. MPU6050配置及读数换算
  2. cpu飙升系统挂掉解决方案
  3. Layui改变数据的状态
  4. python语言具有使用变量需要先定义后使用-python的变量
  5. 自己动手写数据库:记录管理器的设计和实现
  6. 主流浏览器内核及JS引擎
  7. KDZD400QH2S检测仪
  8. CCProxy代理上网设置方法
  9. Windows远程桌面连接提示:出行身份验证错误 要求的函数不受支持
  10. 成都扬帆牧哲教育咨询公司—怎么做网店运营?