transformer的多头注意力
时间: 2023-10-18 10:06:25 浏览: 180
transformer详解
5星 · 资源好评率100%
Transformer中的多头注意力机制是指将输入的向量分成多个头,每个头都进行注意力计算,最后将多个头的注意力结果拼接起来作为最终的输出。这样做的好处是可以让模型在不同的表示空间中学习到不同的信息,从而提高模型的表达能力。
具体来说,假设输入的向量为 $x\in\mathbb{R}^{d_{in}}$,我们将其分成 $h$ 个头,每个头的维度为 $d_k=d_{in}/h$。然后对每个头进行注意力计算,得到 $h$ 个输出向量 $y_i\in\mathbb{R}^{d_k}$。最后将这些向量拼接起来,得到最终的输出向量 $y\in\mathbb{R}^{d_{in}}$。
在计算注意力时,我们需要先将输入向量 $x$ 分别映射到 $h$ 个不同的表示空间中,得到 $h$ 个查询向量 $q_i,k_i,v_i\in\mathbb{R}^{d_k}$。然后对每个头分别计算注意力得分 $a_i$,再将注意力得分与对应的值向量 $v_i$ 加权求和得到该头的输出向量 $y_i$。最后将所有头的输出向量拼接起来即可。
阅读全文