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

一、概要

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

二、基本组成

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

三、编码器

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

编码器中Add&Norm的操作如下所示,在残差之后用layernorm:
Transformer——注意力模型分析及应用_第8张图片
编码器中的FFN为二层网络,512->2048->512,公式如下:
在这里插入图片描述

四、解码器

Transformer——注意力模型分析及应用_第9张图片
解码器同样包含mask,针对decoder的输入,不仅要去除padding的影响,同时为了防止decoder看到未来的信息,要对输入做一个上三角mask,保持自回归的特性。

五、自监督学习

Transformer——注意力模型分析及应用_第10张图片
下面简述cv领域的应用。

六、Non-local

(待补充)
Transformer——注意力模型分析及应用_第11张图片

七、ViT

(待补充)
Transformer——注意力模型分析及应用_第12张图片

八、MAE

基于ViT+BERT
遮住更多的图片块,使留下的不冗余
编码时只处理没遮住的
用Transformer解码
Transformer——注意力模型分析及应用_第13张图片

你可能感兴趣的:(深度学习,transformer,深度学习,机器学习)