自然语言处理开发与应用-基于深度学习的NLP模型-transformer模型理论及代码讲解(原创) (1).pptx

自然语言处理开发与应用-基于深度学习的NLP模型-transformer模型理论及代码讲解(原创) (1).pptx

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

transformer理论及实践

01Transformer模型理论讲解目录contents

Transformer模型理论讲解第一部分引言Transformer结构Transformer输入self-attention及mulit-headEncoder结构及Decoder结构总结

引言2017年,Google发表论文《AttentionisAllYouNeed》,提出经典网络结构Transformer,全部采用Attention结构的方式,代替了传统的Encoder-Decoder框架必须结合CNN或RNN的固有模式。并在两项机器翻译任务中取得了显著效果。该论文一经发出,便引起了业界的广泛关注,同时,Google于2018年发布的划时代模型BERT也是在Transformer架构上发展而来。

引言Transformer应用于机器翻译领域,并取得了很好的效果 Transformer早期时应用于机器翻译,并在两项任务上取得了非常好的效果,或许这正是该模型命名为Transformer的原因。此后,Transformer引入了所有NLP任务中,都取得了不错的效果。Transformer基于Encoder-Decoder框架Transformer基于Encoder-Decoder(编解码)框架,结构由编码器和解码器两部分组成,各有特点。Transformer引入Attention机制 Transformer引入Attention机制,具体来说是self-attention,是其最大的特点。self-attention能够支持并行处理序列输入,并且具有较强的表征能力,是Transformer效果好的主要原因。

Transformer结构右图是Transformer用于中英文翻译的整体结构:可以看到Transformer由Encoder和Decoder两个部分组成,Encoder和Decoder都包含6个block。其中,Encoder负责对输入进行编码,生成编码信息;Decoder负责利用编码信息进解码

Transformer结构Transformer的工作流程大体如下:第一步:获取输入句子的每一个词的表示向量X,X由单词的Embedding和单词位置的Embedding相加得到。

Transformer结构第二步:将得到的单词表示向量矩阵(如上图所示,每一行是一个单词的表示x)传入Encoder中,经过6个Encoderblock后可以得到句子所有单词的编码信息矩阵C,如右图。单词向量矩阵用X(n×d)表示,n是句子中单词个数,d是表示向量的维度(论文中d=512)。每一个Encoderblock输出的矩阵维度与输入完全一致。

Transformer结构第三步:将Encoder输出的编码信息矩阵C传递到Decoder中,Decoder依次会根据当前翻译过的单词1~i翻译下一个单词i+1,如右图所示。在使用的过程中,翻译到单词i+1的时候需要通过Mask(掩码)操作遮盖住i+1之后的单词,以防止信息泄露。

Transformer结构第三步:将Encoder输出的编码信息矩阵C传递到Decoder中,Decoder依次会根据当前翻译过的单词1~i翻译下一个单词i+1,如右图所示。在使用的过程中,翻译到单词i+1的时候需要通过Mask(掩码)操作遮盖住i+1之后的单词,以防止信息泄露。右图Decoder接收了Encoder的编码矩阵C,然后首先输入一个翻译开始符Begin,预测第一个单词I;然后输入翻译开始符Begin和单词I,预测单词have,以此类推。这是Transformer使用时候的大致流程,接下来是内部各个部分的细节。

Transformer的输入Transformer中单词的输入表示x由单词Embedding和位置Embedding相加得到。单词Embedding单词的Embedding有很多种方式可以获取,例如可以采用Word2Vec、Glove等算法预训练得到,也可以在Transformer中训练得到。位置EmbeddingTransformer中除了单词的Embedding,还需要使用位置Embedding表示单词出现在句子中的位置。因为Transformer不采用RNN的结构,而是使用全局信息,不能利用单词的顺序信息,而这部分信息对于NLP来说非常重要。所以Transformer中使用位置Embedding保存单词在序列中的相对或绝对位置。

T

文档评论(0)

方世玉 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6101050130000123

1亿VIP精品文档

相关文档