当前位置: 首页 > news >正文

VIT模型简介

文章目录

  • 算法介绍
  • 工作原理
  • 模型性能
  • vit变体
  • 参考链接

算法介绍

ViT(Vision Transformer)是一种基于Transformer架构的视觉模型,它改变了传统卷积神经网络(CNN)在计算机视觉领域的主导地位。ViT 将图像视为一系列的补丁(patches),并通过自注意力机制(self-attention mechanism)来来捕捉全局信息,从而实现了强大的视觉表征学习能力。

transformer的发展:
在这里插入图片描述
VIT 论文链接:https://arxiv.org/pdf/2010.11929v2 (需科学上网)

网络架构图:
在这里插入图片描述

工作原理

ViT整个架构可以通过以下五个步骤描述:

  1. 将输入图像拆分为固定的小块(patches)
  2. 把小块拉长成序列,即使用线性投影层获得每个patch的线性嵌入,这些嵌入式向量就是Patch Embeddings。或者使用卷积操作合并第1步, GPU 也已针对执行卷积操作进行了优化,这样无需先将图像拆分为块。
  3. 给线性嵌入添加位置编码信息和类别信息(Class Token),形成一个更大的序列
  4. 将序列送入transformert通过注意力机制和前馈神经网络来提取特征。重复该过程,例如 12 次,每次都会让模型对这些信息的理解更深入。
  5. 通过 MLP Head进行类别预测

模型性能

论文给出的3种类vit模型的结构特征:
在这里插入图片描述
Layers: Transformer 编码器层的个数
Hidden size: 隐藏层尺寸,表述每个补丁经过嵌入处理后,变成向量的维度
MLP size: 前馈神经网络FFN中第一个线性层的输出维度,一般FFN的结构可以表示为:768→3072→768,
Heads: 多头自注意力机制部分,使用了 注意力头个数


在这里插入图片描述
在JFT-300M数据集上预训练的Vision Transformer模型Top-1 准确率可以超过 88%,优于resnet网络的数据集。同时需要更少的计算资源来进行预训练。

ViT 需要在大规模数据集上进行预训练才能发挥其最大的性能潜力。当拥有足够多的数据进行预训练的时候,ViT的表现就会超过CNN,突破transformer缺少归纳偏置的限制,可以在下游任务中获得较好的迁移效果。
但是当训练数据集不够大的时候,ViT的表现通常比同等大小的ResNets要差一些.因为Transformer和CNN相比缺少归纳偏置(inductive bias),即一种先验知识,提前做好的假设。CNN具有两种归纳偏置,一种是局部性(locality/two-dimensional neighborhood structure),即图片上相邻的区域具有相似的特征;一种是平移不变形(translation equivariance)

vit变体

DeiT (Data-efficient Image Transformers)
特点如下:

  • 数据效率:DeiT 旨在减少训练所需的大量数据,通过使用蒸馏(Distillation)技术来辅助训练,从而提高数据使用效率。
  • 蒸馏过程:引入一个教师模型(Teacher Model)来指导学生模型(Student Model)的学习,使学生模型能够学习到教师模型的知识。
  • 轻量化:相比标准ViT,DeiT在保持高性能的同时减少了模型参数量和计算复杂度。

应用场景:

  • 对于数据量有限的任务特别有用

Swin Transformer (Shifting Window Transformer)
特点如下:

  • 窗口机制:Swin Transformer 引入了窗口机制(Window Mechanism),通过滑动窗口的方式进行局部自注意力计算,从而降低了计算复杂度。
  • 层次结构:Swin Transformer 采用了类似于卷积神经网络的层次结构,通过逐步增大特征图的尺寸来捕获多层次的信息。
  • 高效性:通过窗口机制,Swin Transformer 在保持高性能的同时大大减少了计算量。

PVT (Pyramid Vision Transformer)
特点如下:

  • 金字塔结构:PVT 采用了类似于金字塔结构的设计,通过逐步减小特征图的尺寸来捕获多层次的信息。
  • 多尺度特征:通过不同尺度的特征图,PVT 能够更好地处理多尺度的视觉信息。
  • 灵活性:PVT 可以很容易地应用于不同的视觉任务中,如图像分类、目标检测和语义分割。

CaiT (Class-Attention in Vision Transformers)
特点如下:

  • 类注意力机制:CaiT 引入了类注意力机制(Class Attention Mechanism),通过专门的注意力层来加强分类标记(Class Token)的信息,从而提高分类性能。
  • 深层结构:CaiT 设计了更深的网络结构,通过更多的自注意力层来捕捉更丰富的特征。
  • 鲁棒性:CaiT 在处理具有挑战性的数据集时表现出更强的鲁棒性。

应用场景:

  • 对于需要更高精度的分类任务特别有用

T2T-ViT (Token-to-Token Vision Transformer)
特点如下:

  • Token-to-Token:T2T-ViT 采用了一种新颖的方法来处理图像补丁,通过递归地将相邻的补丁合并成更大的补丁,从而逐步构建更高级别的特征表示。
  • 局部到全局:这种方法使得模型能够从局部信息逐步过渡到全局信息,从而更好地捕捉图像中的细节和全局结构。
  • 高效性:T2T-ViT 通过递归合并补丁的方式减少了计算复杂度。

CrossFormer
特点如下:

  • 交叉注意力机制:CrossFormer 通过引入交叉注意力机制(Cross Attention Mechanism),使得模型能够在不同尺度之间共享信息,从而提高了模型的灵活性和鲁棒性。
  • 多尺度融合:CrossFormer 通过多尺度特征融合,增强了模型在处理多尺度信息时的能力。
  • 高效性:CrossFormer 通过优化计算流程,降低了模型的计算复杂度。

参考链接

  1. 『论文精读』Vision Transformer(VIT)论文解读

  2. 计算机视觉:Vision Transformers

  3. 【超详细】初学者包会的Vision Transformer(ViT)的PyTorch实现代码学习

  4. Vision Transformer详解


http://www.mrgr.cn/news/23485.html

相关文章:

  • Leetcode 最大子数组和
  • Go入门语法
  • 主机托管和虚拟主机的区别有哪些
  • 实战千问2大模型第一天——Qwen2-7B(知识问答)的部署和fastapi封装
  • 【Qt】Qt文件
  • 500以内蓝牙耳机最良心推荐,四款高人气机型深度测评!
  • 一、MyBatis框架
  • 【基础算法总结】二分查找
  • Pyecharts 保存 png 图片问题
  • 【Power Compiler手册】11.功耗优化
  • 干货|生成式人工智能大模型备案详细办理资料清单
  • Pichound 猎图谷歌插件功能概览
  • yolov5 自训练模型转 tensorrt 及测试
  • AIGC入门:Comfyui整合包,解压即用!
  • 爆肝300+小时,我开发了个网络安全宣传周之网络安全知识有奖竞答小程序
  • 【南京工业大学主办,JPCS出版】自动化、电气控制系统与设备
  • C# List定义和常用方法
  • Vue入门学习笔记-从入门到模版语法
  • 钢铁百科:NM360E抗拉强度、NM360E力学性能、NM360E应用场所
  • 独霸15大厂Offer!我在AI大模型风口一飞冲天!