本次查询:Vision Transformer
中文解释:视觉Transformer
常见场景:图像分类 / 目标检测 / 图像分割 / 视频理解等计算机视觉任务 / 尤其在拥有大规模标注数据的场景下表现突出
一句话解释
Vision Transformer把一张图片切成固定大小的方块(patch),每个方块像句子中的单词一样经过编码,再送入Transformer模型进行处理,最终完成分类或检测等视觉任务。它完全抛弃了传统的卷积结构,用自注意力机制捕捉全局特征。
为什么会被关注
长期以来,卷积神经网络(CNN)在视觉任务中占据统治地位,而Transformer在文本领域大放异彩。ViT证明,纯Transformer在足够多的数据下能超越最先进的CNN,且结构更简洁、可扩展性更强。它统一了文本和图像的建模范式,推动了多模态模型的快速发展。
核心逻辑
首先将尺寸为H×W×C的输入图像分割成固定大小的patch(例如16×16像素),每个patch展平后通过线性投影得到patch embedding,并加上位置编码保留空间信息。这些embedding序列作为Transformer编码器的输入,经过多层多头自注意力与MLP模块,全局交互后通过分类头输出结果。关键操作是自注意力机制,它让每个patch都能关注到图像中任意位置的patch,实现全局感受野。
常见场景
ViT广泛应用于图像识别(如ImageNet分类)、目标检测(如DETR中的backbone)、语义分割(如SETR模型)、视频理解(如TimeSformer)。此外,在医学影像分析、遥感图像处理、自监督学习等场景中,ViT也展现了优于CNN的潜力,尤其适合需要捕获长距离依赖的任务。
容易混淆的点
很多人误以为ViT完全不需要CNN,实际上ViT的核心创新是使用Transformer替代CNN作为特征提取器,但仍有研究将两者结合(如Hybrid ViT)。另一个混淆点是ViT与目标检测中的DETR不同:DETR用Transformer做端到端检测,但backbone仍可能是CNN。另外,ViT需要大量训练数据才能收敛,在小型数据集上效果不如CNN,这也是其实践中的主要限制。
