深度学习及应用 课件 第八章 Transformer网络_第1页
深度学习及应用 课件 第八章 Transformer网络_第2页
深度学习及应用 课件 第八章 Transformer网络_第3页
深度学习及应用 课件 第八章 Transformer网络_第4页
深度学习及应用 课件 第八章 Transformer网络_第5页
已阅读5页,还剩114页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章:Transformer网络Transformer是近年来深度学习领域最具影响力的模型架构之一。自从2017年Vaswani等人发表“AttentionisAllYouNeed”论文以来,Transformer已成为NLP、计算机视觉等几乎所有可能领域的核心技术。本章节将全面解析Transformer的基本原理、结构、关键技术及其应用。那么,什么是Transformer神经网络模型?通常而言,传统的顺序模型(例如RNN)在捕获远程依赖性和实现并行计算方面存在局限性。为了解决这些问题,Transformer模型引入了自注意力机制(Self-AttentionMechanism),使网络能够在生成输出时权衡输入序列中不同位置的重要性,并实现并行计算。Transformer模型通过自注意力机制和并行计算的优势,能够更好地处理长距离依赖关系,提高了模型的训练和推理效率。本章将首先简单介绍Transformer模型的发展史,然后重点介绍Transformer模型的原理包括其编码器和解码器,接着引入了一些Transformer模型的变体,最后介绍Transformer模型的应用。通过对Transformer模型的学习,读者能够进一步更好地去深入学习大语言模型。引言第八章Transformer网络第八章Transformer网络8.1Transformer的发展史8.2Transformer的原理8.3Transformer的编码器8.4Transformer的解码器8.5Transformer的变体8.6Transformer的应用8.1Transformer的发展史在Transformer模型横空出世之前,传统的RNN和CNN在处理长文本时,可谓是状况百出。RNN存在梯度消失和梯度爆炸的问题,就好比长跑运动员跑到后面没力气了,根本无法很好地处理长距离依赖关系,且RNN只能按顺序处理数据,其训练速度简直像蜗牛爬,难以并行化。CNN呢,虽然在提取局部特征方面还不错,但在捕捉长距离依赖时,就显得力不从心了。为了解决这些难题,Google的大神们在2017年提出了Transformer架构,它就像一个横空出世的超级英雄,凭借自注意力机制,成功解决了长距离依赖问题,还实现了并行化训练,大大提高了训练效率。自从Transformer模型诞生后,基于它构建的大模型如雨后春笋般涌现。像BERT(BidirectionalEncoderRepresentationsfromTransformer),它在NLP任务中简直是“全能选手”,无论是文本分类、命名实体识别,还是问答系统,都表现得相当出色,直接刷新了多项

NLP任务的基准。GPT(GenerativePre-trainedTransformer)系列更是名声大噪,GPT-3、GPT-4的文本生成能力,可谓一个惊艳,写文章、编故事、写代码,样样精通。在机器翻译领域,Transformer模型更是大展身手。它能够精准捕捉不同语言之间的复杂关系,翻译出来的句子通顺自然,意思也准确无误。还有文本摘要、情感分析等任务,Transformer模型同样能轻松应对,为NLP领域带来了翻天覆地的变化。可以说,Transformer已经成为了现代大语言模型的基石,在各个领域发光发热。8.1Transformer的发展史有关Transformer模型历史上的一些关键发展事件,大概可以参考如下:(1)1990年,Schmidhuber提出了第一个Transformer模型的概念,被称为“快速权重控制器”,它采用了注意力机制来学习句子中单词之间的关系。然而,尽管这个早期的Transformer模型在概念上是先进的,但由于其效率较低,它并未得到广泛的应用。(2)2017年,Vaswani等人发表了论文“AttentionisAllYouNeed”,介绍了Transformer模型的核心思想。尽管早期的“快速权重控制器”并未受到广泛应用,但通过该论文,Transformer模型得到了重新定义和改进,成为现代深度学习的前沿技术之一,为NLP等领域的快速发展奠定了基础。(3)2018年,Transformer模型在各种NLP任务中取得了最先进的结果,包括机器翻译、文本摘要和问答等。8.1Transformer的发展史(4)2019年,Transformer模型被用于创建大型语言模型(LargeLanguageModels,LLMs),例如BERT和GPT-3,这些模型在各种NLP任务中取得了重要突破。(5)2020年以后,Transformer模型继续被用于创建更强大的模型,例如2022年开发的ChatGPT和2023年开发的GPT-4,它们在自然语言生成和理解方面取得了惊人的成果。(6)2024年12月下旬,DeepSeek-V3作为一种成本高效的开放权重LLM出现,为AI的可访问性设定了新标准,赋予LLM更接近人类的深度推理能力,标志着人工智能在模拟人类思维模式上迈出了重要一步。第八章Transformer网络8.1Transformer的发展史8.2Transformer的原理8.3Transformer的编码器8.4Transformer的解码器8.5Transformer的变体8.6Transformer的应用8.2Transformer的原理8.2.1Transformer的通用架构8.2.2Encoder-Decoder结构8.2.1Transformer的通用架构本节将讲解原始Transformer模型的构架,整体模型如图8.1所示,主要由编码器(Encoder)和解码器(Decoder)两部分组成,每一部分都由多个相同的层堆叠而成。第l层的输出是第l+1层的输入,直到做出预测的最终层。从图中的箭头可以看到,输入信息序列经过一些处理后(词嵌入、位置编码),进入左侧的编码器,在编码器多头自注意力子层和前馈神经网络子层中运算后,将目标输出到右侧解码器交叉多头注意力子层以及前馈神经网络子层,同时结合掩码多头自注意力子层的信息,得到解码器的输出。从图8.1的构架可以看到,整个模型并没有RNN、LSTM一类的循环结构,也就是说,Transformer模型完全抛弃了循环结构,而是采用了所述的Encoder-Decoder结构。图8.1原始Transformer模型的构架8.2Transformer的原理8.2.1Transformer的通用架构8.2.2Encoder-Decoder结构8.2.2Encoder-Decoder结构Transformer模型中的Encoder-Decoder结构,其黑盒示意图如图8.2所示,中间有个关键内容是特征,注意,特征可以有多种表现形式,它既可以为单一数值,也可以为向量或矩阵。在文本序列里,特征往往表示的是词序即上下文关系。简单地说,输入序列会被编码器编码成为特征或者上下文,解码器会使用这个特征或上下文,与所有的词汇进行一系列运算,输出一个结果。由于Transformer模型具体由多个编码器和多个解码器堆叠而成,可以将示意图展开为如图8.3所示。图中多个编码器和解码器协同工作,将输入序列(英文:Iamastudent)转换为输出序列(中文:我是个学生)。此方法看起来很简单,但是如何实现呢?Transformer模型中的编码器和解码器是如何将英文转换为中文的呢?编码器和解码器的内部又是怎样工作的呢?下面的章节将进行详细介绍。图8.2

Encoder-Decoder示意图图8.3

