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

### ConvNeXt V2 的架构与特点 #### 架构概述 ConvNeXt V2 是一种基于卷积神经网络(CNN)的视觉模型,在设计上借鉴了Transformer的成功经验,同时保留了卷积操作的优势。该模型通过引入Masked Autoencoder (MAE) 技术实现了更高效的预训练机制[^1]。 #### 主要改进点 - **深度可分离卷积**:为了提高计算效率并减少参数量,ConvNeXt V2 使用了深度可分离卷积替代传统的标准卷积层。这种改变不仅降低了模型复杂度,还增强了特征提取能力。 - **正则化策略优化**:相较于前代版本,ConvNeXt V2 对DropPath率进行了调整,并采用了新的随机擦除方法来增强泛化性能。这些措施有助于防止过拟合现象的发生[^3]。 - **扩展模块设计**:在网络结构方面,ConvNeXt V2 引入了一种名为“膨胀”的概念——即逐步增加通道数以促进信息流动;此外,还增加了残差连接的数量,使得深层网络更容易收敛。 - **联合微调方案**:不同于以往单独处理编码器部分的做法,ConvNeXt V2 提出了一个新颖的端到端框架用于同时更新整个系统的权重参数。这一步骤对于提升最终表现至关重要[^4]。 ```python import torch.nn as nn class ConvNeXtV2Block(nn.Module): def __init__(self, dim, drop_path=0., layer_scale_init_value=1e-6): super().__init__() self.dwconv = nn.Conv2d(dim, dim, kernel_size=7, padding=3, groups=dim) # depthwise conv ... ``` #### 性能优势 得益于上述技术创新以及精心的设计理念,ConvNeXt V2 在多个基准测试集上的成绩均超过了先前的最佳记录保持者Swin Transformer和其他同类产品。特别是在图像分类任务中展现出了卓越的能力,证明了其作为新一代通用计算机视觉平台的巨大潜力[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值