NeurIPS 2022 | 改进何恺明的MAE!GreenMIM:将Swin与MAE结合,训练速度大大提升!

本文主要是介绍NeurIPS 2022 | 改进何恺明的MAE!GreenMIM:将Swin与MAE结合,训练速度大大提升!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—> CV 微信技术交流群

杨净 发自 凹非寺
转载自:量子位(QbitAI)

自何恺明MAE横空出世以来,MIM(Masked Image Modeling)这一自监督预训练表征越来越引发关注。

但与此同时, 研究人员也不得不思考它的局限性。

MAE论文中只尝试了使用原版ViT架构作为编码器,而表现更好的分层设计结构(以Swin Transformer为代表),并不能直接用上MAE方法。

于是,一场整合的范式就此在研究团队中上演。

代表工作之一是来自清华、微软亚研院以及西安交大提出SimMIM,它探索了Swin Transformer在MIM中的应用。

但与MAE相比,它在可见和掩码图块均有操作,且计算量过大。有研究人员发现,即便是SimMIM的基本尺寸模型,也无法在一台配置8个32GB GPU的机器上完成训练。

基于这样的背景,东京大学&商汤&悉尼大学的研究员,提供一个新思路。

9d3762ef64e3370e75df3e6fd188b3d9.png

Green Hierarchical Vision Transformer for Masked Image Modeling

论文链接:
https://arxiv.org/abs/2205.13515
GitHub链接(刚刚开源):
https://github.com/LayneH/GreenMIM

不光将Swin Transformer整合到了MAE框架上,既有与SimMIM相当的任务表现,还保证了计算效率和性能——

将分层ViT的训练速度提高2.7倍,GPU内存使用量减少70%。

来康康这是一项什么研究?

当分层设计引入MAE

这篇论文提出了一种面向MIM的绿色分层视觉Transformer。

即允许分层ViT丢弃掩码图块,只对可见图块进行操作。

9ab838a168679d0f2f16f4c017f030fd.png

具体实现,由两个关键部分组成。

首先,设计了一种基于分治策略的群体窗口注意力方案。

将具有不同数量可见图块的局部窗口聚集成几个大小相等的组,然后在每组内进行掩码自注意力。

45366d4768567d290530fb6205fa1206.png

其次,把上述分组任务视为有约束动态规划问题,受贪心算法的启发提出了一种分组算法。

a9315203460747cbd0e58fab33da01f8.png

它可以自适应选择最佳分组大小,并将局部窗口分成最少的一组,从而使分组图块上的注意力整体计算成本最小。

表现相当,训练时间大大减少

结果显示,在ImageNet-1K和MS-COCO数据集上实验评估表明,与基线SimMIM性能相当的同时,效率提升2倍以上。

41ed8e61c97b839a99fc0fcaa927ed40.png

而跟SimMIM相比,这一方法在所需训练时间大大减少,消耗GPU内存也小得多。具体而言,在相同的训练次数下,在Swin-B上提高2倍的速度和减少60%的内存。

a052836d2f15d09ede5debcbab16706f.png

值得一提的是,该研究团队在有8个32GB V100 GPU的单机上进行评估的,而SimMIM是在2或4台机器上进行评估。

研究人员还发现,效率的提高随着Swin-L的增大而变大,例如,与SimMIM192相比,速度提高了2.7倍。

实验的最后,提到了算法的局限性。其中之一就是需要分层次掩码来达到最佳的效率,限制了更广泛的应用。这一点就交给未来的研究。

65c2c1c48edc7db2b91c3b350fe2ca9e.png

而谈到这一研究的影响性,研究人员表示,主要就是减轻了MIM的计算负担,提高了MIM的效率和有效性。

 

上面论文和代码下载

后台回复:GreenMIM即可下载上面的论文和代码

目标检测和Transformer交流群成立
扫描下方二维码,或者添加微信:CVer6666,即可添加CVer小助手微信,便可申请加入CVer-目标检测或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群▲扫码或加微信: CVer222,进交流群
CVer学术交流群(知识星球)来了!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎扫描下方二维码,加入CVer学术交流群,已汇集数千人!▲扫码进群
▲点击上方卡片,关注CVer公众号整理不易,请点赞和在看

这篇关于NeurIPS 2022 | 改进何恺明的MAE!GreenMIM:将Swin与MAE结合,训练速度大大提升!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/332695

相关文章

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

java学习,进阶,提升

http://how2j.cn/k/hutool/hutool-brief/1930.html?p=73689

JAVA用最简单的方法来构建一个高可用的服务端,提升系统可用性

一、什么是提升系统的高可用性 JAVA服务端,顾名思义就是23体验网为用户提供服务的。停工时间,就是不能向用户提供服务的时间。高可用,就是系统具有高度可用性,尽量减少停工时间。如何用最简单的方法来搭建一个高效率可用的服务端JAVA呢? 停工的原因一般有: 服务器故障。例如服务器宕机,服务器网络出现问题,机房或者机架出现问题等;访问量急剧上升,导致服务器压力过大导致访问量急剧上升的原因;时间和

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering)

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering) Power Iteration Clustering (PIC) 是一种基于图的聚类算法,用于在大规模数据集上进行高效的社区检测。PIC 算法的核心思想是通过迭代图的幂运算来发现数据中的潜在簇。该算法适用于处理大规模图数据,特别是在社交网络分析、推荐系统和生物信息学等领域具有广泛应用。Spa

SigLIP——采用sigmoid损失的图文预训练方式

SigLIP——采用sigmoid损失的图文预训练方式 FesianXu 20240825 at Wechat Search Team 前言 CLIP中的infoNCE损失是一种对比性损失,在SigLIP这个工作中,作者提出采用非对比性的sigmoid损失,能够更高效地进行图文预训练,本文进行介绍。如有谬误请见谅并联系指出,本文遵守CC 4.0 BY-SA版权协议,转载请联系作者并注

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录 在深度学习项目中,目标检测是一项重要的任务。本文将详细介绍如何使用Detectron2进行目标检测模型的复现训练,涵盖训练数据准备、训练命令、训练日志分析、训练指标以及训练输出目录的各个文件及其作用。特别地,我们将演示在训练过程中出现中断后,如何使用 resume 功能继续训练,并将我们复现的模型与Model Zoo中的

Go 语言中Select与for结合使用break

func test(){i := 0for {select {case <-time.After(time.Second * time.Duration(2)):i++if i == 5{fmt.Println("break now")break }fmt.Println("inside the select: ")}fmt.Println("inside the for: ")}} 执行后

使用WebP解决网站加载速度问题,这些细节你需要了解

说到网页的图片格式,大家最常想到的可能是JPEG、PNG,毕竟这些老牌格式陪伴我们这么多年。然而,近几年,有一个格式悄悄崭露头角,那就是WebP。很多人可能听说过,但到底它好在哪?你的网站或者项目是不是也应该用WebP呢?别着急,今天咱们就来好好聊聊WebP这个图片格式的前世今生,以及它值不值得你花时间去用。 为什么会有WebP? 你有没有遇到过这样的情况?网页加载特别慢,尤其是那