收藏 分享(赏)

《深度学习》课件第六章 深度循环网络.pptx

上传人:bubibi 文档编号:22692456 上传时间:2024-06-27 格式:PPTX 页数:108 大小:8.93MB
下载 相关 举报
《深度学习》课件第六章 深度循环网络.pptx_第1页
第1页 / 共108页
《深度学习》课件第六章 深度循环网络.pptx_第2页
第2页 / 共108页
《深度学习》课件第六章 深度循环网络.pptx_第3页
第3页 / 共108页
《深度学习》课件第六章 深度循环网络.pptx_第4页
第4页 / 共108页
《深度学习》课件第六章 深度循环网络.pptx_第5页
第5页 / 共108页
亲,该文档总共108页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第六章深度循环网络6.1概述6.2双向循环网络6.3解码-编码网络结构6.4深度循环网络of10716.5门控循环神经网络6.6递归神经网络6.7Transformer第六章深度循环神经网络of10726.1 概述1为什么要使用深度循环网络(RNN)在一些实际的项目任务中,需要处理序列信息,即前一个输入和后一个输入存在某种逻辑关系,比如一句话、一段歌曲。设计目的:希望循环神经网络可以将过去时刻(历史)发生的状态信息 传递给当前时刻的计算中。第六章深度循环神经网络of10736.1 概述2.循环神经网络结构RNN网络结构图RNN可以看成一个在时间上传递的神经网络,它的深度是时间的长度.第六章深度

2、循环神经网络6.1 概述2.循环神经网络结构第六章深度循环神经网络of10756.1 概述2.循环神经网络结构反复利用公式计算:6.1 概述第六章深度循环神经网络of1076RNN训练需要使用时间反向传播(BackPropagationThroughTime,BPTT)算法,在反向传播算法的基础上增加了时序的概念。主要包含三个步骤:3循环神经网络的训练前向计算得出每个神经元的输出值12计算每个权重的梯度。34利用随机梯度下降算法更新权重6.1 概述第六章深度循环神经网络of10771.前向计算依据网络结构,循环层t 时刻的隐含层输出计算公式为设输入为m维、有n个神经元,则6.1 概述第六章深度

3、循环神经网络of10782.误差项计算6.1 概述第六章深度循环神经网络of1079隐含层神经元在t 时刻的加权输入:6.1 概述第六章深度循环神经网络of10710同理,对于第二项:6.1 概述第六章深度循环神经网络of107116.1 概述第六章深度循环神经网络of10712误差项沿时间反向传播到任意时刻k 的误差项:6.1 概述第六章深度循环神经网络of10713其次考虑将误差项从循环层反向传递到下一层网络的过程(BP算法)6.1 概述第六章深度循环神经网络of107143.权重梯度的计算(1)损失函数E 对权重矩阵W的梯度6.1 概述第六章深度循环神经网络of107156.1 概述第六

4、章深度循环神经网络of107166.1 概述第六章深度循环神经网络of10717(2)权重矩阵U的梯度6.1 概述第六章深度循环神经网络of10718(3)权重矩阵V 的梯度至此,经过上面三个步骤就可以实现循环神经网络的训练第六章深度循环网络6.2双向循环网络6.1概述6.3解码-编码网络结构6.4深度循环网络of107196.5门控循环神经网络6.6递归神经网络6.7Transformer第六章深度循环神经网络of107206.2 双向循环网络1双向循环网络双向循环网络的结构第六章深度循环神经网络of107216.2 双向循环网络1双向循环网络双向循环网络的优点双向循环神经网络是由两个数据传

5、递方向相反循环神经网络构成的。(1)一个RNN前向处理序列数据:从序列的起始片段开始处理;(2)另一个RNN反向处理序列数据:从序列的末尾开始倒序处理。双向循环网络的优点:既可以整合“过去”的信息,也可以整合“将来”的信息,譬如理解整篇文章的主旨,可以通过上下文来消除歧义。第六章深度循环网络6.3解码-编码网络结构6.1概述6.2双向循环网络6.4深度循环网络of107226.5门控循环神经网络6.6递归神经网络6.7Transformer第六章深度循环神经网络of107236.3 编码-解码循环网络1网络结构结构主要分为编码器和解码器两个部分第六章深度循环神经网络of107246.3 编码-

