【论文解读】基于图的自监督学习联合嵌入预测架构
一、简要介绍

本文演示了一种学习高度语义的图像表示的方法,而不依赖于手工制作的数据增强。论文介绍了基于图像的联合嵌入预测架构(I-JEPA),这是一种用于从图像中进行自监督学习的非生成性方法。I-JEPA背后的idea很简单:从单个上下文块中,预测同一图像中不同目标块的表示。指导I-JEPA产生语义表示的核心设计选择是掩膜策略;具体来说,(a)预测图像中的几个目标块,(b)采样足够大规模的样本目标块(占图像的15%-20%),(c)使用足够丰富的(空间分布)上下文块,是至关重要的。根据经验,当与视觉transformer结合时,论文发现I-JEPA具有高度的可缩放性。例如,论文在ImageNet上使用32个A100 GPU在38小时内训练一个ViT-Huge/16,以在需要不同抽象级别的广泛任务中实现强大的下游性能,从线性分类到对象计数和深度预测。
二、研究背景
在计算机视觉中,有两种常见的图像自监督学习方法:基于不变性的方法和生成方法。
基于不变性的预训练方法优化编码器,为同一图像的两个或多个视图产生类似的嵌入,图像视图通常使用一组手工制作的数据增强来构建,如随机缩放、裁剪和颜色抖动,以及其他。这些预训练方法可以产生高语义级别的表示,但它们也会引入强烈的偏差,可能对某些下游任务,甚至对不同数据分布的预训练任务有害。
认知学习理论认为,生物系统中表征学习背后的一个驱动机制是如何适应一个内部模型来预测感官输入反应。这个想法是自我监督生成方法的核心,它删除或损坏部分输入,并学习预测损坏的内容。特别是,掩膜去噪方法通过从输入的像素或令牌级别重建随机掩膜补丁来学习表示。与视图不变性方法相比,掩膜的预训练任务需要更少的先验知识,并且很容易推广到图像模态之外。然而,所得到的表示通常具有较低的语义级别,并且在现成的评估(如线性探测)和对语义分类任务监督有限的转移设置中缺乏基于不变性的预训练。因此,需要一个更复杂的适应机制(例如,端到端微调)来获得这些方法的充分优势。
在这项工作中,论文探索如何提高自我监督表示的语义水平,而不使用额外的先验知识编码的图像转换。为此,论文引入了一种图像联合嵌入预测架构(I-JEPA)。图3提供了该方法的一个说明。I-JEPA背后的构思是预测抽象表示空间中的缺失信息;例如,给定一个上下文块,预测同一图像中不同目标块的表示,其中目标表示是由学习到的目标编码器网络计算的。
与在像素/标记空间中进行预测的生成方法相比,I-JEPA利用抽象的预测目标,可能消除不必要的像素级细节,从而导致模型学习更多的语义特征。另一个指导I-JEPA产生语义表示的核心设计选择是所提出的多块掩膜策略。具体来说,论文演示了使用一个信息丰富的(空间分布的)上下文块来预测图像中的几个目标块(具有足够大的规模)的重要性。
通过广泛的实证评估,论文证明:
I-JEPA学习了强大的现成的语义表示,而不使用手工制作的视图增强(图1)。I-JEPA优于像素重建方法,如在ImageNet-1K线性探测上的MAE、半监督的1% ImageNet-1K和语义传输任务。

