赞
踩
传统模型在并行化方面是困难的,引入Transformer允许并行计算。同时使用CNN代替RNN以处理更长的序列。
自注意力机制通过计算输入序列中每个位置对其他位置的重要性,实现信息的有效提取和传递。
自注意力机制计算公式
1.输入表示:每个输入表示为一个向量。
2.线性变换:输入向量通过线性变换生成查询(Q)、键(K)和值(V)。
3.注意力得分:计算Q与K的点积得到注意力得分。
拿每个q对每个k做attention,其中d是键向量的维度,用于缩放。
4.归一化:对注意力得分进行softmax归一化,得到权重。
4.加权求和:使用归一化后的权重对值进行加权求和,得到最终输出。
b1,b2,b3,b4可以进行并行计算
矩阵表示
查询矩阵Q、键矩阵K和值矩阵V分别由所输入向量通过线性变换得到。
注意力得分矩阵通过查询矩阵Q和键矩阵K的转置相乘计算。
最终的输出通过注意力得分矩阵与值矩阵V相乘得到。
综合矩阵表达形式如下:
多头自注意力机制通过并行计算多个注意力头,捕捉不同的上下文信息。
(每个头独立计算自己的Q、K和V矩阵,然后进行自注意力计算。最终将各个头的输出拼接在一起,再通过线性变换得到最终结果。)
自注意力机制本身没有位置信息,为了让模型识别输入序列的位置顺序,加入了位置编码。
(位置编码是预先定义的向量,表示每个位置的相对或绝对位置。位置编码和输入向量相加,提供位置信息。)
相关计算公式:
是一种用于处理序列到序列任务的模型架构,常用于机器翻译、文本摘要和对话生成等应用。其主要组成部分包括编码器(Encoder)、解码器(Decoder)和注意力机制。
1.编码器:将输入序列转换为一个固定大小的上下文向量。通常由一系列RNN或CNN组成。
2.解码器:将上下文向量转换为目标序列。也是由一系列RNN或CNN组成,在生成序列的每一步会参考上下文向量。
3.注意力机制:允许解码器在生成目标序列的每个步骤时,根据输入序列的不同部分动态地选择信息。具体而言,计算解码器当前隐藏状态和编码器输出之间的相似度(注意力权重),根据这些权重对编码器输出进行加权求和,得到上下文向量。
编码器将输入序列
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。