视学算法报道

机器之心编辑部

ViT(Vision Transformer)等视觉模型的强大性能,是来自于 Transformer,还是被忽略的 patch?有研究者提出了简单 ConvMixer 模型进行证明,直接将 patch 作为输入,实验表明,ConvMixer 性能优于 ResNet 等经典视觉模型,并且在类似的参数计数和数据集大小方面也优于 ViT、MLP-Mixer 及其一些变体。

近年来,深度学习系统中的卷积神经网络在处理计算机视觉任务中,一直占据主要地位。但最近,基于 Transformer 模型的架构,例如 ViT(Vision Transformer)架构(Dosovitskiy 等人,2020 年),在许多任务中都表现出了引人注目的性能,它们通常优于经典卷积网络,尤其是在大型数据集上表现更佳。

我们可以假设,Transformer 成为视觉领域的主导架构只是时间问题,就像它们在 NLP 领域中一样。然而,为了将 Transformer 应用于图像领域,信息的表示方法必须改变:因为如果在每像素级别上应用 Transformer 中的自注意力层,它的计算成本将与每张图像的像素数成二次方扩展,所以折衷的方法是首先将图像分成多个 patch,再将这些 patch 线性嵌入 ,最后将 transformer 直接应用于此 patch 集合。

我们不禁会问:像 ViT 这种架构强大的性能是来自 Transformer ,还是至少部分是由于使用 patch 作为输入表示实现的?

在本文中,研究者为后者提供了一些证据:具体而言,该研究提出了 ConvMixer,这是一个极其简单的模型,在思想上与 ViT 和更基本的 MLP-Mixer 相似,这些模型直接将 patch 作为输入进行操作,分离空间和通道维度的混合,并在整个网络中保持相同的大小和分辨率。然而,相比之下,该研究提出的 ConvMixer 仅使用标准卷积来实现混合步骤。尽管它很简单,但研究表明,除了优于 ResNet 等经典视觉模型之外,ConvMixer 在类似的参数计数和数据集大小方面也优于 ViT、MLP-Mixer 及其一些变体。

  • 论文地址:https://openreview.net/pdf?id=TVHS5Y4dNvM

  • Github 地址:https://github.com/tmp-iclr/convmixer

特斯拉 AI 高级总监 Andrej Karpathy 在其个人社交网站推特上感叹道:我被新的 ConvMixer 架构震撼了。

有网友认为:「这项研究具有很重要的理论意义,因为它挑战了 ViT 有效性的原因。」

还有网友表示:「作为消融实验,我认为很有趣。我不认为这篇论文的目的是表达『 ConvMixer 是一个好的架构,值得研究者使用』,而是『这个简单的架构有效的帮助我们缩小了其他模型最有价值的特性范围』。」

一个简单的模型:ConvMixer

ConvMixer 由一个 patch 嵌入层和一个简单的全卷积块的重复应用组成。该研究保持 patch 嵌入的空间结构,如下图 2 所示。patch 大小为 p 和嵌入维度为 h 的 patch 嵌入可以实现具有 c_in 输入通道、h 个输出通道、内核大小 p 和步长 p 的卷积:

ConvMixer 块本身由 depthwise 卷积(即组数等于通道数 h 的分组卷积)和 pointwise(即内核大小为 1 × 1)卷积组成。每个卷积之后是一个激活函数和激活后的 BatchNorm:

在 ConvMixer 块的多次应用之后,执行全局池化以获得大小为 h 的特征向量,并将其传递给 softmax 分类器。

设计参数:ConvMixer 的实例化取决于四个参数:(1)宽度或隐藏维度 h(即 patch 嵌入的维度),(2)深度 d,或 ConvMixer 层的重复次数,(3 ) 控制模型内部分辨率的 patch 大小 p, (4) 深度卷积层的内核大小 k。研究者根据它们的隐藏维度和深度命名 ConvMixers,如 ConvMixer-h/d。他们将原始输入大小 n 除以 patch 大小 p 作为内部分辨率;但是请注意,ConvMixers 支持可变大小的输入。

动机:ConvMixer 架构基于混合思想。具体地,该研究选择了 depthwise 卷积来混合空间位置,选择 pointwise 卷积来混合通道位置。先前工作的一个关键思想是 MLP 和自注意力可以混合较远的空间位置,即它们可以具有任意大的感受野。因此,该研究使用较大的内核卷积来混合较远的空间位置。

实验结果

研究者首先在 CIFAR-10 上执行了小规模的实验,其中 ConvMixers 仅使用 0.7M 的参数实现了 96% 以上的准确率,验证了卷积归纳偏置的数据高效性。

此外,研究者不使用任何预训练或额外数据,在 ImageNet-1k 分类数据集上对 ConvMixers 进行了评估。他们将 ConvMixer 添加到 timm 框架中,并使用近乎标准的设置进行训练,包括默认 timm 增强、RandAugment、mixup、CutMix、随机删除(random erasing)和梯度标准裁剪。

研究者还使用了 AdamW 优化器和一个简单的 triangular 学习速度时间表。由于计算受限,他们没有在 ImageNet 上进行超参数调整,并较竞品模型训练了更少的 epoch。

结果如下表 1 所示。参数量为 52M 的 ConvMixer-1536/20 在 ImageNet 上实现了 81.4% 的 top-1 准确率,参数量为 21M 的 ConvMixer-768/32 实现了 80.2% 的 top-1 准确率。更宽的 ConvMixers 在训练 epoch 更少时出现收敛,但需要内存和计算。当卷积核更大时表现也很好:当卷积核大小从 K = 9 降至 K = 3 时,ConvMixer-1536/20 的准确率大约降了 1%。当 patch 更小时,ConvMixers 的表现明显更好。因此,研究者认为,更大的 patch 需要更深的 ConvMixers。他们使用 ReLU 训练了一个模型,以证明 GELU 是不必要的。

ConvMixers 模型和训练设置与 DeiT 非常相似。在最近的各向同性模型中,研究者认为 DeiT 和 ResMLP 是最公平的竞品模型,并且使用相同的过程训练了 ResNet(它的原始结果已经过时了)。从表 1 和下图 1 可以看到,ConvMixer 在给定的参数预算下实现了具有竞争力的结果:ConvMixer-1536/20 在使用明显更少参数的情况下,优于 ResNet-152 和 ResMLP-B24,并能够与 DeiT-B 竞争。不仅如此,ConvMixer-768/32 仅使用 ResNet-152 的 1/3 参数,就实现了与之相似的准确率。

但是,ConvMixers 的推理速度较竞品模型慢得多,这可能因为它们的 patch 更小。超参数调整和优化可以缩小这一差距,具体参见下表 2:

© THE END

转载请联系机器之心公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

点个在看 paper不断!

patch成为了ALL You Need?挑战ViT、MLP-Mixer的简单模型来了相关推荐

  1. 一个挑战 ViT,MLP-Mixer 的新模型 ConvMixer:Patches Are All You Need? [Under Review ICLR 2022]

    Convolutions Attention MLPs Patches are All Your Need? [OpenReview] [GitHub] 2021/11/13 更新: 已经确定,被 I ...

  2. 啊哈添柴挑战Java1826. 顺序输出(简单)

    啊哈添柴--挑战 1826. 顺序输出(简单) import java.util.Scanner;/*** @author yinglongwu*/ //1826. 顺序输出(简单) public c ...

  3. python图片转换成文字的手机软件_手机如何将图片转换成文字?用这两种方法转换很简单...

    没有扫描仪怎么将纸质文档变成电子文档?图片上的文字太多想要提取没有好的方法吃苦受累的就是自己!今天分享给大家用手机将图片转换成文字的方法,轻松提取图片文字很简单! 方法一.迅捷文字识别--手机APP ...

  4. 成理信安大挑战ctf 部分wp

    文章目录 第二届信安大挑战wp web real_checkin upload&include checkin_http easy_rce easy_md5 easy_unser apple官 ...

  5. 51年被发现9次,陶哲轩证明的公式成了重复造轮子?事情并没有这么简单

    晓查 栗子 发自 凹非寺  量子位 报道 | 公众号 QbitAI 在科学探索的过程中,"重复造轮子"从来就不新鲜. 最知名如牛顿和莱布尼茨,各自独立发明了微积分:而计算机领域,也 ...

  6. 音频转换成文字的方法你知道吗?操作非常简单

    时常一些人手机里面有时候会存一些音频文件,或者手头上有一些音频需要转化为文字文件的,这种转化的方法还是很多的,也正因为很多所以大家有时候会有选择困难症,会想到底哪一款音频转文字的软件才是最好用的呢?哪 ...

  7. 怎么把文字转换成语音?教你几个方法,超级简单

    怎么把文字转换成语音呢?有些朋友在工作中有时候可能需要把一段文字制作成语音来使用,这时候可能有人就会犯难了,该怎么做才能把文字转换成语音呢?其实方法很简单,只需要借助第三方软件即可快速实现转换,下面就 ...

  8. 小恐龙游戏挑战:第11天-简单画好小恐龙并上色

    第11天 挑战进度 今天描绘和上色的小恐龙图像 当日记录 定位日期 挑战进度 晚上抽空把在例题上小恐龙的图片放到Sai里描线和上色.小恐龙的三个跑步状态现在还在同一个图片里,往后要放到程序里还需要一个 ...

  9. 湖南工学院 戴成秋 计算机,【计算机专业论文】教师胜任力模型计算机专业论文(共1840字)...

    1计算机专业教师胜任力模型构建 湖南工学院组建了计算机专业教师胜任力模型开发与评价小组.该小组首先对计算机专业教学岗位进行分析,分析采用文献和问卷调查法,分析后建立胜任力初级模型,然后对计算机学院优秀 ...

最新文章

  1. Windows 命令集合
  2. #研发解决方案介绍#基于StatsD+Graphite的智能监控解决方案
  3. 使用Nomad构建弹性基础架构:计划和自我修复
  4. Linux 进程信号:信号的概念、生命周期、产生流程、阻塞
  5. js修改地址栏url_不同寻常的地址栏过渡
  6. 轻松搞定面试中的二叉树题目
  7. 代码自解释不是不写注释的理由
  8. 如何使用Serilog.AspNetCore记录ASP.NET Core3.0的MVC属性
  9. VS Code 使用小技巧
  10. java if两个条件_java(3) if结构
  11. RMAN异机恢复遭遇ORA-01547、ORA-01152、ORA-01110错误案例
  12. 程序员如何玩转汇编指令?
  13. bilstmcrf词性标注_深度学习--biLSTM_CRF 命名实体识别
  14. ExecuteScalar的使用
  15. linux怎么从超级用户切换,linux怎么切换到超级用户
  16. linux文件增加自定义属性,Linux 笔记...文件和目录属性useradd、userdel、usermod 、passwd...
  17. 释放docker日志所占空间
  18. tcpdump命令解析
  19. 车载TBOX嵌入式设备软件的功能测试
  20. int,long,long long对应10的数量级【c语言】

热门文章

  1. 【转帖】SQLServer登录连接失败(error:40-无法打开到SQLServer的连接)的解决方案...
  2. HIVE QL 杂记
  3. CSS3边框背景-边框背景(-border-image)
  4. 一步步学习汇编(8)之指令
  5. 为一月份开设的组队学习课程投票啦
  6. 宁彦吉:如何进行作业的评审?
  7. 【直播】杨剑砺:数据可视化漫谈
  8. Matlab与线性代数 -- 矩阵的加法与减法
  9. 远程办公是巨头游戏?十倍扩容,他们如何做到百万级并发流量
  10. 2020年,为什么说入坑AI是最好的时机?