谷歌推出创新SynCLR技术:借助AI生成的数据实现高效图像建模,开启自我训练新纪元!

news2025/5/23 17:28:32

谷歌推出了一种创新性的合成图像框架,这一框架独特之处在于它完全不依赖真实数据。这个框架首先从合成的图像标题开始,然后基于这些标题生成相应的图像。接下来,通过对比学习的技术进行深度学习,从而训练出能够精准识别和理解这些图像的模型,令人惊讶的是,这种方法在各种下游任务中都表现出色。让我们一起来看看使用了什么神奇的魔法!

论文标题: Learning Vision from Models Rivals Learning Vision from Data
论文链接:
https://arxiv.org/pdf/2312.17742.pdf

引言

集大规模的真实数据往往伴随着许多挑战:未经筛选的庞大数据集虽然成本较低,但其效益却是有限的;而精细筛选的小规模数据集虽然更为精确,但却限制了模型的广泛应用。为了克服这些障碍,一项新的研究提出了一种独特的解决方案——利用合成数据来学习视觉表示。这种方法通过生成大量的图像标题和相应的图像,实现了有效的对比学习,能够将共享同一标题的图像视为相互匹配的正例。研究团队特别强调,这种基于合成数据的学习方法不仅展现了卓越的可扩展性,而且在多种下游任务中展现了与传统方法相媲美的卓越性能。

传统学习方法("Learning from data")侧重于纯粹从真实数据中汲取知识。一个典型的例子是CLIP模型,它直接从文本和图像数据集中提取信息,在ImageNet上实现了令人瞩目的80.2%的线性转移精度。

混合学习方法("Hybrid")则采用了一种双管齐下的策略,结合真实文本和生成图像进行学习。例如,StableRep模型就是在这样的框架下运作,它利用文本数据集和图像生成器进行学习,在ImageNet上也取得了相当不错的76.7%的线性转移精度。

而本文提出的基于模型生成的方法("Learning from models")——SynCLR,标志着一次创新的飞跃。它通过从合成文本和合成图像中学习,即便没有直接接触任何真实数据,也能在ImageNet上展现出与CLIP相匹敌的竞争力,达到了非常优秀的80.7%的线性转移精度。

方法

SynCLR的核心创新在于它通过生成模型重新界定了视觉类别的细粒度。与传统的自监督和监督学习方法相比,SynCLR独特地以标题作为类别定义,其中每个标题都细致地描述了一个视觉类别。这一方法的巧妙之处在于它允许按照标题所共享的语义将图像分组,而非仅限于更为宽泛的类别标签,如“金毛寻回犬”等。在实验中,这种以标题为基础的精细分类方式证明了其优于传统自监督和监督训练方法的效果。该系统包括以下三个步骤:

生成图像标题

首先,作者们成功地生成了一个庞大的图像标题语料库。为了实现这一目标,他们巧妙地利用了大型语言模型(LLMs)的上下文学习能力,精心设计了一系列的提示模板,以指导LLM根据特定上下文产生相关联的文本内容。

通过从现有数据集(如ImageNet-21k和Places-365)中精选概念列表,作者们为每个概念构建了特别的提示,引导LLM生成描述性且富有创意的图像标题。这一过程的核心在于确保生成的标题既准确描述图像内容,又展现足够的多样性,以覆盖广泛的视觉概念。这种多样性至关重要,因为它保证了生成的图像集可以代表尽可能多样的场景、对象和活动,进而提高学习到的视觉表示的泛化能力。

通过这种方式,作者们合成了大量多样化的图像标题,这些标题随后用于指导图像生成模型生成相应的合成图像。将这些合成图像与合成标题结合起来,形成了一个用于训练视觉表示学习模型的丰富数据集。这种方法使得在完全没有真实图像数据的情况下进行视觉模型训练成为可能,为传统依赖真实数据集的视觉学习方法提供了一种创新且有效的补充。

在下图中,研究团队提供了一个上下文(左侧),用于指导模型根据给定的类别对(例如“tiger, forest”或“groom, wedding ceremony”)生成具体的描述性标题。例如,在实际生成的结果中(右侧),对于“red fox, yard”这一类别对,模型生成了以下标题:“wild red fox sitting on a partially snow covered front yard of a house in the suburbs of a small city”。在这个过程中,每次推理都会随机选择三个这样的上下文实例。

图像生成

研究团队采用了一种创新的方法来生成图像,即通过不同的随机噪声启动反向扩散过程。在这个过程中,Classifier-Free Guidance(CFG)比例扮演着至关重要的角色,它有效地平衡了样本质量、文本与图像之间的一致性,以及样本多样性之间的关系。为了为每个文本描述生成一系列不同的图像,团队调整了随机噪声输入,从而丰富了生成图像的多样性。

表示学习方法