6、解码循环网络2训练方法第六章深度循环神经网络of107256.3 编码-解码循环网络2训练方法第六章深度循环神经网络of107266.3 编码-解码循环网络2训练方法第六章深度循环神经网络of107276.3 编码-解码循环网络编码-解码网络的结构主要分为两个RNN网络,即编码器与解码器:(1)编码器:编码器将序列映射到一个向量C中,通常这个向量为RNN隐藏层的最后状态。(2)解码器:将上一步中的向量C作为输入,输入到另一个RNN(解码器)中,生成一条输出序列。编码-解码网络的优点:可以把变长的输入映射为变长的输出,一般用于机器翻译。3编码-解码循环网络的优点第六章深度循环神经网络of1072

7、86.3 编码-解码循环网络例如把图像转化成一行文字。例如情感测试,测量一段话正面或负面的情绪。将序列转化为序列,最典型的是机器翻译。将无时差的序列到序列转化,比如给一个录像中的每一帧贴标签。Basedoncs231nbyFei-FeiLi&AndrejKarpathy&JustinJohnsonRecurrentNeuralNetworkxRNNhBasedoncs231nbyFei-FeiLi&AndrejKarpathy&JustinJohnsonRecurrentNeuralNetworkxRNNyusuallywanttopredictavectoratsometimestepshB

8、asedoncs231nbyFei-FeiLi&AndrejKarpathy&JustinJohnsonRecurrentNeuralNetworkxRNNyWecanprocessasequenceofvectorsx byapplyingarecurrenceformulaateverytimestep:newstateoldstateinputvectoratsometimestepsomefunctionwithparametersWhBasedoncs231nbyFei-FeiLi&AndrejKarpathy&JustinJohnsonRecurrentNeuralNetworkx

9、RNNyWecanprocessasequenceofvectorsx byapplyingarecurrenceformulaateverytimestep:Notice:thesamefunctionandthesamesetofparametersareusedateverytimestep.hBasedoncs231nbyFei-FeiLi&AndrejKarpathy&JustinJohnsonCharacter-level language model exampleVocabulary:h,e,l,oExampletrainingsequence:“hello”xRNNyhBas

10、edoncs231nbyFei-FeiLi&AndrejKarpathy&JustinJohnsonCharacter-level language model exampleVocabulary:h,e,l,oExampletrainingsequence:“hello”Basedoncs231nbyFei-FeiLi&AndrejKarpathy&JustinJohnsonCharacter-level anguage model exampleVocabulary:h,e,l,oExampletrainingsequence:“hello”Basedoncs231nbyFei-FeiLi

11、&AndrejKarpathy&JustinJohnsonCharacter-level language model exampleVocabulary:h,e,l,oExampletrainingsequence:“hello”Basedoncs231nbyFei-FeiLi&AndrejKarpathy&JustinJohnson“ExplainImageswithMultimodalRecurrentNeuralNetworks,”Maoetal.“DeepVisual-SemanticAlignmentsforGeneratingImageDescriptions,”Karpathy

12、andFei-Fei“ShowandTell:ANeuralImageCaptionGenerator,”Vinyalsetal.“Long-termRecurrentConvolutionalNetworksforVisualRecognitionandDescription,”Donahueetal.“LearningaRecurrentVisualRepresentationforImageCaptionGeneration,”ChenandZitnickImageCaptioningBasedoncs231nbyFei-FeiLi&AndrejKarpathy&JustinJohnso

13、nConvolutional Neural NetworkRecurrent Neural NetworktestimagetestimagetestimageXtestimagex0h0 x0y0testimagebefore:h=tanh(Wxh*x+Whh*h)now:h=tanh(Wxh*x+Whh*h+Wih*v)vWihh0 x0y0testimagestrawsample!h0 x0y0testimagestrawh1y1h0 x0y0testimagestrawh1y1hatsample!h0 x0y0testimagestrawh1y1hath2y2h0 x0y0testim

