CVHub | CVPR 2024 | 英伟达发布新一代视觉基础模型: AM-RADIO = CLIP + DINOv2 + SAM

本文来源公众号“CVHub,仅用于学术分享,侵权删,干货满满。

原文链接:CVPR 2024 | 英伟达发布新一代视觉基础模型: AM-RADIO = CLIP + DINOv2 + SAM

标题:《AM-RADIO: Agglomerative Vision Foundation Model Reduce All Domains Into One》
论文:https://arxiv.org/pdf/2312.06709
源码https://github.com/NVlabs/RADIO

1 导读

AM-RADIO是什么?一张图先来感受它的魅力:

简单来说,AM-RADIO 是一个由英伟达提出的一个视觉基础模型框架,其集成了多个预训练的视觉基础模型如 CLIP、DINOv2及SAM 的能力,以获得强大的表征能力,同时也以几乎可以忽略不计的额外成本实现了SOTA级别的零样本分类或开集实例分割性能。

如上图左边所示的PCA特征可视化结果,RADIO 模型可以处理任何分辨率和宽高比,并产生语义丰富的稠密编码;上图中间则展示了 RADIO 的框架图;右侧显示了在分类、分割和视觉语言建模任务上的基准测试。

2 背景

Visual Foundation Models,VFMs,即视觉基础模型是一个非常重要的概念,诸如 CLIP、DINOv2、SAM 这样的 VFMs 通过不同的目标进行训练,已逐渐成为许多下游任务的核心。

例如,CLIP 这样的预训练视觉语言模型在不同的下游视觉任务上展现了强大的零样本泛化性能。这些模型通常使用从网络收集的数百上千万图像-文本对进行训练,并提供具有泛化和迁移能力的表示。因此,只需通过简单的自然语言描述和提示,这些预训练的基础模型完全被应用到下游任务,例如使用精心设计的提示进行零样本分类。

除了此类大型视觉语言基础模型外,一些研究工作也致力于开发可以通过视觉输入提示的大型基础模型。例如,最近 meta 推出的 SAM 能够执行与类别无关的分割,给定图像和视觉提示(如框、点或蒙版),指定要在图像中分割的内容。这样的模型可以轻松适应特定的下游任务,如医学图像分割、视频对象分割、机器人技术和遥感等。

最后,像 DINOv2,这种用于在大型图像数据集上预训练图像编码器,以获得具有语义的视觉特征。这些特征可用于广泛的视觉任务,无需微调即可获得与有监督模型相当的性能。

本文发现,尽管它们在概念上存在差异,但这些模型可以通过多教师蒸馏有效地合并成一个统一模型,称为Agglomerative Model – Reduce All Domains Into One,AM-RADIO,即聚合模型,旨在将所有领域缩减为一个。

这种整合方法不仅超越了单个教师模型的性能,而且融合了它们的独特特征,如零样本视觉-语言理解、详细的像素级理解以及开放词汇分割能力。

此外,为了追求最硬件效率高的主干网络,本文在多教师蒸馏流程中评估了多种架构,使用相同的训练策略;最终得到的新框架其性能超过了此前的SOTA模型,并且至少比教师模型在相同分辨率下快6倍,同时也在各大视觉任务取得了非常不错的性能表现。

关于“视觉大模型”的更多介绍,请参考万字长文带你全面解读视觉大模型。

3 方法

如上所述,本文提出一个框架,旨在通过多教师蒸馏从零开始训练视觉基础模型。这种方法的核心思想是利用多个已经在不同领域或任务上表现优异的教师模型来共同训练一个新的模型,这个新模型将集成所有教师模型的独特属性。

在选择的教师模型方面,作者选定了 CLIP、DINOv2 和 SAM 这三个主流的视觉基础模型,因为它们在各自的领域(如图像-文本匹配任务上,自监督学习任务上,开集分割任务)上都展现出了SOTA性能。

在训练过程中,本文没有使用额外的标签信息,而是将ImageNet、LAION-400M和DataComp1B等数据集中的图像作为训练数据。这样的做法使得模型能够在没有明确标签指导的情况下学习到图像的丰富表征

为了评估模型的性能,作者采用了一系列度量标准,涵盖了图像级推理、像素级视觉任务、大型视觉-语言模型以及SAM-COCO实例分割等多个方面。

AM-RADIO: 多教师统一蒸馏框架

3.1 Adaptor Heads

