网站推广设计制作专做女装拿货的网站
news/
2025/10/4 20:13:10/
文章来源:
网站推广设计制作,专做女装拿货的网站,企业网站备案流程,wordpress博客主机目录
1、向量点乘
2、相似度计算举例
3、QKV分析
4、整体流程
(1) 首先从词向量到Q、K、V
(2) 计算Q*#xff08;K的转置#xff09;#xff0c;并归一化之后进行softmax
(3) 使用刚得到的权重矩阵#xff0c;与V相乘#xff0c;计算加权求和。
5、多头注意力 上面…
目录
1、向量点乘
2、相似度计算举例
3、QKV分析
4、整体流程
(1) 首先从词向量到Q、K、V
(2) 计算Q*K的转置并归一化之后进行softmax
(3) 使用刚得到的权重矩阵与V相乘计算加权求和。
5、多头注意力 上面这个transformer中的注意力公式相信大家不会陌生。公式并不复杂但是why? 为什么是这个公式为什么大家都说QKV代表Query查询、Key键和Value值
之前了解transformer的时候对于QKV的设定感到很奇怪后来慢慢接受了这个设定今天记录一下自己的理解。
1、向量点乘
首先从向量点乘说起是用于计算两个向量的相似度。 图中可以看到如果两个向量的方向相同或相近它们的点乘结果会很大表示这两个向量相似度高。相反如果向量方向相反点乘结果会很小或为负值。 向量x和向量y点乘表示向量x在向量y上的投影再乘以向量y。反应两个向量的相似度。
假设矩阵X由n个行向量组成每个行向量xi代表一个词的词向量整个矩阵由这些词向量组成。简而言之矩阵X是一个词向量矩阵每个元素都是一个词的向量表示。
具体来说矩阵X是一个n×n的方形矩阵其中包含n个行向量n个词的向量。 当矩阵X与它的转置XT进行乘法运算时得到的是目标矩阵XXT。这个目标矩阵的每一个元素是通过矩阵X中的行向量与列向量的点乘得到的。如下图所示 例如目标矩阵XXT中的第一行第一列元素X0⋅X0实际上是向量X0与自身做点乘这表示的是向量X0与自身的相似度也就是它自身的模的平方。
同样地第一行第二列元素X0⋅X1表示的是向量X0与向量X1之间的相似度即它们之间的点乘结果。
这个过程可以推广到矩阵X的所有行和列从而得到整个XXT矩阵其中每个元素都表示了对应向量之间的相似度。
2、相似度计算举例
下面以词向量矩阵为例这个矩阵中每行为一个词的词向量。矩阵与自身的转置相乘生成了目标矩阵目标矩阵其实就是一个词的词向量与各个词的词向量的相似度。 最终的矩阵数值代表了词向量之间的相似度。 我们为什么要求相似度是为了合理分配权重。这个时候可以加上softmax 对上述得到的相似度矩阵应用Softmax函数进行归一化处理。Softmax函数将每个元素转换成一个概率分布使得每个元素的值都在0到1之间并且所有元素的和为1。 这样每个词向量与其他所有词向量的相似度都被转换成了一个概率权重。
接下来将这个权重矩阵与原始的词向量矩阵 X 相乘。这个过程可以看作是每个词向量根据其权重与其他所有词向量进行加权求和。 权重矩阵中某一行分别与词向量的一列相乘词向量矩阵的一列其实代表着不同词的某一维度。经过这样一个矩阵相乘相当于一个加权求和的过程得到结果词向量是经过加权求和之后的新表示。 这个新词向量综合了输入词向量矩阵中所有词的信息权重由它们之间的相似度决定。
3、QKV分析
注意力Attention机制的最核心的公式为 与 很相似。 QKV的由来可以用图片演示为 这些乘法操作是线性变换它们将输入矩阵 X 映射到不同的表示空间为注意力机制的计算提供基础。
注意力机制不直接使用原始的输入矩阵 X而是使用经过这三个权重矩阵变换后的Q、K、V。因为使用三个可训练的参数矩阵可增强模型的拟合能力。 在上面这张论文中关于注意力的原图中包含了我们之前所解释的过程可以看到输入的是QKV也就是真正输入到注意力的是这三个矩阵。流程解释如下
Mask是机器翻译等自然语言处理任务中经常使用的方法。在机器翻译等NLP场景中每个样本句子的长短不同对于句子结束之后的位置无需参与相似度的计算比如后面补充的数据都为0否则影响Softmax的计算结果。
4、整体流程
利用流程图重新整理一下整体的流程。
(1) 首先从词向量到Q、K、V (2) 计算Q*K的转置并归一化之后进行softmax (3) 使用刚得到的权重矩阵与V相乘计算加权求和。
5、多头注意力
为了增强拟合性能Transformer对Attention继续扩展提出了多头注意力Multiple Head Attention。如下图 其实就是重复之前的步骤如下图 定义多组可训练的参数矩阵生成多组Q、K、V。 比如我们定义8组参数同样的输入X最终会得到8个不同的输出从Z0-Z7。 在输出到下一层前需要将8个输出拼接到一起乘以矩阵WO, 将维度降低回我们想要的维度。
输入的X是2行4列QKV是2行3列经过QKT得到2行2列再乘以V得到2行3列的Z8个Z拼接成2行24列的矩阵通过乘以一个24行4列的矩阵WO可以变回X的2行4列之后继续输入到下一层。 当前为后续层时即不是第一层的编码器输入数据不再是原始文本而是上一层编码器的输出。这意味着每一层都会接收前一层的输出作为自己的输入。
6、个人理解如有不对还请指正
其实大家常说的Q 是QueryK 是KeyV 是Value并非一定就是以我们主观上理解的逻辑。更多的是为transformer的有效性找到合理的解释我个人理解为transformer的设计是empirical那些解释是由果推因。
多头注意力机制为模型提供了一种并行处理信息的能力允许它同时在多个表示子空间中捕捉数据的特征。这种设计不仅拓宽了模型的感知范围而且使其能够在不同的潜在特征空间中探索更为丰富的信息维度。 这些特征空间中蕴含的信息可能超出了人类直观理解的范畴但正是这些难以捉摸的特征为模型提供了更深层次的数据理解能力从而在各种任务中展现出卓越的性能。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/927507.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!