关于网站建设的标语,移动端网站开发哪家好,做网站郴州,网站建设技术公司一、说明 在上一个故事中#xff0c;我已经解释了什么是注意力机制#xff0c;以及与转换器相关的一些重要关键字和块#xff0c;例如自我注意、查询、键和值以及多头注意力。 在这一部分中#xff0c;我将解释这些注意力块如何帮助创建转换器网络#xff0c;并详细讨论网… 一、说明 在上一个故事中我已经解释了什么是注意力机制以及与转换器相关的一些重要关键字和块例如自我注意、查询、键和值以及多头注意力。 在这一部分中我将解释这些注意力块如何帮助创建转换器网络并详细讨论网络中的所有块。 二、 变压器网络 论文 — 注意力就是你所需要的一切 2017 图1.The Transformer Network来源图片来源于原文 图 1 显示了变压器网络。这个网络已经取代了RNN成为NLP甚至计算机视觉视觉变压器的最佳模型。 网络包含两部分 — 编码器和解码器。 在机器翻译中编码器用于对初始句子进行编码解码器用于生成翻译后的句子。转换器的编码器可以并行处理整个句子使其比RNN更快更好 - RNN一次处理句子的一个单词。 2.1 编码器块 图2.变压器网络的编码器部分来源图片来自原文 编码器网络从输入开始。在这里整个句子立即被喂食。然后将它们嵌入到“输入嵌入”块中。然后将“位置编码”添加到句子中的每个单词中。这种编码对于理解句子中每个单词的位置至关重要。如果没有位置嵌入模型会将整个句子视为一个装满单词的袋子没有任何序列或含义。 2.1.1 输入嵌入 — 句子中的单词“dog”可以使用嵌入空间来获取向量嵌入。嵌入只是将任何语言中的单词转换为其向量表示。示例如图 3 所示。在嵌入空间中相似的单词具有相似的嵌入例如单词“cat”和单词“kitty”在嵌入空间中会非常接近而单词“cat”和“emotion”会在空间中落得更远。 图3.输入嵌入来源作者创建的图像 2.1.2 位置编码 不同句子中的单词可以有不同的含义。例如单词 dog in a.我养了一只可爱的狗动物/宠物 - 位置 5和 b。你真是一条懒狗无价值-位置4有不同的含义。为了帮助进行位置编码。它是一个向量根据单词在句子中的上下文和位置提供信息。 在任何句子中单词一个接一个地出现具有重要意义。如果句子中的单词混乱那么句子将没有意义。但是当转换器加载句子时它不会按顺序加载而是并行加载它们。由于变压器架构在并行加载时不包括单词的顺序因此我们必须明确定义单词在句子中的位置。这有助于转换器理解句子中的一个单词在另一个单词之后。这就是位置嵌入派上用场的地方。这是一种定义单词位置的矢量编码。在进入注意力网络之前此位置嵌入被添加到输入嵌入中。图 4 给出了输入嵌入和位置嵌入的直观理解然后再将其输入到注意力网络中。 图4.直观理解位置嵌入来源作者创建的图像 有多种方法可以定义这些位置嵌入。例如在原始论文《注意力是你所需要的一切》中作者使用交替的正弦和余弦函数来定义嵌入如图5所示。 图5.原论文中使用的位置嵌入来源原论文图片 尽管此嵌入适用于文本数据但此嵌入不适用于图像数据。因此可以有多种方式嵌入对象的位置文本/图像并且可以在训练过程中固定或学习它们。基本思想是这种嵌入允许转换器架构理解单词在句子中的位置而不是通过混淆单词来弄乱含义。 在单词/输入嵌入和位置嵌入完成后嵌入然后流入编码器最重要的部分其中包含两个重要块 - “多头注意力”块和“前馈”网络。 2.1.3 多头注意力 这是魔术发生的主要块。要了解多头注意力请访问此链接 — 2.4 多头注意力。 作为输入该块接收一个包含子向量句子中的单词的向量句子。然后多头注意力计算每个位置与矢量其他位置之间的注意力。 图6.缩放点积注意力来源图片来自原始论文 上图显示了缩放的点积注意力。这与自我注意完全相同增加了两个块比例和蒙版。要详细了解Sef-Attention请访问此链接 — 2.1 自我关注。 如图 6 所示缩放注意力完全相同只是它在第一个矩阵乘法 Matmul 之后增加了一个刻度。 缩放比例如下所示 缩放后的输出将进入遮罩层。这是一个可选层对机器翻译很有用。 图7.注意力块来源作者创建的图像 图 7 显示了注意力块的神经网络表示。词嵌入首先传递到一些线性层中。这些线性层没有“偏差”项因此只不过是矩阵乘法。其中一个层表示为“键”另一个表示为“查询”最后一个层表示为“值”。如果在键和查询之间执行矩阵乘法然后规范化我们得到权重。然后将这些权重乘以值并相加得到最终的注意力向量。这个块现在可以在神经网络中使用被称为注意力块。可以添加多个这样的注意力块以提供更多上下文。最好的部分是我们可以获得梯度反向传播来更新注意力块键、查询、值的权重。 多头注意力接收多个键、查询和值通过多个缩放的点积注意力块馈送它最后连接注意力以给我们一个最终输出。如图 8 所示。 图8.多头注意力来源作者创建的图像 更简单的解释主向量句子包含子向量单词——每个单词都有一个位置嵌入。注意力计算将每个单词视为一个“查询”并找到一些与句子中其他一些单词对应的“键”然后采用相应“值”的凸组合。在多头注意力中选择多个值、查询和键以提供多重关注更好的单词嵌入与上下文。这些多个注意力被连接起来以给出最终的注意力值来自所有多个注意力的所有单词的上下文组合这比使用单个注意力块要好得多。 在简单的单词多头注意力的想法是采用一个单词嵌入将其与其他一些单词嵌入或多个单词结合使用注意力或多个注意力来为该单词产生更好的嵌入嵌入周围单词的更多上下文。 这个想法是计算每个查询的多个注意力具有不同的权重。 2.1.4 添加和规范和前馈 下一个块是“添加和规范”它接收原始单词嵌入的残差连接将其添加到多头注意力的嵌入中然后将其归一化为零均值和方差 1。 这被馈送到一个“前馈”块该块的输出端也有一个“添加和规范”块。 整个多头注意力和前馈块在编码器块中重复n次超参数。 2.2 解码器块 图9.变压器网络的解码器部分Souce图片来自原始论文 编码器的输出又是一系列嵌入每个位置一个嵌入其中每个位置嵌入不仅包含原始单词在该位置的嵌入还包含有关其他单词的信息这些信息是它使用注意力学习的。 然后将其馈送到变压器网络的解码器部分如图9所示。解码器的目的是产生一些输出。在论文《注意力是你所需要的一切》中这个解码器被用于句子翻译比如从英语到法语。因此编码器将接收英语句子解码器将其翻译成法语。在其他应用程序中网络的解码器部分不是必需的因此我不会过多地阐述它。 2.2.1 解码器块中的步骤 在句子翻译中解码器块接收法语句子用于英语到法语翻译。像编码器一样这里我们添加一个词嵌入和一个位置嵌入并将其馈送到多头注意力块。自注意力块会为法语句子中的每个单词生成一个注意力向量以显示句子中一个单词与另一个单词的相关性。然后将法语句子中的注意力向量与英语句子中的注意力向量进行比较。这是英语到法语单词映射发生的部分。在最后几层中解码器预测英语单词到最佳可能的法语单词的翻译。整个过程重复多次以获得整个文本数据的翻译。 用于上述每个步骤的模块如图 10 所示。 图 10.不同解码器块在句子翻译中的作用来源作者创建的图像 解码器中有一个新块 - 蒙面多头注意力。所有其他块我们之前已经在编码器中看到过。 2.2.2 蒙面多头注意力 这是一个多头注意力块其中某些值被屏蔽。屏蔽值的概率为空或未选中。 例如在解码时输出值应仅取决于以前的输出而不依赖于未来的输出。然后我们屏蔽未来的输出。 三、结果和结论 图 11.结果来源原始论文图片 在论文中将英语到德语和英语到法语之间的语言翻译与其他最先进的语言模型进行了比较。BLEU是语言翻译比较中使用的度量。从图 11 中我们看到大型转换器模型在这两个翻译任务中都获得了更高的BLEU分数。他们还显着改善的是培训成本。 总之变压器模型可以降低计算成本同时仍然获得最先进的结果。 在这一部分中我解释了变压器网络的编码器和解码器块以及如何在语言翻译中使用每个块。在下一部分也是最后一部分第 3 部分我将讨论一些最近变得非常有名的重要变压器网络例如 BERT来自变压器的双向编码器表示和 GPT通用变压器。 四、引用 阿希什·瓦斯瓦尼、诺姆·沙泽尔、尼基·帕尔马、雅各布·乌什科雷特、莱昂·琼斯、艾丹·戈麦斯、武卡什·凯撒和伊利亚·波洛苏欣。2017. 注意力就是你所需要的一切。第31届神经信息处理系统国际会议论文集NIPS17。Curran Associates Inc.Red HookNYUSA6000–6010。