From 8af85f9d7e043e60d78cbd2a2453cf766f2f2901 Mon Sep 17 00:00:00 2001
From: "ben.guo" <909336740@qq.com>
Date: Tue, 30 Apr 2024 17:54:55 +0800
Subject: [PATCH] =?UTF-8?q?Create=20=E7=AC=AC=E5=9B=9B=E7=AB=A0=E2=80=94?=
=?UTF-8?q?=E2=80=94=E8=AF=AD=E4=B9=89=E5=85=B3=E7=B3=BB=E5=AD=A6=E4=B9=A0?=
=?UTF-8?q?.md?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../第四章——语义关系学习.md | 25 +++++++++++++++++++
1 file changed, 25 insertions(+)
create mode 100644 人人都能看懂的Transformer/第四章——语义关系学习.md
diff --git a/人人都能看懂的Transformer/第四章——语义关系学习.md b/人人都能看懂的Transformer/第四章——语义关系学习.md
new file mode 100644
index 0000000..faa94e0
--- /dev/null
+++ b/人人都能看懂的Transformer/第四章——语义关系学习.md
@@ -0,0 +1,25 @@
+# 第四章——语义关系学习(多头注意力机制)
+
+
+
+### 前言
+
+前面通过向量和位置编码后,我们已经得倒了一个数值矩阵,那么这个数值矩阵,怎么把数值矩阵用起来了。接下里就到了Transformer里最吸引人的一部分,注意力机制。
+
+放大语义关系学习(注意力机制)内部
+
+
+
+> Linear:线性层。数学表达式是 `y = wx + b`,其中 `x` 是输入向量,`W`是权重矩阵,`b` 是偏置向量,`y` 是输出向量。
+>
+> MatMul: 矩阵相乘。一种线性代数运算,用于计算两个矩阵的乘积。如果有两个矩阵 A 和 B,它们的乘积 C 通过将 A 的行与 B 的列对应元素相乘然后求和来计算。
+>
+> Scale:缩放层。缩放操作通常用于调整矩阵乘法的结果。在计算注意力分数之前,会将查询和键的矩阵乘法结果除以一个缩放因子,通常是键向量维度的平方根。这样做是为了防止在进行softmax操作之前,注意力分数过大导致梯度消失问题。
+>
+> Softmax:软最大值。oftmax用于将注意力分数(经过缩放的矩阵乘法结果)转换为概率值,这些概率值表示每个头在给定输入时应该关注的程度。
+
+QKV会结果一个线形层,也就是X会变成3份,分别去乘以不同的权重W。变成QKV,经过各种层后,最终输出上面说的缩放好的点积注意力机制,也就是除开Scale、Maks、Softmax外,是包裹了两次的矩阵相乘。这也是最重要的部分,为什么是矩阵相乘呢?矩阵相乘能代表词之间的关注度高低吗?
+
+
+
+### 为什么是矩阵相乘
\ No newline at end of file