联系我们

AI 101.

什么是变形金刚神经网络?

mm

更新

 on

变压器神经网络描述

变形金刚是一种类型的机器学习专门从事处理和解释顺序数据的模型,使它们最佳自然语言处理任务。为了更好地理解机器学习变压器是什么以及它们的操作方式,让我们仔细看看变压器模型和驱动它们的机制。

本文将涵盖:

  • 序列到序列模型
  • 变压器神经网络架构
  • 注意机制
  • 变压器和RNNS / LSTM之间的差异

序列到序列模型

序列到序列模型是一种NLP模型,用于将一种类型的序列转换为另一种类型的序列。有各种类型的序列到序列模型,例如经常性神经网络模特和长短期记忆(LSTM)楷模。

rnn.和LSTM等传统的序列到序列模型不是本文的重点,但是对它们的理解是必要的,以欣赏变压器模型如何运行以及它们优于传统的序列到序列模型。

简单来说,rnn.模特和LSTM.型号由编码器和解码器网络组成,可在各种时间步骤中分析输入数据。编码器模型负责在输入数据中形成单词的编码表示。在每次步骤中,编码器网络从串联中的先前时间步进获取输入序列和隐藏状态。当数据通过网络时,将更新隐藏状态值,直到生成“上下文向量”的最后一次步骤。然后将上下文向量传递给解码器网络,该解码器网络用于通过预测与相应时间步长的输入字对对的最可能的单词来生成目标序列。

这些模型可以通过使用“注意机制“。注意机制定义了网络应该专注于产生适当输出的输入矢量的哪个部分。为了使另一种方式进行关注机制,让变压器模型处理一个输入字,同时也参加由其他输入单词所含的相关信息。注意机制还掩盖了不包含相关信息的单词。

变压器神经网络架构

我们稍后会更详细地进入注意机制,但现在让我们来看看变压器神经网络的架构在更高的水平。

通常,变压器神经网络看起来像以下类似:

虽然该一般结构可能在网络之间发生变化,但核心件将保持不变:位置编码,词向量,注意机制,前馈神经网络。

位置编码和字矢量

变压器神经网络运行通过采用一系列输入并将这些输入转换为另外两个序列。变压器产生一系列单词矢量嵌入和位置编码。

字矢量嵌入只是以神经网络可以处理的数字格式表示的文本。同时,位置编码是包含关于当前词位置的信息的矢量化表示,与其他单词相关。

其他基于文本的神经网络模型,如RNN和LSTMS使用向量来表示输入数据中的单词。这些矢量嵌入映射到常量值的字样,但这是限制性的,因为单词可以在不同的上下文中使用。变压器网络通过使单词值更灵活地解决了这个问题,使用正弦函数来让字矢量取决于句子中单词的位置。

这允许神经网络模型保留关于输入单词的相对位置的信息,即使在矢量通过变压器网络的层之后也是如此。

位置编码和单词矢量嵌入在一起,然后将其传递给编码器和解码器网络。虽然变形金刚神经网络使用相同的编码器/解码器模式就像RNN和LSTMS一样,但它们之间的一个主要区别在于,所有输入数据都同时进入网络,而在RNNS / LSTMS中,数据被顺序传递。

编码器网络负责将网络转换为网络可以学习的表示,而解码器网络执行相反并将编码转换为用于生成输出句子中最可能的单词的概率分布。至关重要,编码器和解码器网络都具有注意机制。

由于GPU能够并行处理,因此并行使用多种关注机制,计算所有输入单词的相关信息。这种能力要注意多个单词,称为“多头”的注意力,一次有助于神经网络在句子中学习一个单词的上下文,它是变压器网络在RNN和LSTMS上具有的主要优点之一。

注意机制

注意机制是变压器网络中最重要的部分。注意机制是使变压器模型超出典型RNN或LSTM模型的注意极限。传统的序列到序列模型丢弃所有中间状态,并且在初始化解码器网络以生成关于输入序列的预测时,仅使用最终状态/上下文向量。

丢弃所有内容,但最终上下文向量工作时,输入序列相当小。然而,随着输入序列的长度增加,模型的性能将在使用此方法时降低。这是因为它变得非常难以将长输入序列总结为单个向量。解决方案是增加模型的“注意力”,并利用中间编码器状态来构造解码器的上下文向量。

注意机制定义了在为任何给定令牌创建编码时的其他输入令牌是多么重要的。例如,“它”是一般代词,通常用于在他们的性别不知道时引用动物。注意机制将让变换器模型在当前上下文中确定“它”是指一个松鼠,因为它可以检查输入句中的所有相关单词。

注意机制可以以三种不同的方式使用:仅编码器到解码器,仅编码器,仅解码。

编码器 - 解码器注意允许解码器在生成输出时考虑输入序列,而仅编码器和解码器仅引人注目的机制允许网络分别考虑先前和当前序列的所有部分。

关注机制的构建可分为五个步骤:

  1. 计算所有编码器状态的分数。
  2. 计算注意力重量
  3. 计算上下文向量
  4. 使用前一步步骤输出更新上下文向量
  5. 使用解码器生成输出

第一步是使解码器计算所有编码器状态的分数。这是通过培训解码器网络来完成的,该网络是基本的前馈神经网络。当解码器在输入序列中的第一个单词上培训时,尚未创建内部/隐藏状态,因此编码器的最后状态通常用作解码器的先前状态。

为了计算注意力,软MAX函数用于为注意力产生概率分布。

一旦计算注意重量,需要计算上下文向量。这是通过将注意力和隐藏状态乘以每次步骤来完成的。

在计算上下文向量之后,它与在上一步步骤中生成的单词一起使用以在输出序列中生成下一个单词。因为解码器未在第一次上述步骤中引用以前的输出,所以通常使用特殊的“开始”令牌。

变压器之间的差异& RNNs/LSTMs

让我们快速涵盖RNN和LSTM之间的一些差异。

rnn.S处理顺序输入,而在通过网络移动时,通过输入单词维护和改变隐藏状态向量。 RNN的隐藏状态通常包含关于前面输入的非常几乎的相关信息。新输入通常会覆盖当前状态,这会导致信息丢失并随着时间的推移降低性能。

相比之下,变压器模型一次处理整个输入序列。注意机制允许每个输入和隐藏状态通知每个输出字,使网络更可靠地对长块文本更可靠。

LSTM.S是修改的RNN版本,调整以处理更长的输入序列。 LSTM架构使用称为“门”的结构,具有“输入门”,“输出门”和“忘记门”。门控设计处理RNN模型的信息丢失。数据仍然是顺序处理的,并且架构的经常性设计使LSTM模型难以使用并行计算训练,使培训时间变长。

LSTM.工程师会经常向网络增加注意机制,已知可以提高模型的性能。然而,最终发现注意机制单独提高精度。这一发现导致创建使用注意机制和平行计算的变压器网络感谢GPU。