Encoder-Decoder结构8.2.2Encoder-Decoder结构(1)Transformer中的编码器编码器的功能是负责将输入序列(比如一个句子)映射为一组高级抽象的向量特征,这些特征能够捕获整个输入序列的上下文信息。通常这部分由6个相同的编码器层堆叠而成,而每个编码器又包含两个子层:多头注意力子层:该子层采用多头自注意力机制,允许编码器关注输入序列中不同位置的信息,捕捉序列内部的依赖关系。具体来说,对于输入序列中的每个元素,模型会计算它与序列中其他所有元素的注意力权重,然后根据这些权重对整个序列进行加权求和,得到该元素的上下文表示。这样,每个元素的特征都融合了整个序列的信息,能够捕捉长距离的依赖关系。8.2.2Encoder-Decoder结构前馈神经网络子层:该子层对每个位置

的表示进行非线性变换,增强模型的表达能力。前馈神经网络通常是一个简单的两层全连接网络,对每个元素分别进行操作,不涉及元素之间的交互。另外,每个子层后都使用了残差连接和层归一化技术。残差连接将输入直接添加到输出,有助于缓解深层网络中的梯度消失问题,使模型更容易训练。层归一化对每个元素的特征进行归一化处理,稳定训练过程,加速收敛。经过多层编码器的输出仍然是一个序列,其中每个元素都包含了输入序列中所有元素的信息。8.2.2Encoder-Decoder结构(2)Transformer中的解码器解码器的功能是根据编码器输出的上下文向量和之前生成的输出序列,逐步生成目标序列(例如翻译后的句子)。通常这部分也由6个相同的解码器层堆叠而成,每个解码器层包含三个子层:掩码多头注意力子层:该子层采用掩码多头自注意力机制,允许解码器关注已经生成的输出序列,确保模型在生成当前词时只依赖于之前的词。具体来说,解码器中的掩码多头自注意力机制使用掩码来屏蔽(或遮蔽)后续位置的信息。这是因为在生成目标序列时,模型只能看到之前已经生成的元素,而不能看到未来还未生成的元素。掩码确保了在计算每个元素的注意力权重时,只能考虑该元素之前的位置,从而保持了自回归的特性。8.2.2Encoder-Decoder结构交叉多头注意力子层:该子层采用普通多头自注意力机制,允许解码器关注编码器输出的上下文向量,获取输入序列的语义信息。具体来说,解码器将编码器的输出作为输入的一部分,将自身经过掩码多头自注意力机制处理后的输出作为输入的另一部分,两者结合计算注意力权重,然后根据这些权重对编码器的输出进行加权求和,得到与目标序列每个元素相关联的上下文表示。这使得解码器既能够充分利用编码器提供的全局上下文信息,同时生成更加准确和连贯的输出序列。前馈神经网络子层:与编码器类似,该子层对每个位置的表示进行非线性变换,增强模型的表达能力。同样,每个子层后仍然使用了残差连接和层归一化,用于提高模型训练的稳定性。注意,解码器的输出是一个概率分布,表示下一个词的可能性。8.2.2Encoder-Decoder结构(3)Encoder-Decoder结构的优势并行化计算:编码器和解码器都可以并行计算,极大地提升了训练速度。捕捉长距离依赖关系:编码器和解码器中的多头自注意力机制可以捕捉序列中任意两个元素之间的关系,无论它们之间的距离多远。灵活性强:Encoder-Decoder结构可以应用于各种序列到序列的任务,例如机器翻译、文本摘要、语音识别等。现在已经从较高层面讲解了Transformer结构和原理。接下来,按照序列处理的顺序,依次讲解下编码器和解码器的具体结构和工作原理。第八章Transformer网络8.1Transformer的发展史8.2Transformer的原理8.3Transformer的编码器8.4Transformer的解码器8.5Transformer的变体8.6Transformer的应用8.3Transformer的编码器8.3.1位置编码8.3.2多头自注意力机制8.3.3残差与层归一化8.3.4前馈神经网络8.3.5编码器总览8.3.1位置编码在RNN模型中,句子是逐字送入网络进行学习的。以Iamastudent(我是个学生)为例,首先把I作为输入,下一个词是am,以此类推。通过逐字地接受输入,网络就能完全理解整个句子。然而,Transformer模型并不遵循RNN递归循环的模式。因此,不是逐字地输入句子,而是将句子中的所有词并行地输入到网络中。并行输入有助于缩短训练时间,同时有利于学习长期依赖。但是,并行地将词送入Transformer模型,却不保留词序,它将如何理解句子的意思呢?要理解一个句子,词序(词在句子中的位置)是最重要的特征。这将如何做到呢?现在通过图8.4来解答这个问题。图8.4Transformer处理的句子8.3.1位置编码首先从图中的语料库中任选一个待处理的句子Ialsolikeeatingduckeggs,每个单独的单词称为Token,为其分配一个唯一的数字,在正常情况下,用长度为512的向量表示,如图8.5所示。注意,在实际的NLP中,Token指的是文本中的一个基本单元,是模型处理文本或其他类型数据时的基本单位,它可以是一个单词、一个标点符号、一个数字,或者甚至是一个子词​。这里为了表述方便,一个单词视为一个Token。图8.5单词的向量表示8.3.1位置编码

图8.6单词的嵌入值

8.3.1位置编码

图8.7位置嵌入的计算

8.3.1位置编码图8.8位置编码矩阵接下去只需将位置编码矩阵与词嵌入矩阵进行逐元素相加,再将其作为输入送入到Transformer编码器中,如图8.9所示。这样一来,编码器输入矩阵不仅有词的嵌入值,还有词在句子中的位置信息。8.3.1位置编码图8.9编码器输入矩阵8.3Transformer的编码器8.3.1位置编码8.3.2多头自注意力机制8.3.3残差与层归一化8.3.4前馈神经网络8.3.5编码器总览8.3.2多头自注意力机制在分析多头自注意力机制之前,先来了解下自注意力机制用来干什么。人类在感知环境的时候(比如看一张图像或者一个句子),大脑能够分清哪部分是重要的,哪部分是次要的,从而聚焦更重要的部分以获得对应的信息,如图8.10所示。因此在设计神经网络模型的时候,同样希望模型也能具有这样的能力。例如,预测一个句子中的单词时,使用一个注意力向量来估计它在多大程度上与其他元素相关。自注意力机制的核心内容是为输入向量的每个单词学习一个权重,或者说可以利用自注意力机制来动态地生成不同连接的权重。8.3.2多头自注意力机制接下去通过一个例子来快速理解自注意力机制。请看下面的例句:Adogatethefoodbecauseitwashungry(一只狗吃了食物,因为它很饿)例句中的代词it(它)可以指代

dog(狗)或者food(食物)。当读这段文字的时候,自然而然地认为it指代的是dog,而不是food。但是当计算机模型在面对这两种选择时该如何决定呢?这时,自注意力机制有助于解决这个问题。以上句为例,模型首先需要计算出单词A的特征值,其次计算dog的特征值,然后计算ate的特征值,以此类推。当计算每个词的特征值时,模型都需要遍历每个词与句子中其他词的关系。模型可以通过词与词之间的关系来更好地理解当前词的意思。比如,当计算it的特征值时,模型会将it与句子中的其他词一一关联,以便更好地理解它的意思。如图8.11所示显示了it的特征值由它本身与句子中其他词的关系计算所得。通过关系连线,模型可以明确知道原句中it所指代的是dog而不是food,这是因为it与dog的关系更紧密,关系连线相较于其他词也更粗。8.3.2多头自注意力机制

图8.12自注意力机制结构

8.3.2多头自注意力机制图8.13查询矩阵,键矩阵和值矩阵的计算过程8.3.2多头自注意力机制

