Create 第四章——语义关系学习.md

master
ben.guo 1 year ago
parent 1f757d9254
commit 8af85f9d7e

@ -0,0 +1,25 @@
# 第四章——语义关系学习(多头注意力机制)
<img src="../assets/image-20240421212923027.png" alt="语义关系学习" style="zoom:50%;" />
### 前言
前面通过向量和位置编码后我们已经得倒了一个数值矩阵那么这个数值矩阵怎么把数值矩阵用起来了。接下里就到了Transformer里最吸引人的一部分注意力机制。
放大语义关系学习(注意力机制)内部
<img src="../assets/0*0KPEV8QidHkteKeY.png" alt="A step-by-step breakdown of self attention | by fishingalone | Medium" style="zoom:50%;" />
> 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外是包裹了两次的矩阵相乘。这也是最重要的部分为什么是矩阵相乘呢矩阵相乘能代表词之间的关注度高低吗
### 为什么是矩阵相乘
Loading…
Cancel
Save