[论文分享]MR-MAE:重构前的模拟:用特征模拟增强屏蔽自动编码器

news2025/1/18 20:27:02

论文题目:Mimic before Reconstruct: Enhancing Masked Autoencoders with Feature Mimicking

论文地址:https://arxiv.org/abs/2303.05475

代码地址:https://github.com/Alpha-VL/ConvMAE(好像并未更新为MR-MAE模型)

MR-MAE是在ConvMAE基础上提出的后续文章

ConvMAE相关信息如下:

论文题目:ConvMAE: Masked Convolution Meets Masked Autoencoders

论文地址:https://arxiv.org/abs/2205.03892

代码地址:https://github.com/Alpha-VL/ConvMAE

摘要

掩模自编码器(MAE)是一种流行的大规模视觉表征预训练方法。然而,MAE仅在解码器之后重建低级RGB信号,缺乏对编码器高级语义的监督,因此存在次优学习表征和较长的预训练时间。为了缓解这一问题,以前的方法只是用预训练图像(DINO)或图像语言(CLIP)对比学习的编码特征替换75%的掩码标记的像素重建目标。与这些研究不同的是,我们提出了先模仿后重建的掩膜自编码器,称为MR-MAE,它在预训练过程中不受干扰地共同学习高级和低级表征对于高级语义,MR-MAE使用来自编码器的超过25%的可见标记的模拟损失来捕获在CLIP和DINO中编码的预训练模式。对于低级结构,我们继承MAE中的重建损失来预测解码器后75%掩码令牌的RGB像素值。由于MR-MAE在不同的分区分别应用高级和低级目标,它们之间的学习冲突可以自然地被克服,并有助于为各种下游任务提供更好的视觉表征。在ImageNet-1K上,预训练仅400 epoch的MR-MAE基础在微调后达到85.8%的top-1精度,比1600 epoch的MAE基础高出2.2%,比之前最先进的BEiT V2基础高出0.3%。代码和预训练模型将在https://github.com/Alpha-VL/ConvMAE上发布。

提炼

MR-MAE出发点:MAE仅在解码器之后重建低级RGB信号,缺乏对编码器高级语义的监督

已有方法:用预训练图像(DINO)或图像语言(CLIP)对比学习的编码特征替换75%的掩码标记的像素重建目标

MR-MAE方法:

  • 结合DINO、CLIP和MAE,联合学习高级和低级表示;

  • 使用Mimic避免冲突

  • 使用encoder输出高级表示,decoder输出低级表示

创新点

  • MR-MAE同时利用高级表示和低级表示,并通过对这两个目标的学习来促进编码器的预训练

  • 重建损失遵循MAE,学习低级表示。原始的MAE随机抽取25%的可见标记,并由编码器处理它们。然后,将混合位置嵌入的编码标记送入轻量级解码器,用于预测75%掩码标记的像素值。

  • MR-MAE通过模拟损失学习高级表示,该模拟损失仅应用于编码器之后的可见token。模拟损失最小化了MAE编码器输出与由现成的预训练图像语言(CLIP)或图像-图像(DINO)生成的高级特征之间的L2距离。

  • 模拟损失和重建损失应用于不同的令牌组(25%可见vs 75%掩码)和不同的网络层(编码器vs解码器的输出),MRMAE很好地解决了低级和高级学习目标之间的监督冲突。

相关工作

MAE

蒙面语言建模(MLM)通过大规模预训练彻底改变了自然语言理解。受此启发,MAE将 MLM 范式应用到视觉表示学习中。MAE只编码25%的可见图像标记,并重建其他75%掩码标记的RGB像素值

与MLM相比,MAE存在以下缺点:

  • 首先,与语言建模中的高级监督不同,MAE 的低级RGB信号过于原始和冗余,无法充分释放掩码自编码对下游视觉任务的理解能力。

  • 其次,MAE 采用了重编码器和轻解码器的非对称架构,其中编码器经过预训练后保留,用于下游迁移学习。然而,MAE只对解码器的输出进行预训练监督,不足以引导编码器,并且减慢了预训练阶段的收敛速度。

对比学习

对比学习通过从信号源的增强视图中提取不变性,在学习有效的视觉表征方面取得了巨大的成功。DINO和CLIP是对比学习范式中的两种典型方法。

DINO通过图像-图像对比学习预训练的ViT产生了强烈的对象性。CLIP通过图像-文本对对比学习,展示了惊人的零样本学习能力。但是,DINO和CLIP在下游任务上的微调性能不如通过 MAE 方式学习的表征。

