Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >自监督学习系列(四):基于蒸馏的图片掩码学习

自监督学习系列(四):基于蒸馏的图片掩码学习

作者头像
OpenMMLab 官方账号
发布于 2022-12-30 06:01:49
发布于 2022-12-30 06:01:49
9820
举报
文章被收录于专栏:OpenMMLabOpenMMLab

好久不见!自监督学习系列文章继续更新啦!在前几期的文章中,我们介绍了基于辅助任务、对比学习以及图片掩码学习的自监督学习范式 。快来复习一下!

注:对比学习、图片掩码学习其实也可以归属于基于辅助任务的自监督学习,由于这两类是目前最流行的研究方向,所以我们在此进行这样的区分。

由于 BEiT 和 MAE 的推出,目前自监督预训练领域的发展仍然是:改进现有的图片掩码学习模型

前一期的文章可以知道,很多掩码学习的工作都以纯 RGB 像素值作为预测的目标,这些方法的具体操作步骤为:

  • 将一张图片划分为多个 patch;
  • 随机覆盖掉其中的一部分 patch, 并将剩余的 patch 送入网络;
  • 用网络预测的被覆盖掉的 patch 去拟合这些 patch 的真实的像素值。

这些方法以 MAE 为代表,这样做的好处是整个模型的结构简单,计算量小。但是纯 RGB 像素作为预测目标也有两个明显的劣势:

  1. 纯像素值是 low-level 的特征,模型往往需要预训练更长的迭代次数才能够达到一个不错的效果;
  2. 模型容易通过训练一些捷径,例如像素插值,来完成这样一个重建的任务,所以采用纯 RGB 像素作为预测目标的模型往往需要一个非常大的 mask ratio,例如,MAE 采用了 0.75,SimMIM 采用了 0.6。

目前大多数方法主要是针对下面两个方面进行优化:

  • 重建目标,将 RGB 像素替换为具有丰富语义信息的模型输出的特征,例如,CLIP 输出特征;
  • 引入额外的任务,例如,CMAE 除了重建任务以外,引入了一个对比学习的任务。

今天这篇文章就主要围绕重建目标介绍几篇典型的文章:MILAN、BEiT-v2、

MASKDISTILL。

下表展示了这几个算法的概要。

Method

Backbone

Decoder

Target

lin

ft

seg

MILAN

ViT-B

Prompt-decoder

CLIP

78.9

85.4

52.7

MASKDISTILL

ViT-B

FC

CLIP

-

85.5

54.3

BEiT-v2

ViT-B

FC

VQ-KD

80.1

85.0

52.7

MASKDISTILL

划重点:图片掩码学习的统一范式。

MASKDISTILL 站在一个更高角度审视现有的图片掩码模型算法,将其抽象为下图的结构,简而言之就是,一张图片经过 mask 送入一个 encoder,这些 encoder 的选择多种多样,例如 ViT 和 Swin;然后将 encoder 输出的特征送入一个 head,这个 head 可能是一个线性层,也有可能是一个具有多层的 decoder。

图 1

而对于 target 特征,也存在多种选择,例如纯像素、CLIP 之类的,然后 target 经过一个 normalization 层,最终输出,并完成和预测特征的匹配。

基于这个统一的框架,MASKDISTILL 使用 CLIP 作为 target,以及使用 smooth-l1 loss,在没有其他额外技术的加持下,也可以取得不错的效果。下表展现了 MASKDISTILL 与目前大多数主流自监督学习方法的一个比较:

MILAN

划重点:CLIP target, Prompting Decoder, Semantic Aware Sampling

另外 MMSelfSup 现已支持 MILAN,欢迎体验

https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/milan

从下图可以看出 MILAN 具有三个重要部分:

  • CLIP target
  • Prompting Decoder
  • Semantic Aware Sampling

图 2

CLIP target

CLIP 为 OpenAI 推出的多模态大规模预训练模型。其通过在大量的图文对上进行大规模的对比学习,使得 image encoder 分支具有捕捉图片高维语义的能力,其训练范式如下图所示:

图 3

使用 CLIP 特征作为预测 target 可以极大地提升模型的性能,从下表第 1 和第 2 组消融实验可以看出。同时,相较于其他的 target,例如 SLIP,CLIP 具有明显的优势,这一点从下表的第 8 组和第 9 组实验可以看出。

