SelfAttentionAndTransformer

发布 : 2021-06-24 分类 : 深度学习 浏览 :

Self-attention

  • 1. 计算q,k,v


image.png

  • 2. 计算a

image.png
扩展之后,得到
image.png
$A$通过正则化(这里使用的是softmax)得到$A^\prime$

  • 3. 计算b

image.png

  • 整体来看

image.png

多头自注意力

该方式将q,k,v再次划分,与之前方式一样分别计算。
image.png
这样计算的结果是多头的,之后乘以变换矩阵,维度与输入保持一致,再送入下一层。
image.png

位置编码

给输入加上位置向量$e^i$。位置向量有很多种方法,研究方向之一。
image.png


Transformer

Encoder

transformer是由多个block堆叠而成的。
image.png
详细看每个block,向量输入自注意力层,自注意力层输出的向量与输入相加,形成残差结构,所得的和经过LayerNorm,输入全连接层,同样使用了残差结构,最后经过LayerNorm输出。
image.png
原始transformer论文中的表述如下
image.png

Deoder

Autoregressive(AT)

以语音识别为例,整体来看。首先输入开始符号,得到第一个输出。再将第一个输出作为输入重新输入解码器,依此类推。
image.png
image.png

  • Masked Self-attention

image.png
不考虑它之后的。为啥呢?因为它是依次输入的,输入a2时,还没有a3和a4。
image.png

  • 存在问题:不知道准确的输出长度

image.png
输出类别添加stop token,结束时让END输出最大。
image.png

Non-autoregressive(NAT)

NAT一次性输入开始符号,直接得到结果。
image.png

详细来看


image.png
提供一个q,得到v。
image.png
依此类推
image.png

训练

训练时,需要注意。输入是GT,输出包含结束符END。
image.png
测试时可能输出是错误的,可以在训练时,刻意添加错误的GT。
image.png

image.png

本文作者 : HeoLis
原文链接 : http://ishero.net/SelfAttentionAndTransformer.html
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

学习、记录、分享、获得

微信扫一扫, 向我投食

微信扫一扫, 向我投食