总结、记录一下对Attention的理解。不保证正确。
Attention的流程,我觉得这一篇讲解的比较易于理解,根据公式过一遍就可以有一个简单的认知。整理流程与seq2seq一样。区别在于,在每一个时间点i,得到不同的编码向量C。使用不同的编码向量再进行解码,得到y。
Q,K,V的含义 Q代表输入,K代表被查找的全部,V就是内容。打个不一定恰当的比方,在数据库中搜索,Q就是从输入提取出的关键字,K就是全部数据的索引,通过Q和K的相似度找到目标。这三者不一定要一致,只是现在常用的K和V是相同的。Self-Attention 中 K=V=Q。分别具有矩阵权重,通过训练得到。
Attention机制:将Source中的构成元素想象成是由一系列的<Key,Value>数据对构成,此时给定Target中的某个元素Query,通过计算Query和各个Key的相似性或者相关性,得到每个Key对应Value的权重系数,然后对Value进行加权求和,即得到了最终的Attention数值。所以本质上Attention机制是对Source中元素的Value值进行加权求和,而Query和Key用来计算对应Value的权重系数。