docs(chapter2): 修正自注意力机制文档中的错别字

This commit is contained in:
KMnO4-zx
2025-06-15 09:45:06 +08:00
parent a866753911
commit 08ee8ef753

View File

@@ -155,7 +155,7 @@ def attention(query, key, value, dropout=None):
但是,在我们的实际应用中,我们往往只需要计算 Query 和 Key 之间的注意力结果,很少存在额外的真值 Value。也就是说我们其实只需要拟合两个文本序列。在经典的 注意力机制中Q 往往来自于一个序列K 与 V 来自于另一个序列,都通过参数矩阵计算得到,从而可以拟合这两个序列之间的关系。例如在 Transformer 的 Decoder 结构中Q 来自于 Decoder 的输入K 与 V 来自于 Encoder 的输出,从而拟合了编码信息与历史信息之间的关系,便于综合这两种信息实现未来的预测。 但是,在我们的实际应用中,我们往往只需要计算 Query 和 Key 之间的注意力结果,很少存在额外的真值 Value。也就是说我们其实只需要拟合两个文本序列。在经典的 注意力机制中Q 往往来自于一个序列K 与 V 来自于另一个序列,都通过参数矩阵计算得到,从而可以拟合这两个序列之间的关系。例如在 Transformer 的 Decoder 结构中Q 来自于 Decoder 的输入K 与 V 来自于 Encoder 的输出,从而拟合了编码信息与历史信息之间的关系,便于综合这两种信息实现未来的预测。
​但在 Transformer 的 Encoder 结构中,使用的是 注意力机制的变种 —— 自注意力self-attention自注意力机制。所谓自注意力即是计算本身序列中每个元素其他元素的注意力分布即在计算过程中Q、K、V 都由同一个输入通过不同的参数矩阵计算得到。在 Encoder 中Q、K、V 分别是输入对参数矩阵 $W_q、W_k、W_v$ 做积得到,从而拟合输入语句中每一个 token 对其他所有 token 的关系。 ​但在 Transformer 的 Encoder 结构中,使用的是 注意力机制的变种 —— 自注意力self-attention自注意力机制。所谓自注意力即是计算本身序列中每个元素其他元素的注意力分布即在计算过程中Q、K、V 都由同一个输入通过不同的参数矩阵计算得到。在 Encoder 中Q、K、V 分别是输入对参数矩阵 $W_q、W_k、W_v$ 做积得到,从而拟合输入语句中每一个 token 对其他所有 token 的关系。
通过自注意力机制,我们可以找到一段文本中每一个 token 与其他所有 token 的相关关系大小从而建模文本之间的依赖关系。在代码中的实现self-attention 机制其实是通过给 Q、K、V 的输入传入同一个参数实现的: 通过自注意力机制,我们可以找到一段文本中每一个 token 与其他所有 token 的相关关系大小从而建模文本之间的依赖关系。在代码中的实现self-attention 机制其实是通过给 Q、K、V 的输入传入同一个参数实现的: