视觉变换器

视觉变换器(ViT)是一种针对视觉处理任务的变换器,如图像识别。视觉转化器转化器在自然语言处理(NLP)任务中找到了最初的应用,如BERT和GPT-3等语言模型所示。相比之下,典型的图像处理系统使用卷积神经网络(CNN)。知名的项目包括Xception、ResNet、EfficientNet、DenseNet和Inception。变换器测量输入标记(在文本串的情况下是指单词)对之间的关系,称为注意力。其成本与标记物的数量成二次方。对于图像,分析的基本单位是像。然而,计算典型图像中每个像素对的关系在内存和计算方面是令人望而却步的。相反,ViT在图像的各个小部分(如16×16像素)计算像素之间的关系,成本xxx降低。这些部分(带有位置嵌入)被放在一个序列中。嵌入是可学习的向量。每个部分被安排成一个线性序列,并与嵌入矩阵相乘。带有位置嵌入的结果被送入转化器。与BERT的情况一样,分类任务中的一个基本角色是由类标记来扮演的。一个特殊的标记被用作最终MLP头的xxx输入,因为它已经受到所有其他标记的影响。用于图像分类的架构是最常见的,只使用TransformerEncoder,以转换各种输入标记。然而,也有其他应用,其中也使用了传统变形器架构的解码器部分。

视觉变换器的历史

变换器最初于2017年在著名的论文《AttentionisAllYouNeed》中介绍,在自然语言处理领域广泛传播,很快成为该领域最广泛使用和最有前途的架构之一。在2020年,变形金刚被改编为计算机视觉领域的任务,论文《一张图片值16×16个字》。这个想法基本上是把输入的图像分解成一系列的斑块,这些斑块一旦被转化为向量,就会被看作是普通变形器中的单词。如果在自然语言处理领域,变形器的关注机制试图捕捉要分析的文本的不同单词之间的关系,在计算机视觉中,视觉变形器则试图捕捉图像的不同部分之间的关系。2021年,一个纯变压器模型在图像分类上表现出比CNN更好的性能和更高的效率。2021年6月的一项研究为Resnet增加了一个变压器后端,xxx降低了成本,提高了准确性。在同一年,视觉变压器的一些重要变体被提出。这些变体主要是为了更有效、更准确或更适合于特定领域。其中最相关的是Swin变换器,它通过对注意力机制的一些修改和多阶段方法在一些物体检测数据集上取得了最先进的结果,如COCO。另一个有趣的变体是TimeSformer,它是为视频理解任务设计的,能够通过使用分割的时空注意力来捕捉空间和时间信息。视觉变形器也能够走出实验室,进入计算机视觉最重要的领域之一–自动驾驶。特斯拉的工程师在特斯拉人工智能日期间展示了他们的特斯拉自动驾驶汽车在汽车的多摄像头系统上使用了变形器。

卷积神经网络的比较

ViT的性能取决于决定,包括优化器的决定、数据集特定的超参数和网络深度。卷积神经网络更容易优化。纯变压器的一个变种是将变压器与CNN干/前端相连接。一个典型的ViT干使用16×16的卷积和16的步长。相比之下,3×3卷积的步长为2,增加了稳定性,也提高了准确性。CNN将基本像素水平转化为特征图。一个标记器将特征图翻译成一系列的标记,然后送入转化器,转化器应用注意力机制产生一系列的输出标记。

视觉变换器

最后,一个投影仪将输出标记重新连接到特征图上。后者允许分析利用潜在的重要像素级细节。这极大地减少了需要分析的标记的数量,相应地降低了成本。CNN和视觉变换器之间的区别有很多,主要在于它们的结构差异。事实上,即使基于数据量的训练,CNN也能取得出色的结果,而数据量并不像视觉变形器所要求的那么大。这种不同的行为似乎来自于CNN中存在的一些归纳性偏差,而这些偏差可以在某种程度上被视觉变形器所利用。

0

点评

点赞

相关文章