admin 管理员组

文章数量: 1086019


2024年3月28日发(作者:表单验证javascript)

multi-head self-attention 公式

多头自注意力(Multi-Head Self-Attention)是自然语言处理领域,特别是在

Transformer架构中的一个核心组件。其主要思想是将输入序列映射到多个不同的表示

子空间,并在每个子空间中独立地计算自注意力,然后将这些注意力输出拼接起来,进

行一次线性变换得到最终的输出。

具体来说,给定输入序列 (X in mathbb{R}^{n times d}),其中 (n) 是序列长度,

(d) 是输入维度。首先,通过线性层将输入映射到查询(Query)、键(Key)和值(Value)

三个维度上,即:

(Q = XW_Q, quad K = XW_K, quad V = XW_V)

其中 (W_Q, W_K, W_V in mathbb{R}^{d times d_k}) 是可学习的权重矩阵,(d_k)

是查询、键和值的维度。

接下来,将查询、键和值分割成 (h) 个头,每个头的维度为 (frac{d_k}{h})。对于每

个头,独立地计算自注意力分数:

(text{Attention}(Q_i, K_i, V_i) = text{softmax}left(frac{Q_i

K_i^T}{sqrt{d_k/h}}right)V_i)

其中 (Q_i, K_i, V_i) 分别表示第 (i) 个头的查询、键和值。

最后,将每个头的注意力输出拼接起来,并通过一个线性层得到最终的输出:

(text{MultiHead}(Q, K, V) = text{Concat}(text{head}_1, ldots, text{head}_h)W^O)

其中 (text{head}_i = text{Attention}(Q_i, K_i, V_i)),(W^O in mathbb{R}^{d_k

times d}) 是可学习的权重矩阵。

通过多头自注意力机制,模型能够同时关注来自不同位置的信息,并且能够在不同

的表示子空间中捕获不同的上下文信息,从而增强模型的表示能力。


本文标签: 输入 注意力 模型 序列 输出