本节学习了基于Transformer网络的图像分类模型:
实验整体流程图如下:
模型结构
VIT主体结构是基于Transformer模型的Encoder部分,相较于传统的Transformer有以下特点:
1.数据集的原图像被划分为多个patch(图像块)后,将二维patch(不考虑channel)转换为一维向量,再加上类别向量与位置向量作为模型输入。
2.模型主体的Block结构是基于Transformer的Encoder结构,但是调整了Normalization的位置,其中,最主要的结构依然是Multi-head Attention结构。
3.模型在Blocks堆叠后接全连接层,接受类别向量的输出作为输入并用于分类。通常情况下,我们将最后的全连接层称为Head,Transformer Encoder部分为backbone。
Self-attention结构
最初输入向量经过Embedding层,映射成Q、K、V三个向量。
Q、K、V三个向量通过提取输入的不同顺序的向量,获得不同的权重,再对结果进行Softmax处理,每一组Q,K,V最后都有一个V输出,这是Self-Attention得到的最终结果,是当前向量在结合了它与其他向量关联权重后得到的结果。