从attention到self-attention
attention的本质 通过计算Query和一组Key的相似度(或者叫相关性/注意力分布),来给一组Value赋上权重,一般地还会求出这一组Value的加权和。 一个典型的soft attention如下公式所示: 先用Query求出分别和一组Key计算相似度,计算相似度的方法有很多种,常用的有点乘、perceptron 然后用softmax归一化,得到每个Key对应的概率分布α(或者叫权重),即attention 由于Key和Value是一一对应的,再用α对Value做加权求和,得到加权和 Seq2Seq模型中attention的应用 在Seq2Seq模型中,Key = Value = encoder hidden state(即h),而 Query = decoder hidden state(即z) 其实际的含义也很好理解:通过计算当前decode出来的hidden state和encode时的hidden state的关系,给原来所有的encode的hidden state加一个权重,然后求加权和,相当于计算当前输出词对每个输入词的相关性,用这个相关性做加权求和,得到最终的hidden state。 (上图刚好没有计算Q、K、V的过程,计算顺序是这样的:z0、h -> α0 -> c0 -> z1 ... ..., 其中