14、agestrawh1y1hath2y2sampletoken=finish.RNNsequencegenerationGreedy(mostlikely)symbolgenerationisnotveryeffective.Typically,thetop-ksequencesgeneratedsofararerememberedandthetop-koftheirone-symbolcontinuationsarekeptforthenextstep(beamsearch)However,kdoesnothavetobeverylarge(7wasusedinKarpathyandFei-F

15、ei2015).h0manstraw0.20.1Top-kmostlikelywordsBeamsearchwithk=2h0h1h1straw man0.030.3hatroof0.30.1withsittingBeamsearchwithk=2manstraw0.20.1Top-kmostlikelywordsNeedTop-kmostlikelywordsBecausetheymightbepartofthetop-KmostlikelysubsequencesTopsequencessofarare:strawhat(p=0.06)manwith(p=0.03)h0h1h2h1stra

16、w manh2hatwith(0.06)(0.03)strawBeamsearchwithk=22bestSubsequencewords0.10.030.3hatroof0.30.1withsittingmanstraw0.20.1Top-kmostlikelywords0.01hat0.30.1Best2wordsthisposnTopsequencessofar:strawhat(0.006)manwithstraw(0.009)h0h1h2h1straw manh2hatwith(0.06)(0.03)Beamsearchwithk=22bestSubsequencewordsh3st

17、raw(0.009)h4hat(0.00036)0.10.030.3hatroof0.30.1withsittingmanstraw0.20.1Top-kmostlikelywords0.01hat0.30.1hat0.40.1straw0.40.1ImageSentenceDatasetsMicrosoftCOCOTsung-Yi Lin et al.2014mscoco.orgcurrently:120Kimages5sentenceseach第六章深度循环网络6.4深度循环网络6.1概述6.2双向循环网络6.3解码-编码网络结构of107576.5门控循环神经网络6.6递归神经网络6.7

18、Transformer第六章深度循环神经网络of107586.4 深度循环网络三种常见的深度循环网络1.将RNN中的隐藏层扩展为多层RNN的结构,其各自的隐藏层的状态在各自的层中循环。第六章深度循环神经网络of107596.4 深度循环网络2.将RNN的输入层到隐藏层、隐藏层、隐藏层到输出层分别添加多层前馈网络,以此加深网络深度第六章深度循环神经网络of107606.4 深度循环网络3.前两种网络结构虽然大大增强了网络能力,但是训练也变得非常难。为了缓解训练困难,也可以将循环隐藏层设计成越层循环的方式。第六章深度循环网络6.5门控循环神经网络6.1概述6.2双向循环网络6.3解码-编码网络结构

19、of107616.4深度循环网络6.6递归神经网络6.7Transformer第六章深度循环神经网络of107626.5 门控循环神经网络1门控循环神经网络门控循环神经网络最经典的就是LSTM(长短时记忆网络)。为了解决因为网络深度过深而导致的长期依赖问题,LSTM为网络添加一个状态结构c用来保存长期的状态,称为单元状态(cellstate)将LSTM网络结构展开如下图:第六章深度循环神经网络of107636.5 门控循环神经网络1门结构单元门控结构单元的本质实是一层全连接层。假设W是门的权重向量,b是偏置项,是激活函数(一般是sigmoid函数),则门可以表示为:在LSTM中有三种门控结构单

