ConvNeXt V2:用MAE训练CNN

2024-02-26 23:36
文章标签 训练 cnn v2 convnext mae

本文主要是介绍ConvNeXt V2:用MAE训练CNN,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文名称:ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders
发表时间:CVPR2023
code链接:代码
作者及组织: Sanghyun Woo,Shoubhik Debnath来自KAIST和Meta AI。

前言

  ConvNextV2是借助MAE的思想来训练ConvnextV1。关于ConvnextV1可参考:
  A ConvNet for the 2020s

1、Fully Convolutional Masked Autoencoder

 本文借助MAE的思想,设计了一套基于CNN的自监督学习网络结构。
在这里插入图片描述

 如上图所示,首先随机mask住2D图像的patch区域,为了防止Conv在训练过程中“看到“被遮挡区域的信息,于是Encoder部分采用了Sparse Conv(简单来说就是仅卷有像素值的区域);而Decoder则是一层Convnext Block;最终类似SIMMIM,仅用MSE Loss计算被遮挡部分的损失函数。
 这里值得注意一个点:在Pretraining Stage用SparseCNN,在Finetuning Stage又将SparseCNN转变成常规卷积。
 最终取得实验结果:发现还是比不上有监督训练。

在这里插入图片描述

2、Global Response Normalization(GRN)

 在上节中,发现FCMAE效果还是差点儿,于是作者可视化特征图的每个channel:发现有好多失活的,这跟MAE训练的ViT效果相反:不同channel均有激活且多样性丰富。
在这里插入图片描述

 为了增加channel的多样性,作者设计了GRU的归一化方式:

在这里插入图片描述

 简单说下上述代码含义:算法的输入和输出的维度相同 R H × W × C \mathbb{R}^{H \times W \times C} RH×W×C 。首先对X的每个channel执行L2正则得到 g x ∈ R C gx \in \mathbb{R}^{ C} gxRC ;然后对gx的每个channel的值除以gx的均值得到权重 n x ∈ R C nx \in \mathbb{R}^{ C} nxRC , n x nx nx 保留了每个channel相对于其余channel的重要性。 最后返回 X ⋅ n x ∈ R H × W × C X \cdot nx \in \mathbb{R}^{ H \times W \times C} XnxRH×W×C 。另外设计了两个可学习的缩放系数 γ \gamma γ β \beta β

 由于GRN跟LayerScale有重复,故最终Block样式如下图所示:
在这里插入图片描述

 最终特征图的cos相似度图为:在+了GRN之后,cos距离从红线变成了蓝线,说明特征图之间的多样性提升明显。

在这里插入图片描述

3、实验

3.1. 模型结构

  总共缩放7种模型,最小的Flops=0.55g。
在这里插入图片描述

3.2.Finetune实验

 在小模型ConvnextV2效果较其余预训练方法更好,在ViT-H差点儿。
在这里插入图片描述

3.3.Transfer learning实验

 在检测任务上ConvnextV2较SimMIM更好。
在这里插入图片描述

这篇关于ConvNeXt V2:用MAE训练CNN的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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

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版权协议,转载请联系作者并注

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

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

深度学习实战:如何利用CNN实现人脸识别考勤系统

1. 何为CNN及其在人脸识别中的应用 卷积神经网络(CNN)是深度学习中的核心技术之一,擅长处理图像数据。CNN通过卷积层提取图像的局部特征,在人脸识别领域尤其适用。CNN的多个层次可以逐步提取面部的特征,最终实现精确的身份识别。对于考勤系统而言,CNN可以自动从摄像头捕捉的视频流中检测并识别出员工的面部。 我们在该项目中采用了 RetinaFace 模型,它基于CNN的结构实现高效、精准的

多云架构下大模型训练的存储稳定性探索

一、多云架构与大模型训练的融合 (一)多云架构的优势与挑战 多云架构为大模型训练带来了诸多优势。首先,资源灵活性显著提高,不同的云平台可以提供不同类型的计算资源和存储服务,满足大模型训练在不同阶段的需求。例如,某些云平台可能在 GPU 计算资源上具有优势,而另一些则在存储成本或性能上表现出色,企业可以根据实际情况进行选择和组合。其次,扩展性得以增强,当大模型的规模不断扩大时,单一云平

野火霸天虎V2学习记录

文章目录 嵌入式开发常识汇总1、嵌入式Linux和stm32之间的区别和联系2、stm32程序下载方式3、Keil5安装芯片包4、芯片封装种类5、STM32命名6、数据手册和参考手册7、什么是寄存器、寄存器映射和内存映射8、芯片引脚顺序9、stm32芯片里有什么10、存储器空间的划分11、如何理解寄存器说明12、如何操作寄存器的某一位 STM32F407芯片学习1、stm32单片机启动流程s

神经网络训练不起来怎么办(零)| General Guidance

摘要:模型性能不理想时,如何判断 Model Bias, Optimization, Overfitting 等问题,并以此着手优化模型。在这个分析过程中,我们可以对Function Set,模型弹性有直观的理解。关键词:模型性能,Model Bias, Optimization, Overfitting。 零,领域背景 如果我们的模型表现较差,那么我们往往需要根据 Training l

如何将卷积神经网络(CNN)应用于医学图像分析:从分类到分割和检测的实用指南

引言 在现代医疗领域,医学图像已经成为疾病诊断和治疗规划的重要工具。医学图像的类型繁多,包括但不限于X射线、CT(计算机断层扫描)、MRI(磁共振成像)和超声图像。这些图像提供了对身体内部结构的详细视图,有助于医生在进行准确诊断和制定个性化治疗方案时获取关键的信息。 1. 医学图像分析的挑战 医学图像分析面临诸多挑战,其中包括: 图像数据的复杂性:医学图像通常具有高维度和复杂的结构

如何创建训练数据集

在 HuggingFace 上创建数据集非常方便,创建完成之后,通过 API 可以方便的下载并使用数据集,在 Google Colab 上进行模型调优,下载数据集速度非常快,本文通过 Dataset 库创建一个简单的训练数据集。 首先安装数据集依赖 HuggingFace datasetshuggingface_hub 创建数据集 替换为自己的 HuggingFace API key