版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
人工智能技术基础
变形金刚第六章
变形金刚(Transformer)是谷歌公司的VaswaniA等人在2017年发表的文章《Attentionisallyouneed》中提出解决Seq2Seq(序列到序列)问题的一种深度神经网络模型。自它提出后,自然语言处理(NaturalLangnageProcessing,NLP)研究取得了巨大进步。
2018年后人工智能逐渐走进了大模型时代,2022年11月30日OpenAI发布的ChatGPT在邮件撰写、视频脚本编写、文本翻译、代码编写等任务上的强大表现(大多不比人类差),被称为与AlphaGo一样轰动的事件,是人工智能“奇点”来临的初显。而Transformer正是这些大语言模型的基础。6变形金刚简介目录Contents6.1Transformer的结构和工作原理Transformer在NLP中的应用Transformer在视觉领域中的应用小结6.26.36.41.学习Transformer的基本结构和原理,掌握Transformer的位置编码、编码器和解码器结构和多头自注意力机制,了解训练方式和特点,应用所学内容分析和解释其工作机制,理解和分析Transformer的优势和局限性;2.学习Transformer在自然语言处理中的应用方法,理解并掌握BERT和GPT的基本原理和训练方法;3.学习Transformer在视觉中的应用方法,掌握ViT的基本结构和训练方法,理解PiT、CvT、DeiT、TNT和S-T等模型的结构,了解受ViT启发的MLP-Mixer和AS-MLP的结构。6变形金刚(Transformer)学习目标01Transformer的结构和工作原理6.1Transformer的结构和工作原理编码器(Encoder)由6个编码模块组成,包括残差自注意力(Self-Attention)和残差连接的前向神经网络(FFNN)组成;译码器(Decode)由6个译码模块组成。包括残差自注意力,残差互注意力(Encoder-DecoderAttention)以及残差连接的前向神经网络;编码器最后一个Block的输出作为译码器每一个Block的输入。
Transformer本质上是一个Encoder-Decoder的结构。6.1Transformer的结构和工作原理
(a)模型组成
(b)模型结构
图6-1Transformer概貌6.1Transformer的结构和工作原理
Transformer的工作流程大体可分为3步:获取输入序列中的每个输入的表示向量X,X由输入的编码和所在位置的编码相加得到。将输入序列所有输入的表示向量放在一起,构成Transformer的输入向量矩阵;将得到输入向量矩阵送入Encoder中,经过6个Encoderblock后可以得到所有输入的编码信息矩阵C;将Encoder输出的编码信息矩阵C传递到Decoder中,Decoder依次会根据当前输出的前面所有输出来产生下一个输出。6.1Transformer的结构和工作原理
语言翻译问题示例:将“我是一名学生”译为英文。图6-2输入矩阵的生成图6-3编码过程6.1Transformer的结构和工作原理
语言翻译问题示例:将“我是一名学生”译为英文图6-4译码预测输出6.1Transformer的结构和工作原理6.1.2多头自注意力多头注意力(Multi-HeadAttention),是由多个自注意力(Self-Attention)或多个互注意力(Encoder-DecoderAttention)组成的。Transformer中的注意力机制即自注意力和互注意力,相似度计算采用的是缩放点积模型。(6-2)6.1Transformer的结构和工作原理6.1.2多头自注意力实例:以“我是一名学生”为例,以矩阵运算的方式说明注意力机制的计算过程1.计算K、Q、V将输入矩阵X与线性变阵矩阵WK,WQ,WV(实质为线性神经网络层,它们的连接权通过对Transformer的训练得到)相乘得到K,Q,V。注意:
X,K,Q,V的每一行都表示一个词元(token)。图6-6计算K、Q和V6.1Transformer的结构和工作原理6.1.2多头自注意力2.根据公式计算注意力分布K的转置乘以Q后,得到的矩阵行列数都为n(此例中为4),n为句子单词数,矩阵可以表示单词之间的注意力强度。(b)逐行使用Softmax计算注意力系数(a)计算相似度矩阵图6-7计算注意力分布矩阵6.1Transformer的结构和工作原理6.1.2多头自注意力3.将注意力分布矩阵与V矩阵相乘,得到最终的注意力输出矩阵Z。(a)计算最终输出Z
(b)Z1的计算过程图6-8计算注意力模块的最终输出6.1Transformer的结构和工作原理6.1.2多头自注意力多头注意力是由多个注意力组合形成的。图6-9多头注意力(Multi-HeadAttention)结构图Z1
Z2Z86.1Transformer的结构和工作原理6.1.2多头自注意力h=8时候的情况,会得到8个输出矩阵Z。Multi-HeadAttention将8个输出矩阵Z1到Z8拼接(Concat)在一起,然后传入一个线性(Linear)神经网络层,得到最终的输出Z。Multi-HeadAttention输出的矩阵Z与其输入的矩阵X的维度是一样的。6.1Transformer的结构和工作原理6.1.3编码器结构
Transformer的Encoderblock结构是由Multi-HeadSelf-Attention,Add&Norm,FeedForward,Add&Norm组成的。6.1Transformer的结构和工作原理6.1.3编码器结构1.Add&Norm
Add&Norm层由Add和Norm两部分组成,计算公式如下。
LayerNorm(X+MultiHeadAteetion(X))
LayerNorm(X+FeedForward(X))
(6-3)
Add指X+Multi-HeadAttention(X),是一种残差连接,在ResNet中经常用到,通常用于解决多层网络训练的问题,可以让网络只关注当前差异的部分。
Norm指LayerNormalization,常用于RNN结构,LayerNormalization会将每一层神经元的输入转成均值方差一致的输入,这样可以加快网络训练的收敛速度。X+F(x)F(x)+x6.1Transformer的结构和工作原理6.1.3编码器结构2.FeedForward
FeedForward层比较简单,是一个两层的全连接层,第一层的激活函数为ReLU,第二层不使用激活函数,对应的公式如下:
max(0,XW1+b1)W2+b2
(6-4)
6.1Transformer的结构和工作原理6.1.4译码器结构
Transformer的Decoderblock结构,包含两个Multi-HeadAttention层,最后有一个Softmax层,计算下一个输出(翻译的单词)的概率。第1个Multi-HeadAttention层采用Masked掩膜操作,是掩膜输入的多头自注意力。第2个Multi-HeadAttention层的K,V矩阵使用Encoder的编码信息矩阵C进行计算,而Q使用上一个Decoderblock的输出计算,是多头互注意力。6.1Transformer的结构和工作原理6.1.4译码器结构1.第1个Multi-HeadAttention
采用了掩膜(Masked)输入。通过Masked操作可以防止第i个单词知道i+1个单词之后的信息。下面以“我是一名学生”翻译成“Iamastudent”为例说明Masked操作。图6-12掩膜输入示意图6.1Transformer的结构和工作原理6.1.4译码器结构1.第1个Multi-HeadAttention掩膜自注意力的计算过程如下,其中用012345分别表示“<Begin>Iamastudent<end>”。第1步:Decoder的输入矩阵和Mask矩阵。输入矩阵包含“<Begin>Iamastudent”(0,1,2,3,4)五个单词的表示向量,Mask是一个5×5的矩阵,用1表示不遮挡(绿色),用-inf(负无穷小)表示遮挡(黄色)。图6-13输入矩阵和掩膜矩阵6.1Transformer的结构和工作原理6.1.4译码器结构1.第1个Multi-HeadAttention第2步:通过输入矩阵X计算得到K,Q,V矩阵,然后计算KT和Q的乘积KTQ。第3步:得到KT
Q之后需要按(6-2)式进行Softmax,计算注意力分布,但在Softmax之前需要使用Mask矩阵遮挡住每一个单词之后的信息,遮挡操作如图6-13。第4步:使用经过逐行Softmax处理后的MaskKTQ与矩阵V相乘,得到输出Z,则单词1的输出向量Z1只包含单词的1信息。图6-13输入矩阵和掩膜矩阵6.1Transformer的结构和工作原理6.1.4译码器结构2.第2个Multi-HeadAttentionDecoderblock第2个Multi-HeadAttention是互注意力K,V矩阵使用Encoder的编码信息矩阵C计算。Q根据上一个Decoderblock的输出Z计算(如果是第1个Decoderblock,则使用输入矩阵X进行计算),后续的计算方法与之前描述的一致。
在Decoder中使用互注意力,可使每一时刻的输出(预测的每个单词)都可以利用Encoder所有输入序列(单词)的信息。6.1Transformer的结构和工作原理6.1.4译码器结构3.Softmax预测输出(单词)
Decoderblock最后是利用Softmax预测下一个单词(的概率),之前的网络层已经得到一个最终的输出Z0。因为Mask的存在,使得单词0的输出Z0只包含单词0的信息。Softmax根据输出矩阵的每一行预测下一个输出(单词)。
图6-15Softmax预测输出6.1Transformer的结构和工作原理6.1.5Transformer的训练Transformer本身就是编码译码结构编码器将输入序列X1,X2,…,XN编码成编码序列C1,C2,…,CN;译码器将编码序列C1,C2,…,CN译码成每一刻产生一个输出Yi的输出序列Y1,Y2,…,YM,可以直接用于语言翻译,也可以直接用于文字→文字生成。Transformer的训练可以直接采用误差反向传播算法进行,训练数据集可以使用语言翻译数据集;Transformer的训练在词编码和全连接层部分都使用了Dropout技术。6.1Transformer的结构和工作原理6.1.6Transformer的特点分析Transformer的输入中增加输入序列的位置编码,使其不仅能建立输入序列的长程关系,还能够表示特定输入在序列中的位置。RNN按时刻输入序列数据,使其隐式记忆了输入的位置信息,相比之下,Transformer的自注意力层对不同位置出现相同的词给出的是同样的输出向量表示。如果没有位置编码,输入Transformer中两个相同但位置不同的词,例如在不同位置上的“I”,其表示的向量是相同的。Transformer是由注意力和前向神经网络组成的,理论上它可以构建任意长度输入序列的长程关系,因此在各种应用中展现了良好的性能。Transformer不同于RNN,不需要输入序列按时刻串行输入,只需将输入序列构成的输入矩阵送入Transformer。它可以比较好地并行训练和执行,有更高的运行效率,但也有更大的存储需求。6.1Transformer的结构和工作原理6.1.6Transformer的特点分析Transformer中的Multi-HeadAttention中有多个Attention,可以捕获输入序列之间多种维度上的相关性,在提高了模型特征提取能力的同时也提高了模型的记忆能力。Transformer各模块里的注意力和前向网络都是残差连接,使Transformer更易训练。02Transformer在NLP中的应用6.2Transformer在NLP中的应用Transformer起源于NLP研究,最显著的成果也是在NLP中的应用。它已经成为大语言模型的基础构件,也是生成式人工智能文字生成文字的基础构件。图6-16语言模型的发展历程6.2.1BERT的基本原理和训练方法BERT(BidirectionalEncoderRepresentationfromTransformers)是2018年10月由GoogleAI研究院在文章《BERT:Pre-trainingofDeepBidirectionalTransformersforLanguageUnderstanding》中提出的一种预训练模型;该模型在机器阅读理解顶级水平测试SQuAD1.1中表现出惊人的成绩:全部两个衡量指标上全面超越人类,并且在11种不同NLP测试中创出当时最好的表现,代表实现大模型的一种模式。6.2Transformer在NLP中的应用6.2.1BERT的基本原理和训练方法1.BERT的结构BERT仅用了Transformer的Encoder侧的网络。BERT的维度是768维度,然后分成12个Head,每个Head的维度是64维。BERT中有一个PostionEmbedding是随机初始化,然后从数据中学出来的。
BERT模型分为24层和12层两种,其差别就是使用TransformerEncoder层数的差异。BERT-Base使用的是12层的TransformerEncoder结构;BERT-Large使用的是24层的TransformerEncoder结构。6.2Transformer在NLP中的应用6.2.1BERT的基本原理和训练方法2.BERT的输入和输出1)BERT的输入
BERT的输入编码比Transformer的多了1项,共3项:TokenEmbeddings;SegmentEmbeddings和PositionEmbeddings。图6-17BERT的输入编码6.2Transformer在NLP中的应用6.2.1BERT的基本原理和训练方法2.BERT的输入和输出2)BERT的输出BERT的输出也与输入一致,即有多少个输入就有多少个输出。图6-19BERT的输出6.2Transformer在NLP中的应用6.2.1BERT的基本原理和训练方法3.BERT训练BERT的训练包含预训练(Pre-train)和微调(Fine-tune)两个阶段。Pre-train阶段:模型是在无标注的标签数据上进行训练;Fine-tune阶段:所有的参数会用下游的有标注的数据进行训练。图6-20BERT的训练6.2Transformer在NLP中的应用6.2.1BERT的基本原理和训练方法3.BERT训练(1)BERT预训练
BERT是一个多任务模型,它的预训练(Pre-training)任务由两个自监督任务组成,即掩膜语言模型(MaskedLanguageModel,MLM)和下一个句子预测(NextSentencePrediction,NSP)。(2)BERT的微调
微调(Fine-Tuning)的任务包括:基于句子对的分类任务、基于单个句子的分类任务、问答任务、命名实体识别等。
通常在BERT后加入不同的分类器(一个线性层和Softmax输出),完成特定任务。这些任务使用的都是有标签的小数据集,所以BERT的微调是有监督的微调,用来确定分类器参数和微调BERT本体参数。6.2Transformer在NLP中的应用6.2.2GPT的基本原理和训练方法
GPT是OpenAI在2018年6月的论文ImprovingLanguageUnderstandingbyGenerativePre-Training中提出的大语言模型,是GenerativePre-Training的简称。随后OpenAI不断推出它的升级版本,模型规模越来越大,性能越来越强。2022年11月30日,OpenAI发布的ChatGPT就是基于GPT3.5开发的,它引领了基于大语言模型(LLM)的人工智能开发热潮,使人工智能的应用进入大模型时代。6.2Transformer在NLP中的应用6.2.2GPT的基本原理和训练方法1.GPT的结构
GPT使用Transformer的Decoder结构,并对TransformerDecoder进行了一些改动。原本Decoder包含两个Multi-HeadAttention结构,GPT只保留了MaskMulti-HeadAttention。6.2Transformer在NLP中的应用6.2.2GPT的基本原理和训练方法2.GPT的训练
GPT的训练包含预训练和微调两个阶段。即先在大规模无标签的语料库上预训练,再在小得多的有标签的数据集上针对具体任务进行微调。(1)GPT的预训练
GPT采用的是掩膜输入,输出是下一个输入的预测值,因此其训练可以直接采用有监督的误差反向传播算法,确定GPT中的权参数。
第一步,将开始符(<Start>)编码(编码方法与Transformer的输入编码一样)后送入GPT获得其输出Y1;再将X1编码,与<Start>的编码一起送入GPT得到其输出Y2;同样过程继续直到将<Begin>,X1,X2,…,XN的编码一起送入GPT得到其输出YN+1。
第二步,求损失函数对网络权值的偏导,反向传播后更新网络权值。6.2Transformer在NLP中的应用6.2.2GPT的基本原理和训练方法2.GPT的训练(2)GPT的微调
预训练好的GPT可以看作一个通用特征提取器,根据不同的任务需求可以设计一个专用的分类或预测网络(一般使用一层线性网络,其输出通过Softmax完成特定任务),将GPT的输出作为输入,通过有监督的训练方法确定分类或预测网络参数,微调GPT本体的参数使其完成特定任务,例如文本情感分类任务。
针对不同任务,不仅要微调GPT本体的参数,还要简单修改输入数据的格式,例如对于相似度计算或问答,输入是两个序列,为了能够使用GPT,需要一些特殊的技巧把两个输入序列变成一个输入序列。6.2Transformer在NLP中的应用6.2.2GPT的基本原理和训练方法2.GPT的训练(2)GPT的微调图6-22GPT施工改造图6.2Transformer在NLP中的应用03Transformer在视觉领域中的应用6.3Transformer在视觉领域中的应用流行的识别任务视频处理活动识别、视频预测多模式任务视觉问题解答和视觉推理3D分析点云分类和分割图像分类、目标检测、动作识别和分割生成模型单击此处输入你的智能图形项正文low-level视觉图像超分辨率和彩色化视觉变形金刚(VisionTransformer,ViT)6.3Transformer在视觉领域中的应用6.3.1视觉变形金刚ViT是谷歌团队提出的将Transformer应用在图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天津市和平区汇文中学2024-2025学年八年级上学期期末考试物理试卷(含答案)
- 吉林省吉林市2024-2025学年高一上学期1月期末地理试题(含答案)
- 浙江省杭州萧山2023-2024学年第二学期期中检测卷 六年级下册科学
- 上半年销售工作总结
- 四年级数学(简便运算)计算题专项练习与答案
- 2022年初级《银行业法律法规与综合能力》考试题库(核心题版)
- 《创意案填写说明》课件
- 2022《创新设计》高考历史江苏专用二轮专题复习:专题一-中外古代文明的演进-专题提升练(一)
- 【名师一号】2021年新课标版物理选修3-5-双基限时练12-原子结构
- 《典型案例分析图》课件
- 北京联合大学《数据挖掘B》2023-2024学年第一学期期末试卷
- 2024年中国大数据企业排行榜V9.0(大数据产业白皮书)-中国民营科技促进会
- 2025公司简单劳务合同书范本
- 2024-2030年中国广电技术行业现状分析及未来发展趋势预测报告
- 2025年统编版高考政治一轮复习:选择性必修1、2、3共3册必背考点知识点汇编
- 货物交接单和交接合同
- 《灭火应急疏散预案》课件
- 【高分复习笔记】孙广仁《中医基础理论》(第9版)笔记与考研真题详解
- 造影剂过敏的护理
- 期末复习试题 (试卷)-2024-2025学年四年级上册数学人教版
- 离婚协议书模板可打印(2024版)
评论
0/150
提交评论