赞
踩
在「拆 Transformer 系列一:Encoder-Decoder 模型架构详解」中有简单介绍 Attention,Self-Attention 以及 Multi-Head Attention,都只是在直观上介绍 Attention 的作用,如何能够像人的视觉注意力机制那样,记住关键信息,并且也介绍了 Self-Attention 机制如何能通过对自身注意力加权来学习句子内部结构以及一些语法特征。
现在,我还要打算继续详细讲解 Attention,主要讲解 Transformer 中的 Multi-Head Attention 如何实现?通过图解加说明来讲解。
上一节我们讲到,Self-Attention 的 Query=Key=Value,即 Q,K,V 三个矩阵都来自同一个输入,而 Attention 计算过程如何呢?
Attention 机制实质上就是一个寻址过程,通过给定一个任务相关的查询 Query 向量 Q,通过计算与 Key 的注意力分布并附加在 Value 上,从而计算 Attention Value,这个过程实际上是 Attention 缓解神经网络复杂度的体现,不需要将所有的 N 个输入都输入到神经网络进行计算,而是选择一些与任务相关的信息输入神经网络,与 RNN 中的门控机制思想类似。
Attention 机制计算过程大致可以分成三步:
① 信息输入:将 Q,K,V 输入模型
用表示输入权重向量
② 计算注意力分布 α:通过计算 Q 和 K 进行点积计算相关度,并通过 softmax 计算分数
另,通过 softmax 计算注意力权重,
我们将称之为注意力概率分布,为注意力打分机制,常见的有如下几种:
加性模型:
点积模型:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。