为了构建更有效的重构目标,现有的部分方法探索现成的预训练DINO、CLIP或在线动量特征作为高级监督。但是,考虑到不同目标同时重建造成的干扰,以往的方法都是简单地用高阶特征代替原有的RGB像素目标,只利用高阶特征来监督解码器的输出

模型框架

整个训练过程可以分为预训练和下游任务,下游任务只使用预训练后的教师模型

预训练时的借口任务分别是重构任务和对比任务,目的是联合学习低级表示和高级表示,重构任务基于MAE模式进行

简单来说是在MAE的基础上,并行的添加了一个已经预训练好的模型(DINO或CLIP)对MAE的encoder输出进行约束。

学习低级表示

MAE 采用非对称编码器-解码器设计,给定一个输入图像,MAE首先将其分成均匀的 patch,并随机屏蔽其中的75%。我们分别用 Im 和 Iv 表示被遮挡的和可见的 patch,然后,将25%的可见 patch 进行标记并送到encoder(transformer)中以产生c维中间表示Ev。MAE采用轻量级变压器解码器预测Dm,重建被屏蔽令牌的RGB值。在Dm和Im之间使用L2重构损耗LR:

学习高级表示

MR-MAE使用预训练的现成特征编码器对中间表示进行正则化来增强MAE,即用预训练好的DINO或CLIP产生的高级特征来引导编码器的中间Ev,首先通过将输入图像送到基于transformer的视觉编码器中提取DINO或CLIP特征,表示为Fv,。通过一个线性投影层变换可见表示Ev来模拟Fv。Lm模拟损失定义为:

由于针对可见标记的特征模拟损失LM和针对掩蔽标记的重建损失LR旨在编码输入图像的不同方面,即高级语义和低级纹理,因此它们可以相互补充,以学习更具区别性的表示。

其他技巧

特征选择

MAE采用随机屏蔽策略进行可见令牌选择,这是低电平信号重建的自然选择,无需额外的引导。由于现成预训练模型中的cls token可以通过其注意图清楚地描绘重要区域,因此我们选择教师网络(即DINO/CLIP)注意图中最突出的token进行可见特征模仿。通过这种方式,MR-MAE可以更好地捕获教师网络中编码的信息性高级语义,而不是非显著的低级语义。

多层融合

MAE仅将编码器最后一层的输出令牌馈送到解码器以进行掩码像素重建。由于编码器的不同层可能描述图像的不同抽象层次,我们通过元素值相加来融合来自多个编码器中间层的可见标记,然后利用融合后的标记进行高层特征模拟和低层像素重建。这样,特征模拟的监督可以直接应用到编码器的多层,从而改善视觉表示。

mask的卷积

由于物体存在于不同的尺度,对多尺度视觉信息的探索在计算机视觉任务中取得了巨大的成功。在MCMAE之后,我们在Transformer块之前附加了额外的mask卷积,以有效地捕获高分辨率细节,并应用多尺度逐块掩膜来防止信息泄漏以进行像素重建。这种多尺度编码可以学习分层表示,并在下游任务上取得显著改进。

实验

参数设置

遵循ImageNet-1K的预训练和微调协议。MR-MAE预训练400个epoch,batch size为1024,权重衰减为0.05。采用AdamW优化器和余弦学习率调度器,最大学习率为1.5 × 10−4,预热 80 个epoch。使用25%的mask ratio和8个解码器块。对权重分别为0.5和0.5的重构损失和模拟损失进行了联合优化。选择经过CLIP预训练的ViT-B/16作为高级别教师。

在自监督预训练之后,微调100个epoch,预热5个epoch。采用与预训练相同的批大小、优化器和权重衰减。初始学习率、分层学习率衰减和下降路径率分别设置为3 ×10−4、0.6和0.2。

对比方法

BeiT , MAE , CAE用于预训练视觉变压器,采用低阶像素的重建和各向同性架构

SimMIM、MCMAE和MixMIM在MIM中引入了多尺度特征,与各向同性架构相比,提高了微调精度,仍然重建低水平信号

MaskFeat、data2vec、MVP和MILAN通过整合DINO、动量特征和CLIP,直接用高水平语义目标代替低水平信号的重建

MILAN提出了一种新的提升解码器和语义感知掩蔽,通过重构高级特征来增强特征学习

BeiT V2将原始的DALL-E标记器替换为通过自编码CLIP特征学习的高级语义标记器

CMAE通过对比损失和重建损失的联合优化来学习表征。与CMAE不同的是,MR-MAE使用了大规模图像-文本对比学习预训练的教师模型,该模型包含更丰富的语义知识

