VIT(vision transformer)结构解析
文章目录
- 背景
-
-
网络结构
-
- VIT简介
- VIT模型概述
-
参考
-
transformer的出现彻底改变了自然语言处理的世界,然而在计算机视觉中,注意力机制保持原卷积网络整体结构,常与卷积网络结合、或是取代卷积网络中的某些组件而使用。然而,在图像分类任务中,纯transformer直接处理图像块序列时也能表现得很好。当对大量数据进行预训练并转移到多个中小型图像识别基准时,ViT用于训练的计算资源大大减少。
背景
原文:An image is worth 16x16 words: Transformers for image recognition at scaled
代码:https://github.com/google-research/vision_transformer
基于自注意力机制的架构,尤其是transformer,已成为NLP领域首选模型。主要方法是在大量文本语料库进行预训练,然后在较小的特定任务数据集上进行微调。得益于 Transformer 的计算效率和可扩展性,训练具有超过 100B 参数的空前规模的模型成为可能。 随着模型和数据集的增长,性能仍然没有饱和的迹象。鉴于NLP的成功,许多工作也尝试将自注意力机制结合类CNN架构一起使用,还有一些完全替换了卷积层,该方法在理论上是有效的,但由于使用了专门的注意力模式,因此尚未在现代硬件加速器上有效扩展。
网络结构
VIT简介
受 NLP 中 Transformer 缩放成功的启发,将标准 Transformer 直接应用于图像,并尽可能少的修改。 为此,将图像拆分为多个补丁(patch),并提供这些补丁(patch)的线性嵌入序列作为 Transformer 的输入。 在 NLP 应用程序中,图像补丁的处理方式与标记(tokens)相同。 以监督方式训练图像分类模型。
由于Transformers 缺乏 CNN 固有的一些归纳偏差,例如平移相等性和局部性,因此在训练数据量不足时不能很好地泛化。但在更大的数据集上训练时,VIT能够表现出出色的结果。
VIT模型概述
对transformer进行改动后用于CV领域中,具体而言,把图像切分重排,作为输入。在NLP领域中,通过词向量编码得到输入序列,鉴于此,VIT对图片进行切分,然后编号输入网络。

