Transformer结构介绍

一.编码组件和解码组件分别是由6个编码器和解码器叠在一起,编码器里面分自注意力层和前馈神经网络,解码器里面分自注意力层,编码-解码注意力层,前馈神经网络

二.编码器
1.一个编码器接收向量列表作为输入,接着将向量列表中的向量传递到自注意力层进行处理,然后传递到前馈神经网络层中,将输出结果传递到下一个编码器中
2.输入的的时候将位置向量添加到每个词的词向量里面,便于在后续的计算中表达词与词之间的距离
3.在每个编码器中的每个子层(自注意力、前馈网络)的周围都有一个残差连接,并且都跟随着一个“层-归一化”步骤。解码器的子层也是这样

三.自注意力机制
1.宏观理解:自注意力机制会将所有相关单词的理解融入到我们正在处理的单词中
2.微观理解:
[1]计算自注意力的第一步就是从每个编码器的输入向量(每个单词的词向量)中生成三个向量(一个查询向量、一个键向量和一个值向量)
[2]第二步是计算得分。拿输入句子的每个单词对正在处理的单词进行打分,表示在编码当前这个单词的时候对其他单词的重视程度
[3]第三步和第四步是将分数除以键向量的维数平方根,这会让梯度更稳定。然后通过softmax传递结果。softmax的作用是使所有单词的分数归一化
[4]第五步是将每个值向量乘以softmax分数
[5]第六步是对加权值向量求和(译注:自注意力的另一种解释就是在编码某个单词时,就是将所有单词的表示(值向量)进行加权求和,而权重是通过所有输入单词的(键向量)与被编码词表示(查询向量)的点积并通过softmax得到。),然后即得到自注意力层在该位置的输出

四.解码器
1.顶端编码器的输出之后会变转化为一个包含向量K(键向量)和V(值向量)的注意力向量集 。这些向量将被每个解码器用于自身的“编码-解码注意力层”
2每个步骤的输出在下一个时间步被提供给底端解码器,并且就像编码器之前做的那样,这些解码器会输出它们的解码结果 。另外,就像我们对编码器的输入所做的那样,我们会嵌入并添加位置编码给那些解码器,来表示每个单词的位置。
3.而那些解码器中的自注意力层表现的模式与编码器不同:在解码器中,自注意力层只被允许处理输出序列中更靠前的那些位置。在softmax步骤前,它会把后面的位置给隐去

五.线性变换层
1.线性变换层是一个简单的全连接神经网络,它可以把解码组件产生的向量投射到一个比它大得多的、被称作对数几率(logits)的向量里()每个向量元素为每个单词的分数
2.下来的Softmax 层便会把那些分数变成概率(都为正数、上限1.0)。概率最高的单元格被选中,并且它对应的单词被作为这个时间步的输出

六.Transforner的意义
1.在 Transformer 出现之前,基于神经网络的机器翻译模型多数都采用了 RNN(循环神经网络)的模型架构,它们依靠循环功能(每一步的输出都要作为下一步的输入)进行有序的序列操作(句子中的单词按照顺序一个接一个地被翻译)
2Transformer 模型中没有任何循环结构。它的设计是把序列中的所有单词或者符号并行处理,同时借助自注意力机制可以从距离较远的词中提取含义。由于 Transformer 并行处理所有的词,以及每个单词都可以在多个处理步骤内与其他单词之间产生联系,它的训练速度也要比 RNN 模型快多了
3.在更小、更结构化的语言理解任务中,甚至更简单的算法任务中,比如复制一个字符串,Transformer 的表现就不怎么好

七.Universal Transformer
1.在Transformer中,input在经过multihead self-attention后会进入fully connected层,这里则进入了Transition层,通过一个共享权重的transition function继续循环计算
2.体现为CNN卷积核在空间上的权重共享和RNN单元在时间上的权重共享,所以universal transformer也增加了这种假设,使recurrent机制中的权重共享,在增加了模型表达力的同时更加接近rnn的inductive bias。 Conditional computation:通过加入ACT控制模型的计算次数,比固定depth的universal transformer取得了更好的结果
3.时间并行的循环变换函数构成的结构(也就是说,在多个处理步骤中,同一个学到的变换函数可以并行作用于序列内的所有符号,同时每一步的输出都成为下一步的输入,根据自我注意力机制对每个符号的解释做数次并行的循环处理修饰,并且每个符号执行这种循环的次数可以设置,每个位置加入了一个自适应计算机制,它可以为意义较为模糊的、或者需要更多计算次数的符号分配更多的处理步骤。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值