AI论文精读笔记-MAE

1. 论文基本信息

  • 论文标题:Masked Autoencoders Are Scalable Vision Learners

  • 作者:Kaiming He∗,† Xinlei Chen∗ Saining Xie Yanghao Li Piotr Doll ́ ar Ross Girshick

  • 发表时间和期刊:19 Dec 2021; arxiv

  • 论文链接:Masked Autoencoders Are Scalable Vision Learners (arxiv.org)

2. 研究背景和动机

  • 研究背景:NLP领域中,基于自回归的语言模型(GPT中)和带掩码的自编码器(BERT中)取得了极大的成功,它们的思想是:移除数据中的部分内容并通过学习来预测被移走的内容,例如BERT中的类似于完形填空的任务。这些方法可以使得训练一个千亿参数级别的模型。

  • 研究动机:那么在视觉任务中,能否采用类似BERT的方法来处理呢?首先作者提出问题:what makes masked autoencoding different between vision and language?,即在视觉和语言两方面上带掩码的自编码器有什么不同呢?作者从三个角度回答了这个问题:

(1)架构上的差异。CV中是以卷积网络为主导,通过卷积核扫遍图片提取特定的信息,类似“mask token”这样的信息不方便加进去,而在NLP中MASK可以作为一个特定的词,会一直保存下来。ViT(Vision in Transformer)的出现减轻了架构差异这个阻碍。

(2)信息密度的不同。语言是人类产生的,带有一定的语义并具有非常高的信息密度;而图片是一种自然信号并有一定的信息冗余,比如即使遮住图片中某一小块,也可以根据邻近的块中风景、人像等信息将其补全。因此在学习中为了克服这种差异并学到有用的特征,作者采用了一种方法:遮盖掉图片中大部分的块,如遮盖比例达到75%。

(3)如(2)所说,NLP中单词信息密度是较高的,而图片中的像素语义特征程度较低,因此decoder的作用在视觉和语言上也是不同的。个人理解是decoder在视觉任务上重建的是像素级别块,相比单词来说语义特征更低,因此需要一个复杂的decoder架构来解决,做一个比较大的解码器。

3. 主要贡献

MAE的思路是:mask掉图片的一部分patch,并重建这些mask掉的块。两点核心设计:

(1)设计了一个非对称式的encoder-decoder架构,encoder只操作那些可见的patch块部分,并得到一些图片的潜在表示;而decoder从那些不可见的(也即被mask的图像块)以及encoder的输出这两部分中重建原始图像块。MAE架构如下图所示,可以注意到decoder比encoder更为轻量级,灰色块代表被mask掉的:

(2)mask掉图像的大部分块(如75%的遮盖率)可以创造一个有意义的自监督学习任务。仅使用剩余的少部分图像信息进行训练。这种策略不仅降低了计算成本,而且增强了模型的重建能力。MAE通过其创新的掩码策略和简洁的模型架构,展示了在自监督学习领域的巨大潜力。

4. 方法和模型

下图展示了重建图片的具体情况,每一个三元组中,左侧代表masked image,中间是MAE重建的结果,右侧是原始图片:

(1)Masking:把图像分成一系列的patch块,并随机mask掉一些patch块,下图为不同mask比率对重建图片的影响:

(2)MAE encoder:encoder是一个ViT但是只作用在没有被遮住的块,encoder会对patch进行线性投影再添加位置编码,由于只作用在小部分patch(mask比率为75%时,encoder只处理剩余的25%),减少了计算并节约内存。

(3)MAE decoder:MAE 的解码器仅在预训练过程中用于执行图像重建任务(仅使用编码器来生成用于识别的图像表示)。因此,解码器架构可以灵活设计,与编码器设计无关。作者尝试了非常小的解码器,它们比编码器更窄、更浅。

(4)Reconstruction target:MAE 通过预测每个被掩码块的像素值来重建输入。解码器输出中的每个元素都是一个代表块的像素值向量。解码器的最后一层是一个线性投影,其输出通道数等于一个块中的像素值数量。解码器的输出被重塑为一个重建图像。损失函数计算重建图像和原始图像在像素空间中的均方误差(MSE),并仅在被掩码的块上计算损失,类似于 BERT。

5. 实验和结果

略~

6. 讨论和未来工作

