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

VIT论文阅读与理解

transform网络结构

在这里插入图片描述

vision transform网络结构

在这里插入图片描述
图1:模型概述。我们将图像分割成固定大小的补丁,线性嵌入每个补丁,添加位置嵌入,并将结果向量序列馈送到标准Transformer编码器。为了执行分类,我们使用标准方法向序列中添加一个额外的可学习的“分类令牌”。
在这里插入图片描述

补丁生成与嵌入向量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这段代码的功能是从一个图像张量中提取固定大小的 patch,并将这些 patch 转换为特定的排列形式。下面逐步说明这段代码的操作:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

vision transform实验

我们评估了ResNet、Vision Transformer (ViT)和hybrid的表示学习能力。为了了解每个模型的数据需求,我们在不同大小的数据集上进行预训练,并评估许多基准任务。当考虑到预训练模型的计算成本时,ViT表现非常好,以较低的预训练成本在大多数识别基准上达到最先进的水平。最后,我们使用自我监督进行了一个小实验,并表明自我监督的ViT在未来是有希望的。

设置

数据集。

为了探索模型的可扩展性,我们使用了具有1k个类和1.3M张图像的ILSVRC-2012 ImageNet数据集(我们在下文中将其称为ImageNet),具有21k个类和14M张图像(Deng等人,2009)的超集ImageNet-21k,以及具有18k个类和303M张高分辨率图像的JFT(Sun等人,2017)。我们根据Kolesnikov等人(2020)的研究,将预训练数据集与下游任务的测试集进行去重。我们将在这些数据集上训练的模型转移到几个基准任务中:原始验证标签和清理后的ReaL标签上的ImageNet(Beyer等人,2020)、CIFAR-10/100(Krizhevsky,2009)、Oxford IIIT Pets(Parkhi等人,2012)和Oxford Flowers-102(Nilsback&Zisserman,2008)。对于这些数据集,预处理遵循Kolesnikov等人(2020)的研究。

我们还对19个任务的VTAB分类套件进行了评估(Zhai等人,2019b)。VTAB使用每个任务1000个训练示例来评估向不同任务的低数据传输。任务分为三组:自然任务、宠物任务、CIFAR任务等。专业——医学和卫星图像,以及结构化——需要几何理解的任务,如定位。

模型变体

我们将ViT配置基于用于BERT的配置(Devlin等人,2019),如表1所示。“Base”和“Large”模型直接采用BERT,我们添加了更大的“Huge”模型。在下文中,我们使用简短的符号来表示模型大小和输入补丁大小:例如,ViT-L/16表示输入补丁大小为16×16的“大”变体。请注意,Transformer的序列长度与补丁大小的平方成反比,因此补丁大小较小的模型在计算上更昂贵

在这里插入图片描述
对于基线CNN,我们使用ResNet(He等人,2016),但用组归一化(Wu&He,2018)替换批归一化层(Ioffe&Szegedy,2015),并使用标准化卷积(Qiao等人,2019)。这些修改改善了传输(Kolesnikov等人,2020),我们将修改后的模型称为“ResNet(BiT)”。对于混合体,我们将中间特征图输入ViT,补丁大小为一个“像素”。为了尝试不同的序列长度,我们要么(i)取常规ResNet50的第4阶段的输出,要么(ii)删除第4阶段,在第3阶段放置相同数量的层(保持总层数),然后取这个扩展的第3阶段的输出。选项(ii)导致序列长度增加4倍,ViT模型更昂贵

训练和微调。我们使用Adam(Kingma&Ba,2015)训练所有模型,包括ResNets,其中β1=0:9,β2=0:999,批量大小为4096,并应用0.1的高权重衰减,我们发现这对所有模型的转移都很有用(附录D.1显示,与常见做法相比,Adam在我们的环境中对ResNets的效果略好于SGD)。我们使用线性学习率预热和衰减,详见附录B.1。为了进行微调,我们使用动量SGD,批量大小为512,适用于所有型号,请参阅附录B.1.1。对于表2中的ImageNet结果,我们以更高的分辨率进行了微调:ViT-L/16为512,ViT-H/14为518,还使用了Polyak和Juditsky(1992)的平均值,系数为0:9999(Ramachandran等人,2019;Wang等人,2020b)。