8.3.2多头自注意力机制

8.3.2多头自注意力机制

8.3.2多头自注意力机制第3步:目前所得的相关度尚未被归一化,因此需要使用Softmax函数对其进行归一化处理。如图8.16所示,应用Softmax函数将使数值分布在0到1的范围内,且每一行的所有数之和等于1。通过这些小数,可以快速了解句子中的每个词与所有词的相关程度。以图8.16的第一行为例,I这个词与它本身的相关程度是77.85%,与also这个词的相关程度是3.73%,与like这个词的相关程度是18.4%,与eating这个词的相关程度是0.01%,与duck这个词的相关程度是0.01%,与eggs这个词的相关程度是0.02%。

8.3.2多头自注意力机制图8.17注意力矩阵的计算过程8.3.2多头自注意力机制

图8.18单词it的自注意力值

8.3.2多头自注意力机制综上所述,注意力矩阵Z由句子中所有单词的自注意力值组成,它的计算公式如下:现将自注意力机制的计算步骤总结如下:(1)对于编码器输入序列X,首先将其线性映射到三个不同的空间,得到查询矩阵Q,键矩阵K和值矩阵V,其映射过程为

8.3.2多头自注意力机制

8.3.2多头自注意力机制下一步来了解下多头自注意力机制的工作原理。顾名思义,多头注意力是可以使用多个注意力头,而不是只用一个。也就是说,可以应用前面学习的计算注意力矩阵Z的方法,来求得多个注意力矩阵,如图8.19所示。图8.19多头自注意力机制结构8.3.2多头自注意力机制

8.3.2多头自注意力机制图8.20多头自注意力的拼接8.3Transformer的编码器8.3.1位置编码8.3.2多头自注意力机制8.3.3残差与层归一化8.3.4前馈神经网络8.3.5编码器总览8.3.3残差与层归一化前面已经了解了多头自注意力层的工作机制和结构。从图8.1中可以看到编码器将输入连接到输出,这个过程称之为残差连接(Residual

Connection),是深度学习中的一种网络结构设计技巧,核心理念是为了解决深度神经网络训练时遇到的梯度消失和爆炸问题,在第5章已经深入介绍。在一个含有残差连接的网络结构中,输入信息不仅会经过一系列的层(如卷积层、全连接层等)进行变换,还会通过一个快捷路径直接传递到后面的层,然后将这两部分信息相加或融合在一起。通过残差连接,模型可以直接学习输入特征与输出特征之间的残差(或者说是差异),而不是直接学习复杂的映射关系,这样往往能更容易地优化网络,改善模型的训练效果和性能,并允许网络更深。8.3.3残差与层归一化进一步,规范化上述矩阵并防止每层值剧烈变化,需要对该层进行归一化。层归一化(LayerNormalization)是一种用于深度学习模型的归一化技术,是对单个样本内部的层输出进行归一化处理,它能改善模型中的梯度传播问题,进而提高模型的训练效率和性能。层归一化的第一步是计算每行的均值和标准差,然后用矩阵中每个值减去对应行的平均值,并除以对应的标准差。如图8.21所示,显示了编码器的残差和层归一化过程,图中误差0.0001是为了防止分母为0。图8.21残差和层归一化过程8.3Transformer的编码器8.3.1位置编码8.3.2多头自注意力机制8.3.3残差与层归一化8.3.4前馈神经网络8.3.5编码器总览8.3.4前馈神经网络在将矩阵归一化后,它将进入全连接前馈神经网络进行处理。这里将使用一个非常基本的网络,只包含一个线性层和一个ReLU激活函数层,计算过程如图8.22所示。首先,需要将前面得到的归一化矩阵与一组随机的权重矩阵相乘来计算线性层,该权重矩阵在学习时将不断更新,将结果矩阵添加到一个也包含随机值的偏置矩阵中,并通过ReLU层得到全连接前馈神经网络的输出结果。图8.22前馈神经网络计算过程8.3Transformer的编码器8.3.1位置编码8.3.2多头自注意力机制8.3.3残差与层归一化8.3.4前馈神经网络8.3.5编码器总览8.3.5编码器总览到此,已经掌握了一个编码器内部的各个组件,事实上Transformer模型的编码由多个编码器堆叠组成,最后,总结下整个编码过程:(1)将输入转换为嵌入矩阵,并将位置编码加入其中,再将结果作为输入传入第一个编码器(编码器1);(2)编码器1接受输入并将其送入多头自注意力层,该子层运算后输出注意力矩阵;(3)将注意力矩阵和输入矩阵一起输入到下一个子层,完成残差计算和层归一化。同时将结果进一步输入到前馈网络层,计算出特征值作为输出;(5)接下来,把从编码器1中得到的输出作为输入,传入下一个编码器(编码器2);(6)编码器2进行同样的处理,再将给定输入句子的特征值作为输出。这样可以将N个编码器一个接一个地叠加起来,从最后一个编码器(顶层的编码器)得到的输出将是给定输入句子的特征值,将最后得到的特征值表示为R。进一步,把R作为输入传给解码器,解码器将基于这个输入生成目标句。现在了解了Transformer模型的编码器部分,8.4节将详细分析解码器的结构和工作原理。第八章Transformer网络8.1Transformer的发展史8.2Transformer的原理8.3Transformer的编码器8.4Transformer的解码器8.5Transformer的变体8.6Transformer的应用8.4Transformer的解码器假设想把英文句子Iamastudent(原句)翻译成中文句子“我是个学生”(目标句)。首先,将原句Iamastudent送入编码器,使编码器学习原句,并计算特征值。在8.3节中,已经学习了编码器是如何计算原句的特征值,然后,把从编码器求得的特征值送入解码器。解码器将特征值作为输入,并生成目标句。在Transformer编码器部分,可以看到其叠加N个编码器。同理,解码器也可以N个叠加在一起,一个解码器的输出会被作为输入传入下一个解码器。但与编码器不同的是,如前面图8.3所示,编码器将原句的特征值(编码器的输出)作为输入传给所有解码器,而非只给第一个解码器。因此,一个解码器(第一个除外)将有两个输入:一个是来自前一个解码器的输出,另一个是编码器输出的特征值。下面将学习解码器究竟是如何生成目标句子。注意,与编码器不同,解码器预测文本需要遵循一个标准的令牌包装,使Transformer模型知道从哪里开始和在哪里结束。比如,当解码器的输入是<sos>,表示句子的开始,此时解码器生成目标句中的第一个词;当输入是<eos>,表示句子的结束,意味着解码器已经完成了对目标句的生成工作。下面的小节将深入了解解码器的各个组成部分。8.4Transformer的解码器8.4.1掩码多头自注意力机制8.4.2交叉多头注意力机制8.4.3线性层和Softmax层8.4.4解码器总览8.4.1掩码多头自注意力机制与编码器模块相似,解码器模块也包含多头注意力机制和前馈神经网络层,但多了掩码多头自注意力机制。在理解掩码多头自注意力机制之前,类似于编码器,也不是将输入直接送入解码器,而是将其转换为嵌入矩阵,为其添加位置编码,然后再将其送入解码器的掩码多头自注意力机制,解码器的位置编码过程与编码器一样。在Transformer模型中,掩码多头自注意力就像模型用来关注句子不同部分的聚光灯。它很特别,因为它不让模型通过查看句子后面的单词来作弊,从而影响模型的学习效果。为了防止这种信息泄露,解码器使用了掩码多头自注意力机制,为此,需要了解带掩码多头注意力机制是如何工作的。前面已经看到,解码器对应的输入句是“我也爱吃鸭蛋”,由8.3节可知,自注意力机制需要将一个单词与句子中的所有单词联系起来,从而提取每个词的更多信息。在推理期间,解码器只将上一步生成的词作为输入,模型的注意力机制应该只与该词之前的单词有关,而不是其后的单词。比如,想预测与<sos>相邻的单词,在这种情况下,模型应该只看到<sos>,因此需要掩盖<sos>后边的所有词。再比如词“我”,模型应该只看到“我”之前的词,同样需要掩盖“我”后边的所有词,其他单词同理。8.4.1掩码多头自注意力机制但究竟如何才能实现掩码呢?具体来说,在计算自注意力时,对于未来的词位置设置一个掩码,使其注意力权重为零,即:

