Fix. 修正错别字

master
ben.guo 6 months ago
parent 558639051f
commit 09a35c33c9

@ -4,7 +4,7 @@
### 前言
前面通过向量和位置编码后,我们已经得了一个数值矩阵那么这个数值矩阵怎么把数值矩阵用起来了。接下里就到了Transformer里最吸引人的一部分注意力机制。
前面通过向量和位置编码后,我们已经得了一个数值矩阵那么这个数值矩阵怎么把数值矩阵用起来了。接下里就到了Transformer里最吸引人的一部分注意力机制。
放大语义关系学习(注意力机制)内部
@ -26,7 +26,7 @@
### 什么是矩阵相乘
一个值是标量Scalar一组是向量Vector多组是矩阵Matrix
一个值是标量Scalar维数组是向量Vector维数组是矩阵Matrix
<img src="../assets/scalar-vector-matrix.svg" alt="Scalar, Vector, Matrix" width="300" />
@ -127,7 +127,7 @@ $$
<img src="../assets/image-20240502132811665.png" alt="image-20240502132811665" width="550" />
如上图所示Wq也是[768, 768]维的矩阵Wk、Wv同理它们一开始会初始化值训练过程会自动调整。
如上图所示Wq也是一个[768, 768]维的矩阵Wk、Wv同理它们一开始会初始化值训练过程会自动调整。
单独拿一个Q出来细看[4, 16, 768]跟[768, 768]是怎么矩阵相乘的实际上相乘都是后两个维度跟768相乘也就是[16,768]跟[768,768]。如下图所示:
@ -143,7 +143,7 @@ $$
<img src="../assets/image-20240502134443646.png" alt="image-20240502134443646" width="550" />
可以看到我们将768维的矩阵切成了12分每份是64维。另外,由于大模型都是后两位数矩阵相乘,所以我们把头跟长互换,即[4, 16, 12, 64]转为[4, 12, 16, 64]。
可以看到我们将768维的向量分成12个64维的向量。另外,由于大模型都是后两位数矩阵相乘,所以我们把头跟长互换,即[4, 16, 12, 64]转为[4, 12, 16, 64]。
@ -155,7 +155,7 @@ QKV分别获得后QK则是根据路线进行矩阵相乘如下图
<img src="../assets/image-20240502212200231.png" alt="image-20240502212200231" width="550" />
其中我们把K进行了翻转方便相乘。矩阵相乘则是每个batch_size里的每个头进行矩阵相乘即[16, 64]和[64, 16]进行矩阵相乘,相乘后则是变成了[16, 16]的矩阵。
其中我们对K矩阵进行了转置transpose方便相乘。矩阵相乘则是每个batch_size里的每个头进行矩阵相乘即[16, 64]和[64, 16]进行矩阵相乘,相乘后则是变成了[16, 16]的矩阵。
@ -163,4 +163,4 @@ QKV分别获得后QK则是根据路线进行矩阵相乘如下图
本章节介绍了多头注意力机制中的QK矩阵相乘过程。在Transformer模型中输入文本通过向量化和位置编码转换成数值矩阵然后通过注意力机制放大语义关系。注意力机制的核心是QKVQuery, Key, Value的计算其中Q代表查询信息K代表被查询的索引V代表实际的内容信息。
多头注意力机制通过QK矩阵相乘放大了输入文本中词与词之间的语义关系,使得模型能够更好地捕捉文本的上下文信息,从而提高了模型对语言的理解能力。
多头注意力机制通过QK矩阵相乘计算注意力分数这些分数表示在给定查询Query的情况下每个键Key的重要性,使得模型能够更好地捕捉文本的上下文信息,从而提高了模型对语言的理解能力。

Loading…
Cancel
Save