手机怎么搭建属于自己的网站,网上做调查网站有哪些,软件项目设计方案,湖南网页设计培训网站建设一、ViT 的诞生背景
在计算机视觉领域的发展中#xff0c;卷积神经网络#xff08;CNN#xff09;一直占据重要地位。自 2012 年 AlexNet 在 ImageNet 大赛中取得优异成绩后#xff0c;CNN 在图像分类任务中显示出强大能力。随后#xff0c;VGG、ResNet 等深度网络架构不…一、ViT 的诞生背景
在计算机视觉领域的发展中卷积神经网络CNN一直占据重要地位。自 2012 年 AlexNet 在 ImageNet 大赛中取得优异成绩后CNN 在图像分类任务中显示出强大能力。随后VGG、ResNet 等深度网络架构不断出现推动了图像分类、目标检测、语义分割等任务的性能提升促进了计算机视觉技术的快速发展。
然而CNN 也逐渐显露出一些局限性。一方面CNN 依赖局部感知通过卷积核捕获局部区域的特征。尽管多层卷积可以提取高维语义信息但在处理长距离依赖关系如图像的全局信息时由于卷积核感受野有限CNN 的能力受限可能需要增加层数或设计复杂架构来弥补这增加了模型复杂度和训练难度。另一方面随着网络深度增加CNN 的参数数量和计算量显著增长对硬件资源的需求也随之提高增加了部署成本并限制了其在资源受限设备上的应用。
为了解决这些问题研究者开始探索其他架构其中 Transformer 架构受到广泛关注。Transformer 最初在自然语言处理NLP领域提出凭借自注意力机制在捕捉序列中任意位置依赖关系方面的优势成为 NLP 主流模型。受此启发研究者尝试将其应用于视觉领域Vision TransformerViT因此诞生为视觉任务提供了新的方法标志着视觉模型发展的重要转变。
二、ViT 的核心原理
一Transformer 架构回顾
Transformer 架构于 2017 年在论文《Attention Is All You Need》中提出最初用于解决自然语言处理中的机器翻译任务。在此之前循环神经网络RNN及其变体如 LSTM、GRU是处理序列数据的主要模型但这些模型存在梯度消失或爆炸问题难以捕捉长距离依赖且计算效率较低难以并行化。 Transformer 的核心是自注意力机制通过计算输入序列中每个位置与其他位置的关联程度动态分配注意力权重聚焦于关键信息。
例如在处理句子“苹果从树上掉下来小明捡起了它”时自注意力机制能让模型在处理“它”时关注“苹果”准确理解其指代对象。相比 RNN 按顺序处理序列自注意力机制允许模型直接参考整个序列大幅提升捕捉长距离依赖的能力。
多头注意力机制是自注意力机制的扩展通过并行多个注意力头每头学习不同的表示并拼接结果增强模型从不同角度捕捉信息的能力。例如在分析复杂句子时不同注意力头可分别关注语法结构、语义关系等。
此外Transformer 引入位置编码来弥补自注意力对顺序不敏感的缺陷通过为每个位置添加唯一编码向量将位置信息融入输入前馈网络则对注意力输出进行非线性变换提升特征学习能力。
二ViT 架构设计
前面我们在 计算机视觉 解锁视频理解三剑客——ViViT 中简单介绍了 VIT 架构本文我们将详细介绍它的架构设计。
1. 图像分块
ViT 首先将输入图像划分为固定大小的 patch。例如输入图像为 224 × 224 224\times224 224×224通常划分为 16 × 16 16\times16 16×16 的 patch生成 14 × 14 196 14\times14 196 14×14196 个 patch。每个 patch 展平为一维向量形成序列作为 Transformer 的输入。这种分块将图像转化为序列形式使 Transformer 能以处理序列的方式处理图像突破 CNN 局部卷积的限制直接捕捉不同区域间的长距离依赖。
2. 线性嵌入
展平后的 patch 通过线性投影嵌入到低维空间。使用可学习的线性变换矩阵全连接层将每个 patch 向量映射为固定维度的嵌入向量。例如若 patch 展平后维度为 16 × 16 × 3 16\times16\times3 16×16×3RGB 三通道目标嵌入维度为 d d d如 d 768 d 768 d768则通过 ( 16 × 16 × 3 ) × d (16\times16\times3)\times d (16×16×3)×d 的权重矩阵变换得到维度为 d d d 的嵌入向量。嵌入维度影响表达能力和计算复杂度需在性能和资源间权衡。
3. 位置编码
由于自注意力机制对输入顺序不敏感而图像的空间位置信息重要ViT 引入位置编码。默认使用可学习的 1D 位置编码将二维 patch 按固定顺序展平为一维序列为每个位置分配编码向量并与嵌入向量相加使模型感知 patch 的相对位置。可选的正弦/余弦固定位置编码也常用于提供丰富位置信息。
4. Transformer 编码器
Transformer 编码器是 ViT 的核心由多个 Transformer 块组成。每个块包含多头自注意力和前馈网络两个子层。
多头自注意力层通过计算不同头的注意力权重捕捉图像中不同尺度和语义的依赖关系。输入嵌入向量序列通过线性变换生成查询、键、值矩阵计算点积并经缩放和 Softmax 归一化后得到注意力权重再与值矩阵加权求和。例如12 个头可分别关注物体轮廓、纹理等最后拼接输出。
前馈网络对注意力输出进行非线性变换包含两个线性层和激活函数如 GELU增强特征学习能力。残差连接和层归一化用于加速训练和稳定优化。
5. 分类头
分类头位于 ViT 末端用于图像分类。在编码器输出序列中添加分类标记与其他 patch 嵌入向量一起计算仅作为分类标识。编码器处理完成后提取分类标记的输出向量通过全连接层映射到分类结果。例如在 1000 类任务中输出 1000 维向量经 Softmax 转换为概率分布。
三、ViT 的训练与优化
一预训练与微调
ViT 通常在大规模数据集上预训练以学习通用图像特征。例如在 JFT-300M 数据集1400 万张图像上预训练通过最小化交叉熵损失更新参数使用 AdamW 优化器学习率约 1e-4权重衰减 0.05模型逐渐收敛。
预训练后ViT 可在下游任务中微调。例如在 CIFAR-10 上微调时替换分类头为 10 类输出使用较小学习率如 1e-5训练适应新任务并提升准确率。
二数据增强
数据增强是提升 ViT 性能的重要方法。常见技术包括旋转、翻转、裁剪、缩放、颜色抖动等增强模型对角度、方向、局部特征、光照变化的鲁棒性。
新兴方法如 TransMix 基于注意力图混合标签改进传统 Mixup根据像素重要性权重生成新样本。在 ImageNet 上TransMix 可提升 ViT 的 top-1 准确率约 0.9%增强泛化能力。
三优化器与超参数调整
AdamW 是 ViT 常用的优化器加入权重衰减防过拟合参数 β10.9、β20.999、eps1e-8 确保优化稳定。
超参数如分块大小、嵌入维度、层数、注意力头数、学习率、Dropout 概率需调整。分块大小影响全局与细节捕捉嵌入维度和层数影响表达能力注意力头数影响细节关注学习率需通过调度如余弦退火优化Dropout0.1-0.3防过拟合。可用网格搜索等方法优化超参数。
四、ViT 的性能分析
一与 CNN 的对比
在大数据集上ViT 凭借全局建模能力优于 CNN。例如在 JFT-300M 预训练后ViT 在 ImageNet 上准确率超过传统 CNN特别在复杂全局结构图像中表现更佳。
在小数据集上CNN 因归纳偏置如平移不变性更具优势ViT 易过拟合。例如在 CIFAR-10 上ResNet 通常优于未充分预训练的 ViT。
ViT 自注意力机制计算复杂度高与序列长度平方成正比高分辨率图像处理时资源需求大而 CNN 卷积操作更高效。CNN 的卷积核可解释性也优于 ViT 的注意力权重。
二不同数据集上的表现
在大规模数据集如 JFT-300M上ViT 性能卓越充分利用数据学习复杂特征。在小数据集如 MNIST、CIFAR-10上ViT 表现不如 CNN易过拟合。数据规模增加时ViT 准确率可提升 5%-10%泛化能力增强。
五、ViT 的变体与改进
一DeiT
DeiT 通过知识蒸馏提升性能引入蒸馏标记与分类标记共同优化模仿教师模型如 RegNet预测。在 ImageNet 上DeiT 准确率提升 3%-6%。
DeiT 采用 RandomErase、Mixup、Cutmix 等数据增强技术结合优化参数初始化和学习率调度提高训练效率和泛化能力。
二Swin Transformer
Swin Transformer 采用分层结构通过多阶段下采样提取多尺度特征适用于目标检测、语义分割等任务。
其滑动窗口注意力机制在窗口内计算自注意力降低复杂度 O ( M 2 ⋅ H W ) O(M² \cdot \frac{H}{W}) O(M2⋅WH) vs. O ( H W 2 ) O(HW²) O(HW2)移位窗口增强全局信息交互适合高分辨率图像处理。
六、ViT 的应用场景
一图像分类
ViT 在图像分类中表现优异。例如ViT-B/16 在 ImageNet 上达到 77.9% 的 top-1 准确率。在医疗影像如肺炎分类准确率超 90%和工业检测如缺陷识别准确率约 95%中应用广泛。
二目标检测
ViT 可作为骨干网络用于目标检测。例如DETR 在 MS COCO 上 AP 达 42.0%。但计算复杂度高和对小目标检测效果较弱是其挑战。
三语义分割
ViT 的全局建模能力适合语义分割。例如SegFormer 在 ADE20K 上 mIoU 达 45.1%。但高分辨率图像处理资源需求大细节捕捉能力稍逊于 CNN。
七、总结与展望
Vision TransformerViT是计算机视觉的重要创新通过 Transformer 架构捕捉图像全局依赖在图像分类、目标检测、语义分割中展现潜力。
其核心是将图像分块并嵌入结合位置编码输入 Transformer 编码器通过自注意力建模全局关系。预训练与微调、数据增强、优化器调整提升了性能。
ViT 在大规模数据集上表现优异但小数据集易过拟合计算复杂度高可解释性待提升。DeiT 和 Swin Transformer 等变体优化了效率和性能。
未来可从效率优化、训练策略、可解释性、新领域应用如多模态融合等方面进一步发展 ViT推动视觉技术进步。CNN一直占据重要地位。自 2012 年 AlexNet 在 ImageNet 大赛中取得优异成绩后CNN 在图像分类任务中显示出强大能力。随后VGG、ResNet 等深度网络架构不断出现推动了图像分类、目标检测、语义分割等任务的性能提升促进了计算机视觉技术的快速发展。 延伸阅读 计算机视觉系列文章 计算机视觉从0到1揭秘Diffusion图像生成领域的新革命 计算机视觉 解锁视频理解三剑客——ViViT 计算机视觉 解锁视频理解三剑客——TimeSformer 计算机视觉 解锁视频理解三剑客——SlowFast 计算机视觉实战Mask2Former实战轻松掌握全景分割、实例分割与语义分割 计算机视觉Mask2Former开启实例分割新范式 计算机视觉目标检测进化史从R-CNN到YOLOv11技术的狂飙之路 轻量化网络设计ShuffleNet深度学习中的轻量化革命 计算机视觉基础轻量化网络设计MobileNetV3 计算机视觉基础数据增强黑科技——AutoAugment 计算机视觉基础数据增强黑科技——MixUp 计算机视觉基础数据增强黑科技——CutMix 计算机视觉基础卷积神经网络从数学原理到可视化实战 计算机视觉基础从 OpenCV 到频域分析 机器学习核心算法系列文章 解锁机器学习核心算法神经网络AI 领域的 “超级引擎” 解锁机器学习核心算法主成分分析PCA降维的魔法棒 解锁机器学习核心算法朴素贝叶斯分类的智慧法则 解锁机器学习核心算法 | 支持向量机算法机器学习中的分类利刃 解锁机器学习核心算法 | 随机森林算法机器学习的超强武器 解锁机器学习核心算法 | K -近邻算法机器学习的神奇钥匙 解锁机器学习核心算法 | K-平均揭开K-平均算法的神秘面纱 解锁机器学习核心算法 | 决策树机器学习中高效分类的利器 解锁机器学习核心算法 | 逻辑回归不是回归的“回归” 解锁机器学习核心算法 | 线性回归机器学习的基石 深度学习框架探系列文章 深度学习框架探秘TensorFlowAI 世界的万能钥匙 深度学习框架探秘PyTorchAI 开发的灵动画笔 深度学习框架探秘TensorFlow vs PyTorchAI 框架的巅峰对决 深度学习框架探秘Keras深度学习的魔法钥匙