在这里插入图片描述

在这里插入图片描述

微调准确率(Fine-tuning accuracy): 微调指的是在已经训练好的模型基础上,进一步在目标数据集上训练,以调整模型参数。这种方法通常需要较长的训练时间,但它能通过调整模型参数适应特定任务,从而提升准确性。

少量示例学习准确率(Few-shot accuracy): 在少量示例学习中,模型通常只用少数样本(少量数据)来进行学习,而不进行完全的微调。在这里,作者采用的是一种正则化的最小二乘回归问题来优化模型表现。这种方法通过冻结模型的特征表示,仅通过少量数据来找到与目标向量的映射关系,通常计算效率较高。

目的:
微调:通常提供更好的准确性,但代价较高,需要更多的计算资源和时间。
少量示例学习:用来快速评估模型的表现,特别是在微调过于昂贵或耗时的情况下。通过线性回归的方式,可以在较短时间内获得一个近似的结果。

与最新技术的比较

我们首先将我们最大的型号ViT-H/14和ViT-L/16与文献中最先进的CNN进行比较。第一个比较点是大迁移(BiT)(Kolesnikov等人,2020),它使用大ResNets进行监督迁移学习。第二个是Noisy Student(Xie等人,2020),它是一个大型的EfficientNet,在ImageNet和JFT300M上使用半监督学习进行训练,并去除标签。目前,Noisy Student是ImageNet和BiT-L上其他数据集的最新技术。所有模型都是在TPUv3硬件上训练的,我们报告了预训练每个模型所需的TPUv3核心天数,即用于训练的TPU v3核心数量(每个芯片2个)乘以训练时间(以天为单位)

表2显示了结果。在JFT-300M上预训练的较小ViT-L/16模型在所有任务上都优于BiT-L(在同一数据集上预训练),同时训练所需的计算资源要少得多。更大的型号ViT-H/14进一步提高了性能,特别是在更具挑战性的数据集上——ImageNet、CIFAR-100和VTAB套件。有趣的是,该模型的预训练计算量仍然比现有技术少得多。然而,我们注意到,预训练效率不仅可能受到架构选择的影响,还可能受到其他参数的影响,如训练计划、优化器、权重衰减等。我们在第4.4节中提供了不同架构的性能与计算的对照研究。最后,在公共ImageNet-21k数据集上预训练的ViT-L/16模型在大多数数据集上也表现良好,同时预训练所需的资源更少:它可以在大约30天内使用具有8个核心的标准云TPUv3进行训练。
在这里插入图片描述

检查视觉变换器(Vision Transformer)

为了理解视觉变换器如何处理图像数据,我们分析其内部表示。视觉变换器的第一层将展平的图像块投影到一个低维空间(公式1)。图7(左)展示了学习到的嵌入滤波器的主要成分,这些成分类似于图像块中细致结构的低维表示的合理基函数。

在这里插入图片描述
ViT-L/32 RGB值的初始线性嵌入滤波器。

在投影之后,学习到的位置嵌入被添加到图像块表示中。图7(中)显示了模型学习如何根据位置嵌入之间的相似性来编码图像内的距离。即,较近的块通常会有相似的位置嵌入。进一步地,行列结构出现:同一行/列中的块具有相似的嵌入。最后,对于较大的网格,正弦结构有时会显现(附录D)。位置嵌入学习表示2D图像拓扑,解释了为何手工设计的2D感知嵌入变体未能带来改进(附录D.4)。
在这里插入图片描述
自注意力使得ViT能够在最低层集成整个图像的信息。我们研究了网络在多大程度上利用了这一能力。具体来说,我们计算了信息在图像空间中的平均距离(图7,右)。这一“注意力距离”类似于CNN中的感受野大小。我们发现,一些注意力头会关注已经图像的绝大部分,表明模型确实具备整合全局信息的能力。其他注意力头则集中于低层中的信息,这种高度局部化的注意力在应用ResNet混合模型之前的Transformer中更为明显(图7,右),这表明它可能在早期卷积层中具有类似的功能。进一步地,模型在图像区域的关注表现出与图像分类相关的区域(图6)

局部与全局信息的整合: 不同的注意力头会分别处理图像的局部细节和全局信息,部分头部关注整个图像,其他头部则集中在更小的区域上。这表明ViT模型能够有效地在图像的不同区域内进行信息整合
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

VIT论文阅读与理解

transform网络结构 vision transform网络结构 图1:模型概述。我们将图像分割成固定大小的补丁,线性嵌入每个补丁,添加位置嵌入,并将结果向量序列馈送到标准Transformer编码器。为了执行分类,我们使用标准方法向序列中添…...

JavaScript笔记APIs篇01——DOM获取与属性操作

黑马程序员视频地址:黑马程序员前端JavaScript入门到精通全套视频教程https://www.bilibili.com/video/BV1Y84y1L7Nn?vd_source0a2d366696f87e241adc64419bf12cab&spm_id_from333.788.videopod.episodes&p78https://www.bilibili.com/video/BV1Y84y1L7Nn?…...

SQL表间关联查询详解

简介 本文主要讲解SQL语句中常用的表间关联查询方式,包括:左连接(left join)、右连接(right join)、全连接(full join)、内连接(inner join)、交叉连接&…...

select函数

系统调用 select()可用于执行 I/O 多路复用操作&#xff0c;调用 select()会一直阻塞&#xff0c;直到某一个或多个文件描述符成为就绪态&#xff08;可以读或写&#xff09;。其函数原型如下所示&#xff1a; #include <sys/select.h> int select(int nfds, fd_set *re…...

建造者模式(或者称为生成器(构建器)模式)

一、什么是建造者模式&#xff1f; 将复杂对象的构建与表示进行分离&#xff0c;使得统一的构建过程&#xff0c;可以创建出不同的对象表现模式 就是将复杂对象里面的成员变量&#xff0c;设置不同的值&#xff0c;使得生成出来的对象拥有不同的属性值&#xff1b; 二、特点…...

【深度学习】Huber Loss详解

文章目录 1. Huber Loss 原理详解2. Pytorch 代码详解3.与 MSELoss、MAELoss 区别及各自优缺点3.1 MSELoss 均方误差损失3.2 MAELoss 平均绝对误差损失3.3 Huber Loss 4. 总结4.1 优化平滑4.2 梯度较好4.3 为什么说 MSE 是平滑的 1. Huber Loss 原理详解 Huber Loss 是一种结合…...

A5.Springboot-LLama3.2服务自动化构建(二)——Jenkins流水线构建配置初始化设置

下面我们接着上一篇文章《A4.Springboot-LLama3.2服务自动化构建(一)——构建docker镜像配置》继续往下分析,在自动化流水线构建过程当中的相关初始化设置和脚本编写。 一、首先需要先安装Jenkins 主部分请参考我前面写的一篇文章《Jenkins持续集成与交付安装配置》 二、…...

李宏毅机器学习HW1: COVID-19 Cases Prediction

Kaggle数据集和提交链接 特征选择&#xff08;主要修改地方&#xff09; 在sample code的基础上主要修改了Select_feat选择特征函数。 首先&#xff0c;因为数据集中的第一列是id&#xff0c;先在raw_x_train&#xff0c;raw_x_valid&#xff0c;raw_x_test中都去掉这一列。其…...

MySQL下载安装DataGrip可视化工具

目录 WinMySQL下载安装步骤MySQL配置添加环境变量 Mac下载安装配置环境变量 DataGrip可视化工具以Win为例了。Mac忘记截图了。步骤都一样 Win MySQL下载 官网&#xff1a; https://www.mysql.com/ 直接进下载界面&#xff1a; https://downloads.mysql.com/archives/installe…...

多平台下Informatica在医疗数据抽取中的应用

一、引言 1.医疗数据抽取与 Informatica 概述 1.1 医疗数据的特点与来源 1.1.1 数据特点 医疗数据具有显著的多样性特点。从数据类型来看&#xff0c;涵盖了结构化数据&#xff0c;如患者的基本信息、检验检查结果等&#xff0c;这些数据通常以表格形式存储&#xff0c;便于…...

用公网服务器实现内网穿透

