原理源码讲解:https://www.jiqizhixin.com/articles/2018-11-06-10
https://nlp.seas.harvard.edu/2018/04/03/attention.html
这篇文章是火遍全宇宙,关于网上的解读也非常多,将自己看完后的一点小想法也总结一下。
看完一遍之后,有很多疑问,我是针对每个疑问都了解清楚后才算明白了这篇文章,可能写的不到位,只是总结下,下次忘记了便于翻查。
一:Q,K, V 到底是什么?
在传统的seq2seq框架下:
query: seq2seq模型中decode时隐层向量S t − 1 _{t-1} t−1, 记作q t − 1 _{t-1} t−1, Q就是多个query组成的矩阵Q
value: seq2seq模型中encode时的隐层向量h i _i i,记作v i _i i, V是输入序列中n个词的embedding矩阵
key: 对h i _i i做了一次先行映射得到的向量, 记作k i _i i,K同上
在本文的transformer下,结合文字和图:
(1) encoder self-attention
Q 就是input sequence( w 1 w_1 w1, w 2 w_2 w2, …, w i w_i wi, …, w n w_n