DMAE采用了与MR-MAE类似的方法,它模仿预训练的教师生成的特征,重建低级像素

对象检测

MRMAE能够有效提高检测率并缩短了训练轮次

消融实验

主要贡献点

比较文章提出了主要贡献点,包括两种损失以及三种技巧

可以看出Lm对结果产生了较大帮助,提升了1.7%得到准确率,另外三个技巧分别提升了0.2%,0.1%和0.5%

任务目标

由于低级目标和高级目标包含不同的视觉语义,它们的联合监督可能会相互冲突。如上表第4、5行所示,低水平和高水平目标直接联合重建使ImageNet-1K微调精度下降-1.7%。

另外,不同的高级目标也会影响模型性能。由于图像-图像对比学习(DINO)和图像-语言对比学习(CLIP)编码了不同的高级语义,用不同的高级语义来降低MR-MAE库的性能。

  • CLIP生成的特征可以超过DINO +1%。这意味着图像-语言对比学习比图像-图像对比学习提供了更强的高级语义。

  • 用不同的高阶目标对MR-MAE进行预训练和微调,然后将两个模型集成。CLIP/DINO (Sep.)可以超过CLIP/DINO (Joint) +1.7%,验证了不同目标学习到的互补表示。

模型大小和训练次数

引入高级目标可以使MIM方法收敛得更快,MR-MAE在各种尺寸的模型上效果都优于MAE和MCMAE

可视化结果

可视化不同模型的最后一个自注意层的 CLS token 的注意图

  • MAE的目标是低级像素重建,因此其注意力偏向于纹理模式

  • DINO的注意力过分强调突出对象的部分信息

  • MR-MAE的注意力可以捕获完整的目标信息。

总结

  • MR-MAE保留了MAE的结构,在保证encoder学习低级表示的同时,加入了高级表示学习部分

  • MR-MAE模型使用了已经预训练好的DINO/CLIP模型作为学习高级表示的教师模型,迫使encoder学习高级表示

  • MR-MAE性能的提升也用到了一些其他技巧:可见token的选择,多层特征融合,mask卷积

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

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

相关文章

不容错过!10个Python自动化办公库免费送!(上)

大家好,这里是程序员晚枫,小红薯也叫这个名。 今天给大家分享一下,花费2周时间整理的Python自动化办公库。 本次内容涵盖了Excel、Word、PPT、PDF、微信、文件处理等所有能在办公场景实现自动化的库,希望能够对大家有所帮助。 提…

部署LAMP 平台(二十四)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、概述 二、PHP安装配置 1. PHP的作用 2. PHP安装 2.1 yum安装 2.2 PHP语言简介 三、安装 四、启动 五、书写测试页面 六、客户端访问 七、书写连接数据库页…

C++图形开发(13):得分系统

文章目录 1.定义变量2.得分系统3.分数清零系统4.输出分数5.整段代码 今天来对这个“别碰方块”的游戏进行一个完善,并增加一个得分系统 1.定义变量 首先是定义用于储存得分的变量: int score 0;2.得分系统 那么怎样才能得分呢? 没错&…

数据分析——AB测试应用与实战

摘要 某电商公司非常注重自己的落地页设计,希望通过改进设计来提高转化率。以往该公司全年转化率平均在13%左右,现在希望设计的新页面能够带来更高的转化率,希望新页面的转化率能有2%的提升,达到15%。在正式推出新页面之前&#…

HCIA配置命令集

目录 扩展 交换机 路由器 路由器网关配置 DHCP服务器 Telnet :远程登录协议 静态路由配置 动态路由 OSPF RIP NAT—网络地址转换 ACL—访问控制列表 ACL的分类: 配置 配置基础ACL : 例一: 例二: 配…

微服务 云原生:K8S 核心组件

参考 Kubernetes 官方文档,简要概述 Kubernetes 中的核心组件用途及部分原理。 一个 K8S 集群,可以分为两个部分: 控制平面(Control Plane)。它是一套管理系统,专门来管理集群节点和服务,为集群做出全局决策&#xff…

apache doris数据库集群搭建(二)

1. 概述 该文档主要介绍了主要基于apache doris数据库搭建(一)的基础上进行集群搭建、升级、扩容操作讲解编写。 2.软硬件需求 Doris 作为一款开源的 MPP 架构 OLAP 数据库,能够运行在绝大多数主流的商用服务器上。为了能够充分运用 MPP 架…

java Exception输出错误详细信息

1、直接输出Exception try {//上传代码} catch (Exception e) {throw new RuntimeException("上传训练数据失败:" e);}输出结果:只输出错误原因,不输出错误发生的位置 2、e.getMessage() throw new RuntimeException("上…

Thymeleaf解析

thymeleaf是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web环境中的应用开发 最开始网站开始发展时,使用HTML展示网页,随着技术的发展和需求变化,出现了前后端交互的页面,不需要使用多个页面去展示一个大同小异的页面。…

Android TvSettings Bug: 密码框无法点击唤起输入法

概述 Android 10 的Box方案, 默认使用的是TvSettings作为系统设置,输入操作的习惯上是使用鼠标,键盘,遥控,日常的场景是没有问题,也不会出现本文中提及的问题。当外接的USB触摸屏后,出现无法点击…

华润燃气牵手腾讯云 数字技术助力燃气行业高质量发展

7月13日,华润燃气与腾讯云正式签署战略合作协议。双方将充分发挥各自优势,探索AI大模型在燃气行业的深度应用,并深耕分布式计算、连接和客户运营等领域,不断提升燃气民生服务的效率、质量,共同推动行业数字化转型和高质…

echarts3D地图+3D柱状图+3D飞线图

echarts版本&#xff1a;5.4.0 echarts-gl版本&#xff1a;2.0.8 示例代码&#xff1a; <template><div><div ref"chinaMap" id"chinaMap" style"width: 90vw;height: 90vh;"></div></div> </template>&l…

【ArcGIS Pro二次开发】(49):村规数据入库【福建省】

之前用Arcpy脚本工具做了一个村规数据入库和主要图纸生成工具。 在使用过程中&#xff0c;感觉对电脑环境比较高&#xff0c;换电脑用经常会一些莫名其妙的错误&#xff0c;bug修得很累。近来随着ArcGIS Pro SDK的熟悉&#xff0c;就有了移植的想法。 这里先把村规数据入库工…

【量化课程】02_2.货币金融学基础概念

2.2_货币金融学基础概念 文章目录 2.2_货币金融学基础概念概述金融体系货币利率利率的风险结构与期限结构货币供给过程中国货币政策工具货币政策效果货币数量论、通货膨胀与货币需求总需求与总供给分析货币政策理论货币政策传导机制 概述 金融市场&#xff1a;资金从剩余方转向…

解决git每次提交都需要输入用户密码

一、背景 在github上贴上了服务器ssh的公钥后&#xff0c;在服务器上推送代码仍旧提示需要输入git的账号和密码。 二、原因 这是因为此时的仓库是http协议下载的&#xff0c;此时的链接并不是通过ssh的&#xff0c;因此在推送代码时&#xff0c;会提示输入git的账号和密码。…

基于Python编写一个B站全自动抽奖的小程序

本文将利用Python编写一个B站全自动抽奖的小程序&#xff0c;可以实时监控自己关注的UP主&#xff0c;如果关注的UP主中有人发布了抽奖的动态&#xff0c;就自动参与这个抽奖。这样就能不错过任何一个可以暴富的机会了。需要的可以参考一下 导语 应好友邀请&#xff0c;帮他写…

i.MX6ULL(十五) 根文件系统

Linux“三巨头”已经完成了 2 个了&#xff0c;就剩最后一个 rootfs( 根文件系统 ) 了&#xff0c;本章我们就来学 习一下根文件系统的组成以及如何构建根文件系统。这是 Linux 移植的最后一步&#xff0c;根文件系统 构建好以后就意味着我们已经拥有了一个完整的、可以运…

Python isdigit()函数使用详解

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;小白零基础《Python入门到精通》 isdigit函数使用详解 1、包含负数的情况2、包含小数的情况3、带圈的数字4、数字上…

重封装Ehcache与Redis模板以便于一二级缓存同步数据(二)

参考: 一级缓存二级缓存的获取与更新顺序&#xff08;一) 简单封装Ehcache与RedisTemplate模版 通常使用一二级缓存时,必须保持一二级缓存数据数据与数据库中数据保持一致 &#xff1b;此时可以简单封装下,一二级缓存的相关接口,便于我…

数据结构(王道)——线性表的存储结构之链表存储

线性表的链表存储&#xff1a; 一、单链表定义&#xff1a; 用代码定义一个单链表&#xff1a; 不带头结点的单链表定义&#xff1a; 带头结点的单链表定义&#xff1a; 单链表定义总结&#xff1a; 二、单链表的基本操作&#xff08;插入删除查找&#xff09; 1、插入 如何在…