其实,相较于这些模型,之前的模型例如 BEiT 也采用了预训练模型(DALLE)输出的特征作为预测的,但是由于这些预训练模型本身性能的问题,使得最终模型的性能也是不尽人意。

Prompt Decoder

相较于 MAE 采用的使用自注意力机制作为 decoder 的基础模块,MILAN 采用的是一种类似于 CAE 所使用的 cross attention 机制。

这种机制最主要的特征是在解码阶段只会去更新 mask token 的特征,而保持 encoder 输出的可见 token 的特征不变。

这样做的一个明显的好处就是可以降低解码阶段的计算量。同时在与 CLIP target 配合使用的时候,可以进一步提升模型的精度。

Semantic Aware Sampling

目前大多数图片掩码学习的算法都是使用的随机掩码策略,这种策略虽然简单,但是对需要 mask 的区域进行无差别的对待,可能使得很多具有更多语义信息的地方被 mask 掉(如,前景物体)。

所以 MILAN 采用了一个 semantic aware 的 mask 策略。具体而言就是,通过 CLIP 输出的特征,计算各个地方被 mask 的概率,依赖这种概率去 mask 图片,使得具有丰富语义信息的地方得以保留。

由于 CLIP 的特征具有提取图片语义的能力,所以这种策略是合理的。通过上表的第 4 组实验也可以看出,这种策略也是有效的。

BEiT-v2

划重点:VQ-KD 训练,Class Token Pretraining

MMSelfSup 现已支持 BEiT,欢迎体验:

https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/beit

同时 BEiT-v2 也在加速支持中。

BEiT-v2 是 BEiT 的拓展,两者主要的差距在于以下两点:

  • BEiT-v2 使用 CLIP 作为 teacher,自己设计了一套范式蒸馏得到了一个具有更好性能的目标提取器;
  • 为了使得 class token 具有整张图的全局表达能力,将 encoder 最后一层的 cls token 连同其中某一层的特征一起送入了一个比较轻量的 decoder,从而引入另外一个重建损失。

VQ-KD

VQ-KD 的训练方式如下图所示,对于每一张图片,encoder 吐出的特征去一个预先定义好的 Codebook 寻找一个离当前特征最近的一个特征,然后将这个找到的特征喂入后面的 decoder 重建 CLIP 输出的特征。当训练结束之后,只有图中的 tokenizer encoder 被用于后面预训练中的目标特征提取。

Class Token Pretraining

如图 5 的右侧所示,Class Token Pretraining 的具体做法是将 encoder 最后一层的 class token 连接到encoder 的其中某一层输出的 token,这新组成的一组输入喂入额外的一个 encoder 中进行解码,最终完成整张图特征的重建。这样做的目的是为了改善 class token 的全局特征表达能力。

图 5

这样做,本人认为基于的一个假设应该是:只有最后一层的 class token 具有良好的全局表达能力,其才可能在解码阶段将图片的全局语义传递给其他 token,从而完成整张图的重建。通过下表的消融实验也可以发现,class token pretraining 可以极大地改善模型的 linear probing 精度。

总结

今天我们讲了目前几种基于 CLIP 的图片掩码学习算法,总结一下,采用 CLIP 的特征作为目标特征,由于这种特征包含丰富的语义信息,相较于使用纯像素的方法,其收敛更快(例如,MILAN 预训练 400 epoch 也能够达到不错的效果), 下游表现更好。

但是,采用这种方式也会让整个预训练的 pipeline 变得更加复杂,同时引入额外的计算量。