I-JEPA在语义任务上与视图不变预训练方法具有竞争力,并且在对象计数和深度预测等低级视觉任务上取得了更好的性能。通过使用一个更简单的模型和更少的刚性归纳偏差,I-JEPA是适用于更广泛的任务集。
I-JEPA也是可缩放的和高效的。在ImageNet上对ViT-H/14进行预训练大约需要2400 GPU小时,比使用iBOT 预训练的ViTB/16快50%,比使用MAE预训练的ViT-L/16的效率快140%。在表示空间中的预测显著减少了自我监督预训练所需的总计算量。
自我监督学习是一种表征学习的方法,其中一个系统学习捕获其输入之间的关系。这个目标可以很容易地使用基于能量的模型(EBMs)的框架来描述,其中自我监督的目标是为不兼容的输入分配高能,并为兼容的输入分配低能量。许多现有的生成式和非生成式的自我监督学习方法确实可以在这个框架中进行转换;见图2。
联合嵌入式架构(Joint-Embedding Architectures)。基于不变性的预训练可以使用联合嵌入架构(JEA)在EBM的框架中进行强制转换;参见图2a。联合嵌入架构学习为兼容的输入x、y输出类似的嵌入,为不兼容的输入输出不同的嵌入。在基于图像的预训练中,兼容的x,y对通常是通过对相同的输入图像随机应用手工制作的数据增强来构建的。
JEA的主要挑战是表示坍缩,其中能量景观是平坦的(即,编码器产生一个恒定的输出,而不管输入如何)。在过去的几年里,已经研究了几种方法来防止表示坍缩,如明确推动负例子嵌入的对比损失,最小化嵌入的信息冗余的非对比损失,以及基于聚类的方法来最大化平均嵌入的熵。也有一些启发式的方法,利用x编码器和y编码器之间的非对称架构设计来避免坍缩的。
生成式架构(Generative Architectures)。基于重构的自监督学习方法也可以在使用生成式架构的EBM框架中进行强制转换;见图2b。生成式架构学习从一个兼容的信号x直接重建信号y,使用一个附加的(可能是潜在的)变量z的解码器网络,以促进重建。在基于图像的预训练中,计算机视觉中一种常见的方法是使用掩膜产生兼容的x,y对,其中x是图像y的一个副本,但有一些补丁被掩膜。然后,条件反射变量z对应于一组(可能是可学习的)掩膜和位置标记,它指定了要重建的图像补丁的解码器。只要z的信息容量比信号y要低,这些体系结构就不会关注表示坍缩。
联合嵌入式预测性架构(Joint-Embedding Predictive Architectures)。如图2c所示,联合嵌入预测架构在概念上类似于生成式架构;然而,一个关键的区别是,损失函数应用于嵌入空间,而不是输入空间。JEPA学习从兼容的信号x预测信号y的嵌入,使用一个附加(可能是潜在)变量z的预测网络以促进预测。论文提出的I-JEPA在使用掩膜的图像上下文中提供了该架构的实例化;参见图3。与联合嵌入架构相比,JEPA并不寻求对一组手工制作的数据增强不变的表示,而是寻求在附加信息z条件时相互预测的表示。然而,与联合嵌入架构一样,表示坍缩也是JEPA关注的一个问题。论文利用x和y编码器之间的非对称架构,以避免I-JEPA中的表示坍缩。

三、方法介绍
论文现在描述了所提出的基于图像的联合嵌入预测体系结构(I-JEPA),如图3所示。总体目标如下:给定一个上下文块,预测同一图像中不同目标块的表示。论文使用视觉Transformer(ViT)架构作为上下文编码器、目标编码器和预测器。一个ViT由一堆Transformer层组成,每个Transformer层由一个自注意的操作和一个全连接的MLP组成。论文的编码器/预测器架构让人想起生成掩膜自动编码器(MAE)方法。然而,一个关键的区别是,I-JEPA方法是非生成性的,并且预测是在表示空间中做出的。






四、图像分类
为了证明I-JEPA在不依赖于手工制作的数据增强的情况下学习高级表示,论文报告了使用线性探测和部分微调协议的各种图像分类任务的结果。在本节中,论文将考虑在ImageNet-1K数据集上预先训练过的自监督模型。预训练和评估实施细节见附录a。所有的I-JEPA模型都在分辨率224×224中进行训练,除非另有明确说明。
ImageNet-1K.表1显示了在通用的ImageNet-1K线性评估基准上的性能。经过自监督预训练后,冻结模型权值,并使用完整的ImageNet-1K训练集在顶部训练一个线性分类器。与流行的掩膜自动编码器(MAE)和data2vec 方法相比,它们在训练前也不依赖大量手工制作的数据增强,论文看到I-JEPA显著提高了线性探测性能,同时使用了更少的计算量。此外,I-JEPA还受益于规模。在分辨率为448时训练的ViT-H/16与视图不变方法的性能相匹配,如iBOT,而不需要额外的手工数据扩充。

