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

论文题目: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.hqwc.cn/news/22107.html

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

相关文章

nginx部署vue项目

nginx部署vue项目 一. vue配置讲解二. Nginx配置讲解三. vue项目部署到nginx 一. vue配置讲解 在vue.config.js文件中,module.exports是配置路由转发的,几个重要的属性讲解 ① publicPath publicPath: /ulane/, 此属性配置上,如果访问的路…

耳夹式骨传导耳机哪个牌子好?耳夹骨传导耳机盘点!

随着科技的日新月异,耳夹式骨传导耳机也在不断更新换代。市场上涌现出许多品牌,这使得消费者在购买时感到困惑。别担心!我们为你整理了一些市场上口碑和销量优秀的品牌和耳夹式骨传导耳机产品,希望能帮到你。 一:南卡…

苹果iOS App Store上架操作流程详解:从开发者账号到应用发布

很多开发者在开发完iOS APP、进行内测后,下一步就面临上架App Store,不过也有很多同学对APP上架App Store的流程不太了解,下面我们来说一下iOS APP上架App Store的具体流程,如有未涉及到的部分,大家可以及时咨询&#…

​python接口自动化(二十八)--html测试 报告——下(详解) ​

简介 五一小长假已经结束了,想必大家都吃饱喝足玩好了,那就继续学习吧。一天不学习,自己知道;两天不学习,对手知道;三天不学习,大家知道;一周不学习,智商输给猪。好了开个…

【架构设计】高并发架构实战:从需求分析到系统设计

写在前面 很多软件工程师的职业规划是成为架构师,但是要成为架构师很多时候要求先有架构设计经验,而不做架构师又怎么会有架构设计经验呢?那么要如何获得架构设计经验呢? 1 高并发是什么 高并发是指系统在同一时间内处理的请求量…

js判断两个数组是增加还是删除

JS判断两个数组的数据&#xff0c;增加的数据以及删除的数据。 // 第一个参数是新数组&#xff0c;第二个参数是旧数 const compareArrays function(arr1, arr2 ) {let remove []let add []// 旧数据循环for (let i 0; i < arr2.length; i) {let item arr2[i];if (arr…

数字 IC 设计职位经典笔/面试题(二)

共100道经典笔试、面试题目&#xff08;文末可全领&#xff09; FPGA 中可以综合实现为 RAM/ROM/CAM 的三种资源及其注意事项&#xff1f; 三种资源&#xff1a;BLOCK RAM&#xff0c;触发器&#xff08;FF&#xff09;&#xff0c;查找表&#xff08;LUT&#xff09;&#xf…

SQLSERVER 居然也能调 C# 代码 ?

一&#xff1a;背景 1. 讲故事 前些天看到一个奇怪的 Function 函数&#xff0c;调用的是 C# 链接库中的一个 UserLogin 方法&#xff0c;参考代码如下&#xff1a; CREATE FUNCTION dbo.clr_UserLogin (name AS NVARCHAR(100),password AS NVARCHAR(100) ) RETURNS INT A…

命令行系列:windows cmd官方文档

官方文档 和java开发、Android开发一样。cmd也有官方文档&#xff1a; https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/windows-commands 如下图&#xff0c;我们可以看到经典的cd,clean命令。 cd命令的全程是什么&#xff1f; cd命令…

查看域名的ip地址

1."winr" -- ping www.baidu.com 2."nslookup www.baidu.com"

java ajax

1.ajax定义:异步刷新技术 2.ajax语法 3.ajax实战 在不需要点击刷新按钮时达到局部刷新显示&#xff0c;如下图所示 步骤一&#xff1a;创建工程/包/js 步骤二&#xff1a;数据库/表创建 步骤三&#xff1a;实体类 步骤四&#xff1a;UserDao package cn.kgc.dao;import cn…

虚拟现实:将数字融入现实

随着科技的不断进步&#xff0c;虚拟现实正逐渐走进我们的现实生活&#xff0c;为我们带来了许多新的体验和可能性。虚拟现实技术将数字世界与真实世界融合在一起&#xff0c;为我们创造了令人惊叹的沉浸式体验。让我们一起探索虚拟现实正在走进现实的意义和影响。 虚拟现实为我…