Attention is All You Need
模块
Attention与 Multi-Head Attention
输入向量 x=(x1,⋯,xn)∈Rn经过待训练的矩阵WQ,WK,WV∈Rn×d得到三条输入向量Q,K,V∈Rd
Attention(Q,K,V)=Softmax(dkQTK)V
实际上, 对于向量Q,K, 展开得
QTK=(i∑WQixi)T(j∑WKjxj)=ij∑xiTWQiTWKjxj=ij∑xiRijxj
是关于x的双线性型
多头注意力Multi-Head Attention
多头注意力本质是将多个Attention的输出结合与归并的过程,相比单Attention需要多训练一个输出矩阵 WO,满足
⎩⎨⎧hi=Attention(XWQ,i,XWK,i,XWV,i)=Softmax(diQiKiT)⋅ViMHA(X)=Concati≤n(hi)⋅WO
其中结合函数Concat为一个简单嵌入
Concat(h1,⋯,hn)=(h1,⋯,hn)