这一表示学习方法是在StableRep方法的基础上构建的,引入了一种多正面对比学习损失。其核心思想是在嵌入空间中将由相同标题生成的图像对齐,同时融合了其他自监督学习方法中的多种技术,包括补丁级掩蔽图像建模目标。

StableRep

StableRep方法通过比较不同样本之间的相似性和差异性,最小化交叉熵损失。这一策略训练模型识别和区分由相同或不同标题生成的图像。

iBOT

iBOT方法采用掩蔽图像建模目标,其中局部补丁被掩盖,而模型的任务是预测这些被掩盖的补丁的标记表示。这一策略将DINO模型从图像级别调整到补丁级别。

指数移动平均(EMA)

EMA最初由MoCo在自监督学习中引入,用于编码作物并生成iBOT损失的目标。在训练期间,EMA模型按照余弦计划更新,以平滑模型参数的更新过程,从而使模型在训练过程中保持稳定性。

多作物策略

多作物策略作为一种提高计算效率的方法,允许模型从多个视角和上下文中学习,增加了训练样本的多样性并提升了表示的泛化能力。具体而言,StableRep通过最小化真实分配和对比分配之间的交叉熵损失来提高效率。在这个框架中,存在一个编码的锚点样本和一组编码的候选样本集合。对比分配分布描述了模型预测锚点样本和每个候选样本是否由相同标题生成的概率。他们使用指示函数来标识两个样本是否来自同一个标题。

实验

研究团队对其模型进行了长达500k步骤的预训练,采用8192个标题的大批量尺寸,所有预训练任务均在224x224分辨率下进行。他们将SynCLR与OpenAI的CLIP、OpenCLIP以及DINO v2进行了对比,这些模型分别代表了不同的从数据中学习的方法。特别指出的是,DINO v2中的ViT-B/14和ViT-L/14是由ViT-g模型蒸馏得来,这一点在比较时为DINO v2带来了优势。

ImageNet线性评估

为了进行公平的比较,所有模型均使用最后一个块的cls令牌作为表示(与DINO v2使用多层串联的结果相比)。据表6所示,SynCLR在ViT-B结构上达到了80.7%的成绩,在ViT-L结构上则达到了83.0%。这些成绩与那些直接从真实数据中学习的模型(如CLIP和DINO v2)相当,尽管SynCLR仅使用了合成数据。

UperNet语义分割

研究团队在UperNet语义分割中采用了单一尺度512x512分辨率,部分模型为适应518x518分辨率而使用了14x14的补丁尺寸。他们使用了600M的合成数据,与包括MoCo v3、SimMIM、MAE、PeCo、data2vec、iBOT、BEiT v2、CLIP和OpenCLIP在内的其他模型进行了对比,这些模型主要是基于真实的ImageNet数据预训练的。SynCLR在mIoU指标上分别在标准分辨率和高分辨率下达到了54.3%和57.7%,与使用真实数据训练的模型相比,表现十分出色。

ImageNet图像分类

SynCLR在ImageNet图像分类方面的表现也值得关注。使用600M合成数据,SynCLR与采用不同数据集,如IN21K、WIT-400M和LAION-2B预训练的各种模型进行了比较。在ViT-B结构上,SynCLR的Top-1准确率为85.8%,而在ViT-L结构上则为87.9%,均优于多数使用真实数据训练的模型。

这些结果明确表明,尽管完全依赖合成数据,SynCLR方法在视觉表示学习领域仍能与依赖真实数据的模型媲美,展示了这一方法的显著有效性和巨大潜力。

小结

作者们提出了以下关键观点和结论:

从生成模型中学习的理由:生成模型的一个显著优势在于其能够同时扮演成百上千个数据集的角色。在传统的研究方法中,研究者往往需要为不同的图像类别(比如汽车、花朵、猫、狗等)单独收集数据集。而像DINO v2这样的系统通过综合和整合大量这类数据集,能够构建出强大且鲁棒的表征。

生成模型的显著优势:与传统的数据收集和标注方法相比,生成模型提供了一个更加高效、范围更广的视觉概念覆盖方式。这一方法免去了在真实图像数据收集和标注上耗费的大量时间和资源。

论文强调了合成数据在视觉表示学习中的关键作用。尽管在分类精度方面,合成数据可能不及真实数据,但在训练视觉表示模型方面,合成数据展现出了极高的效果。这些训练好的表示随后可以轻松适应于真实数据量较小的下游任务,显示出合成数据的实用性和适应性。

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

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

相关文章

Green Sock | GSAP 动画库

1.什么是“GSAP”? GreenSock Animation Platform(GSAP) 是一个业界知名的动画工具套件,在超过1100万个网站上使用,其中包括大量获奖网站! 您可以使用GSAP在任何框架中制作几乎任何JavaScript可以触及的动…

css开源库分享

你是否遇到过写css没灵感,写不出酷炫的效果,那这篇文章你一定要看完。知道这几个开源库,它能让你写出炸天的效果并且有效地增加你的摸鱼时长。 1.CSS Inspiration 网址: chokcoco.github.io/CSS-Inspira… CSS Inspiration 上面…

