Transformer在CV领域得到广泛关注,从Vision Transformer到层出不穷的变种,不断地刷新了各项任务地榜单。在CV领域的应用,Transformer在未来有可能替代CNN吗?

在这个大火的阶段,确实值得我们反思一下,self-attention和CNN结构相比,到底有什么联系与区别,两者在相同配置下有什么样的差距?

尤其近期一些工作在Transformer结构中引入locality特性来进一步提升性能。

我们来自南开,北大,MSRA的团队试图回答这个问题,探究Transformer (尤其是local vision transformer)与CNN (depth-wise 卷积)之间的区别与联系:

相关论文:Demystifying Local Vision Transformer: Sparse Connectivity, Weight Sharing, and Dynamic Weight

论文地址:https://arxiv.org/abs/2106.04263

为了回答这个问题,我们从稀疏链接,权重共享,以及动态权重三个方面对Local ViT进行了分析,同时与热门的MLP方法,depth-wise卷积方法,以及广泛应用的CNN进行了对比与分析。

实验结果表明在网络结构设计中,稀疏性能够很好的帮助网络优化,同时减少计算量与参数量,而直接以Swin Transformer为baseline,把局部attention模块换成局部depth-wise卷积模块,能够保持性能不变,同时计算量和参数量更少,在ImageNet, COCO, ADE20K上表现相当。

而实际上这些发现,正指引着我们用不同的正则化方式 (稀疏连接,权重共享)设计网络,值得对下一步的网络结构设计进行深思。

近些年来所提出的各种基于CNN的模型,和基于MLP, Transformer的模型,其设计准则及关联,可以总结为下图所示:

从全连接形式的MLP出发,最新的一些MLP工作将channel和spatial维度分离,做了空间或通道上的稀疏连接,如MLP Mixer, ResMLP等,再此基础上,Vision Transformer (ViT)将连接的权重动态化。

进一步,为了引入局部性的人工先验,Local ViT将全局的attention变成局部操作,如Swin, HolaNet等,与此同时,PVT利用金字塔结构同样引入了多尺度级联结构。

随着这些稀疏性质与多尺度等低秩正则化的不断引入,网络变得更容易优化,且能够得到较好的性能。

同样,depth-wise卷积在稀疏链接上也具有相同的性质,在关系图种表现为普通卷积在通道上的稀疏,或分离MLP在空间上的稀疏。

这种结构与Local ViT体现相同,为了公平对比,我们在Swin Transformer中,保持完全相同的训练策略和结构,将local attention替换为depth-wise卷积进行对比,发现两者表现相当。这说明Local ViT的有效性来自于这种稀疏连接的正则化网络设计。

进一步对比两者,其在权重共享上是有差异的,depth-wise卷积在空间位置上共享权重,而Local ViT在不同channel之间共享权重,在论文中,我们分析了两种权重共享的不同方式,发现这两种共享方式均能够有效的减少参数量,同时表现相当。

而在权重形式上,depth-wise卷积利用静态的网络参数进行信息提取,而local ViT利用特征相似度动态生成权重。为了进一步对比两者差异,我们构建了动态的depth-wise卷积,发现其在小模型上能够表现优于local ViT。

以上对比说明,Local ViT的有效性,实际上是使用了稀疏的连接关系,权重共享,以及动态地生成自适应权重,这种方式同样有益于卷积神经网络,而不是一种替代关系

ViT实际上是和CNN开辟了两条不同的道路,使用着不同的稀疏性和共享关系,而现有的很多工作也在尝试将两者结合到一起,能够探究ViT的工作原理,揭开其神秘面纱,将这种优质的特性带入卷积网络中,同样也能设计出表现很好的网络结构,值得我们进一步深思。

更多细节还请关注原文,点击左下角阅读原文直达。

本文系作者投稿。

END

注明:TFM

Transformer 交流群

扫码备注拉你入群。

CV领域,Transformer在未来有可能替代CNN吗?相关推荐

  1. 如何看待Transformer在CV上的应用前景,未来有可能替代CNN吗?

    链接:https://www.zhihu.com/question/437495132 编辑:深度学习与计算机视觉 声明:仅做学术分享,侵删 目前已经有基于Transformer在三大图像问题上的应用 ...

  2. 独家 | 为什么在CV(视觉识别)领域,Transformers正在缓慢逐步替代CNN?

    作者:Pranoy Radhakrishnan 翻译:wwl 校对:王可汗本文约3000字,建议阅读10分钟本文讨论了Transformer模型应用在计算机视觉领域中和CNN的比较. 在认识Trans ...

  3. CV领域Transformer之Self-Attention浅薄理解

    CNN和Self-Attention的比较理解: 对于CNN而言,越深的网络关注的区域越大,因为其每一层网络都相当于不断的整合之前的信息.以3×3卷积为例,如下图所示:蓝色方框表示能看到原始图像多大的 ...

  4. CV领域Transformer这一篇就够了(原理详解+pytorch代码复现)

    文章目录 前言 一.注意力机制 1.1注意力机制通俗理解 1.2注意力机制计算公式 1.3注意力机制计算过程 1.4注意力机制代码 二.自注意力机制 2.1 注意力机制和自注意力机制的区别 2.2 编 ...

  5. Transformer在CV领域有可能替代CNN吗?还有哪些应用前景?

    来源丨知乎问答 编辑丨极市平台 本文转自知乎问答,所有回答均已获得作者授权. 问题背景:目前已经有基于Transformer在三大图像问题上的应用:分类(ViT),检测(DETR)和分割(SETR), ...

  6. Transformer在CV领域的优缺点

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Visual Transformer 具有如下较好的特性: 局限性 参考:添加链接描述 Visual Transformer ...

  7. DL之Transformer:Transformer的简介(优缺点/架构详解,基于Transformer的系列架构对比分析)、使用方法(NLP领域/CV领域)、案例应用之详细攻略

    DL之Transformer:Transformer的简介(优缺点/架构详解,基于Transformer的系列架构对比分析).使用方法(NLP领域/CV领域).案例应用之详细攻略 目录 Transfo ...

  8. ViT:Transformer在CV领域的开山之作

    ViT引发的变革 Transformer最开始是作为自然语言处理(英语: Natural Language Processing ,缩写作 NLP)领域的模型框架,在该领域其可谓大放异彩,然而自始至终 ...

  9. 一点就分享系列(理解篇3)—Cv任务“新世代”之Transformer(下篇)提前“cv领域展开”——快速学习“视觉transformer的理解”+“一些吐槽”

    一点就分享系列(理解篇3)Cv任务"新世代"之Transformer(下篇)--"cv领域展开" 提示:本篇内容为下篇,如感兴趣可翻阅上和中篇! 理解篇3 上 ...

最新文章

  1. 华为4X和4C无法使用电信4G的解决办法
  2. mysql4.0升级_再遇MySQL4.0升级到MySQL5.1的时候
  3. Linux负载均衡--LVS
  4. 基于springboot乡村民宿系统
  5. python中functools_Python中functools模块的常用函数解析
  6. 电子设计大赛应该准备什么
  7. 积累分布用例-洛伦兹曲线和随机游走
  8. Cocos Creator | 碰撞检测优化-四叉树
  9. 用心理书籍来帮助自身成长
  10. 服务器建文件夹,服务器建立文件夹
  11. DB2导出 mysql导入_db2数据库导入导出数据
  12. JZOJ4809. 【NOIP2016提高A组五校联考1】挖金矿
  13. UGI九宫格sliced显示问题
  14. 数据可视化一:Excel数据可视化
  15. B. Cat Cycle
  16. A. Anti Light‘s Cell Guessing
  17. GLSL vs HLSL vs Cg
  18. 以太网口差分电平_百兆以太网接口高速PCB布局布线指南
  19. jquery对象级别的插件开发
  20. 【不想读paper的时候看看】阅读文献?

热门文章

  1. 单目摄像机测距(python+opencv)(转载)
  2. java怎么把数组的元素个数_想问一下怎样才可以把一个数 放在已知数组里面
  3. VC皮肤库SkinSharp 1 0 6 6的使用
  4. MySQL之Procedure(存储过程)和Function(函数)
  5. CV之Harris特征点检测器-兴趣点检测(详解)
  6. VueJS实现用户管理系统
  7. Python GUI界面编程初步 03 - Tkinter基础设计案例
  8. 4g网络设置dns地址_黑群晖nas中tr软件汉化、路由器设置端口转发教程(二)
  9. linux cordova安装教程,mac怎么安装cordova?
  10. wxpython使窗口重新显示出来_wxPython实现窗口在任务栏中闪烁