20、元:输入门输出门遗忘门遗忘门输入门输出门第六章深度循环神经网络of107646.5 门控循环神经网络2LSTM计算过程LSTM通过门控结构单元不断更新状态单元存储信息,并且每次将当前时刻的输入与状态单元进行结合计算输出。遗忘门:用来控制上一时刻的状态信息有多少被保存输入门:用来控制当前输入有多少被保存当前时刻的输入单元状态为第六章深度循环神经网络of107656.5 门控循环神经网络2LSTM计算过程当前时刻的单元状态输出门:用来计算当前输入有多少LSTM最终输出:第六章深度循环神经网络of107666.5 门控循环神经网络3门控神经网络的改进(1)GRU(GatedRecurrentUnit

21、)GRU作为LSTM的一种变体,将遗忘门和输入门合成了一个单一的更新门。同样还混合了细胞状态和隐藏状态。最终的模型比标准的LSTM模型要简单,也是非常流行的变体。更新门重置门第六章深度循环神经网络of107676.5 门控循环神经网络3门控神经网络的改进(2)SRU(simplerecurrentunits)算法提出的目的是针对RNN中当前时刻的输出ht 依赖于前一时刻ht1的输出,从而无法进行并行计算的问题。SRU通过有对LSTM循环单元进行简单化计算,使得计算过程可以并行。前三个公式可以并行计算,后两个公式也能够非常迅速和简洁的执行。SRU实现相比于简单的LSTM实现可快5倍。第六章深度循

22、环网络6.6递归神经网络6.1概述6.2双向循环网络6.3解码-编码网络结构of107686.4深度循环网络6.5门控循环神经网络6.7Transformer第六章深度循环神经网络of107696.6 递归神经网络递归神经网络的提出同一句话可能有不同的含义,对应不同的语法解析树。为了能够让网络能够区分不同语法解析树的含义,就必须使用树结构去处理信息而不是序列,这就是递归神经网络和循环神经网络最大的区别。第六章深度循环神经网络of107706.6 递归神经网络递归神经网络的结构与优点递归神经网络可以理解为循环神经网络的改进与扩展,但其结构有简单的链状升级成了较为复杂的树状。优点:(1)可以理解较

23、为复杂的语义信息。(2)(2)可以提高网络的计算效率,计算的时间复杂度可以急剧地从O()(线性结构)减小为O(log)(树形结构)第六章深度循环网络6.7Transformer6.1概述6.2双向循环网络6.3解码-编码网络结构of107716.4深度循环网络6.5门控循环神经网络6.6递归神经网络第六章深度循环神经网络of107726.7 Transformer1 Attention机制attention机制:将注意力集中放在重要的点上,而忽略其他不重要的因素。(1)attention机制工作原理以机器翻译为例,Encoder-Decoder框架就是由一个句子(或篇章)生成另外一个句子(或篇

24、章)的处理模型。=(1,2,)=(1,2,)=(1,2,)第六章深度循环神经网络of107736.7 TransformerEncoder-Decoder框架中引入attention机制:目标句子中的每个单词都有其对应的源语句中单词的注意力分配概率信息。例如:源语句为“Iloveyou”,目标句子就是“我爱你”在翻译到“我”时,应体现出每个英文单词对于翻译当前中文单词的影响程度,即注意力机制分配给不同英文单词的注意力大小,例如给出类似下面一个概率分布值:(I,0.6)(love,0.2)(you,0.2)。第六章深度循环神经网络of107746.7 Transformer每个Ci 都有对应的注

25、意力分配概率,对于这个句子来说,其对应的信息可能如下:第六章深度循环神经网络of107756.7 Transformer概率分布aij 是怎样得到的呢?第六章深度循环神经网络of107766.7 Transformer概率分布aij的计算采用RNN模型的Decoder计算i 时刻输入单词“I”,“love”,”you”对yi的注意力概率分布,可以用目标输出句子(i-1)时刻的隐层节点状态(Hi-1)和输入句子的每个单词进行对比,利用函数F(hj,Hi-1)来获得目标单词yi 和每个输入单词对齐的可能性,然后函数F的输出经过Softmax归一化处理得到符合概率分布取值的注意力概率分布。第六章深度

26、循环神经网络of107776.7 Transformer综上所述,计算attention时主要分为三步:(1)第一步是将目标输出元素和输入序列的每个元素进行相似度计算得到权重;(2)第二步一般使用一个softmax函数对这些权重进行归一化;(3)最后将权重和相应的输入序列元素进行加权求和得到最后的attention。第六章深度循环神经网络of107786.7 Transformer一般地,将输入序列(source)中的构成元素想象成是由一系列的数据对构成,此时给定目标(Target)中的某个元素query,通过计算query和各个key的相似性,得到每个key对应Value的权重系数,然后对V

