图解机器学习中的自注意力机制

云计算分享者 2024-02-26 07:18:58

自注意机制在现在机器学习的Transformer结构中大量使用。

这儿图解的是将4个6维的输入特征值(橙色) 转换为4个3维的注意力加权特征值(蓝色),这里面有来表示组成的矩阵。

1.给定输入值

一组 4 个特征向量(6-D),然后都是模型在训练的时候得到的矩阵。

2.得到K,Q,V

将特征 与线性变换矩阵 相乘,得到查询向量 、键向量 和值向量

这里面的“自”指的是查询和键都源自同一组特征。

3.为矩阵乘法做准备

复制查询向量,维度为3*4

复制键向量的转置,维度为4*3

4. 进行矩阵乘法

将 与 相乘。目的是使用点积作为每个键值对之间“相似度”的估计。注意得到的是一个和输入向量输4一样的方阵。

5.缩放

按 的平方根缩放每个元素,是键向量的维度 ()。目的是标准化 对上述结果的影响。这儿为了简化手工计算,我们将 近似为

6. softmax(1),计算

对矩阵中的每个元素,计算其。为了简化手工计算,我们将 近似为 。

7.softmax(2),求和

将每列(每个向量)的每个元素相加

8.softmax(3)

对于每一列,将每个元素除以列总和。目的是标准化每一列,使数字总和为 1。换句话说,每一列都是注意力的概率分布。结果是注意力权重矩阵(黄色)

9.矩阵乘法

将值向量与注意力权重矩阵 相乘,结果是注意力加权特征值。这个值会被进一步送到后面的前馈网络中。

关于多头注意力的注意事项

实际中会使用多头自注意机制

降维:本练习中的自注意力流程将特征维度从 6 减少到 3 。现在假设我们有两个并行运行的自注意力(两组不同的进行计算),我们将得到两组不同的注意力权重特征(即 2 个蓝色矩阵)。 我们可以将两组注意力权重特征垂直连接起来,使维度回到6。这就是多头注意力的本质。

实际示例:一个注意力头可以将 512 维特征简化为 64 维注意力加权特征。 我们使用 8 个头并将 8 个这样的 64维 注意力加权特征堆叠在一起,以使总维度回到 512维。

0 阅读:1

云计算分享者

简介:感谢大家的关注