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更好。
在这里插入图片描述

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值