Low-Shot ImageNet-1K.表2显示了在1%的ImageNet基准测试上的性能。这里的方法是将预先训练好的模型用于ImageNet分类,只使用1%的ImageNet标签,对应于每个类大约12或13张图像。模型通过微调或线性探测来进行调整,这取决于每种方法的最佳效果。当使用类似的编码器架构时,I-JEPA优于MAE,同时需要更少的预训练时期。I-JEPA,使用ViTH/14架构,与使用数据2vec预训练的ViT-L/16的性能相匹配,同时使用了明显更少的计算量。通过提高图像输入分辨率,I-JEPA优于以前的方法,包括联合嵌入方法,在训练前利用额外的手工数据增强,如MSN、DINO 和iBOT 。

Transfer learning.表3显示了使用线性探头的各种下游图像分类任务的性能。I-JEPA显著优于以前不使用增强的方法(MAE和数据2vec),并减少了在训练前利用手工制作的基于观点不变的最佳方法的差距,甚至超过了CIFAR100和Place205上流行的DINO。

五、本地预测任务(Local Prediction Tasks)
I-JEPA学习语义图像表示,显著提高了以往方法的下游图像分类性能,如MAE和data2vec。此外,I-JEPA受益于规模,并可以缩小差距,甚至超越,利用额外的手工制作的数据增强的基于视图不变性的方法。在本节中,论文发现I-JEPA也能学习局部图像特征,并在低水平和密集的预测任务中,如对象计数和深度预测中,超越了基于视图不变性的方法。
表4显示了使用线性探测的各种低级任务的性能。特别是,经过预训练后,模型的权值被冻结,并在顶部训练一个线性模型,对Clevr数据集进行对象计数和深度预测。与DINO和iBOT等视图不变性方法相比,I-JEPA方法在训练前有效地捕获了低级图像特征,并在对象计数(Clevr/Count)和(大幅度)深度预测(Clevr/Dist)方面优于它们。

六、可缩放性(Scalability)
模型效率(Model Efficiency) 与以前的方法相比,I-JEPA具有高度的可缩放性。图5显示了对1% ImageNet-1K作为GPU hour的函数的半监督评估。I-JEPA比以前的方法需要更少的计算,并且在不依赖手工数据增强的情况下获得了强大的性能。与直接使用像素作为目标的MAE等基于重建的方法相比,I-JEPA通过在表示空间中计算目标而引入了额外的开销(每次迭代的时间大约慢7%)。

缩放数据大小(Scaling data size)。论文还发现I-JEPA受益于更大数据集的预训练。表5显示了在增加训练前数据集的大小(IN1KvsIN22K)时,在语义任务和低水平任务上的迁移学习性能。当对更大更多样化的数据集进行预训练时,这些概念不同的任务上的迁移学习性能会提高。
缩放模型大小(Scaling model size)。表5还显示,在IN22K上进行预训练时,I-JEPA受益于更大的模型规模。与ViT-H/14模型相比,对ViT-G/16的预训练显著提高了对Place205和INat18等图像分类任务的下游性能。ViTG/16模型并不能提高对低级下游任务的性能。ViT-G/16使用更大的输入补丁大小,这可能对本地预测任务有害。

七、预测可视化(Predictor Visualizations)
I-JEPA中预测器的作用是取上下文编码器的输出,并以位置掩膜令牌为条件,预测掩膜令牌指定的位置上目标块的表示。一个问题是,以位置掩模令牌条件的预测器是否正在学习正确捕获目标中的位置不确定性。为了定性地研究这个问题,论文将预测器的输出可视化。在预训练后,论文冻结了上下文编码器和预测器的权值,并按照RCDM框架训练一个解码器,将预测器输出的平均池映射回像素空间。图6显示了各种随机种子的解码器输出。在样本之间常见的特性表示包含在平均合并预测器表示中的信息。I-JEPA预测器能正确地捕捉到位置的不确定性,并产生具有正确姿态的高级物体部件(例如,鸟的背部和汽车的顶部)。不同样本中不同的质量表示表示法中不包含的信息。在这种情况下,I-JEPA预测器丢弃了精确的低级细节和背景信息。

八、消融(Ablations)
在表示空间中的预测( Predicting in representation space.)。表7比较了在像素空间和表示空间中计算1% ImageNet-1K时的low-shot性能。论文推测,I-JEPA的一个关键组成部分是,损失完全在表示空间中计算,从而使目标编码器能够产生抽象的预测目标,从而消除了无关的像素级细节。从表7中可以清楚地看出,在像素空间中的预测会导致线性探测性能的显著下降。