在这一步中,作者选择了简单的设计方案,使用了一个简单的2层多层感知机(MLP),中间夹杂着 LayerNorm 和 GELU 激活函数。Head 部分的输入维度是学生模型嵌入的维度,中间维度是所有教师模型中最大的嵌入维度,输出维度与特定教师模型相匹配。对于每个教师,作者使用了两个 head,一个用于提取整体特征向量,另一个则用于保留空间特征。

3.2 Distillation Dataset

本文研究了不同数据集对下游指标的影响。虽然使用ImageNet-1K作为训练数据集可以获得最高的图像分类指标,但作者认为这并不能公平地衡量“零样本”性能,因为学生在评估域中直接学习到了教师的特征。因此,最终选择了 DataComp-1B 数据集。

3.3 Loss Formulation

上面我们提到,这里训练的时候不使用原有的GT,因此是通过选择匹配来自每个教师视觉编码器的特征。特别是,AM-RADIO 区分了每个教师的 Summary 特征向量和 Spatial 特征向量。

需要注意的是,对于CLIP和DINOv2,这里 Summary 特征向量使用的是“类 token”;而对于SAM,则不匹配此部分特征。

实验发现,与 L1、MSE、Smooth-L1 相比,余弦距离损失能够产生更好的结果。此外,通过匹配教师的空间特征来监督模型的 spatial features 不仅对下游密集任务重要,而且提高了模型的总体质量。

为此,对于匹配空间特征,作者采用了余弦相似性和Smooth L1的组合。

4 实验细节

本文架构本质上没有创新,只是对现有能力的充分利用,因此实验的细节部分算是比较有价值的,下面简单的总结罗列下,感兴趣的可以看下原文。

  1. 训练设置

    • 使用AdamW优化器、1024的批量大小、余弦退火学习率计划和学习率基数为0.001。

    • 训练600k步,共查看614M个样本。

    • 最好的学生模型使用DFN CLIP ViT-H/14 378px、OpenAI CLIP ViT-L/14 336px、DINOv2 ViT-g/14 224px和SAM ViTDet-H 1024px作为教师。

    • 对学生和教师的输入应用随机缩放+裁剪。

    • 选择DataComp-1B数据集,因为它在作者可访问的网页规模数据集中质量最高。

    • 分两个阶段训练:首先用CLIP+DINOv2在256px训练300k步,然后用CLIP+DINOv2在432px加上SAM在1024px训练300k步。

  2. 学生模型架构

    • 研究了两种学生模型架构设置:标准ViT架构以匹配教师架构,以及高效架构变体优先考虑GPU上的高吞吐量。

  3. 多尺度教师

    • 学生模型选择ViT-H/16架构。

    • 为了匹配SAM特征的分辨率,学生模型输入预期分辨率为1024^2。

    • 由于CLIP和DINOv2教师是patch-14模型,学生输入选择432^2,这是patch-14模型378^2分辨率的有效分辨率。

    • 发现插值DINOv2特征不会降低结果,因此教师以224px运行,并上采样输出以匹配学生。

  4. 排名/教师分区

    • 按照批次大小和输入分辨率将教师模型分组,然后将这些组分配给不同的GPU,以便每个GPU处理一致的批次大小和输入分辨率。

    • 对于包含SAM的训练设置,使用64个GPU,其中一半处理CLIP+DINOv2组,每个GPU的批次大小为32,输入分辨率为432,另一半处理SAM,每个GPU的批次大小为2,输入分辨率为1024,有效批次大小为1,152。对于CLIP+DINOv2训练,使用32个GPU,批次大小为1024。

  5. 多分辨率ViTs

    • 许多学生模型使用ViT作为基础视觉架构。

    • 使用Cropped Position Embedding (CPE)增强,位置数等于128^2。

    • 即使在224分辨率下训练CLIP+DINOv2,也发现这种技术对摘要指标的影响可以忽略不计,但提高了语义分割线性探测的mIOU。

  6. 高分辨率ViT学生模型

    • 在SAM中,使用ViTDet架构减少高分辨率下ViT模型的计算和内存负担。

    • 将这种架构改写为训练增强,从中采样窗口大小。

    • 发现高分辨率训练不稳定,因此应用谱重参数化和0.02的权重衰减以防止注意力熵崩溃。

  7. 学生/教师分辨率不匹配

    • 当学生和教师通过处理堆栈以不同速率下采样图像时,输出特征向量的分辨率会不同。

    • 对于Lfeatures,使用双线性插值输出以匹配学生和教师特征之间的较大分辨率。

5 实验

如上图所示,E-RADIO是一个高效的RADIO架构,通过融合卷积块和Transformer,以及局部和全局注意力机制,实现了对密集型预测任务的高性能和快速推理,相比全ViT架构效率显著提高。