简单且可扩展的算法是深度学习的核心。在NLP中,简单的自监督学习方法使得模型规模呈指数级增长而受益。在计算机视觉领域,尽管自监督学习有所进展,但实用的预训练范式主要是监督式的。在本研究中观察到,在 ImageNet 和迁移学习中,自编码器——一种类似于 NLP 技术的简单自监督方法提供了可扩展的好处。自监督学习在视觉领域可能正在走上一条与 NLP 类似的轨迹。 另一方面,注意到图像和语言是性质不同的信号,这种差异必须谨慎处理。图像没有像词语那样的语义分解。我们没有尝试去除对象,而是去除随机块,这些块很可能不会形成语义片段。同样,我们的 MAE 重建像素,这些像素不是语义实体。然而,观察到 MAE 推断出复杂的、整体的重建,这表明它已经学习了许多视觉概念,即语义。我们假设这种行为是通过 MAE 内部丰富的隐藏表示发生的。我们希望这种观点能激发未来的研究工作

7. 个人理解和反思

在引言中,从“提出问题”到“回答问题”再到“提出我的想法”这种写作方式值得借鉴,结论中提到的“简单”是相对而言的,是基于ViT提出来的。利用ViT做BERT一样的自监督学习,盖住更多的块使得剩下的块之间的冗余度没有那么高;使用transformer架构的解码器直接还原原始的像素信息,使得整个流程更加简单。在ImageNet-1K上使用自监督训练的效果超过了之前的工作。简单的想法+非常好的实验结果+详细的实验决定了这是一个高质量的工作

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

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

相关文章

【大模型书籍】从零开始大模型开发与微调:基于PyTorch与ChatGLM(附PDF)

哈喽各位&#xff0c;今天又来给大家分享大模型学习书籍了&#xff0c;今天是这本<从零开始大模型开发与微调&#xff1a;基于PyTorch与ChatGLM 书籍PDF分享>&#xff0c;大模型是深度学习自然语言处理皇冠上的一颗明珠&#xff0c;也是当前AI和NLP研究与产业中最重要的方…

HTML+CSS+JS用户管理(可储存用户数据)

使用cookies记录账号密码信息&#xff0c;可以注册、登录、注销账号。 点赞❤️收藏⭐️关注&#x1f60d; 效果图 源代码在效果图后面 源代码 HTML <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <…

docker desktop历史版本安装

1.安装choco Windows安装 choco包管理工具-CSDN博客 2.通过choco安装 下面例子为安装旧版2.3.0.2,其它版本类似 Chocolatey Software | Docker Desktop 2.3.0.2 https://download.docker.com/win/stable/45183/Docker%20Desktop%20Installer.exe choco install docker-des…

前端报错adding CSS “touch-action: none“ to this element解决方案

目录 如图所示控制台出现报错&#xff1a; 原因&#xff1a; touch-action 介绍&#xff1a; 解决方案&#xff1a; 1.手动设置touch-action&#xff1a; 2.使用条件渲染&#xff1a; 3.CSS样式隔离&#xff1a; 4.浏览器兼容性&#xff1a; 5. 忽略警告 如图所示控制台…

Windows虚拟摄像头有哪些?分享5个方法,手机一键替换电脑摄像头!

Windows虚拟摄像头怎么用&#xff1f;当我们的电脑缺少摄像头时&#xff0c;我们可以借助虚拟摄像头实现。手机作为电脑摄像头的需求日益增长&#xff0c;本文就来给大家详细介绍&#xff0c;关于电脑虚拟摄像头的使用和说明&#xff0c;一起来看看吧&#xff01; &#xff08;…

微服务实战系列之玩转Docker(二)

前言 上一篇&#xff0c;博主对Docker的背景、理念和实现路径进行了简单的阐述。作为云原生技术的核心之一&#xff0c;轻量级的容器Docker&#xff0c;受到业界追捧。因为它抛弃了笨重的OS&#xff0c;也不带Data&#xff0c;可以说&#xff0c;能够留下来的都是打仗的“精锐…

Vue3 前置知识

1. Vue3 简介 2020年9月18日&#xff0c;Vue.js发布版3.8版本&#xff0c;代号&#xff1a;one Piece(海贼王)经历了&#xff1a;4800次提交、40个RFC、600次PR、300贡献者官方发版地址&#xff1a;Release v3.0.0 One Piecevuejs/,core截止2023年10月&#xff0c;最新的公开版…

LRU CaChe(内存替换算法)

六、LURCache 0、LUR Cache概念 LRU是Least Recently Used的缩写&#xff0c;意思是最近最少使用&#xff0c;它是一种Cache替换算法。 什么是Cache&#xff1f;狭义的Cache指的是位于CPU和主存间的快速RAM&#xff0c;通常它不像系统主存那样使用DRAM技术&#xff0c;而使用昂…

打开磁盘格式为NTFS的磁盘 ntfs磁盘无法打开 移动硬盘出现ntfs怎么打不开了的原因和解决方案

在日常的工作和生活中&#xff0c;移动硬盘作为我们存储和传输数据的重要工具&#xff0c;发挥着不可替代的作用。然而&#xff0c;有时候我们会遇到这样一个问题&#xff1a;移动硬盘突然显示NTFS格式&#xff0c;并且无法正常打开。面对这种情况&#xff0c;我们往往感到束手…

