深度学习论文: Conv2Former: A Simple Transformer-Style ConvNet for Visual Recognition及其PyTorch实现
Conv2Former: A Simple Transformer-Style ConvNet for Visual Recognition
PDF: https://arxiv.org/pdf/2211.11943.pdf
PyTorch代码: https://github.com/shanglianlm0525/CvPytorch
PyTorch代码: https://github.com/shanglianlm0525/PyTorch-Networks

1 概述

通过组合ConvNet与ViT的设计理念,本文利用卷积调制操作对自注意力进行了简化,进而构建了一种新的ConvNet架构Conv2Former。

ImageNet分类、COCO检测以及ADE20K分割任务上的实验结果表明:所提Conv2Former取得了优于主流ConvNet(如ConvNeXt)、ViT(如Swin Transformer)的性能

2 Conv2Former

Conv2Former采用金字塔架构,即包含四个阶段、四种不同尺寸的特征,相邻阶段之间通过Patch Embedding模块(其实就是一个卷积核与stride均为2的卷积)降低特征空间分辨率。

下表给出了不同大小Conv2Former的超参配置:

2-1 Convolutional Modulation Block

从经典的残差模块到自注意力模块,再到新一代卷积模块。

自注意力模块可以表示为如下形式:

其中 AAA 可以更好的编码空域相关性,但其计算复杂性随N而爆炸性增长。

Convolutional Modulation Block 采用卷积特征对 VVV 进行调制

其中 ⊙\odot 表示Hadamard乘积。Convolutional Modulation Block使得每个位置的元素与其近邻相关,而通道间的信息聚合则可以通过线性层实现。

PyTorch代码:

class ConvMod(nn.Module):def __init__(self, dim):super().__init__()self.norm = LayerNorm(dim, eps=1e-6)self.a = nn.Sequential(nn.Conv2d(dim, dim, 1),nn.GELU(),nn.Conv2d(dim, dim, 11, padding=5, groups=dim))self.v = nn.Conv2d(dim, dim, 1)self.proj = nn.Conv2d(dim, dim, 1)def forward(self, x):B, C, H, W = x.shapex = self.norm(x)a = self.a(x)v = self.v(x)x = a * vx = self.proj(x)return x

微观设计理念:

  • 采用 11x11 的大卷积核
  • 在Hadamard乘积之前并未添加任务规范化层(如Sigmoid, LpL_{p}Lp)
  • Normalization 采用了Layer Normalization
  • Activations 采用了GELU

3 Experiments

深度学习论文: Conv2Former: A Simple Transformer-Style ConvNet for Visual Recognition及其PyTorch实现相关推荐

  1. 深度学习论文: KeepAugment: A Simple Information-Preserving Data Augmentation Approach及其PyTorch实现

    深度学习论文: KeepAugment: A Simple Information-Preserving Data Augmentation Approach及其PyTorch实现 KeepAugme ...

  2. [深度学习论文笔记]A Volumetric Transformer for Accurate 3D Tumor Segmentation

    A Volumetric Transformer for Accurate 3D Tumor Segmentation 用于精确三维肿瘤分割的体积Transformer Published: 2021 ...

  3. 【深度学习】超越ConvNeXt!Transformer 风格的卷积网络视觉基线模型Conv2Former

    作者丨科技猛兽 编辑丨极市平台 导读 本文提出一种卷积调制模块,利用卷积来建立关系,这比注意力机制在处理高分辨率图像时更高效,称为 Conv2Former.作者在 ImageNet 分类.目标检测和语 ...

  4. 深度学习论文: TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head 及其PyTorch实现

    深度学习论文: TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head for Object Detection on Dro ...

  5. Github标星24k,127篇经典论文下载,这份深度学习论文阅读路线图不容错过

    作者  | Floodsung 翻译 | 黄海广 来源 | 机器学习初学者(ID:ai-start-com) [导读]如果你是深度学习领域的新手,那么你可能会遇到的第一个问题是"我应该从哪篇 ...

  6. 深度学习论文阅读路线图

    https://www.toutiao.com/a6703859415763649031/ 作者:floodsun编译:ronghuaiyang 这是作者一年前整理的东西,有些最新的论文没有包含进去, ...

  7. 126篇殿堂级深度学习论文分类整理 从入门到应用 | 干货

    如果你有非常大的决心从事深度学习,又不想在这一行打酱油,那么研读大牛论文将是不可避免的一步.而作为新人,你的第一个问题或许是:"论文那么多,从哪一篇读起?" 本文将试图解决这个问题 ...

  8. 深度学习论文资源(截至2016年)

    最近看到一篇不错的关于DL的论文索引(截止到2016年),内容质量还是很高的,都是些很经典的论文,值得一看,特此转载.  原文地址: http://www.dlworld.cn/YeJieDongTa ...

  9. (zhuan) 126 篇殿堂级深度学习论文分类整理 从入门到应用

    126 篇殿堂级深度学习论文分类整理 从入门到应用 | 干货 雷锋网  作者: 三川 2017-03-02 18:40:00 查看源网址 阅读数:66 如果你有非常大的决心从事深度学习,又不想在这一行 ...

最新文章

  1. EJB学习(四)——Enterprise Bean(企业Bean)和Entity Bean(实体Bean)
  2. java表底层生产工具_使用Java工具解决生产故障(一)-jcmd介绍
  3. 2015.12.11-2015.12.13 金华旅程的学习计划
  4. 禁止更改计算机名_计算机改名、加域脚本集合
  5. linux 创建用户和修改新增用户默认的家目录
  6. php导入json文件_[php]导入超大json文件
  7. JAVA和Android的回调机制
  8. 4-1 :input表单选择器 jQuery第四章 很关键 好像 刚好可以解决 微信自动回复...
  9. SAP License:作业类型作为成本对象
  10. [Android] Android 任务栈 【转载】
  11. Linux内核抢占实现机制分析
  12. 【语音去噪】基于matlab谱减法+最小均方+维纳滤波语音去噪【含Matlab源码 1542期】
  13. 常见8种无线通信协议简介
  14. R语言空间插值/R语言离散数据网格化/R语言空间点插值/R语言nc日均转月均、日期转换
  15. ora12514问题怎么解决linux,ORA-12514问题解决
  16. LSF Command
  17. 由中序后序序列求前序序列
  18. 系统服务器设置有错误,Win7系统ie浏览器提示域名解析错误如何解决
  19. Python(大蟒蛇)与云计算
  20. PHP网络在线学习云课堂源码在线教育学习云课堂源码

热门文章

  1. 耦合性、内聚度的介绍
  2. 苹果WWDC2023:首款MR头显震撼发布,开发者泪洒现场,一文读懂全新产品及创新功能
  3. php面向对象笔试题,php练习笔试题
  4. 基于mini2440简单计算器的实现(裸机代码)
  5. Win7/10/11文件拖拽导致资源管理器闪退问题
  6. Coremail邮件系统全新上线存档邮箱功能
  7. 这几款宝藏APP你知道多少
  8. 一款开源的Hitomi-Downloader视频下载工具,几乎支持所有主流视频网站
  9. ORACLE数据库查询太慢,内存溢出了
  10. JDBC保存和读取大文本数据类型