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
原文链接 : https://ishero.net/SelfAttentionAndTransformer.html
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

学习、记录、分享、获得

微信扫一扫, 向我投食

微信扫一扫, 向我投食