图8.23掩码多头自注意力计算过程8.4.1掩码多头自注意力机制进一步,根据上式将Softmax函数应用于前面的矩阵,并将结果与值矩阵V相乘,得到最终的注意力矩阵Z,具体计算过程类同于编码器中的自注意力机制计算过程。同样,可以计算多个注意力矩阵,将它们拼接起来,并将结果乘以新的权重矩阵,即可得到最终的掩码多头自注意力矩阵。最后,把注意力矩阵送到解码器的下一个子层,也就是残差和归一化层,其结构和工作原理与编码器对应层一样。通过使用掩码机制,Transformer解码器可以在训练时同时计算整个序列的注意力矩阵,因为掩码确保了每个位置只能看到之前的位置。这消除了顺序依赖性,使得训练过程可以并行化,大大提高了训练效率。8.4Transformer的解码器8.4.1掩码多头自注意力机制8.4.2交叉多头注意力机制8.4.3线性层和Softmax层8.4.4解码器总览8.4.2交叉多头注意力机制在讲解交叉多头注意力机制之前,先来回顾下图8.3所示的Encoder-Decoder结构,可以看到编码器的输出结果最后输入到每个解码器中。具体地说,每个解码器中的多头注意力层都有两个输入:一个来自带掩码的多头自注意力层的输出,另一个是编码器输出的特征值,如图8.24所示,这里暂且忽略残差归一化子层和前馈神经网络层。由于涉及编码器与解码器的交互,因此这一层被称为交叉多头注意力层,也被称为编码器−解码器注意力层,是Transformer模型解码器中的一个重要组成部分。图8.24交叉多头注意力结构8.4.2交叉多头注意力机制交叉多头注意力机制连接了编码器和解码器,使得解码器在生成每个输出时能够参考编码器的输出,从而捕捉到输入序列中的相关信息。解码器的生成过程是递归的,即在每一步生成一个新词,然后将这个新词作为输入的一部分,继续生成下一个词。注意这个过程通常在训练时并行进行,而在推理时逐步进行。以翻译任务为例,图8.24是解码器一步步生成翻译结果的过程,一开始解码器的输入只有一个特殊的开始符号<sos>,当生成<eos>时表示生成结束。图8.24交叉多头注意力结构

8.4.2交叉多头注意力机制8.4.2交叉多头注意力机制图8.25交叉多头自注意力查询矩阵、键矩阵和值矩阵的计算过程8.4.2交叉多头注意力机制

8.4.2交叉多头注意力机制图8.26交叉多头注意力矩阵的计算过程综上所述,交叉多头注意力机制通过计算解码器与编码器之间的注意力得分来实现信息的传递和整合。这种机制使得模型能够捕捉到输入序列中的相关信息,并在生成输出时加以利用。这里用同样的方法可以计算出每个交叉注意力矩阵,并将它们拼接起来,乘以一个新的权重矩阵,得出最后的注意力矩阵。最后将结果送入解码器的下一个子层,即前馈网络层。8.4Transformer的解码器8.4.1掩码多头自注意力机制8.4.2交叉多头注意力机制8.4.3线性层和Softmax层8.4.4解码器总览8.4.3线性层和Softmax层一旦解码器学习了目标句的特征,就将顶层解码器的输出送入线性层和Softmax层,如图8.27所示。线性层将生成一个logit向量,其大小等于原句中的词汇量。这里使用Softmax函数将logit向量转换成概率,然后解码器将输出具有高概率值词的索引值,用一个示例来理解这一过程。假设解码器的输入词是<sos>和“我”。基于输入词,解码器需要预测目标句中的下一个词。可以把顶层解码器的输出送入线性层,线性层生成logit向量,假设线性层返回如下logit向量:[38,35,54,36,27,29]。将Softmax函数应用于logit向量,从而得到概率:[0.006,0.005,0.982,0.005,0.000,0.000]。从概率矩阵中,可以看出索引2的概率最高。所以,模型预测出的下一个词位于词汇表中索引2的位置。由于“也”这个词位于索引2,因此解码器预测目标句中的下一个词是“也”。通过这种方式,解码器依次预测目标句中的下一个词。图8.27线性层和Softmax层8.4Transformer的解码器8.4.1掩码多头自注意力机制8.4.2交叉多头注意力机制8.4.3线性层和Softmax层8.4.4解码器总览8.4.4解码器总览到此,已经掌握了一个解码器内部的各个组件,Transformer模型的解码与编码类似,由多个解码器堆叠组成,根据图8.1,总结下整个解码过程:(1)首先,将解码器的输入转换为嵌入矩阵,然后将位置编码加入其中,并将其输入到底层的解码器1;(2)解码器1收到输入,通过掩码多头自注意力层的计算,生成注意力矩阵Z;(3)然后,将注意力矩阵Z和编码器输出的特征值R作为交叉多头注意力层(编码器-解码器注意力层)的输入,经过计算得到新的注意力矩阵;(4)把从交叉多头注意力层得到的注意力矩阵送入前馈神经网络层,经解码后将特征输出;(5)最后,把从解码器1得到的输出作为输入,将其送入解码器2;(6)解码器2进行同样的处理,并输出目标句的特征。经过N个解码器层层计算后,将目标句的最终特征送入线性层和Softmnax层,通过概率得到预测的词。第八章Transformer网络8.1Transformer的发展史8.2Transformer的原理8.3Transformer的编码器8.4Transformer的解码器8.5Transformer的变体8.6Transformer的应用8.5Transformer的变体8.5.1LLM模型8.5.2BERT模型8.5.3GPT模型8.5.4预训练–微调技术8.5.5LLM幻觉问题8.5.1LLM模型LLMs这一术语在2018年至2019年间随着基于Transformer架构的模型(如BERT和GPT)的兴起而逐渐受到关注。然而,直到2020年GPT-3发布后,这一术语才被广泛采用,充分展现了这些大规模模型在NLP领域的深远影响和强大能力。LLMs是语言模型的一个子集,专注于处理、理解和生成类人语言。通过从海量数据中学习语言模式和结构,LLMs能够生成连贯且上下文相关的文本,广泛应用于机器翻译、文本摘要、聊天机器人以及内容生成等任务。与传统的语言模型相比,LLMs的显著特征在于其庞大的规模,通常包含数十亿甚至数千亿个参数。这种超大规模使得LLMs在多种复杂任务中展现出卓越的性能,推动了NLP的快速发展。8.5.1LLM模型

