From 4ed47f39184276cc6efcbc0a4ddea0a5f5c8afb0 Mon Sep 17 00:00:00 2001 From: Zhixu Duan <1521786784@qq.com> Date: Thu, 2 Oct 2025 12:26:44 +0800 Subject: [PATCH] =?UTF-8?q?fix(docs):=20=E4=BF=AE=E5=A4=8D=E7=AC=AC?= =?UTF-8?q?=E4=BA=8C=E7=AB=A0=20Transformer=E6=9E=B6=E6=9E=84.md=20?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E5=85=AC=E5=BC=8F=E5=92=8C=E7=9F=A9=E9=98=B5?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 这是一个简单的文档修复,解决了 `第二章 Transformer架构.md` 文件中的两个显示问题。 1. **公式修复 (2.2.3节):** 公式 `$Z_j^{i}$` 因空格问题未能正确显示,现已修复。 2. **矩阵格式修复 (2.3.2节):** 一个矩阵被错误地显示成了一行。现已通过换行进行格式化,使其能够以正确的矩阵形式显示。 --- docs/chapter2/第二章 Transformer架构.md | 26 +++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/docs/chapter2/第二章 Transformer架构.md b/docs/chapter2/第二章 Transformer架构.md index 955916c..8caab53 100644 --- a/docs/chapter2/第二章 Transformer架构.md +++ b/docs/chapter2/第二章 Transformer架构.md @@ -388,7 +388,7 @@ $$ \mu_j = \frac{1}{m}\sum^{m}_{i=1}Z_j^{i} $$ -其中,$Z_j^{i}$ 是样本 i 在第 j 个维度上的值,m 就是 mini-batch 的大小。 +其中, $Z_j^{i}$ 是样本 i 在第 j 个维度上的值,m 就是 mini-batch 的大小。 再计算样本的方差: @@ -616,13 +616,33 @@ $$ 我们以一个简单的例子来说明位置编码的计算过程:假如我们输入的是一个长度为 4 的句子"I like to code",我们可以得到下面的词向量矩阵 $\rm x$ ,其中每一行代表的就是一个词向量, $\rm x_0=[0.1,0.2,0.3,0.4]$ 对应的就是“I”的词向量,它的pos就是为0,以此类推,第二行代表的是“like”的词向量,它的pos就是1: $$ -\rm x = \begin{bmatrix} 0.1 & 0.2 & 0.3 & 0.4 \\ 0.2 & 0.3 & 0.4 & 0.5 \\ 0.3 & 0.4 & 0.5 & 0.6 \\ 0.4 & 0.5 & 0.6 & 0.7 \end{bmatrix} +\rm x = \begin{bmatrix} +0.1 & 0.2 & 0.3 & 0.4 \\ +0.2 & 0.3 & 0.4 & 0.5 \\ +0.3 & 0.4 & 0.5 & 0.6 \\ +0.4 & 0.5 & 0.6 & 0.7 +\end{bmatrix} $$ ​则经过位置编码后的词向量为: $$ -\rm x_{PE} = \begin{bmatrix} 0.1 & 0.2 & 0.3 & 0.4 \\ 0.2 & 0.3 & 0.4 & 0.5 \\ 0.3 & 0.4 & 0.5 & 0.6 \\ 0.4 & 0.5 & 0.6 & 0.7 \end{bmatrix} + \begin{bmatrix} \sin(\frac{0}{10000^0}) & \cos(\frac{0}{10000^0}) & \sin(\frac{0}{10000^{2/4}}) & \cos(\frac{0}{10000^{2/4}}) \\ \sin(\frac{1}{10000^0}) & \cos(\frac{1}{10000^0}) & \sin(\frac{1}{10000^{2/4}}) & \cos(\frac{1}{10000^{2/4}}) \\ \sin(\frac{2}{10000^0}) & \cos(\frac{2}{10000^0}) & \sin(\frac{2}{10000^{2/4}}) & \cos(\frac{2}{10000^{2/4}}) \\ \sin(\frac{3}{10000^0}) & \cos(\frac{3}{10000^0}) & \sin(\frac{3}{10000^{2/4}}) & \cos(\frac{3}{10000^{2/4}}) \end{bmatrix} = \begin{bmatrix} 0.1 & 1.2 & 0.3 & 1.4 \\ 1.041 & 0.84 & 0.41 & 1.49 \\ 1.209 & -0.016 & 0.52 & 1.59 \\ 0.541 & -0.489 & 0.895 & 1.655 \end{bmatrix} +\rm x_{PE} = \begin{bmatrix} +0.1 & 0.2 & 0.3 & 0.4 \\ +0.2 & 0.3 & 0.4 & 0.5 \\ +0.3 & 0.4 & 0.5 & 0.6 \\ +0.4 & 0.5 & 0.6 & 0.7 +\end{bmatrix} + \begin{bmatrix} +\sin(\frac{0}{10000^0}) & \cos(\frac{0}{10000^0}) & \sin(\frac{0}{10000^{2/4}}) & \cos(\frac{0}{10000^{2/4}}) \\ +\sin(\frac{1}{10000^0}) & \cos(\frac{1}{10000^0}) & \sin(\frac{1}{10000^{2/4}}) & \cos(\frac{1}{10000^{2/4}}) \\ +\sin(\frac{2}{10000^0}) & \cos(\frac{2}{10000^0}) & \sin(\frac{2}{10000^{2/4}}) & \cos(\frac{2}{10000^{2/4}}) \\ +\sin(\frac{3}{10000^0}) & \cos(\frac{3}{10000^0}) & \sin(\frac{3}{10000^{2/4}}) & \cos(\frac{3}{10000^{2/4}}) +\end{bmatrix} = \begin{bmatrix} +0.1 & 1.2 & 0.3 & 1.4 \\ +1.041 & 0.84 & 0.41 & 1.49 \\ +1.209 & -0.016 & 0.52 & 1.59 \\ +0.541 & -0.489 & 0.895 & 1.655 +\end{bmatrix} $$ 我们可以使用如下的代码来获取上述例子的位置编码: