织梦响应式网站模板,企业墙面设计,郑州app开发价格,百度小程序是什么该论文引入Transformer#xff0c;主要核心是自注意力机制#xff0c;自注意力#xff08;Self-Attention#xff09;机制是一种可以考虑输入序列中所有位置信息的机制。
RNN介绍
引入RNN为了更好的处理序列信息#xff0c;比如我 吃 苹果#xff0c;前后的输入之间是有…该论文引入Transformer主要核心是自注意力机制自注意力Self-Attention机制是一种可以考虑输入序列中所有位置信息的机制。
RNN介绍
引入RNN为了更好的处理序列信息比如我 吃 苹果前后的输入之间是有联系的。
如图 引入Transformer的原因
解决长距离依赖的问题传统的RNN存在梯度消失和梯度爆炸的问题难以有效捕获长距离依赖关系。而Transformer引入了注意力机制使模型可以在序列中捕获远距离依赖关系。并行计算RNN和循环连接的特点使得它们难以并行计算限制了计算速度。相比之下Transformer模型的注意力机制允许模型在每个时间步骤上并行计算大大加速计算速度。可扩展性Transformer模型可以适用与不同长度的序列
Attention函数分析
注意力机函数值注意力机制的核心组成部分它定义了如何计算注意力权重以及使用这些权重聚合数据来获取上下文表示。注意力函数包括
Query查询用于确定关注哪些输入元素的向量或表示。在自注意力机制中通常是前一个时间步骤的隐藏状态或者上下文表示。key键是与输入元素相关的向量表示。注意力机制通过比较query和key的相似性来决定要关注哪些输入value值是与键对应的输入元素的向量或表示。注意力机制根据query和key的相似性来为每个值分配权重这些权重将用于生成上下文表示。score分数表示key和query的相似性分数越高表示查询更关注与键相关的输入。例如向量a和向量b它的点积越小越大两个向量之间 相似性越高。注意力权重是一个概率分布表示对每个输入元素的关注程度。通常由softmax得到确保总和为1.上下文表示通过注意力权重对值进行加权求和得到它是对输入元素的聚合表示反应了模型的关注点。
注意力函数的一般计算步骤
计算query和key的相似性分数通过点积、加性模型或者缩放点积等方式实现。对相似性分数进行softmax操作以此获得注意力权重确保他们归一化为概率分布。使用注意力权重对值加权求和以此生成上下文表示。
对于自注意力机制来说
query、key、value自注意力的核心是通过三个线性变换来为每个位置生成这三个向量。这些向量在输入序列中的每个位置都有一个。对于给定的位置query 用于提出问题key 用于提供答案的位置信息而value 包含了实际的信息。计算注意力分数计算分数通过将query和所有位置的key 进行点积操作得到的。注意力分户可以看成是度量两个位置之间关联性的分数他表示了一个位置对于其他位置的关注程度。softmax 操作进行归一化为了获得有效的注意力权重对计算得到的注意力分数进行归一化处理。为了确保每个位置权重是有效的概率分布从而更好的表达位置之间的关联性。计算加权和对得到的归一化之后的注意力权重和对应位置的value进行加权求和得到每个位置的上下文表示。
多头注意力机制
是一种扩展的自注意力机制它允许模型同时学习多个不同的关注模式。多头注意力机制将自注意力计算分为多个头每个头学习不同的权重矩阵以捕获不同类型的关联性。多个头的结果会拼接或合并然后通过线性变换进行投影。
选择缩放点积原因
点积和加性注意力理论复杂度相似但是在实践中点积注意力的速度更快、更节省空间因为它可以使用高度优化的矩阵乘法代码来实现对于键K的维度越大加性注意力的性能比点击好所以我们怀疑对于很大的维度点积会大幅度增长为了抵消这种影响我们使用缩小点积。
缩放点积
是注意力机制中一种常见的类型通过和自注意力机制一起使用它的目的是确保在计算注意力分数的时候使得范围适中避免梯度消失或者梯度爆炸。下面是介绍缩放点积的步骤
Query、Key、Value这是缩放点积的三个输入通常来自于一个序列。相似性分数计算计算查询和键之间的相似性。将查询和键之间的点积作为相似性分数。具体而言就是对于给定的查询Q和键K计算相似性分数矩阵为 Score Q*K^T 其中K^T表示键K的转置矩阵。每个Scores[i][j]表示查询的第i个元素和键的第j个元素的相似性。缩放为了稳定训练过程缩放点积对相似性分数进行缩放操作通过操作是除以一个缩放因子来实现。缩放因子通常是键K的维度的平方根。即.缩放后的相似性分数Scale_Scores有助于控制梯度大小防止梯度爆炸或者消失。 Scale_Scores Scores / sqrt(d_k) 计算注意力权重对缩放后的相似性分数进行softmax操作将其转化为概率分布得到注意力权重。这些权重表示了对输入序列不同位置的关注程度。 attention_weight softmax(Scale_Scores)
结论
在这项工作中提出了 Transformer这是一个完全基于注意力的序列转换模型。注意用多头自注意力取代了编码器-解码器架构中最常用的递归层。