原理源码讲解: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时隐层向量St−1_{t-1}t−1, 记作qt−1_{t-1}t−1, Q就是多个query组成的矩阵Q
value: seq2seq模型中encode时的隐层向量hi_ii,记作vi_ii, V是输入序列中n个词的embedding矩阵
key: 对hi_ii做了一次先行映射得到的向量, 记作ki_ii,K同上
在本文的transformer下,结合文字和图:
(1) encoder self-attention
Q 就是input sequence(w1w_1w1, w2w_2w2, …, wiw_iwi, …, wnw_nw