8.5.1LLM模型2017年,Transformer模型的引入标志着NLP领域的新纪元。它不仅解决了早期模型(如RNN和LSTM)在长程依赖和顺序处理方面的局限性,还为构建高效、大规模的语言模型奠定了基础,使模型能够以更高的精确性和灵活性处理复杂任务。这一时期催生了两个具有深远影响的模型家族:BERT和GPT,它们展示了大规模预训练和微调范式的强大潜力。2018年,Google推出了BERT,这是一种基于Transformer编码器的突破性模型。与以往单向处理文本的模型不同,BERT采用双向训练方法,能够同时从左右两个方向捕捉上下文信息。通过生成深层次、上下文丰富的文本表示,BERT在文本分类、命名实体识别、情感分析等语言理解任务中取得了最先进的性能。BERT的成功证明了上下文嵌入的重要性,并为后续预训练模型的发展铺平了道路。8.5.1LLM模型与此同时,OpenAI的GPT系列采用了不同的策略,专注于通过自回归预训练实现强大的文本生成能力。GPT模型基于Transformer解码器,在自回归语言建模和文本生成任务中表现出色。与BERT的双向理解不同,GPT通过从左到右的单向预测逐步生成文本,展现了生成式模型的独特优势。BERT和GPT系列的模式如图8.28所示。图8.28BERT和GPT系列模式8.5.1LLM模型GPT系列的发展历程如图8.29所示。其首个版本于2018年发布,是一个基于Transformer模型的LLMs,通过预测序列中的下一个词进行训练,类似于传统语言模型。随后,GPT-2在GPT的基础上进一步扩展,参数量达到15亿。GPT-2展示了强大的零样本学习能力,能够在未经特定任务微调的情况下生成连贯的文章、回答问题,甚至进行跨语言翻译,尽管这些任务并非其训练目标。图8.29GPT系列发展历程GPT-3的发布标志着LLMs规模扩展的重要转折点。凭借1750亿参数,GPT-3突破了大规模预训练的极限,展现了卓越的少样本和零样本学习能力,仅需少量示例甚至无须示例即可完成任务。其生成能力不仅限于文本创作,还扩展到编程辅助和复杂推理任务,充分展示了超大模型的潜力。GPT-3的成功标志着AI进入了一个变革时代,彰显了自回归架构和生成式模型的强大功能。8.5.1LLM模型2022年3月,GPT-3.5发布,作为GPT-3的升级版,其架构保持不变,但在训练和微调方面进行了优化。关键改进包括通过高质量数据提升指令遵循能力、减少幻觉现象,以及使用更多样化和更新的数据集,从而生成更相关且上下文感知的响应。同年11月,ChatGPT问世,这是一种专为多轮对话设计的突破性AI模型。ChatGPT的推出被称为“ChatGPT时刻”,因其展示了对话式AI彻底改变人机交互的潜力。2023年,GPT-4V发布,将GPT-4的语言能力与先进的计算机视觉技术相结合,如图8.30所示。该模型能够解释图像、生成标题、回答视觉问题,并推断视觉上下文关系。其跨模态注意力机制实现了文本与图像数据的无缝集成,在如医学图像分析和互动学习工具等领域展现了巨大价值。到2024年初,GPT-4o进一步整合了音频和视频输入,实现了多模态能力的全面升级。GPT-4o能够转录音频、描述视频内容,并将文本合成为音频,标志着AI开发的新里程碑,展示了生成与推理能力结合的巨大潜力。图8.30GPT-4使用演示8.5.1LLM模型LLMs通常需要极其庞大的计算资源进行训练和推理。特别像GPT-4o这样的最先进LLM模型的闭源性质,限制了尖端AI技术的普及化。2024年12月下旬,深度求索-V3(DeepSeek-V3)作为一种成本高效的开放权重LLM问世,为AI的可访问性设定了新标准。DeepSeek-V3在性能上与ChatGPT等顶级解决方案相媲美,但其开发成本显著降低。DeepSeek-V3采用了专家混合架构,将模型划分为专门处理数学、编码等任务的组件,以优化计算资源。其核心架构包括:1.多头潜在注意力(Multi-headLatentAttention,MLA):通过压缩注意力键和值减少内存占用,同时利用旋转位置嵌入增强位置信息。2.DeepSeek专家混合(MixtureofExperts,MoE):在前馈神经网络中结合共享和路由专家,提高效率并平衡专家利用率。3.多标记预测(Multi-TokenPrediction,MTP):增强模型生成连贯且上下文相关输出的能力,尤其适用于复杂序列生成任务。8.5.1LLM模型2025年1月下旬,DeepSeek再次引发行业震动,发布了DeepSeek-R1-Zero和DeepSeekR1。这些模型展示了卓越的推理能力,同时训练成本极低,证明了高性能推理无须依赖巨额计算资源。这一突破进一步巩固了DeepSeek作为高效、可扩展AI创新领导者的地位。其中DeepSeek-R1-Zero是基于DeepSeek-V3的推理模型,通过强化学习增强推理能力。它完全跳过了传统的监督微调阶段,直接从预训练模型DeepSeek-V3开始,并采用了一种基于规则的强化学习方法,称为组相对策略优化(GroupRelativePolicyOptimization,GRPO),通过预定义规则计算奖励,简化了训练过程并提高了可扩展性。DeepSeekR1则是为解决DeepSeek-R1-Zero在可读性和语言混杂方面的局限性,DeepSeek-R1引入了一组有限的高质量冷启动数据,并进行了多轮微调和强化学习训练,包括拒绝采样和第二轮强化学习训练,以提升其通用能力和与人类偏好的一致性。另外,DeepSeek还开发了参数规模很小的蒸馏版DeepSeek-R1,将先进的推理能力扩展到资源受限的硬件上。这些模型使用DeepSeekR1生成的合成数据进行微调,在保持高性能的同时实现轻量化部署。8.5.1LLM模型从2017年Transformer模型的引入到2025年DeepSeekR1的突破性发展,LLMs的演变标志着AI领域的一个革命性篇章。这一历程由四个里程碑式的成就定义:1.Transformer模型(2017年):Transformer模型的提出为构建高效、大规模的语言模型奠定了基础,其自注意力机制和并行计算能力使得模型能够以前所未有的精确性和灵活性处理复杂任务,彻底改变了NLP领域的研究范式。2.GPT-3(2020年):GPT-3展示了模型规模在AI中的变革力量。凭借1750亿参数,它证明了在大规模数据集上训练的模型可以在广泛任务中实现接近人类的表现,为AI的能力设立了新的基准,并推动了少样本和零样本学习的研究。3.ChatGPT(2022年):ChatGPT将对话式AI带入主流,使高级AI技术对普通用户更加可访问和互动。它不仅改变了人机交互的方式,还引发了关于AI伦理和社会影响的广泛讨论,推动了负责任AI发展的全球关注。4.DeepSeek-R1(2025年):DeepSeekR1代表了成本效率的重大飞跃,通过专家混合架构和优化算法,其运营成本比许多美国模型低多达50倍。其开源性质加速了尖端AI技术的普及化,赋能各行业创新者,并凸显了可扩展性、可访问性在塑造AI未来中的核心重要性。8.5Transformer的变体8.5.1LLM模型8.5.2BERT模型8.5.3GPT模型8.5.4预训练–微调技术8.5.5LLM幻觉问题8.5.2BERT模型第8.2和8.3节介绍了原始Transformer模型的构建模块。可以将Transformer想象成用乐高积木搭建的模型。构建集包含编码器、解码器、位置编码、多头自注意力子层、掩码多头自注意力子层、残差和层归一化、前馈神经网络等组件。这些组件各有不同功能,可以使用这些组件搭建出不同结构的模型。当然有些模型需要额外添加更多组件。BERT在Transformer模型构建套件中添加了一个新组件:双向多头自注意力子层。当在理解一个句子遇到问题时,不只是看过去的单词,BERT和人类一样,同时会查看同一句子中的所有单词。这里简单介绍BERT模型的基本结构和原理。8.5.2BERT模型