目前,MMSelfSup 已经支持了目前主流的图片掩码学习算法,如 MAESimMIMCAE 以及上文提到的 MILAN,对于上文提到的其他几种蒸馏类型的图片掩码学习算法也在积极支持中, 欢迎大家使用 MMSelfSup。如果发现不错,也希望大家多多 Star、Issue 和 PR!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenMMLab 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
LeCun预言的自监督模型来了:首个多模态高性能自监督算法,语音、图像文本全部SOTA
自监督学习能在各种任务中学习到分层特征,并以现实生活中可使用的海量数据作为资源,因此是走向更通用人工智能的一种途径,也是深度学习三巨头之一、图灵奖得主 Yann LeCun 一直推崇的研究方向。
机器之心
2022/02/23
7610
LeCun预言的自监督模型来了:首个多模态高性能自监督算法,语音、图像文本全部SOTA
ICLR 2022 | BEIT论文解读:将MLM无监督预训练应用到CV领域
今天跟大家聊一聊ICLR 2022微软亚研院的一篇工作BEIT: BERT Pre-Training of Image Transformers(ICLR 2022)。BEIT是一种图像无监督预训练,属于最近非常火的Vision Transformer这类工作的研究方向(Vision Transformer前沿工作详细汇总可以参考历史文章从ViT到Swin,10篇顶会论文看Transformer在CV领域的发展历程)。首先简单介绍一下这篇文章的整体思路:利用BERT中MLM(Masked Language Modeling)的思路,把一个图像转换成token序列,对图像token进行mask,然后预测被mask掉的图像token,实现图像领域的无监督预训练。
圆圆的算法笔记
2022/09/22
1.6K1
ICLR 2022 | BEIT论文解读:将MLM无监督预训练应用到CV领域
CVPR 2023 | HPM:在掩码学习中挖掘困难样本,带来稳固性能提升!
来源:Paper Weekly本文约3000字,建议阅读5分钟本文介绍了一篇在自监督掩码学习(Masked Image Modeling)领域的原创工作 HPM (Hard Patches Mining for Masked Image Modeling)。  各种自监督掩码学习方法的性能强烈依赖于人工定义的掩码策略,而我们提出一种新的困难样本挖掘策略,让模型自主地掩码困难样本,提升代理任务的难度,从而获得强大的表征提取能力。目前 HPM 已被 CVPR 2023 接收,相关代码已开源,有任何问题欢迎在 G
数据派THU
2023/05/11
2860
CVPR 2023 | HPM:在掩码学习中挖掘困难样本,带来稳固性能提升!
见微知著,掩码自监督学习让你一叶知秋
在前面的两篇文章中,我们介绍了基于各类代理任务 (Pretext Task) 和基于对比学习 (Contrastive Learning) 的自监督学习算法。
OpenMMLab 官方账号
2022/04/08
2.4K0
见微知著,掩码自监督学习让你一叶知秋
自监督学习系列(一):基于 Pretext Task
2019 年 MoCo 的横空出世,掀起了视觉自监督学习的热潮。后面 SimCLR, MoCo, BYOL, SwAV 等主流自监督学习算法相继被提出,自监督学习领域呈现出百花齐放,百家争鸣空前繁荣的景象。2021 年末 MAE 更是将自监督学习带到了一个前所未有的新高度。但是繁荣的背后,自监督学习经历了漫长的迭代和发展过程。
OpenMMLab 官方账号
2022/02/23
1.1K0
简单的结构,优异的性能,SimMIM 来了!
自从 BEiT 的到来,图片自监督领域逐渐从对比学习时代,过渡到掩码图片学习时代。MAE 的横空出世,更是掀起了该领域的热潮,不久前 MMSelfSup 已经支持了 MAE。
OpenMMLab 官方账号
2022/04/09
5150
简单的结构,优异的性能,SimMIM 来了!
NLP和CV的双子星,注入Mask的预训练模型BERT和MAE
kaiming的MAE和年初的CLIP可能是今年CV领域唯二的重磅文章,有预感MAE会成为CV领域和BERT地位相当的一篇文章。 从BERT和MAE的形态上来说,都引入了mask机制来做无监督预训练,但是又因为vision和language两种模态上本质的不同,导致mask的设计上和整体框架上有所区别。从NLP的Transformer到BERT,然后到CV的ViT、BEiT,CV领域的无监督预训练经历了漫长的探索,直到MAE的出现,才逐渐感觉到CV的大规模无监督预训练开始走向正轨。 本文先捋顺NLP和CV
AI科技评论
2023/04/26
5510
NLP和CV的双子星,注入Mask的预训练模型BERT和MAE
​加速视觉-语言对比学习 | 基于像素强度的图像块屏蔽策略!
图像包含大量冗余信息,这使得在大规模上高效地从图像中学习表示变得具有挑战性。最近的工作通过在视觉-语言对比学习过程中 Mask 图像块来解决这个问题[15, 33, 36, 70]。一种简单的方法是随机丢弃大量图像块,通过减少每次训练迭代的计算成本和内存使用来提高训练效率[36]。另一种策略是 Mask 语义相关的图像块集合[15, 33, 70],比如属于同一物体的块。这迫使学习到的模型从上下文中预测描述缺失场景结构的单词,从而改进了学习的表示。然而,这种方法需要单独的机制来将语义相关的块分组在一起,这增加了学习过程的复杂性并且计算成本高昂。
AIGC 先锋科技
2024/07/08
2150
​加速视觉-语言对比学习 | 基于像素强度的图像块屏蔽策略!
更好的性能!新型自监督学习方法 CAE 了解一下
来自北京大学、香港大学和百度的研究者们近日提出了一种名为 CAE 的新型 MIM 方法。该方法通过对 “表征学习” 和 “解决前置任务(pretext task)” 这两个功能做完全分离,使得 encoder 学习到更好的表征,从而在下游任务上实现了更好的泛化性能。
OpenMMLab 官方账号
2022/05/25
1K0
更好的性能!新型自监督学习方法 CAE 了解一下
ConvNeXt V2:适应自监督学习,让 CNN “再一次强大”?
嗨!今天给大家分享一篇比较新的计算机视觉论文,题目是“ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders”。这篇论文由韩国科学技术院(KAIST)、Meta AI 和纽约大学的研究者合作发表,论文和代码的链接放在下方。
OpenMMLab 官方账号
2023/08/23
3.9K0
ConvNeXt V2:适应自监督学习,让 CNN  “再一次强大”?
【MAE】掩码自回归编码器
  掩码自动编码器MAE是一种可扩展的计算机视觉自监督学习器。MAE的基本思路是:屏蔽输入图像的随机补丁,并重建丢失的像素,它基于两个核心设计。
