MAE详解

article/2025/11/10 21:36:04

目录

一、介绍

二、网络结构

1. encoder

2. decoder

3. LOSS

三、实验


全文参考:论文阅读笔记:Masked Autoencoders Are Scalable Vision Learners_塔_Tass的博客-CSDN博客

masked autoencoders(MAE)是hekaiming大佬又一新作,其做法很简单,就是随机mask掉一部分patches并重建这部分丢失的像素,可看作是一个可扩展的(scalable)自监督学习器,能极大加速模型的训练速度并提升准确率。下游迁移性能优于有监督预训练,并有良好的的scaling(可扩展性)。

一、介绍

mask autoencoders是一种更一般的去噪方式。

语言的信息密度更高,mask掉部分文字可能使得语义完全不同,这个任务会导致更复杂的语言理解;而图像的冗余度就很高,因此mask掉部分patch,大大减少冗余信息。并创建一个很有挑战性的自监督创建任务,提升对图像的整体理解。

AE的decoder将潜在表示映射回输出,相比于语言的重建,图像像素的重建,语义级别更低。decoder往往仅需要轻量级即可,比编码器更浅更窄。但我们发现,对于图像,decoder的设计很大程度上影响着潜在表示的语义表达水平。

二、网络结构

我们设计的是非对称的encoder decoder,encoder仅在未被mask的patch上进行编码,生成潜在表示,decoder再基于潜在表示和被mask的patch一起重建。

1. encoder

这里,encoder对于被mask的patch,并不是用0填充,而是直接忽略,因此patch数量的减少,能直接降低计算量,加快训练速度(75%的mask率就相当于加速3倍),且降低了内存消耗使得可以用更大模型。

2. decoder

而decoder仅在预训练阶段进行重构任务(即在下游任务finetune的时候是不需要decoder的),因此decoder的设计可以灵活。

encoder的加深有利于潜在表示能表达更抽象的语义信息,而decoder可以设计的更浅更窄,我们使用单个的transfomer这种小型解码器也可以表现出色,且速度快。

3. LOSS

我们使用原始图像与重构图像在mask patch部分的MSE损失(均方误差)。一个变体是,用每个patch的mean std进行归一化后,计算每一个patch的归一化像素的MSE,这个可以明显提高表示质量

三、实验

(与有监督/无监督的预训练方法进行比较)

1)比MOCOv3的预训练finetune效果更好

2)在目标检测任务中,ViT与FPN搭配更好,与有监督的预训练相比,MAE要更优。

自己的总结:MAE是一种很好的自监督训练器,其训练的预训练模型,比有监督的、MOCO自监督的,在下游任务finetune上都取得更好的效果


http://chatgpt.dhexx.cn/article/MGP5axqv.shtml

相关文章

crontab用法详解

crontab命令用于设置周期性被执行的命令,适用于日志备份,清理缓存,健康状态检测等场合。 crontab的配置文件:/etc/crontab

linux的crontab用法与实例

linux的crontab用法与实例 crontab的适用场景 在Linux系统的实际使用中,可能会经常让系统在某个特定时间执行某些任务的情况,比如定时采集服务器的状态信息、负载状况;定时执行某些任务/脚本来对远端进行数据采集或者备份等操作。 首先通过…

定时任务 crontab 命令安装和用法整理

Crontab 概念 crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令,类似于闹钟,可以定时执行任务。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中(是“cron table”的简写&#…

crontab用法与实例

crontab用法与实例 本文基于 ubuntu 18.04 在Linux系统的实际使用中,可能会经常碰到让系统在某个特定时间执行某些任务的情况,比如定时采集服务器的状态信息、负载状况;定时执行某些任务/脚本来对远端进行数据采集等。这里将介绍下crontab的配…

crontab的基本用法

1、 crontab -l 查看所有的定时任务 2、 crontab -e 编辑定时任务。 i 进入编辑模式 。esc退出编辑模式。:wq! 保存并退出。 报错信息: “/tmp/crontab.4qE940”:1: bad month errors in crontab file, can’t install. 说明定时任务编辑失败,文件中有错…

linux中crontab的用法

一:crontab 简介 crontab是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程…

1.4 - 操作系统 - Linux计划任务,CronTab用法详解

「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「订阅专栏」:此文章已录入专栏《网络安全入门到精通》 CronTab计划任务 一、服务二、查看计划任务三、编辑计划任务四、删除计划任务五、配置文件Linux系统使用CronTab命令来操作计划任务。…

crontab 详细用法、定时任务 、时间规则

简介 Linux crontab和Windows task schedules非常的相似。Crontab可以用来在系统中定期的执行任务。比如:写了一个爬虫需要每天早上八点执行,就可以用到Crontab;安装的Tomcat服务器需要每天凌晨重启一次,也可以使用到Crontab。总之&#xff0…

crontab的使用方法介绍

使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行 安装:apt-get install cron (服务器环境下默认都会安装) 使用:crontab -e 进入编辑页面(第一次进入会让你选择编辑…

Crontab配置及使用总结

1、 crontab命令概念 crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。 cron 系统调度进程。 可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不…

APP测试基本流程及测试基本点

1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。正式测试前先向主管确认项目排期。 1.3测试资源 测试任务开始前,检查…

1 APP测试基本流程

1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。正式测试前先向主管确认项目排期。 1.3测试资源…

APP测试基本流程及测试要点

APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。正式测试前先向主管确认项目排期。 1.3测试资源 …

手机app测试方法(一)基本流程

1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。正式测试前先向主管确认项目排期。 1.3测试资源…

App测试基本流程以及注意事项

目录 1 APP测试基本流程 1.1流程图 1.2测试周期 1.3测试资源 1.4日报及产品上线报告(内部报告机制) 2 App测试点 2.1安全测试 2.1.1软件权限 2.1.2安装与卸载安全性 2.1.3数据安全性 2.1.4通讯安全性 2.1.5人机接口安全性 2.2安装、卸载测…

App自动化测试怎么做?实战分享App自动化测试全流程

一、什么是app测试?什么是app自动化测试? 概念:所谓app测试也称之为移动测试,通俗易懂的理解就是测试我们平时手机使用的程序。那什么是app自动化测试呢? 通常情况下是随app产品不断迭代更新,给测试⼈员也…

安卓APP测试要怎么测,测试流程和重点有哪些?我来告诉你

目录 一、安卓系统知识概述 1.1 安卓系统架构 1.2 安卓权限系统 1.3 认识adb与安卓间的通信 二、安卓APP测试流程图 三、安卓App测试点 3.1 UI测试 3.2 兼容性测试 3.3 安装卸载/本地升级测试OTA 3.4 版本在线升级测试FOTA 3.5 交互测试 3.6并发测试 3.7 客户端数据…

App测试流程和要点

APP与Web测试的异同 1、相同点:流程方面相同,都要经过计划,方案,测试分析,用例,环境搭建,测试执行,报告,总结等 都要进行功能测试,性能测试,兼容…

APP测试流程和测试点

1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。正式测试前先向主管确认项目排期。 1.3测试资源 测…

手机APP测试流程方法

1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。正式测试前先向主管确认项目排期。 1.3测试资源…