当前位置: 首页 > 科技观察

“位置嵌入”:Transformer背后的秘密

时间:2023-03-14 10:11:42 科技观察

译者|崔浩评论|孙书娟目录介绍SummaryofReferences介绍Transformer架构在深度学习领域的引入无疑为一场无声的革命铺平了道路,尤其是对于NLP这个分支。Transformer架构中最不可或缺的部分是“位置嵌入”,它使神经网络能够理解长句中单词的顺序以及它们之间的依赖关系。我们知道,在Transformer之前引入的RNN和LSTM即使不使用位置嵌入也有能力理解单词的顺序。那么,你会有一个很明显的疑问,为什么要在Transformer中引入这个概念,并且如此强调这个概念的优点。本文将为您介绍这些来龙去脉。NLP中的嵌入概念嵌入是自然语言处理中将原始文本转换为数学向量的过程。这是因为机器学习模型将无法直接处理文本格式并将其用于各种内部计算过程。Word2vec和Glove等算法的嵌入过程称为词嵌入或静态嵌入。这样就可以将包含大量词的文本语料传递给模型进行训练。该模型会为每个词分配一个相应的数学值,假设那些出现频率更高的词是相似的。在这个过程之后,得到的数学值被用于进一步的计算。例如,考虑我们的文本语料库有3个句子,如下所示:英国政府每年向巴勒莫国王和王后支付一大笔补贴,声称对行政管理有一定的控制权。除了国王和王后,王室还有他们的女儿玛丽-特蕾莎-夏洛特(MadameRoyale)、国王的妹妹伊丽莎白夫人、贴身男仆克拉丽等人。这被莫德雷德背叛的消息打断了,兰斯洛特没有参加最后的致命冲突,他在国王和王后中幸存下来,以及圆桌会议的倒台。在这里,我们可以看到“国王”和“王后”这两个词频繁出现。因此,模型会假设这些词之间可能存在一些相似性。当这些词被转换成数学值时,它们在多维空间中表示时被放置在一个很小的距离。图片来源:作者提供的插图假设还有另一个词“road”,那么从逻辑上讲,它在这个大型文本语料库中出现的频率不会像“king”和“queen”那样频繁。因此,这个词将远离“国王”和“王后”,并放置在空间的其他地方。图片来源:作者插图在数学中,向量由一系列数字表示,其中每个数字代表单词在特定维度中的大小。例如:这里我们在三维空间中以[0.21,0.45,0.67]的形式表示“国王”。“queen”这个词可以表示为[0.24,0.41,0.62]。“路”这个词可以表示为[0.97,0.72,0.36]。Transformer中对位置嵌入的需求正如我们在介绍部分所讨论的那样,对位置嵌入的需求是为了让神经网络理解句子中的顺序和位置依赖性。例如,让我们考虑以下句子:句子1-“虽然SachinTendulkar今天没有达到100分,但他带领他的团队取得了胜利”。句子2-“虽然SachinTendulkar今天得到了100分,但他未能带领球队取得胜利”。这两个句子看起来很相似,因为它们共享大部分单词,但它们的内在含义却大不相同。像“不”这样的词的顺序和位置改变了传达信息的上下文。因此,在NLP项目中,理解位置信息是非常关键的。如果模型通过简单地使用多维空间中的数字来误解上下文,将会导致严重的后果,尤其是在预测模型中。为了克服这一挑战,引入了神经网络架构,例如RNN(递归神经网络)和LSTM(长短期记忆)。在某种程度上,这些架构在理解位置信息方面非常成功。他们成功的主要秘诀在于他们通过保留单词顺序来学习长句。此外,他们还有关于接近“感兴趣的词”的词和接近“感兴趣的词”的词的信息。关于“远”字的信息。例如,考虑以下句子-“Sachinisthegreatestcricketerofalltime”。图片来源:插图由作者提供红色下划线的词是这些词。这里可以看出,“感兴趣的词”是按照原文的顺序遍历的。此外,他们还可以记住图像的来源:作者提供的插图。虽然,通过这些技术,RNN/LSTM可以理解大文本语料库中的单词位置信息。但真正的问题是在大型文本语料库中顺序遍历单词。想象一下,我们有一个非常大的文本语料库,有100万个单词,顺序遍历每个单词需要很长时间。有时,花费这么多计算时间来训练模型是不可行的。为了克服这一挑战,引入了一种新的高级架构——“Transformer”。Transformer架构的一个重要特征是所有单词都可以并行处理以学习文本语料库。Transformer架构不关心文本语料库包含10个单词还是100万个单词。图片来源:作者插图图片来源:作者插图现在,我们需要面对并行处理单词的挑战。因为同时访问所有单词,所以单词之间的依赖信息丢失了。因此,模型无法记住特定词的关联信息,也无法准确保存。尽管模型的计算/训练时间大大减少,但这个问题让我们回到了保留上下文依赖性的最初挑战。那么如何解决以上问题呢?解决方案是反复试验。最初,当这个概念被引入时,研究人员急于想出一种优化的方式来保存Transformer结构中的位置信息。作为试错实验的一部分尝试的第一种方法是在这里,其想法是使用词向量,同时引入包含词索引的新数学向量。图片来源:作者提供的插图假设下图代表多维空间中的单词图片来源:作者提供的插图添加位置向量后,其大小和方向可能会改变每个单词的位置,如下图所示.图片来源:作者插图这种技术的缺点是如果句子非常长,位置向量将按比例增加。假设一个句子有25个单词,那么第一个单词将附加一个0级的位置向量,最后一个单词将附加一个24级的位置向量。当我们投影这些值时,这种大的不确定性会导致问题在更高的维度。此处用于减少位置向量的另一种技术是将每个单词相对于句子长度的分数值计算为位置向量的大小。得分值计算为值=1/N-1,其中“N”是特定单词的位置。例如,让我们考虑下图的例子-图片来源:作者提供的插图在这种技术中,位置向量的最大幅度可以被限制为1,而不管句子的长度。但是,也存在一个很大的漏洞。如果比较两个不同长度的句子,词在特定位置的embedding值就会不同。一个特定的词或其对应的位置应该在整个文本语料库中具有相同的嵌入值,以便于理解其上下文。如果不同句子中的同一个词具有不同的嵌入值,那么在多维空间中表示文本语料库的信息将成为一项非常复杂的任务。即使做到了这么复杂的空间,也有很大的几率因为信息失真太多,导致模型在某一点崩溃。因此,该技术被排除在Transformerpositionembedding的开发之外。最后,研究人员提出了一种Transformer架构,并在著名的白皮书中提到——“attentionisallyouneed”。基于频率的位置嵌入基于这种技术,研究人员推荐使用以下公式的基于波频率的文本嵌入---图片来源:作者提供的插图“pos”是特定单词在特定单词中的位置或索引语句值。“d”是表示句子中特定词向量的最大长度/维度。“i”表示每个位置的嵌入维度的索引。它还表示频率。当i=0时,它被认为是最高频率,对于后续值,频率被认为是递减幅度。图片来源:作者插图图片来源:作者插图图片来源:作者插图由于曲线的高度取决于x轴上描绘的单词的位置,因此曲线的高度可以用作单词位置的代理。如果两个词高度相似,那么我们可以认为它们在句子中非常接近。同样,如果两个词的高度差异很大,那么我们可以认为它们在句子中的接近度较低。根据我们的示例文本-“Sachin是一名伟大的板球运动员”。对于pos=0d=3i[0]=0.21,i[1]=0.45,i[2]=0.67,同时应用公式。图片来源:作者提供的插图当i=0,PE(0,0)=sin(0/10000^2(0)/3)PE(0,0)=sin(0)PE(0,0)=0当i=1,PE(0,1)=cos(0/10000^2(1)/3)PE(0,1)=cos(0)PE(0,1)=1当i=2,PE(0,2)=sin(0/10000^2(2)/3)PE(0,2)=sin(0)PE(0,2)=0对于pos=3d=3i[0]=0.78,i[1]=0.64,i[2]=0.56同时应用公式。图片来源:作者提供的插图,当i=0,PE(3,0)=sin(3/10000^2(0)/3)PE(3,0)=sin(3/1)PE(3,0)=0.05当i=1,PE(3,1)=cos(3/10000^2(1)/3)PE(3,1)=cos(3/436)PE(3,1)=0.99i=2,PE(3,2)=sin(3/10000^2(2)/3)PE(3,2)=sin(3/1.4)PE(3,2)=0.03图片来源:由作者在这里提供的插图,最大值将被限制为1(因为我们使用的是sin/cos函数)。因此,在较早的技术中不存在高幅度位置矢量的问题。此外,彼此高度接近的词在较低频率下可能落在相似的高度,而在较高频率下它们的高度会略有不同。如果单词彼此靠近,即使在低频下它们也会有很大的高度差异,并且它们的高度差异会随着频率的增加而增加。例如,考虑这句话——“国王和王后走在路上”。“王”和“路”字样放在更靠后的位置。考虑应用波频公式后,两项的高度大致相似。当我们进入更高的频率(如0)时,它们的高度将变得更加不同。图片来源:作者插图图片来源:作者插图图片来源:作者插图“国王”和“王后”这两个词靠得更近。这2个词将以较低的频率放置在相似的高度(如此处的2)。当我们达到更高的频率(如0)时,它们的高度差会增加一点以允许区分。图片来源:作者提供的插图但我们需要注意,如果单词的接近度较低,则在向高频发展时它们的高度会大不相同。如果单词的接近度很高,则在进入更高频率时,它们的高度只会略有不同。总结通过这篇文章,我希望您对机器学习中位置嵌入背后的复杂数学有一个直观的了解。简而言之,我们讨论了实现某些目标的必要性。对于对“自然语言处理”感兴趣的技术爱好者,我发现此内容有助于理解复杂的计算方法。更详细的信息可以参考著名的研究论文——《Attentionisallyouneed》。译者介绍崔浩,社区编辑,资深架构师。他拥有18年的软件开发和架构经验,以及10年的分布式架构经验。原标题:PositionalEmbedding:TheSecretbehindtheAccuracyofTransformerNeuralNetworks,作者:SanjayKumar