7.14解数独(LC37-H)

算法: 二维递归(递归时需要两层for循环) 一个for循环放行 另一个for循环放列 画树: 因为这个树形结构太大了,我抽取一部分,如图所示: 回溯三部曲: 1.确定函数参数和返回值 返…

一个完整的测试流程包括哪些?测试人员需要做什么?

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

案例074:基于微信小程序的儿童预防接种预约管理系统

文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder …

被低估的流量宝地,如何通过Reddit为Shopify店铺引流?

独立站店铺相对于电商平台来说,有一个运营难点那就是需要自主引流。做好引流,你的Shopify店铺也就成功了一半。Reddit作为国外知名的论坛平台,非常适合作为引流的阵地,许多人对这个网站尚不了解,接下来就为大家介绍如何…

C++ namespace 学习

源自:【C】-命名空间的概念及使用_命名空间的概念及作用-CSDN博客 摘抄:

Android Studio新手实战——深入学习Activity组件

目录 前言 一、Activity简介 二、任务栈相关概念 三、常用Flag 四、结束当前Activity 五、Intent跳转Activity 六、更多资源 前言 Android是目前全球最流行的移动操作系统之一,而Activity作为Android应用程序的四大组件之一,是Android应用程序的核…

HackTheBox - Medium - Linux - Socket

Socket Socket 是一台中等难度的 Linux 机器,其特点是反转 Linux/Windows 桌面应用程序以获取其源代码,从那里发现其 Web 套接字服务中的“SQL”注入。转储数据库会显示一个哈希值,一旦破解,就会产生对该框的“SSH”访问。最后&a…

pytest conftest通过fixture实现变量共享

conftest.py scope"module" 只对当前执行的python文件 作用 pytest.fixture(scope"module") def global_variable():my_dict {}yield my_dict test_case7.py import pytestlist1 []def test_case001(global_variable):data1 123global_variable.u…

Selenium自动化测试框架的搭建

说 起自动化测试,我想大家都会有个疑问,要不要做自动化测试? 自动化测试给我们带来的收益是否会超出在建设时所投入的成本,这个嘛别说是我,即便是高手也很难回答,自动化测试的初衷是美好的,而测…

设计模式:简单工厂模式

这里写目录标题 工厂模式简介核心角色:实现 工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 工厂模式提供了一种将对象的实例化过程封…

05-微服务-RabbitMQ-概述

RabbitMQ 1.初识MQ 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应&am…

【数据库原理】(6)关系数据库的关系操作集合

基本关系操作 关系数据操作的对象都是关系,其操作结果仍为关系,即集合式操作。关系数据库的操作可以分为两大类:数据查询和数据更新。这些操作都是基于数学理论,特别是集合理论。下面是对这些基本操作的解释和如何用不同的关系数据语言来表达这些操作的…

linux usb 驱动介绍

通用串行总线(USB)是一个在主机和许多外设之间的连接. 最初它被创建来替代许多慢速和不同的总线- 并口, 串口, 和键盘连接--有一个单个的所有设备都可以连接的总线类型. [45] USB 已经成长超出了这些 慢速连接并且现在支持几乎每种可以连接到 PC 的设备. USB 规范的最新版本增加…

ida pro linux

结论, 放弃 linux下ida;改用 linux 下 kvm 运行winxp ,在winxp中运行ida7 “IDA Pro Advanced v5.7.0.935 (Linux) (Kaspersky Labs) © Hex-Rays.zip” 在ubuntu22x64下运行例子 ls -lh "IDA Pro Advanced v5.7.0.935 (Linux) (…

超简单|配图详细| 双系统Ubuntu22.04 系统磁盘扩容

因为磁盘不够了,磁盘后面没有容量了,resize只能向后扩容,我磁盘中中只有前边有空闲,所以挂载新的分区。 1. 打开磁盘工具 在应用程序中找到 磁盘 软件,打开它。 找到一个空闲分区,获取所有权 选中启用递归…

param_validator 核心代码实现

目录 一、前置说明1、总体目录2、相关回顾3、本节目标 二、操作步骤1、项目目录2、代码实现3、测试代码4、日志输出 三、后置说明1、要点小结2、下节预告 一、前置说明 1、总体目录 《 pyparamvalidate 参数校验器,从编码到发布全过程》 2、相关回顾 pyparamval…

02. BI - Project Two, 男女声音识别

文章目录 Hi, 你好。我是茶桁。 上一节课,咱们用一个员工离职预测的案例来学习了LR和SVM。 那今天咱们还是来看案例,从案例来入手。那今天的例子会带着大家一起来做一个练习,是一个男男女声音识别的例子。数据集来自于3,168个录音的样本&…

力扣:62. 不同路径(动态规划,附python二维数组的定义)

题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径&…