卷积架构的进一步挖掘:ConvNeXt,RepLKNet,HRNet

两个新方法来自CVPR2022的两篇文章,ConvNeXt:A ConvNet for the 2020s,RepLKNet:Scaling Up Your Kernels to 31x31: Revisiting Large Kernel Design in CNNs,额外补充一个方法HRNet来自TPAMI2019:Deep High-Resolution Representation Learning for Visual Recognition

ConvNeXt

Facebook AI Research和UC Berkeley联合发表了A ConvNet for the 2020s,在文章中提出了ConvNeXt纯卷积神经网络,并与Swin Transformer对比,通过一系列实验比对,在相同的FLOPs下(FLOPS 即“每秒浮点运算次数”是“每秒所执行的浮点运算次数”),ConvNeXt相比Swin Transformer拥有更快的推理速度以及更高的分类准确率。
fig1

  • ImageNet-1K上的分类精度。与ViT相比,ConvNeXt还显示了更高模型容量能力。推断吞吐量在V100 GPU上测量。在A100 GPU上,ConvNeXt可以比Swin Transformer具有更高的吞吐量。

ConvNeXt表面看“毫无亮点”,因为ConvNeXt使用的全部都是现有的结构和方法。但意义在于作者的思考:为什么基于Transformer架构的模型效果比卷积神经网络要好?作者认为可能是随着技术的不断发展,各种新的架构以及优化策略促使Transformer模型的效果更好,那么使用相同的策略去训练卷积神经网络也能达到相同的效果吗?因此作者以Swin Transformer作为参考对CNN进行一系列实验。

作者利用训练vision Transformers的策略去训练原始的ResNet50模型,发现比原始效果要好很多。作者列举了实验包含的部分:
fig2

  • 对标准ConvNet(ResNet)进行了改造,以设计类似SwinT,而不引入任何基于注意力的模块。前景条状是ResNet-50与Swin-T的模型精度;ResNet-200与Swin-B方案的结果以灰色条显示。许多Transformer体系结构选择可以合并到ConvNet中,它们可以带来越来越好的性能。最后,名为ConvNeXt的纯ConvNet模型可以超越Swin Transformer。

RepLKNet

根据RepLKNet的研究发现,在卷积网络中,采用少量大卷积是比大量小卷积更好的设计。论文提出了一种新的大卷积核架构RepLKNet,卷积核尺寸达到31×31,在分类,检测,分割任务上均显著强于传统的CNN,并取得和ViT相似甚至更强的表现,最重要的,卷积操作使得模型运行效率很高。RepLKNet的作者认为,Self-attention模块的大感受野是ViT取得优秀性能的主要原因。如果使用大卷积kernel,CNN也可以达到相似表现。
fig3

  • 单个GTX 2080Ti GPU上具有不同kernel大小和输入分辨率的24层depth-wise CNN的推断速度。输入形状为 ( 64 , 384 , R , R ) (64,384,R,R) (64,384,R,R)。baseline采用Pytorch 1.9.0+cuDNN 7.6.5进行评估。

动机:Transformer可以处理灵活的数据形式(集合,序列,graph),最重要的是具有长程关系建模能力,另外具有对噪声的稳健性。大部分研究分析将贡献归结于self-attention,作者对ViT做了进一步思考,Query和Key的交互(生成注意力)可能并不是MultiHeadSelfAttention(MHSA)中对性能影响最大的部分。MHSA的三要素是:稀疏连接,权重共享,动态权重。作者希望CNN从ViT中借鉴设计思想。

LargeKernel的引出:早期CNN其实尝试了大卷积核,比如AlexNet采用11×11,自Vgg之和,开始流行小卷积(1×1和3×3),大家认为大的感受野可以通过大量小感受野的卷积堆叠而成。ViT直接在空间上建模patch之间的关系,其实是一种超大感受野的体现。


感受野(Receptive Field)是指特征图上的某个点能看到的输入图像的区域


大卷积核的优势

  • 最直观的,相比直接加深网络,采用大卷积核可以更高效增大有效感受野,因为有效感受野大小是正比于kernel size的。
  • 大卷积核可以部分回避模型深度增加导致的优化困难。值得注意的一点:ResNet虽然很深,但其实大部分都是short cut连接,这表示resnet实际是个比较浅的网络,加深并没有带来真正大的有效感受野。
  • 大卷积核对FCN-based的下游任务提升明显,比如检测和分割。

为什么过去摒弃大卷积

  • 可能是大卷积不够高效,所以缓解方案为:使用浅结构网络,采用depth-wise可分离卷积。
  • 大卷积难以兼顾局部特征,容易导致过度平滑,对策:使用short cut连接,弥补细节特征。
  • 相比自注意力,卷积的知识太hard,这会限制CNN在大数据集上的表示能力,对策:在小特征图上使用更大的卷积(这迫使输入引入padding),从而间接编码到绝对位置信息。

为什么大卷积对下游任务更重要
人类做视觉任务时候,更偏向于形状特征,而不是纹理特征,大感受野正好是学习形状特征的关键设计。因此ViT和大卷积可以在下游任务中表现良好。


RepLKNet作者对表征学习的看法:表征学习在目前机器学习领域的目标是从数据中学习到良好的低维结构,对于监督学习而言,一个好的特征表示应该符合两个方面:1.当前输入样本的特征与其他样本特征的互信息是较小的,2.样本的特征与对应的target的互信息要尽可能大。

但是对于自监督,其实是没有target的,有人尝试学习一个特征,并希望这个特征对任何下游任务都有用(在没有任何下游任务知识的情况下),这其实是不可能的,我们不可能学习到全局适用并且有区分度的表征,这被称为"没有免费的午餐"。

但是一个表征想在某一个任务或者一组任务上做得好,必须要理解这组任务的共性,也被称为不变性,也就是互信息相关性中不变的特征。正如为什么数据增强是重要的,正是因为数据增强提供了最直观的不变性。模型对于某一组任务,学习到不变性,才能在该组任务下泛化。


HRNet

HRNet(High-Resolution Net)是用于学习表征的,对于下图的下游任务,它们不同于Image Classification,图像分类属于position-insensitive(位置不敏感)的任务,但下图的下游任务都是position-sensitive的。
fig4
CV表征学习早期的工作都集中于低分辨率的表征学习,比如AlexNet,VGGNet,ResNet,DenseNet。

过去提高表征分辨率的方法可以概括为两类:

  • 将比如ResNet的最后一个stage的卷积和下采样换成空洞卷积,从而保持分辨率不变,特征图尺寸不变;
  • 采用UNet的方式,对特征上采样,虽然分辨率提高了,但是原始的空间信息(位置敏感)已经在下采样时被丢失。

设计思想:目的是学到一个空间敏感度较强的高分辨率表征,与过去工作不同(总是从高分辨率到低分辨率),HRNet希望能一直保持高分辨率。仅通过简单的设计就能获得高分辨率的表征。
fig5

  • HRNet的架构。它由并行的高分辨率到低分辨率子网络组成,具有跨多分辨率子网络的重复信息交换(多尺度融合)。水平方向和垂直方向分别对应于网络深度和特征图的尺度。

实验验证:最开始是在Pose estimation上验证,作者在其他大量实验上进行了验证。文章发表在TPAMI,但是可以发现网络设计很简单,我们应当学习作者的"引言"写作思路,包含了以下部分:

  • 有哪些相关研究,科学假设,解决方案,实验验证,代码开源。
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值