从表1的结果可以明显的看出基于 MetaCLIP 比 OpenCLIP 效果更好,DFN CLIP 则能取得最佳的零样本分类性能。DINOv2 则有助于语义分割这种任务。

此外,所设计的 ERADIO-L 模型比所有ViT模型都要快得多。同时,它在匹配吞吐量的情况下,在大多数指标上都明显优于 MetaCLIP,并且还实现了 DINOv2 和 SAM 中缺失的零样本能力。最终,完整模型 ViT-H/16 可以表现得与教师模型一样快,但在9项任务中有6项超过了它们,这足以证明所提出的蒸馏框架是高效的。

上图展示了 RADIO 在分辨率增加时的“模式切换”。在图表中,显示了来自RADIO的DINOv2头在不同分辨率下的特征之间的均方误差(MSE),以及DINOv2在518px分辨率下实际产生的特征。通过将RADIO特征进行双线性插值以匹配DINOv2特征的分辨率。在720px时,可以看出误差突然增加,这对应于图像中完全的颜色空间变化。

6 总结

大多数视觉基础模型具有各自的优势,例如语言定位(CLIP)、表征(DINOv2)和细粒度分割(SAM),但也存在各自的局限性。通过蒸馏,可以将所有这些优势整合到一个模型中,该模型通常优于任何教师模型。

我们从实验中还观察到,更好的教师会产生更好的学生。此外,对于特征蒸馏损失。我们观察到完整的特征蒸馏对于提高教师在密集图像理解任务中的性能至关重要,例如在ADE20K上相对提高了18%。SAM与DINOv2的对比。

还有个有趣的结论,SAM 其实并不适合下游任务,而DINOv2在零样本和少样本任务中明显优于前者,这大概还是得益于其强大的表征能力。不过,u1s1,SAM 在检测边缘和分割对象方面的表现还是非常出色的,但在高层对象描述和结合多个对象语义方面表现不佳。

本文提出的 RADIO 能够产生高分辨率和低噪声的特征。然而,我们可以发现的一个问题是,RADIO 似乎具有潜在的“低分辨率”和“高分辨率”模式,这可能是由于CLIP+DINO和SAM目标之间的分阶段训练导致的,这算是一个缺陷。

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/12257.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vscode 之 output 输出中文乱码,终端输出中文正常

# 1. 背景 因为没钱买正版的软件,所以转战 vscode 编译器。 在编译 python 文件时,发现直接右键 runner code,输出中文乱码。 但是在 teiminal 终端 执行py test.py 时,输出正常,中文正常。 output 输出中文样式(中文…

Go微服务: Prometheus性能监控与Grafana平台的搭建

Prometheus 概述 promethues 是一套开源的监控&报警&时间序列数据库的组合基本原理是通过http协议周期性抓取被监控组件的状态适合Docker、Kubernetes环境的监控系统 Promethues 整体架构 一、抓取数据的两种方式 1 )Short-lived jobs 短暂的任务 不会提…

RedisTemplate操作Redis详解之连接Redis及自定义序列化

连接到Redis 使用Redis和Spring时的首要任务之一是通过IoC容器连接到Redis。为此,需要java连接器(或绑定)。无论选择哪种库,你都只需要使用一组Spring Data Redis API(在所有连接器中行为一致):…

面对.halo勒索病毒,如何有效防范与应对?

导言: 随着网络技术的不断发展,网络安全问题也日益凸显。其中,勒索病毒作为一种极具破坏性的网络攻击手段,近年来在全球范围内频发。其中,.halo勒索病毒作为勒索病毒家族中的一员,其危害性和传播性不容忽视…

StNet: Local and Global Spatial-Temporal Modeling for Action Recognition 论文阅读

StNet: Local and Global Spatial-Temporal Modeling for Action Recognition 论文阅读 Abstract1 Introduction2 Related Work3 Proposed Approach4 Experiments5 Conclusion 文章信息: 原文链接:https://ojs.aaai.org/index.php/AAAI/article/view/4…

二叉树专题(有关二叉树的相关学习)

二叉树 1.数概念及结构 1.1树的结构 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是因 为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 有一个特殊的结…

ollama离线部署llama3(window系统)

首先介绍下ollama是什么?Ollama是一个开源的大型语言模型服务工具,旨在为用户提供本地化的运行环境,满足个性化的需求。具体来说,Ollama是一个功能强大的开源框架,可以简化在Docker容器中部署和管理大型语言模型&a…