掩膜策略(Masking strategy)。在表8中,论文减少了在I-JEPA预训练过程中所提出的multi-block掩膜策略(如图4所示)中的目标块的数量以及上下文和目标块的规模。论文使用具有各种多块设置的I-JEPA训练了300个周期,并使用线性探针比较了在1% ImageNet-1K基准测试上的性能。简而言之,论文发现预测几个相对较大的(语义)目标块,并使用信息充分的(空间分布的)上下文块是很重要的。

表6在与其他掩膜策略进行比较时,也进行了类似的消融。论文与rasterized掩膜策略进行了比较,其中图像被分割成四个大象限,其目标是使用一个象限作为上下文来预测其他三个象限。论文还比较了通常用于基于重建的方法的传统的block和random掩膜策略。在block掩膜中,目标是单个图像块,上下文是图像补体。在random掩膜中,目标是一组随机的(可能是不连续的)图像补丁,而上下文是图像的补体。请注意,在所有考虑的掩膜策略中,上下文块和目标块之间没有重叠。所提出的multi-block掩膜策略是I-JEPA学习语义表示的关键。即使切换到传统的block掩膜,ImageNet的性能也会降低超过24%。

九、结论
论文提出了I-JEPA,一种简单而有效的学习语义图像表示的方法,而不依赖于手工制作的数据增强。论文表明,通过在表示空间中进行预测,I-JEPA比像素重建方法收敛速度更快,并学习高语义水平的表示。与基于视图不变性的方法相比,I-JEPA强调了使用联合嵌入架构学习一般表示的路径,而不依赖于手工制作的视图增强。
附录见原文,原文链接:https://arxiv.org/abs/2301.08243
相关文章:
【论文解读】基于图的自监督学习联合嵌入预测架构
一、简要介绍 本文演示了一种学习高度语义的图像表示的方法,而不依赖于手工制作的数据增强。论文介绍了基于图像的联合嵌入预测架构(I-JEPA),这是一种用于从图像中进行自监督学习的非生成性方法。I-JEPA背后的idea很简单ÿ…...
C++ 容器
string 1. 构造 string s1(); // 1 string s2("hello"); // hello string s3(3, k); // kkk string s4("hellohello", 2, 4); // lloh2. 赋值 string s1 "hellohello"; // hellohello string s2.assign(s1); // he…...
【PHP】PHP文件操作详解
PHP是一种广泛使用的服务器端脚本语言,用于开发Web应用程序。在PHP中,文件操作是一项重要的功能,包括文件的读取、写入、删除和其他操作。本文将详细介绍PHP文件操作的各个方面,并通过示例代码进行说明。 一、文件读取 要读取一…...
硬核旗舰南卡OE CC开放式耳机发布,重新定义百元开放式耳机新标杆!
随着现在健康意识的不断提高,人们对于日常用品的要求越来越高,在耳机市场中,健康因素也逐渐成为消费者所考虑的因素之一,入耳式耳机因为会引发中耳炎、耳膜炎等疾病,正在逐渐被开放式蓝牙耳机所取代,南卡…...
785. 判断二分图
785. 判断二分图 原题链接:完成情况:解题思路:参考代码: 原题链接: 785. 判断二分图 https://leetcode.cn/problems/is-graph-bipartite/description/ 完成情况: 解题思路: 题目解释&#x…...
限时 180 天,微软为 RHEL 9 和 Ubuntu 22.04 推出 SQL Server 2022 预览评估版
导读近日消息,微软公司今天发布新闻稿,宣布面向 Red Hat Enterprise Linux(RHEL)9 和 Ubuntu 22.04 两大发行版,以预览模式推出 SQL Server 2022 评估版。 近日消息,微软公司今天发布新闻稿,宣布…...
一款ccm的功率因素校正控制器ncp1654
产品概述: NCP1654是用于连续传导模式的控制器(CCM)功率因数校正升压预转换器。它控制固定频率模式下的电源开关导通时间(PWM)并且取决于瞬时线圈电流。 该电路封装在SO8封装中,最大限度地减少了外部组件&a…...
4.若依框架上传文件
1.服务端代码-控制器 /*** 上传文件*/PostMapping("/upload")Operation(summary "上传")public AjaxResult uploadFile(MultipartFile file) throws Exception {try {// 上传文件路径String filePath RuoYiConfig.getUploadPath();// 上传并返回新文件名…...
Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required
项目场景: 最近因为公司业务需要在搭一个新架构,用的springboot3和jdk17,在整合mybatis多数据源的时候报错 (引用的mybatisplus 和 mybatisplusjion的是最新的包-2023-08-26) Error creating bean with name ‘XXXServiceImpl’:…...
idea的debug断点的使用
添加断点(目前不知道如何添加断点,就给AutoConfigurationImportSelector的每个方法都加上断点): 然后将StockApplication启动类以debug方式运行,然后程序就会停在119行 点击上边的step over让程序往下运行一行&#x…...
【UE】蓝图通信——事件分发器
目标 比如我现在希望点击控件蓝图A中的按钮后,蓝图B能够马上做出响应 实现步骤 1. 这里控件蓝图A叫“UI_按钮”,我在该蓝图中创建了一个名为“btnIsClicked”的事件分发器 当按钮被点击时,就会调用“btnIsClicked” 2. 蓝图B这里叫做“BP_…...
Python爬虫分布式架构问题汇总
在使用Python爬虫分布式架构中可能出现以下的问题,我们针对这些问题,列出相应解决方案: 1、任务重复执行 在分布式环境下,多个爬虫节点同时从消息队列中获取任务,可能导致任务重复执行的问题。 解决方案:…...
AIGC人工智能涉及三十六职业,看看有没有你的职业(一)
文章目录 一只弹吉他的熊猫 神奇的企鹅 功夫熊猫 视觉光影下的女子 闪光灯效 局部柔光 生物光 LOGO设计 制作儿童绘本故事 换脸艺术 打造专属动漫头像 包装设计之美 建筑设计 如何转高清图 生成3D质感图标 生成微信表情包 探索美食摄影的奇妙之旅 蛋糕创意设…...
万界星空科技/免费MES系统/免费质量检测系统
质量管理也是万界星空科技免费MES中的一个重要组成部分,旨在帮助制造企业实现全面的质量管理。该系统涵盖了供应商来料、生产过程、质量检验、数据分析等各个环节,为企业提供了一站式的质量管理解决方案。 1. 实时质量监控 质量管理能够实时监控生产过程…...
解决IndexError: index 0 is out of bounds for axis 1 with size 0
标题 引言问题背景解决思路如何防止总结参考资料 博主 默语带您 Go to New World. ✍ 个人主页—— 默语 的博客👦🏻 《java 面试题大全》 🍩惟余辈才疏学浅,临摹之作或有不妥之处,还请读者海涵指正。☕🍭…...
Java中hashTable的基本介绍,细节讨论,使用注意事项,常用方法和底层的扩容机制
Hashtable 是 Java 标准库中提供的一个古老的散列表(Hash Table)实现,用于存储键值对。它是线程安全的,基于哈希表的数据结构。然而,由于其线程安全性引入的同步机制,使得在多线程环境下性能相对较低。在现…...
redis -实战记录
redis -实战记录 一、安装二、使用 一、安装 centos - docker安装redisWindows10安装redis(图文教程) 二、使用 node-red进行读写redis...
Mysql知识梳理
Mysql知识梳理 索引索引分类索引未命中的原因性能调优命令Explain回表 mysql性能优化事务四大特性事务隔离级别设置事务隔离级别 存储引擎聚簇索引和非聚簇索引聚簇索引非聚簇索引 最左前缀结合原则全文索引 索引 索引分类 mysql有普通索引、空间索引、主键索引、唯一索引、组…...
文生图模型之Stable Diffusion
原始文章地址 autoencoder CLIP text encoder tokenizer最大长度为77(CLIP训练时所采用的设置),当输入text的tokens数量超过77后,将进行截断,如果不足则进行paddings,这样将保证无论输入任何长度的文本&…...
Java List循环安全删除元素
Java List循环安全删除元素的几种方式如下: 使用迭代器(Iterator):通过调用List的iterator()方法获取List的迭代器,然后使用迭代器的remove()方法删除元素。这种方式可以避免在遍历过程中修改List导致的并发修改异常&…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
