当前位置:   article > 正文

ConvNeXt V2:用MAE训练CNN

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

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/150944
推荐阅读
相关标签
  

闽ICP备14008679号