【系统架构设计师】十一、系统架构设计(层次架构风格|MVC|面向服务的架构风格|ESB)

目录 五、层次架构风格 5.1 两层C/S架构 5.2 三层C/S架构 5.3 三层B/S架构 5.4 MVC架构 5.5 MVP架构 5.6 MVVM架构 六、面向服务的架构风格 6.1 SOA特征 6.2 Web Service 6.2.1 关键技术 6.2.2 WEB Service 6.3 企业服务总线ESB 相关推荐 历年真题练习 五、层次…

【MAUI】生命周期

.NET Multi-platform App UI (.NET MAUI) 应用通常有四种执行状态&#xff1a;“未运行”、“运行中”、“已停用”和“已停止”。 当应用从未运行状态转换为运行状态、从运行状态转换为已停用状态、从已停用状态转换为已停止状态、从已停止状态转换为运行状态&#xff0c;以及…

new mars3d.graphic.FixedRoute({的position长度超过一百条浏览器会卡死的解决方案

问题场景描述&#xff1a; FixedRoute的position数据已经很精细时&#xff0c;会导致卡死的问题 解决方案&#xff1a; 1. 数据已经很精细时&#xff0c;可以不用autoSurfaceHeight来计算&#xff0c;如果非要用&#xff0c;可以加个minDistance: 200参数。 fixedRoute.auto…

ChatGPT 深度解析:技术驱动的智能对话

在当今科技飞速发展的时代&#xff0c;ChatGPT 无疑成为了最耀眼的明星之一。它以其令人惊叹的智能对话能力&#xff0c;引发了全球范围内的广泛关注和热议。 ChatGPT 背后的技术堪称精妙绝伦。它基于深度学习算法&#xff0c;通过对海量数据的学习和分析&#xff0c;从而能够理…

BasicSR项目(通用图像超分、修复、增强工具库)介绍

项目地址&#xff1a;https://github.com/XPixelGroup/BasicSR 文档地址&#xff1a;https://github.com/XPixelGroup/BasicSR-docs/releases BasicSR 是一个开源项目&#xff0c;旨在提供一个方便易用的图像、视频的超分、复原、增强的工具箱。BasicSR 代码库从2018年4月20日…

【Memcached】Memcached的工作原理

目录 ​编辑 第2章&#xff1a;Memcached工作原理 2.1 数据存储与访问 2.2 分布式架构 2.3 数据过期机制 第2章&#xff1a;Memcached工作原理 2.1 数据存储与访问 Memcached是一种键值存储系统&#xff0c;其中数据以键值对的形式存储。键是用于定位数据的唯一标识符&am…

libyaml库的交叉编译

目录 1.Ubuntu环境中安装libyaml库 2.交叉编译 3.success 1.Ubuntu环境中安装libyaml库 官方地址&#xff1a;https://pyyaml.org/wiki/LibYAML 下载路径&#xff1a;http://pyyaml.org/download/libyaml/yaml-0.2.5.tar.gz 2.交叉编译 官方的下载路径为/usr/local下&am…

【unity实战】使用unity制作一个红点系统

前言 注意&#xff0c;本文是本人的学习笔记记录&#xff0c;这里先记录基本的代码&#xff0c;后面用到了再回来进行实现和整理 素材 https://assetstore.unity.com/packages/2d/gui/icons/2d-simple-ui-pack-218050 框架&#xff1a; RedPointSystem.cs using System.…

PHP全功能微信投票迷你平台系统小程序源码

&#x1f525;让决策变得超简单&#xff01;&#x1f389; &#x1f680;【一键创建&#xff0c;秒速启动】 嘿小伙伴们&#xff0c;你还在为组织投票而手忙脚乱吗&#xff1f;来试试这款全功能投票迷你微信小程序吧&#xff01;只需轻轻一点&#xff0c;无论是班级选举、社团…

【postgresql】pg_dump备份数据库

pg_dump 介绍 pg_dump 是一个用于备份 PostgreSQL 数据库的实用工具。它可以将数据库的内容导出为一个 SQL 脚本文件或其他格式的文件&#xff0c;以便在需要时进行恢复或迁移。 基本用法 pg_dump [选项] [数据库名] 命令选项 -h 或 --host&#xff1a;指定数据库服务器的主…

2024年大数据高频面试题(上篇)

文章目录 HDFS读流程和写流程HDFS读数据流程NameNode和Secondary NameNode工作机制FsimageEdits文件Seen_txidnamenode工作机制HA NameNode如何工作ZKFCHealthMonitorActiveStandbyElectorJouranlNode集群DataNode工作机制DataNode数据损坏压缩MapReduce工作流程MapTask工作流R…