【C++】内联函数、auto、范围for

文章目录 1.内联函数2.auto关键字2.1auto简介2.2auto的注意事项2.3auto不能推导的场景 3.基于范围的for循环(C11)4.指针空值nullptr(C11) 1.内联函数 概念: 以inline修饰的函数叫做内联函数,编译时C编译器会在调用内联函数的地方展开,没有函…

商场综合体能源监管平台,实现能源高效管理

商场作为大型综合体建筑,其能源消耗一直是备受关注的问题。为了有效管理商场能耗,提高商场能源效率,商场综合体能源监管平台应运而生。 商场综合体能源监管平台可通过软硬件一起进行节能监管,硬件设备包括各种传感器、监测仪表和…

Matter 1.3版标准新出炉,支持更多智能家居/家电/能源等设备

5月8日,CSA连接标准联盟正式发布了Matter 1.3标准,过去CSA一直保持约每六个月一次的标准更新节奏。 图源CSA连接标准联盟官方 获得一系列改进的Matter 1.3标准,将提升设备的互操作性,扩展支持的设备类别,并增强整个智…

Android 几种系统升级方式详解

目录 ◆ 概述 ● 几种启动模式 ● MISC分区 ● CACHE分区 ● 几种系统升级方式 ◆ Recovery升级 ● 升级包构成,签名,制作 ● 升级脚本 ● 升级过程 ◆ OTA升级 ● 升级包构成,制作 ● 升级脚本 ● 升级过程 ◆ fastboot升级 ◆ ADB升级 几…

【研发日记】Matlab/Simulink技能解锁(七)——两种复数移相算法

复数移相,也称为复数相位旋转,就是在原有复数的基础上,不改变模数,只把相位角做一定的偏移。 文章目录 前言 三角函数移相 复数乘法移相 分析和应用 总结 前言 见《【研发日记】Matlab/Simulink技能解锁(二)——在Function编…

(三)Spring教程——依赖注入与控制反转

Spring框架是为了简化企业级应用开发而创建的,其强大之处在于对Java SE和Java EE开发进行全方位的简化,Spring还对常用的功能进行封装,可以极大地提高Java EE的开发效率。 依赖注入是Spring的核心技术之一,也被称为“控制反转”&a…

【Linux】自动化编译工具——make/makefile(超细图例详解!!)

目录 一、前言 二、make / Makefile背景介绍 🥝Makefile是干什么的? 🍇make又是什么? 三、demo实现【见见猪跑🐖】 四、依赖关系与依赖方法 1、概念理清 2、感性理解【父与子👨】 3、深层理解【程序…

【JavaEE】HTTP 协议

文章目录 一、HTTP 协议1、HTTP 是什么2、理解 "应用层协议"3、理解 HTTP 协议的工作过程4、HTTP 协议格式5、HTTP 请求 (Request)5.1 认识 URL 6、 二、HTTPS1、HTTPS是什么2、"加密" 是什么3、HTTPS 的工作过程3.1 对称加密3.2 非对称加密3.3 证书3.4 完…

零样本身份保持:ID-Animator引领个性化视频生成技术新前沿

在最新的研究进展中,由Xuanhua He及其团队提出的ID-Animator技术,为个性化视频生成领域带来了突破性的创新。这项技术的核心在于其零样本(zero-shot)人物视频生成方法,它允许研究者和开发者根据单一的参考面部图像生成…

深度解刨性能测试工具Locust

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 Locust安装 …

gin框架学习笔记(三) ——路由请求与相关参数

参数种类与参数处理 查询参数 在讲解查询参数的定义之前,我们先来看一个例子,当我打开了CSDN,我现在想查看我的博客浏览量,那么我就需要点击我的头像来打开我的个人主页,像下面这样: 我们现在把浏览器的网址取下来,…

【35分钟掌握金融风控策略27】贷中风控策略与客户运营体系

目录 贷中风控策略与客户运营体系 贷中风控日标 贷中风控数据源 贷中风控策略与客户运营体系 贷中是风控的第二道防线,贷中阶段风控的重点工作就是存量客户风控及运营。在当下,新客市场趋于饱和且获客成本越来越高,所以,在做好…

基于Java的俄罗斯方块游戏的设计与实现

关于俄罗斯方块项目源码.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89300281 基于Java的俄罗斯方块游戏的设计与实现 摘 要 俄罗斯方块是一款风靡全球,从一开始到现在都一直经久不衰的电脑、手机、掌上游戏机产品,是一款游戏规则简单…