Master笔记 22-7-18 @Pix2Seq@大卷积核CNN

Pix2Seq:谷歌大脑提出 CV 任务统一接口!

以自然语言为输出的任务,比如image captioning、visual question answering这类任务,天然可以转化为生成text token sequence。但模型的输出形式还存在很多其他的形式,例如bounding box、dense masks等。

Pix2Seq在这样的动机下诞生了:既然输出形式不同是难点,能否将各类输出形式都统一成token sequence?

去年Google Brain提出的Pix2Seq就以目标检测作为出发点,建立Pixel-to-Sequence的映射,探索了这种可能性(戳《图灵奖大佬+谷歌团队,为通用人工智能背书!CV 任务也能用 LM 建模!》)。

目前的Pix2Seq v2进一步统一了四个完全不同的视觉任务:目标检测(object detection)、实例分割(instance segmentation)、人体关键点检测(keypoint detection)、图像描述生成(image captioning),尽管他们的输出可以是bounding boxes,也可以是dense masks,都可以表示成token sequence。

这种大一统的Pix2Seq框架,已经能够在这四个核心视觉任务上,媲美那些专门为各任务定制的state-of-the-art。

  • 目标检测(object detection):输入是一张图片,输出是所有object的bounding box和class label。
  • 实例分割(instance segmentation):输入是一张图片和其中的objects,输出是对每个object的dense pixel-wise mask。
  • 人体关键点检测(keypoint detection):输入是一张图片和其中的person objects,输出是keypoint坐标点来表示head、eyes等person instances。
  • 图像描述生成(image captioning):输入是一张图片,输出是一句话。

卷积核扩大到51x51,CNN反击Transformer

https://mp.weixin.qq.com/s/Km7vgpWwS6tUbQvr4BaDrg
论文:https://arxiv.org/pdf/2207.03620.pdf
Pytorch 开源代码:https://github.com/VITA-Group/SLaK

本文分析了是否可以通过策略性地扩大卷积来消除与Transformer的性能差距。
前浪有 ConvNeXts 配备着 7x7 卷积核和精巧的模型设计,成功的超越了 swin transformer 的表现。
后浪中 RepLKNet 用结构再参数化成功的克服了大卷积在训练上的困难,一度将卷积核增大到了 31x31,并达到了和 Swin Transformer 相当的表现。在下游任务上更是超过了后者。

本文主要想探究的问题是:是否可以通过采用极致大卷积核(超过 31x31)来进一步提高 CNNs 的表现
在最近大火的 ConvNeXt 上对大卷积进行了系统的研究。我采用了和 ConvNeXt 一模一样的训练设定和超参并将卷积核放大到 31x31,51x51 和 61x61。

结论

  1. 现有的技术无法无损的将卷积核扩展到 31x31 以上,大的卷积核相对图片尺寸来说相当于全局水平的卷积,缺少局部性
  2. 用两个平行的,长方形卷积来代替方形大卷积可以丝滑的将卷积核扩展到 61x61,将一个常用的 MxM 方形卷积核分解为两个平行的 MxN+NxM 长方形卷积核,该方式同时还能极大地减少大卷积核带来的开销
  3. 拥有动态稀疏性的卷积核极大的提高了模型的容量同时又不增加模型大小

Sparse Large Kernel Network - SLaK

利用上面发现的 recipe 在 ConvNeXt 上直接加载了 51x51 的卷积核,得到了 SLaK-T/S/B 模型

感受野分析

新方法既能够保证对远距离相关性的获取,又能够捕捉到近距离重要的特征
计算了输入图片的像素对不同模型决策的贡献度,并把贡献度加加回到 1024x1024 的图片上
原始的 ConvNeXt 用 7X7 卷积只用了中间很小一部分的像素来做决策;RepLKNet 用 31x31 的卷积把感受野扩大了许多;而 SLaK 进一步用 51x51 的卷积核几乎达到了全局感受野
全局感受的话岂不是能做到跟Transformer差不多的事?

posted @ 2022-08-11 18:35  NoNoe  阅读(140)  评论(0编辑  收藏  举报