首先需要一个公网服务器 下载frp 搜索github下载到frp&#xff0c;服务端frps/客户端frpc。。下载的时候要注意自己本地内网机的cpu版本和服务端cpu架构 我的电脑是mac M1PRO版本 下载的是&#xff1a;darwinarm64 比如 服务端一般是Linux&#xff08;Intel 64位CPU&#xf…...

为什么mysql更改表结构时,varchar超过255会锁表

在 MySQL 中&#xff0c;当修改表结构并将 VARCHAR 字段的长度设置为超过 255 时&#xff0c;可能会出现锁表的情况。这与 MySQL 的存储引擎&#xff08;主要是 InnoDB&#xff09;以及表的底层存储方式相关。 原因分析 行格式变化 InnoDB 存储引擎支持多种行格式&#xff08;…...

ASP.NET Core中 JWT 实现无感刷新Token

在 Web 应用开发中&#xff0c;用户登录状态的管理至关重要。为了避免用户频繁遇到登录过期的问题&#xff0c;我们可以通过实现 JWT&#xff08;JSON Web Token&#xff09;刷新机制来提升用户体验 推荐: 使用 Refresh Token&#xff08;双 Token 机制&#xff09; 1. 生成和…...

函数(函数的概念、库函数、自定义函数、形参和实参、return语句、数组做函数参数、嵌套调用和链式访问、函数的声明和定义、static和extern)

一、函数的概念 •C语⾔中的函数&#xff1a;⼀个完成某项特定的任务的⼀⼩段代码 •函数又被翻译为子函数&#xff08;更准确&#xff09; •在C语⾔中我们⼀般会⻅到两类函数&#xff1a;库函数 ⾃定义函数 二、库函数 1 .标准库和头文件 •C语⾔的国际标准ANSIC规定了⼀…...

物联网在烟草行业的应用

物联网技术在烟草行业的应用 物联网技术在烟草行业的应用主要体现在以下几个方面&#xff1a; 智能制造 &#xff1a;物联网技术可以实现对生产过程中的关键参数进行实时监测&#xff0c;确保产品的质量稳定可靠。同时&#xff0c;通过对设备的远程维护和故障诊断&#xff0c;…...

第6章:Python TDD实例变量私有化探索

写在前面 这本书是我们老板推荐过的&#xff0c;我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后&#xff0c;我突然思考&#xff0c;对于测试开发工程师来说&#xff0c;什么才更有价值呢&#xff1f;如何让 AI 工具更好地辅助自己写代码&#xff0c;或许…...

Java操作Excel导入导出——POI、Hutool、EasyExcel

目录 一、POI导入导出 1.数据库导出为Excel文件 2.将Excel文件导入到数据库中 二、Hutool导入导出 1.数据库导出为Excel文件——属性名是列名 2.数据库导出为Excel文件——列名起别名 3.从Excel文件导入数据到数据库——属性名是列名 4.从Excel文件导入数据到数据库…...

BUUCTF_Web([GYCTF2020]Ezsqli)

1.输入1 &#xff0c;正常回显。 2.输入1 &#xff0c;报错false&#xff0c;为字符型注入&#xff0c;单引号闭合。 原因&#xff1a; https://mp.csdn.net/mp_blog/creation/editor/145170456 3.尝试查询字段&#xff0c;回显位置&#xff0c;数据库&#xff0c;都是这个。…...

微软宣布Win11 24H2进入新阶段!设备将自动下载更新

快科技1月19日消息&#xff0c;微软于1月16日更新了支持文档&#xff0c;宣布Windows 11 24H2进入新阶段。 24H2更新于2024年10月1日发布&#xff0c;此前为可选升级&#xff0c;如今微软开始在兼容的Windows 11设备上自动下载并安装24H2版本。 微软表示&#xff1a;“运行Wi…...

SpringBoot:解决前后端请求跨域问题(详细教程)

文章目录 一、前言二、解决方式 2.1 使用 CrossOrigin 注解&#xff08;简单方便&#xff0c;适用于单个或少量接口&#xff09;2.2 全局配置跨域&#xff08;适用于整个项目中大量接口都需要跨域的情况&#xff09;2.3 使用过滤器来处理跨域&#xff08;更底层的实现方式&…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...