NLP高频面(33)Vision Transformer(ViT)模型架构介绍¶
本文讨论了因Transformer架构在自然语言处理领域取得显著成功,促使研究人员将其应用于计算机视觉任务,进而诞生了新兴的图像分类架构Vision Transformer(ViT),并介绍了其基本架构、工作原理以及与传统卷积神经网络的比较。关键要点包括:
基本架构:将图像划分为固定大小的补丁,展平后嵌入固定维度空间,添加位置编码,输入Transformer编码器,最后通过分类头进行分类预测。如224x224的图像会被分割为196个16x16像素的补丁。
工作原理:利用自注意力机制计算图像中各补丁之间的关系,捕捉全局信息,多头自注意力增强了模型表达能力。
全局信息捕捉:CNN通过局部感受野逐层堆叠捕捉全局信息,ViT通过自注意力机制直接建模全局依赖关系。
数据需求:ViT通常需大量数据预训练才能达到与CNN相当的性能,因其缺乏CNN的局部平移不变性等先验知识。
计算复杂度:ViT的自注意力机制处理高分辨率图像时计算复杂度较高,CNN在这方面更具优势。
Transformer架构在自然语言处理领域取得了显著成功,激发了研究人员将其应用于计算机视觉任务的兴趣。Vision Transformer(ViT)应运而生,成为图像分类等视觉任务中的新兴架构。本文将介绍ViT的基本架构、工作原理,并与传统的卷积神经网络进行比较。
ViT的基本架构¶
ViT的核心思想是将图像视为一系列的补丁(patches),类似于自然语言处理中的词嵌入(word embeddings)。具体步骤如下:
图像分割为补丁:将输入图像划分为固定大小的补丁,例如16x16像素。这样,一个尺寸为224x224的图像将被分割为14x14=196个补丁。
补丁展平与嵌入:将每个补丁展平成一维向量,并通过线性变换映射到固定维度的嵌入空间。
位置编码:由于Transformer缺乏处理位置信息的内在机制,需要为每个补丁添加位置编码,以保留其在原始图像中的位置信息。
Transformer编码器:将嵌入后的补丁序列输入标准的Transformer编码器,进行全局信息的建模和特征提取。
分类头:在补丁序列前添加一个可学习的分类标记([CLS]),其对应的输出经过全连接层用于最终的分类预测。
ViT的工作原理¶
ViT利用自注意力机制、计算图像中各补丁之间的关系。自注意力机制能够捕捉全局信息,使模型在处理长距离依赖关系时表现出色。多头自注意力进一步增强了模型的表达能力,使其能够关注输入序列的不同部分,从而学习到更丰富的特征表示。
ViT与卷积神经网络的比较¶
与传统的卷积神经网络相比,ViT具有以下特点:
全局信息捕捉:CNN通过局部感受野逐层堆叠来捕捉全局信息,而ViT通过自注意力机制直接建模全局依赖关系。
数据需求:ViT通常需要大量数据进行预训练,以达到与CNN相当的性能。这是因为ViT缺乏CNN中的局部平移不变性等先验知识,需要通过大量数据学习。
计算复杂度:ViT的自注意力机制在处理高分辨率图像时计算复杂度较高,而CNN在这方面更具优势。