注意力机制的网络
可以用下面这张图大致理解注意力层和卷积层以及全连接层的主要区别。右边分别是全局注意力层和局部注意力层,最典型的自注意力可以认为是局部注意力的一种。注意力层中的连线颜色表明这些权重在不断变化,而在卷积层和全连接层中它们通过梯度下降缓慢变化。
在神经网络中,注意力机制的计算公式通常是这样的:
其中, 表示查询矩阵, 表示键矩阵, 表示值矩阵, 表示键的维度。我们知道数学上两个向量a和b同向,;a和b垂直,;a和b反向,。所以两个向量的点乘可以表示两个向量的相似度,越相似方向越趋于一致,a点乘b数值越大。在上面自注意力公式中,Q和K的点乘表示Q和K元素之间相似程度,分母进行了归一化,V是输入线性变换后的特征,乘上V就能得到加权后的特征。换句话说,Q和K的引入是为了得到一个所有数值为0-1的权重矩阵,V是为了保留输入特征。
Attention机制的引入,主要是处于Attention机制的三个优点
4.1 算法优点分析
•参数少。引入Attention之后的模型复杂度同CNN、RNN等经典模型相比,复杂度更小,参数也更少。模型对于计算机的算力要求也就更小。 •速度快。RNN模型中,不能进行并行计算,而Attention机制每一步计算都不依赖于上一步的计算结果,因此Attention机制可以实现和CNN一样的并行处理操作•效果好。Attention机制引入之前,研究人员面临一个令人烦恼的问题:长距离的信息会被弱化,就好比记忆能力弱的人对于过去较为久远的记不太起来。而Attention机制是模型挑重点,在处理长文本的时候,Attention机制可以从中间抓住重点,避免重要信息丢失。
自注意力:key, value, query来源均相同
互注意力:query与key, value来源不同
https://mp.weixin.qq.com/s/XAxDVuCRVBGQp2sgoqtBww
https://mp.weixin.qq.com/s/PkzzElN1uk2Yzu1DsYnOdQ
https://mp.weixin.qq.com/s/rFNd1lXgH4jevBEZ_s2kFA