图8.31BERT模型8.5.2BERT模型BERT模型的训练主要包括预训练和微调两个阶段。其中BERT预训练就是模仿人类学习语言的过程,要准确地理解一个句子或一段文本的语义,就要学习上下文关系,从上下文语义来推测空缺单词的含义。而BERT模型的做法模拟了英语中的完形填空,随机将一些单词遮住,让BERT模型去预测这个单词,以此达到学习整个文本语义的目的。这里使用了两个任务,一个叫掩码语言建模(MaskedLanguageModeling,MLM),另外一个叫下一句预测(NextSentencePrediction,NSP),通过这两个任务完成BERT模型的预训练。首先,怎么理解掩码语言建模?以下面的句子为例:Thecatsatonitbecauseitwasanicerug.假设当前位置为第一个单词it,原始Transformer模型的解码器会对当前单词it的后续部分进行掩码:Thecatsatonit<maskedsequence>.而BERT模型则是随机掩码一个词元进行预测:Thecatsatonit[MASK]itwasanicerug.这样自注意力子层就可以看到整个序列,为什么能做到这一点呢?这是因为前面提到BERT模型使用双向自注意力,也就是说,对句子进行双向分析,即从左右两边进行关注,从而完成对句子中的某一单词进行随机掩码。8.5.2BERT模型训练BERT模型的第二个任务是下一句预测。它是指输入将包含两个句子,在50%的情况下,第二个句子是文档的实际第二个句子。在另外50%的情况下,第二个句子是随机选择的,与第一个句子没有关系。这个机制在预训练中能达到97%-98%的准确率,并且能很显著地提高模型的效率。BERT模型通过对掩码语言建模机制和下一句预测任务进行联合训练,使模型输出的每个字词的向量特征表示都能尽可能全面、准确地刻画输入文本的整体信息,为后续的微调阶段提供更好的模型参数初始值。预训练完成后,BERT可以快速适应下游任务。在微调阶段,只需要为特定任务添加相应的输出层,然后在该任务的数据集上进行训练。得益于预训练的丰富表示,微调通常需要的训练数据量较少,效果却非常显著。BERT模型通过预训练和微调,显著提升了NLP任务的性能。BERT模型的成功不仅推动了NLP领域的发展,还催生了许多变体模型,进一步扩展了其应用范围。8.5Transformer的变体8.5.1LLM模型8.5.2BERT模型8.5.3GPT模型8.5.4预训练–微调技术8.5.5LLM幻觉问题8.5.3GPT模型从2018年GPT-1开始,随着模型的不断升级改进,其原理经历了一些变化和改进,但是探讨其基本架构仍然有价值,这一节将介绍GPT模型的构架基础和原理。GPT模型的构架与BERT模型的构架相反,它只保留了Transformer解码器部分,而舍弃了编码器部分,如图8.32所示,这使得模型能够专注于生成文本。图8.32GPT模型8.5.3GPT模型GPT模型的整体结构分为三部分:输入层:将文本转换为模型可以处理的格式,涉及分词、词嵌入、位置编码等。隐藏层:由多个Transformer模型的解码器堆叠而成,是GPT的核心,负责模型的理解、思考的过程。输出层:基于隐藏层的最终输出生成为模型的最终预测,在GPT中,该过程通常是生成下一个词元的概率分布。8.5.3GPT模型在隐藏层中,最核心的两个组件分别是掩码多头自注意力层和前馈网络层,同时舍弃了编码器原有的交叉多头注意力层,这是因为没有编码器的输出作为解码器的输入,自然就没有了交叉多头注意力层。隐藏层不只有一层,而是一种多层嵌套的结构。这是为了通过建立更深的网络结构,帮助模型在不同的抽象层次上捕捉序列内部的依赖关系,最终将整段文字的所有关键含义,以某种方式充分融合到最后的输出中。隐藏层的层数并不是越多越好,这取决于模型的设计。此外,模型还保留了Transformer的其他部分,包括了词嵌入、位置编码、残差与层归一化、线性层和Softmax层。GPT模型的训练类似于BERT模型,可以在大规模未标注数据集上预训练一个通用的语言模型,再在特定NLP子任务上进行微调,从而将大模型的语言表征能力迁移至特定子任务中。GPT模型通过自回归语言建模,即根据已生成的文本内容来预测下一个词的概率分布,从而逐步生成完整的文本序列。8.5Transformer的变体8.5.1LLM模型8.5.2BERT模型8.5.3GPT模型8.5.4预训练–微调技术8.5.5LLM幻觉问题8.5.4预训练–微调技术从前面两节可以看到,预训练和微调两项重要技术已经成为LLMs发展的基石。预训练通常是指在大规模数据集上进行模型训练,以帮助模型理解语言的结构和语义。而微调则是在预训练的基础上,利用特定任务的数据进行进一步优化。两者的结合,使得模型可以在多样化的应用场景中更好地理解和生成文本,如图8.33所示,显示了在LLMs中的预训练和微调过程。图8.33预训练–微调技术8.5.4预训练–微调技术预训练是指将一个模型在大量通用数据上进行初步训练,使其学习到一些普遍适用的知识。LLMs预训练阶段是教给大型语言模型如何理解和生成文本的第一阶段。可以把它看作是阅读大量书籍、文章和网站,以学习语法、事实和语言中的常见模式,在这个阶段模型通过不同的预训练策略学习文本结构。比如,GPT自回归模型通过预测下一个词来学习文本连贯性,而BERT掩码语言模型则通过遮盖部分词并预测它们的原始值,来增强对上下文的理解。在这一点上,它们并没有像人类那样完全理解意义,只是给出识别模式和概率。预训练的目标是让模型学习广泛的语言表示,包括语法、语义、上下文关系等,使其在多种下游任务(如文本分类、生成、翻译等)中具备更强的泛化能力。8.5.4预训练–微调技术微调是在预训练的基础上,使用特定任务数据集对模型进行进一步训练。与预训练的目标是让模型具备广泛的语言能力不同,微调的目标是使模型针对某个特定任务进行优化,比如情感分析、机器翻译或文本生成。通过微调,模型能够在特定任务中展现出更高的精度和性能。微调过程涉及以下2个方面:

