Transformer——注意力模型分析及应用

一、概要

特点:Transformer注意力模型解决了RNN中的attention效率低、训练时变形的问题。
目的:机器翻译

二、基本组成

encoder和decoder是可叠加的。
解码器拿到编码器的特征,结合已经翻译的单词完成翻译。
如下图所示,红框表示encoder,蓝框表示decoder,N=6。
在这里插入图片描述
输入:待翻译的词汇(L个独热编码) + 已翻译的词汇(M个独热编码)
输出:单词的概率
嵌入层:通过一个变换将单词的one-hot表示映射到连续空间上,其维度与模型维度512一致,可使用nn.Embedding函数实现。从而有:待翻译的句子(L*512) + 已翻译的词汇(M*512)。
位置编码:i表示第几维,pos表示单词位置
在这里插入图片描述

三、编码器

在这里插入图片描述
如上所示,区别于RNN中的注意力机制,每个单词向量(512维)通过三个线性变换成q、k、v。
下面先将多头注意力机制分解成单个来看。
计算过程如下
a11=q1*k1,a12=q1*k2,……,a1L=q1*kL
再通过softmax进行归一化得新的a1j,然后对每一对a1j * vj 累加求和,即最后的输出z。
其中除以根号dk(key的维度)是为了解决方差大,将softmax推向低梯度的问题。
如下所示,体现了特征之间的相互依赖性。
在这里插入图片描述
q、k、v的产生过程如下,512维的单词向量与W矩阵相乘:
在这里插入图片描述
同样,输出z也可以通过矩阵运算来实现,如下所示:
在这里插入图片描述
从而,编码器中的多头注意力机制即给出h=8组W矩阵,将输出的8组z连接起来,再乘以一个权重矩阵,最后输出Z。
论文中公式如下:
在这里插入图片描述
在这里插入图片描述
softmax前包含mask,去除掉句子结尾padding在训练过程中的影响。

编码器中Add&Norm的操作如下所示,在残差之后用layernorm:
在这里插入图片描述
编码器中的FFN为二层网络,512->2048->512,公式如下:
在这里插入图片描述

四、解码器

在这里插入图片描述
解码器同样包含mask,针对decoder的输入,不仅要去除padding的影响,同时为了防止decoder看到未来的信息,要对输入做一个上三角mask,保持自回归的特性。

五、自监督学习

在这里插入图片描述
下面简述cv领域的应用。

六、Non-local

(待补充)
在这里插入图片描述

七、ViT

(待补充)
在这里插入图片描述

八、MAE

基于ViT+BERT
遮住更多的图片块,使留下的不冗余
编码时只处理没遮住的
用Transformer解码
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值