注意力机制、Transformer及VIT

注意力机制、Transformer及VIT


一、注意力机制

1、注意力机制提出背景:在传统的Seq2Seq模型中,编码器将输入序列中的信息压缩至固定长度的上下文向量,这限制了模型在处理长序列数据任务上的表现,注意力机制允许模型灵活地选取来自输入序列各部分的信息,以此提升模型性能。

2、注意力机制的作用机制:区别于传统RNN中编码器只将最终的隐层状态传递给解码器,注意力机制将所有步长中得到的隐层状态都传递给解码器,计算这些隐层状态与目标单词的相关性,并根据相关性调整各隐层状态用于预测的权重,得到当前步长的上下文向量以预测目标单词,如此,便实现了注意力的灵活分配。

3、注意力机制中当前步长上下文向量C_i的推导公式:
注意力机制、Transformer及VIT_第1张图片

二、Transfomer

1、简介:Transformer属于Seq2Seq模型,但摒弃了RNN、CNN结构,仅采用注意力机制,提升了模型的并行计算能力,进而提升模型的训练速度,此外,trasformer也可以更好地处理长序列中数据之间的依赖关系。

2、Transformer的基本架构:Transfomer分为编码块和解码块两部分,编码块和解码块各由结构相同的编码器、解码器堆叠而成,每个编码器包含self-attention层和FFNN层(feed forward neural network),每个解码器包含self-attention层、encoder-decoder attention层和FFNN层。此外,在上述的每一层中,Transformer都采用了残差连接(residual connection),并进行了层标准化(layer normalization),Transformer的模型架构见图一。
注意力机制、Transformer及VIT_第2张图片
3、Transfomer中的注意力机制
(1)注意力机制的实现形式:Transfomer中应用注意力机制时,首先通过矩阵运算将输入映射至三个关键向量Q(Query)、K(Key)、V(Value),进而基于这三个向量得到上下文向量Z=softmax((QK^T)/√(d_k ))V,其中,d_k为K向量的维度。应用该上下文向量(注意力机制)进行预测的实质是用attention对输入序列中的位置信息取平均效果,这将导致有效分辨率降低,为了解决这个问题,通常采用Multi-head attention(MSA)机制,即使用多个head并行计算多组Q、K、V向量的值并在压缩来自这些向量的信息之后将他们用于预测。注意力机制与MSA机制的示意图见图二。
注意力机制、Transformer及VIT_第3张图片

(2)注意力机制在模型中的具体应用:编码器中的self-attention层、解码器中的self-attention层及encoder-decoder attention层都采用了注意力机制。在编码器的self-attention层中,Q、K、V向量来自于上一个编码器的输出,这意味着编码器中的每个位置都可以关注编码器上一层的所有位置。解码器的self-attention层允许解码器中的每个位置都关注解码器中直到并包括该位置的所有位置(可通过控制softmax屏蔽来自上一个解码器输入中其他位置信息得到)。解码器的encoder-decoder attention层中,Q向量来自上一个解码器的输出,K、V向量来自编码器块的最终输出。

三、Vision in Transformer(VIT)

1、简介:Transformer在NLP领域的应用非常成功,而将Transformer应用至视觉领域主要会处理两个问题,一是相较于一维文本,处理二维图像会导致计算量剧增,二是图像处理中涉及更多的尺寸、噪声,这要求模型具有较强的特征提取能力。VIT于2020年10月提出,基于纯Transformer完成图像分类任务,实验证明在大规模数据集上做完预训练后的ViT模型,在迁移到中小规模数据集的分类任务上以后,能够取得比CNN更好的性能。

2、VIT的主要思想:VIT首先将二维图像分成固定大小的patch,并通过线性变换得到一维的patch embedding,随后在各个patch embedding头部附上类别标记,并与位置向量相加得到最终的embedding向量,作为Transformer的输入,进行训练及预测,其中类别标记与位置向量都是可学习的向量,类别标记用于预测分类,位置向量用于表征图像中各patch的位置信息,VIT的模型架构见图三。
注意力机制、Transformer及VIT_第4张图片
3、VIT的核心步骤

注意力机制、Transformer及VIT_第5张图片


你可能感兴趣的:(python,神经网络,图像处理,transformer)