(1)微调过程需要确保在特定任务中取得高性能,同时又不至于遗忘预训练时学到的通用知识。(2)当微调数据量较小时,模型可能难以充分学习特定任务特征,特别是当微调数据与预训练数据在领域、任务形式、语言风格或标签分布等方面存在显著不同(即分布偏移)时,模型可能难以很好地泛化到新任务,从而影响微调效果。8.5.4预训练–微调技术预训练与微调最大的区别在于它们的目的和训练过程:预训练旨在让模型学习到语言的基本规律和结构,通常是在庞大的通用数据集上进行,目标是获得广泛的知识。而微调则是在特定任务的数据集上进一步训练模型,目标是让模型针对特定任务做出最优化的调整。预训练的重点是学习广泛的语言表示,包括语言结构、语义关系和常识推理,使模型具备泛化能力,而微调的重点是针对特定任务或领域进行优化,提高其在特定任务上的精度和表现。前者通常需要大规模的计算资源,而后者则更多关注如何通过少量数据高效地调整模型。8.5.4预训练–微调技术可以把预训练看作是学生在进入大学之前,接受的一系列通识教育课程。这些课程虽然不针对某个具体的专业,但能让学生对各类知识有一个广泛的了解。比如,学习语文、数学、历史等,让学生具备了一定的基础能力。微调就像是学生在大学专业课的学习,虽然学生已经具备了基础知识,但他们需要专注于特定学科,深入研究这个领域。比如,学生要从“医学通识”课程,转变为深入学习“临床诊断”或“生物化学”等专业知识。在这个过程中,学生会根据自己未来的职业目标,专注于特定的学习内容,这就类似于微调。总的来说,

预训练和微调是现代LLMs的核心技术,通过两者的结合,机器能够在处理复杂任务时表现得更为高效和精准。预训练为模型提供了广泛的语言能力,而微调则确保了模型能够根据特定任务进行细化和优化。随着技术的进步,未来这些方法将会在更多领域发挥重要作用,推动人工智能的发展。8.5Transformer的变体8.5.1LLM模型8.5.2BERT模型8.5.3GPT模型8.5.4预训练–微调技术8.5.5LLM幻觉问题8.5.5LLM幻觉问题LLM幻觉,也被称为AI幻觉,通常是生成式AI聊天机器人或计算机视觉工具,编造它认为是真实存在的甚至看起来合理或可信的信息。简而言之,就是AI在胡说八道。准确而言,是指模型生成的内容与现实世界事实或用户输入不一致的现象。一般来说,当用户向LLMs提出请求时,他们期望得到一个能够适当回应提示的输出(即对问题的正确答案)。然而,有时LLMs会生成并非基于训练数据、被解码器错误解码或不符合任何可识别模式的输出,换句话说,它“幻觉”出了这种回应。8.5.5LLM幻觉问题研究人员将LLMs的幻觉分为事实性幻觉(FactualityHallucination)和忠实性幻觉(FaithfulnessHallucination)。事实性幻觉,是指模型生成的内容与可验证的现实世界事实不一致。比如问模型“第一个在月球上行走的人是谁?”,模型回复“CharlesLindbergh在1951年月球先驱任务中第一个登上月球”。实际上,第一个登上月球的人是NeilArmstrong。忠实性幻觉,则是指模型生成的内容与用户的指令或上下文不一致。比如让模型总结2023年10月的新闻,结果模型却在说2006年10月的事。8.5.5LLM幻觉问题LLM幻觉出现的原因是什么呢?首先是数据缺陷、数据中捕获的事实知识利用率较低。具体来说,数据缺陷分为错误信息和偏见,此外LLMs也有知识边界,所以存在领域知识缺陷和过时的事实知识。特别是LLMs可能会过度依赖训练数据中的一些模式,如位置接近性、共现统计数据和相关文档计数,从而导致幻觉。比如说,如果训练数据中频繁共现“加拿大”和“多伦多”,那么LLMs可能会错误地将多伦多识别为加拿大的首都。

除了数据问题外,训练过程也会使LLMs产生幻觉,主要是前面提到的预训练和微调两个阶段产生问题。其中,预训练阶段可能会存在架构缺陷,基于前一个token预测下一个token,这种单向建模阻碍了模型捕获复杂的上下文关系的能力。另外自注意力机制也可能会存在缺陷,随着token长度增加,不同位置的注意力被稀释。而微调阶段可能会存在:LLMs内在能力与标注数据中描述的功能微调时可能存在错位。当数据需求超出这些预定义的能力边界时,LLMs会被训练来生成超出其自身知识边界的内容,从而放大幻觉的风险。8.5.5LLM幻觉问题

接下来讨论如何防止LLM幻觉,其最佳时间是在它们发生之前加以阻止。以下是一些可以采取的措施,以确保LLMs能够正常运行:(1)使用高质量的训练数据LLMs依赖输入数据来完成任务,因此训练数据集的质量和相关性将决定模型的行为及其输出的质量。为了防止幻觉,须确保LLMs在多样化、平衡且结构良好的数据上进行训练。这将帮助模型最小化输出偏见,更好地理解其任务,并产生更有效的输出。(2)使用数据模板数据模板常常是一种预定义的格式,其增加了LLMs生成符合规定指南输出的可能性。依赖数据模板可以确保输出的一致性,并减少模型产生错误结果的可能性。8.5.5LLM幻觉问题(3)限制响应LLMs常常因为缺乏限制可能结果的约束而产生幻觉,为了解决这一问题并提高结果的整体一致性和准确性,可以使用过滤工具和/或明确的概率阈值为LLMs定义边界。(4)持续测试和优化系统在使用前对LLMs进行严格测试对于防止幻觉至关重要,持续评估模型也是如此。这些过程可以提高系统的整体性能,并使用户能够根据数据的老化和演变调整和/或重新训练模型。(5)依靠人工监督确保有人类对LLMs输出进行验证和审查是防止幻觉的最后一道防线。引入人工监督可以确保,如果LLMs产生幻觉,人类可以对其进行过滤和纠正。人类审查者还可以提供专业知识,以增强他们对LLMs内容的准确性及其与任务相关性的评估能力。第八章Transformer网络8.1Transformer的发展史8.2Transformer的原理8.3Transformer的编码器8.4Transformer的解码器8.5Transformer的变体8.6Transformer的应用8.6Transformer的应用8.6.1机器翻译8.6.2文本摘要8.6.3问答系统8.6.4图像分类8.6.1机器翻译在全球化的今天,语言差异常常成为沟通的障碍。无论是旅行、商务合作,还是学术交流,快速准确地翻译不同语言的内容变得越来越重要。而Transformer模型,正是帮助打破语言壁垒的超级翻译官。它能够将一种语言的内容快速翻译成另一种语言,不仅准确度高,还能保留原文的语义和风格。在Transformer模型出现之前,机器翻译主要依赖于统计机器翻译和基于规则的方法。这些方法虽然在一定程度上能够完成翻译任务,但在处理长句子、复杂语法结构以及多义词时,往往表现不佳。比如,传统的统计机器翻译需要依赖大量的双语对照数据,并且难以捕捉长距离依赖关系,导致翻译结果生硬、不自然。Transformer模型的引入彻底改变了这一局面。它通过自注意力机制,能够同时关注句子中的所有词,捕捉它们之间的复杂关系。这种机制使得Transformer模型能够更好地理解句子的上下文,从而生成更加准确和流畅的翻译结果。与RNN相比,Transformer模型不仅翻译质量更高,而且训练速度更快,因为它可以并行处理句子中的所有词。8.6.1机器翻译Transformer模型在机器翻译中的应用非常广泛。比如,在英德翻译中,它可以将英文句子“Thecatissittingonthemat”翻译成德文“DieKatzesitztaufderMatte”,这种翻译不仅准确,还能保留原文的语义和风格。在中英翻译中,Transformer模型可以将中文句子“我喜欢学习”翻译成英文“Iliketostudy”,并且能够根据上下文调整翻译结果,比如将“学习”翻译成“learning”或“studying”。Transformer模型的强大之处在于它能够处理多种语言对,并且在不同语言之间实现高质量的翻译。比如,Google翻译和DeepL等在线翻译工具,都采用了基于Transformer的模型,支持超过100种语言的翻译。这些工具不仅能够翻译简单的句子,还能处理复杂的段落和文章,生成流畅自然的翻译结果。Transformer模型的另一个重要应用是多语言翻译和零样本翻译。多语言翻译是指一个模型能够同时处理多种语言的翻译任务,而不需要为每种语言对单独训练模型。比如,一个多语言Transformer模型可以同时支持英法、英德、中英等多种语言对的翻译。这种能力大大降低了模型训练和部署的成本,同时也提高了翻译的灵活性。8.6.1机器翻译零样本翻译则是指模型在没有直接训练数据的情况下,完成某种语言对的翻译任务。比如,一个模型在训练时只接触过英法和中英的翻译数据,但在实际应用中,它能够完成法中的翻译任务。这种能力得益于Transformer模型对语言共性的理解,它能够将不同语言之间的语义关系映射到一个共享的表示空间中,从而实现跨语言的翻译。Transformer模型在机器翻译中的应用将越来越广泛。未来,它可能会帮助实现实时语音翻译,在对话过程中自动将一种语言翻译成另一种语言。比如,在跨国会议中,Transformer模型可以实时翻译与会者的发言,让不同语言的人能够无障碍地交流。此外,Transformer模型还可能实现多模态翻译,将文本、图像和语音等多种形式的内容结合起来进行翻译。比如,在旅游场景中,游客可以通过拍照将外文菜单翻译成自己的母语,或者通过语音输入将问题翻译成当地语言。这种多模态翻译能力将大大提升跨语言交流的便利性。8.6Transformer的应用8.6.1机器翻译8.6.2文本摘要8.6.3问答系统8.6.4图像分类8.6.2文本摘要在现代信息爆炸的时代,大家每天都会接触到大量的文字内容,从新闻报道到学术论文,再到社交媒体上的讨论。面对如此多的信息,如何快速抓住重点成为了一项重要的技能。而

