Transformer

  1. 基本介绍
    (1) 是什么
    基于seq2seq架构的transformer模型可以完成NLP领域研究的典型任务, 如机器翻译, 文本生成等. 同时又可以构建预训练语言模型,用于不同任务的迁移学习.

    (2)优势
    相比之前占领市场的LSTM和GRU模型,Transformer有两个显著的优势:
    1, Transformer能够利用分布式GPU进行并行训练,提升模型训练效率.
    2, 在分析预测更长的文本时, 捕捉间隔较长的语义关联效果更好.

  2. Transformer模型的作用

  3. Transformer的架构
    (1)整体架构
    在这里插入图片描述
    (2)输入部分
    在这里插入图片描述
    位置编码器的作用
    因为在Transformer的编码器结构中, 并没有针对词汇位置信息的处理,因此需要在Embedding层后加入位置编码器,将词汇位置不同可能会产生不同语义的信息加入到词嵌入张量中, 以弥补位置信息的缺失.

(3)编码器
在这里插入图片描述
1)掩码张量
a. 是什么
掩代表遮掩,码就是我们张量中的数值,它的尺 寸不定,里面一般只有1和0的元素,代表位置被遮掩或者不被遮掩,至于是0位置被遮掩还是1位置被遮掩可以自定义,因此它的作用就是让另外一个张量中的一些数值被遮掩,也可以说被替换, 它的表现形式是一个张量.
b. 作用
在transformer中, 掩码张量的主要作用在应用attention时,有一些生成的attention张量中的值计算有可能已知了未来信息而得到的,未来信息被看到是因为训练时会把整个输出结果都一次性进行Embedding,但是理论上解码器的的输出却不是一次就能产生最终结果的,而是一次次通过上一次结果综合得出的,因此,未来的信息可能被提前利用. 所以,我们会进行遮掩. 关于解码器的有关知识将在后面的章节中讲解.

    2)注意力机制 
       **a. 是什么**
          **QKV:**
         假如我们有一个问题: 给出一段文本,使用一些关键词对它进行描述!

为了方便统一正确答案,这道题可能预先已经给大家写出了一些关键词作为提示.其中这些给出的提示就可以看作是key,
而整个的文本信息就相当于是query,value的含义则更抽象,可以比作是你看到这段文本信息后,脑子里浮现的答案信息,
这里我们又假设大家最开始都不是很聪明,第一次看到这段文本后脑子里基本上浮现的信息就只有提示这些信息,
因此key与value基本是相同的,但是随着我们对这个问题的深入理解,通过我们的思考脑子里想起来的东西原来越多,
并且能够开始对我们query也就是这段文本,提取关键信息进行表示. 这就是注意力作用的过程, 通过这个过程,
我们最终脑子里的value发生了变化,
根据提示key生成了query的关键词表示方法,也就是另外一种特征表示方法.

刚刚我们说到key和value一般情况下默认是相同,与query是不同的,这种是我们一般的注意力输入形式,
但有一种特殊情况,就是我们query与key和value相同,这种情况我们称为自注意力机制,就如同我们的刚刚的例子,
使用一般注意力机制,是使用不同于给定文本的关键词表示它. 而自注意力机制,
需要用给定文本自身来表达自己,也就是说你需要从给定文本中抽取关键词来表述它, 相当于对文本自身的一次特征提取.
注意力机制:
注意力机制是注意力计算规则能够应用的深度学习网络的载体, 除了注意力计算规则外, 还包括一些必要的全连接层以及相关张量处理, 使其与应用网络融为一体. 使用自注意力计算规则的注意力机制称为自注意力机制.
在这里插入图片描述 b. 作用
其实就是对数据做了一个特征工程。

    3)多头注意力机制
         **a. 是什么**

在这里插入图片描述
每个头开始从词义层面分割输出的张量,也就是每个头都想获得一组Q,K,V进行注意力机制的计算,但是句子中的每个词的表示只获得一部分,也就是只分割了最后一维的词嵌入向量. 这就是所谓的多头.将每个头的获得的输入送到注意力机制中, 就形成了多头注意力机制.

大白话: 就是将embdding后的数据,按照横向均分为N(头数)份,然后对每一份进行注意力计算,并将结果值进行合并。

         **b. 作用**
         这种结构设计能让每个注意力机制去优化每个词汇的不同特征部分,从而均衡同一种注意力机制可能产生的偏差,让词义拥有来自更多元的表达,实验表明可以从而提升模型效果.

    4)前馈全连接层
      **a. 是什么**
      在Transformer中前馈全连接层就是具有两层线性层的全连接网络.
       **b. 作用**
       考虑注意力机制可能对复杂过程的拟合程度不够, 通过增加两层网络来增强模型的能力.
    5) 规范化层-Norm
       **a. 是什么**
       **b. 作用**
       它是所有深层网络模型都需要的标准网络层,因为随着网络层数的增加,通过多层的计算后参数可能开始出现过大或过小的情况,这样可能会导致学习过程出现异常,模型可能收敛非常的慢. 因此都会在一定层数后接规范化层进行数值的规范化,使其特征数值在合理范围内.
    6)子层连接结构
        **a. 是什么**

在这里插入图片描述如图所示,输入到每个子层以及规范化层的过程中,还使用了残差链接(跳跃连接),因此我们把这一部分结构整体叫做子层连接(代表子层及其链接结构),在每个编码器层中,都有两个子层,这两个子层加上周围的链接结构就形成了两个子层连接结构.

        **b. 作用**
    7)   编码器层
         **a. 是什么**

在这里插入图片描述
b. 作用
作为编码器的组成单元, 每个编码器层完成一次对输入的特征提取过程, 即编码过程.
8) 编码器
a. 是什么
在这里插入图片描述
b. 作用
编码器用于对输入进行指定的特征提取过程, 也称为编码, 由N个编码器层堆叠而成.
(4)解码器
在这里插入图片描述
(5)输出部分
在这里插入图片描述

在这里插入图片描述
参考连接:http://121.199.45.168:8001/2/#24

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值