Srlua
2024/12/14
1940
【MAE】掩码自回归编码器
论文推荐:使用带掩码的孪生网络进行自监督学习
来源:Deephub Imba 本文约1100字,建议阅读9分钟 本文介绍了使用带掩码的网络如何进行自监督学习。 最近自我监督学习被重视起来。昨天我通过LinkedIn发现了这项工作,我觉得它很有趣。kaiming大神的MAE为ViT和自监督的预训练创造了一个新的方向,本篇文章将介绍Masked Siamese Networks (MSN),这是另一种用于学习图像表示的自监督学习框架。MSN 将包含随机掩码的图像视图的表示与原始未遮蔽的图像的表示进行匹配。 考虑一个大的未标记图像集D = (x_i)和一个
数据派THU
2022/09/19
6630
论文推荐:使用带掩码的孪生网络进行自监督学习
续何恺明的MAE后!MSRA提出掩码图像建模新框架:SimMIM
本文提出一个用于掩码图像建模(masked image modeling)的简单框架SmiMIM。作者简化了最近提出的方法,而无需任何特殊设计,如利用离散VAE或聚类进行块级别的掩码和分词。为了让掩码图像建模任务能学到更好的表示,作者表示该框架中每个组件的简单设计已经能显示出其优异的学习能力:
Amusi
2021/12/01
1.1K0
续何恺明的MAE后!MSRA提出掩码图像建模新框架:SimMIM
“在所有事情上打败所有人”,微软多模态新作横扫12类任务,连纯视觉SOTA都刷新了
梦晨 羿阁 发自 凹非寺 量子位 | 公众号 QbitAI 仅靠19亿参数,只用公共数据集,在12个任务上狂刷SOTA。 微软这篇多模态论文刚挂上arXiv不久,就在业内引发强烈关注。 有网友将之总结成“在所有事情上打败了所有人”。 怎么回事?先来看这张雷达图: 橙色内圈,是各大任务之前的SOTA。 紫色外圈,就是这篇BEiT-3的结果,不仅超越,而且是全面超越。 具体一圈看下来,BEiT-3这个多模态模型不光刷遍多模态任务,连右上角的纯视觉三大经典任务也都刷到SOTA,简直是六边形战士。 知乎上一位同
量子位
2022/08/29
5220
“在所有事情上打败所有人”,微软多模态新作横扫12类任务,连纯视觉SOTA都刷新了
带掩码的自编码器MAE详解和Pytorch代码实现
监督学习是训练机器学习模型的传统方法,它在训练时每一个观察到的数据都需要有标注好的标签。如果我们有一种训练机器学习模型的方法不需要收集标签,会怎么样?如果我们从收集的相同数据中提取标签呢?这种类型的学
deephub
2021/12/15
3.7K0
带掩码的自编码器MAE详解和Pytorch代码实现
DetailCLIP 通过自蒸馏和像素级重建提升视觉语言模型的分割精度 !
计算机视觉的快速进步使得能够精确理解并解释视觉数据的强大模型得到发展。其中,CLIP(对比语言图像预训练)[38] 脱颖而出,作为一种依赖图像与文本之间大规模对比学习的共享嵌入空间的先导方法。它在分类任务中表现出色,无需直接监督就能理解并关联到视觉内容到文本描述。
AIGC 先锋科技
2024/10/22
1840
DetailCLIP 通过自蒸馏和像素级重建提升视觉语言模型的分割精度 !
自监督学习新范式CAE:为什么 MIM 比对比学习更适合下游任务?
机器之心专栏作者:陈小康 来自北京大学、香港大学和百度的研究者近日提出了一种名为CAE的新型 MIM 方法。 掩码建模方法,在 NLP 领域 (例如 BERT) 得到了广泛的应用。随着 ViT 的提出和发展,人们也尝试将掩码图像建模(MIM)应用到视觉领域并取得了一定进展。在此之前,视觉自监督算法主要沿着对比学习(contrastive learning)的思路去设计,而 MIM 无疑打开了新的大门。 来自北京大学、香港大学和百度的研究者近日提出了一种名为CAE的新型 MIM 方法。该方法通过对 “表征学
机器之心
2022/03/04
1.2K0
Meta 自监督学习 I-JEPA 论文笔记
I-JEPA ( Image Joint Embedding Predictive Architecture ) 是一种自监督学习框架,结合了 联合嵌入架构 (Joint-Embedding Architecture) 和 生成架构 (Generative Architecture) 的特性提出。
为为为什么
2023/06/27
9280
Meta 自监督学习 I-JEPA 论文笔记
BERT是图像预训练未来?字节跳动iBOT刷新十几项SOTA,部分指标超MAE
这个新方法在十几类任务和数据集上刷新了 SOTA 结果,在一些指标上甚至超过了 MAE。
机器之心
2021/11/18
5640
BERT是图像预训练未来?字节跳动iBOT刷新十几项SOTA,部分指标超MAE
时隔两年,CV大神何恺明最新一作:视觉预训练新范式MAE!大道至简!
论文「Masked Autoencoders Are Scalable Vision Learners」证明了 masked autoencoders(MAE) 是一种可扩展的计算机视觉自监督学习方法。
昱良
2021/11/19
8090
时隔两年,CV大神何恺明最新一作:视觉预训练新范式MAE!大道至简!
推荐阅读
LeCun预言的自监督模型来了:首个多模态高性能自监督算法,语音、图像文本全部SOTA
7610
ICLR 2022 | BEIT论文解读:将MLM无监督预训练应用到CV领域
1.6K1
CVPR 2023 | HPM:在掩码学习中挖掘困难样本,带来稳固性能提升!
2860
见微知著,掩码自监督学习让你一叶知秋
2.4K0
自监督学习系列(一):基于 Pretext Task
1.1K0
简单的结构,优异的性能,SimMIM 来了!
5150
NLP和CV的双子星,注入Mask的预训练模型BERT和MAE
5510
​加速视觉-语言对比学习 | 基于像素强度的图像块屏蔽策略!
2150
更好的性能!新型自监督学习方法 CAE 了解一下
1K0
ConvNeXt V2:适应自监督学习,让 CNN “再一次强大”?
3.9K0
【MAE】掩码自回归编码器
1940
论文推荐:使用带掩码的孪生网络进行自监督学习
6630
续何恺明的MAE后!MSRA提出掩码图像建模新框架:SimMIM
1.1K0
“在所有事情上打败所有人”,微软多模态新作横扫12类任务,连纯视觉SOTA都刷新了
5220
带掩码的自编码器MAE详解和Pytorch代码实现
3.7K0
DetailCLIP 通过自蒸馏和像素级重建提升视觉语言模型的分割精度 !
1840
自监督学习新范式CAE:为什么 MIM 比对比学习更适合下游任务?
1.2K0
Meta 自监督学习 I-JEPA 论文笔记
9280
BERT是图像预训练未来?字节跳动iBOT刷新十几项SOTA,部分指标超MAE
5640
时隔两年,CV大神何恺明最新一作:视觉预训练新范式MAE!大道至简!
8090
相关推荐
LeCun预言的自监督模型来了:首个多模态高性能自监督算法,语音、图像文本全部SOTA
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档