Transformer模型能够从长篇文章中提取关键信息,生成简洁的摘要,让我们在短时间内了解文章的核心内容。8.6.2文本摘要文本摘要任务主要分为两种类型:抽取式摘要和生成式摘要。抽取式摘要的核心思想是从原文中直接抽取重要的句子或短语,组合成摘要。这种方法依赖于对原文句子的重要性进行排序,选择得分最高的句子作为摘要。常用的方法包括基于统计特征的方法、基于图模型的方法以及基于深度学习的方法。抽取式摘要的优点是生成的摘要与原文一致,不易出现事实错误,但缺点是摘要的连贯性和流畅性较差。在抽取式摘要中,Transformer模型(如BERT)可以作为特征抽取器,通过预训练模型初始化参数,构建句子分类任务。在学术论文摘要中,Transformer模型能够快速提炼出论文的核心内容,帮助研究人员节省时间。比如,一篇关于AI在医疗领域应用的论文,经过Transformer模型处理后,可以生成如下摘要:“本文探讨了人工智能在医疗诊断中的应用,重点介绍了深度学习技术在医学影像分析中的最新进展。”这种摘要不仅能够帮助研究人员快速了解论文的核心内容,还能用专业的语言生成摘要。8.6.2文本摘要生成式摘要的核心是通过理解原文内容,生成新的句子来表达摘要。生成式摘要通常基于序列到序列模型,其核心架构包括编码器和解码器。编码器将输入文本编码为上下文相关的向量表示,解码器则根据编码器的输出逐步生成目标摘要。生成式摘要的优点是生成的摘要更加连贯和流畅,能够生成原文中未出现的新表达,但缺点是可能引入事实错误或语义偏差。在生成式摘要中,Transformer模型的表现尤为出色。在文本摘要中,它可以帮助我们从大段文字中提取出最关键的信息,生成简短的总结,如图8.34所示。这种摘要不仅简洁明了,还能准确传达文章的核心内容。图8.34文本摘要8.6.2文本摘要另外,Transformer模型也可能会帮助我们自动生成会议纪要,在会议结束后快速整理出会议内容的摘要。比如,在一次公司会议中,Transformer模型可以实时记录会议内容,并在会议结束后生成会议纪要:“本次会议讨论了公司下一季度的销售策略,重点强调了市场推广和客户关系管理的重要性。”这种自动生成的会议纪要不仅能够节省时间,还能确保会议内容的准确性。

Transformer模型还可能成为智能阅读助手,在我们阅读电子书或文章时,实时生成章节摘要。比如,在阅读一本小说时,Transformer模型可以实时生成每一章的摘要,帮助我们快速了解故事情节。这种智能阅读助手不仅能够提高阅读效率,还能帮助我们更好地理解文章内容。总的来说,Transformer模型能够快速理解长篇文章,并生成简洁的摘要。它的出现不仅让文本摘要变得更加高效,还提供了全新的信息获取方式。无论是新闻摘要、学术论文摘要,还是社交媒体摘要,Transformer模型都能够帮助我们快速抓住重点,节省时间。8.6Transformer的应用8.6.1机器翻译8.6.2文本摘要8.6.3问答系统8.6.4图像分类8.6.3问答系统问答系统(Questionanswering,QA)是NLP领域的重要任务之一,旨在根据用户提出的问题,从给定的文本或知识库中提取或生成准确的答案。基于Transformer模型的问答系统,凭借其强大的上下文理解能力和高效的并行计算能力,已经成为现代问答系统的核心技术。它不仅能够处理简单的事实性问题,还能应对复杂的推理和多轮对话任务,为用户提供高质量的答案。8.6.3问答系统问答系统通常分为两类:开放域问答(Open-domainQA)和封闭域问答(Closed-domainQA)。开放域问答的目标是从海量非结构化文本(如互联网)中找到问题的答案,而封闭域问答则局限于特定的文档或知识库(如医学文献或法律条文)。无论是哪种任务,Transformer模型都展现出了卓越的性能。在开放域问答中,Transformer模型通过BERT、GPT等预训练语言模型对问题和候选文档进行编码,然后通过注意力机制找到最相关的片段作为答案。比如,当用户提问“谁发明了电话?”时,模型可以从维基百科或其他在线资源中找到相关信息,并生成答案:“电话是由亚历山大·格拉汉姆·贝尔发明的。”在封闭域问答中,Transformer模型通常基于特定的文档或知识库进行微调。比如,在医疗领域,模型可以从医学文献中找到关于某种疾病的治疗方法,并生成详细的答案。这种任务要求模型不仅能够理解问题的语义,还需要具备一定的领域知识。8.6.3问答系统基于Transformer模型的问答系统如图8.35所示,依赖于以下关键技术:1.上下文编码:Transformer模型通过自注意力机制,能够同时关注问题中的所有词,捕捉它们之

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论