ViT
词条分类:深度学习 最后更新:2025-03-05
词条介绍
简要定义
Vision Transformer(ViT)是一种将 Transformer 架构从自然语言处理(NLP)领域引入到计算机视觉(CV)领域的深度学习模型。ViT 的核心思想是将图像分割成一系列固定大小的块(patch),然后将这些块视为 NLP 中的 “词”,通过 Transformer 编码器对这些块进行处理,从而捕捉图像中的全局信息和长距离依赖关系。
核心价值
- 全局特征捕获能力 :通过自注意力机制,ViT 能够更好地捕捉图像的全局信息,有效处理图像中长距离的依赖关系,而传统 CNN 在这方面存在局限。
- 模型性能提升 :在大规模数据集上进行训练时,ViT 展示出与 CNN 相比具有竞争力的性能,并在某些任务上超越了传统的卷积神经网络。
- 灵活性与通用性 :ViT 的模块化设计使其能够灵活地应用于不同的视觉任务,如图像分类、目标检测和语义分割等。
核心技术
- 图像分割与嵌入 :将图像分割成固定大小的块(例如 16×16 像素),然后将每个块扁平化并映射到一个低维空间(通常是 768 维)。这个过程类似于 NLP 中的词嵌入。
- 位置嵌入 :为了保留位置信息,ViT 使用可学习的一维位置嵌入。这些嵌入在训练过程中学习到图像块之间的空间关系。
- Transformer 编码器 :使用标准的 Transformer 编码器,包含多头自注意力(MSA)和多层感知机(MLP)块。每个 Transformer 层都包含一个 MSA 模块和一个 MLP 模块,分别用于捕捉全局依赖关系和进行特征转换。
- 分类头 :在 Transformer 的输出序列中添加一个额外的可学习 “分类标记”([class] token),其输出用作图像表示。这个设计借鉴了 BERT 中的 [CLS] token。
关键特征
- 全局特征捕获 :通过自注意力机制,ViT 能够在最低层就整合整个图像的信息,捕捉到全局和局部的特征。
- 模块化设计 :ViT 的模块化设计使其能够灵活地应用于不同的视觉任务,通过堆叠多个 Transformer 层来构建整个网络。
- 数据依赖性 :ViT 在大规模数据集上表现出色,但在较小数据集上容易过拟合。
- 计算效率 :ViT 在训练时需要的计算资源比 ResNet 少,但在推理阶段表现出较高的效率。
应用领域
- 图像分类 :ViT 在 ImageNet 等大规模图像分类任务中取得了优异的成绩。
- 目标检测 :通过结合卷积神经网络(CNN)和 Transformer 的优点,形成 DETR(Detection Transformer)模型,取得了较为优异的检测效果。
- 语义分割 :ViT 能够提供丰富的图像特征信息,有助于实现更准确的分割效果。
- 人脸识别 :ViT 在人脸识别领域也有广泛的应用,能够提取出人脸图像中的关键特征信息。
- 医疗影像分析 :ViT 凭借其卓越的特征提取能力,在肺结节检测、皮肤病变识别等方面发挥了重要作用,帮助医生更快更准确地做出诊断。
- 视频分析和动作识别 :ViT 通过结合 RNN 等技术,能够有效地从视频序列中学习时空特征,应用于行为识别、运动追踪等任务,提升智能监控和人机交互体验。