27、alue进行加权求和,最终的Attention数值:第六章深度循环神经网络of107796.7 Transformer让value充当query,就是自注意力(self-attention),其用来表示某个单词自身与此句子其他单词的关联权重第六章深度循环神经网络of107806.7 Transformer(2)attention机制的应用(A)自然语言理解(B)图像识别(C)语音识别翻译、摘要、阅读理解、语音识别中音频序列和输出字符之间的Attention81Show Attend and Tell,Xu et al.,2015RNNattentionnetworksRNNattendsspa

28、tiallytodifferentpartsofimageswhilegeneratingeachwordofthesentence:Basedoncs231nbyFei-FeiLi&AndrejKarpathy&JustinJohnsonMultipleObjectRecognitionwithVisualAttention,Baetal.2015SequentialProcessingoffixedinputsBasedoncs231nbyFei-FeiLi&AndrejKarpathy&JustinJohnsonDRAW:ARecurrentNeuralNetworkForImageGe

29、neration,Gregoretal.SequentialProcessingoffixedinputs第六章深度循环神经网络of107846.7 Transformer2 Transformer2 TransformerTransformer的基本架构Transformer的结构:编码器组:6个编码器解码器组:6个解码器每个子编码器、解码器的参数不共享。第六章深度循环神经网络of107856.7 Transformer(1)编码器(encoder)第六章深度循环神经网络of107866.7 Transformer(A)编码器的输入词嵌入(WordEmbedding)+位置嵌入(Positi

30、onEmbedding)词嵌入:嵌入算法实现WordEmbedding,我们可以将每个单词编码为一个512维度的向量列表。位置嵌入:嵌入向量由下式计算:其中,pos表示这个word在该句子中的位置第六章深度循环神经网络of107876.7 Transformer(B)编码器框架dmodel=512,h=8,dk=dmodel/h=64 Attention操作第六章深度循环神经网络of107886.7 Transformerquery、key与value矩阵的计算图示第六章深度循环神经网络of107896.7 Transformer在某个位置编码单词时,需要对输入的句子每个单词进行评分,其分数将

31、决定该单词对输入句子的其他单词的关注程度。第六章深度循环神经网络of107906.7 Transformer评分图解第六章深度循环神经网络of107916.7 Transformer多头注意力层(multi-head attention layer)的操作第六章深度循环神经网络of107926.7 TransformerAdd&Norm操作将前一编码器的输出(对于解码器组的最底端,其为嵌入输入x),与当前Multi-headattentionlayer的输出相加,再进行softmax,得到结果送入前馈神经网络。第六章深度循环神经网络of107936.7 TransformerEncoder最后

32、一层是经过Add&Norm操作得到输出,即将前一self-attentionlayer的输出与全连接前馈神经网络输出相加,再进行softmax操作。第六章深度循环神经网络of107946.7 Transformer(2)解码器在词向量完全通过所有的编码层后,就启动解码器的工作。(A)解码器的输入一是编码阶段的最后输出结果,这个输出结果将会输入到解码器的所有解码层,输入为key与value向量,二是前一个解码器的输出,如果是最底端的一个,则为上一个时间步的输出的嵌入编码并添加了位置编码的编码第六章深度循环神经网络of107956.7 Transformer(B)解码器框架与编码器对照,解码器除了

33、有注意力机制层和前馈神经网络层以外,它多了一级编码器-解码器注意力层,以便解码器将在解码时将注意力集中在序列的适当单词上面。Decoder第一级加入了Mask操作,这就避免了在模型训练的时候使用未来的输出单词。因为翻译过程我们当前还并不知道下一个输出单词是什么,即Decoder中的selfattention只关注输出序列中的较早的位置。因此在softmax步骤前,必须屏蔽了特征位置(设置为-inf)把后面的位置给隐去(Masked)。第六章深度循环神经网络of107966.7 Transformerdecoder第三级与encoder的第二级结构相同。decoder第二级与encoder的第一

