输入序列如何到达Attention模块
注意力模块存在于编码器堆栈中的每个编码器中,以及解码器堆栈中的每个解码器中。我们将首先放大编码器的注意力。
Attention in the Encoder:

举个例子,假设我们正在研究一个英语到西班牙语的翻译问题,其中一个示例源序列是“The ball is blue”。目标序列是“La bola es azul”。
源序列首先通过嵌入和位置编码层,该层为序列中的每个单词生成嵌入向量。嵌入被传递到编码器,首先到达注意力模块。
在注意力机制中,嵌入序列通过三个线性层,产生三个独立的矩阵——称为查询、键和值。这是用于计算注意力分数的三个矩阵。
要记住的重要一点是,这些矩阵的每一“行”对应于源序列中的一个单词。
The flow of the source sequence:源序列的流程

每个输入行都是序列中的一个单词
我们理解注意力机制的方式是从源序列中的单个单词开始,然后跟随它们通过 Transformer 的路径。特别是,我们希望关注注意力模块内部发生的事情。
这将帮助我们清楚地了解源序列和目标序列中的每个单词如何与源序列和目标序列中的其他单词相互作用。
因此,当我们进行解释时,请重点关注对每个单词执行的操作以及每个向量如何映射到原始输入单词。我们不需要担心许多其他细节,例如矩阵形状、算术计算的细节、多个注意力头等等,如果它们与每个单词的去向不直接相关的话。
因此,为了简化解释和可视化,我们忽略嵌入维度并仅跟踪每个单词的行。
The f

本文详细解释了Transformer中的注意力机制,包括编码器自注意力、解码器自注意力和编码器-解码器注意力,重点阐述了查询、键和值的作用,以及词向量如何通过学习对齐以表示单词间的相关性。
最低0.47元/天 解锁文章
1110

被折叠的 条评论
为什么被折叠?