34、级相似,此层也被称作编码器-解码器注意力层(encoder-decoderattentionlayer),即它的query来自于之前一级的decoder层的输出,但其key和value来自于encoder的输出。(C)解码器输出解码器的输出结构与编码器的相似。第六章深度循环神经网络of107976.7 Transformer(3)Linear与Softmax层decoder最后会输出一个实数向量。Linear与Softmax层的作用就是将这个实数向量变换成一个单词。线性变换层是一个简单的全连接神经网络,它可以把解码组件产生的向量投射到一个比它大得多的、被称作对数几率(logits)的向量里。如

35、果模型要从训练集中学习一万个不同的英语单词,那么对数几率向量为一万个单元格长度的向量,每个单元格对应某一个单词的分数。接下来的Softmax层便会把那些分数变成概率。选中概率最高的单元格,其对应的单词就是此时间步的输出。第六章深度循环神经网络of107986.7 Transformer3.Transformer的应用1)OpenAI-GPT(GenerativePre-trainedTransformer)第六章深度循环神经网络of107996.7 Transformer3.Transformer的应用1)OpenAI-GPT(GenerativePre-trainedTransformer)

36、OpenAI-GPT词向量模型,由12层transformer改进的模块组成,采用半监督的方式来处理语言理解的任务,使用非监督的预训练和监督方式的微调。这个模型的设置不需要目标任务和非标注的数据集在同一个领域。GPT模型预训练时利用上文预测下一个单词,适合用于文本生成的任务。第六章深度循环神经网络of1071006.7 Transformer3.Transformer的应用1)OpenAI-GPT(GenerativePre-trainedTransformer)第六章深度循环神经网络of1071016.7 Transformer3.Transformer的应用GPT2整体架构依旧是Trans

37、formerdecoder,与GPT的区别:(1)GPT2去掉了微调层,只用LM(2)用了一个更大的数据集训练(40G:WebText)(3)GPT2使用48层Transformer。隐藏层维度为1600,参数15亿(4)将layernorm放在sub-block之前,并在最后一个self-attention后再增加一个layernorm(5)GPT-2将词汇表数量增加到50000个;最大的上下文大小(contextsize)从GPT的512提升到了1024tokens;batch_size增加到512。(6)GPT-2有一个叫做top-k的参数,模型会从概率前k大的单词中抽样选取下一个单词。

38、第六章深度循环神经网络of1071026.7 Transformer3.Transformer的应用GPT-3GPT-3主要聚焦于更通用的NLP模型,模型尺寸增大到了1750亿,使用45TB数据进行训练。解决当前BERT类模型的两个缺点:(1)对领域内有标签数据的过分依赖:虽然有了预训练+精调的两段式框架,但还是少不了一定量的领域标注数据,否则很难取得不错的效果,而标注数据的成本又是很高的。(2)对于领域数据分布的过拟合:在精调阶段,因为领域数据有限,模型只能拟合训练数据分布,如果数据较少的话就可能造成过拟合,致使模型的泛华能力下降,更加无法应用到其他领域。第六章深度循环神经网络of10710

39、36.7 Transformer3.Transformer的应用2)BERT(BidirectionalEncoderRepresentationfromTransformers)BERT采用多层Transformer结构,是双向Transformer的Encoder,能更彻底地捕捉语句中的双向关系。模型采用了MaskedLM和NextSentencePrediction两种方法分别捕捉词语和句子级别的表示。对比OpenAIGPT,BERT是双向的Transformerblock连接。BERT的训练时间估计是GPT的十倍。第六章深度循环神经网络of1071046.7 Transformer3.Transformer的应用2)BERT第六章深度循环神经网络of1071056.7 Transformer3.Transformer的应用2)BERT(BidirectionalEncoderRepresentationfromTransformers)第六章深度循环神经网络of1071066.7 Transformer3.Transformer的应用第六章深度循环神经网络of1071076.7 TransformerEncoder-Decoder结构广为流行。感谢聆听

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证 > 计算职称

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报