点击上方“视学算法”,选择加"星标"或“置顶

重磅干货,第一时间送达

梦晨 水木番 发自 凹非寺
量子位 报道 | 公众号 QbitAI

这是你眼里的一只猫:

这是CNN眼里的一只猫:

这是ViT (Vision Transformer)眼里的一只猫:

从去年起,Transformer忙着跨界CV,如ViT在图像分类上准确率已超过CNN,大有取代之势。

这背后的原因是什么?

最近普林斯顿的一项研究认为,Transformer的运作方式更接近人类,连犯错的方式都和人类一样。

研究团队在图像分类的准确率之外,增加了对错误类型的分析。

结果发现,与CNN相比,ViT更擅长判断形状

此前在ICLR2019上发表的一篇论文提出,用ImageNet训练的CNN模型更倾向于通过纹理分类图像。

如下图中混合了大象皮肤纹理的猫被判断成了大象。

来自arXiv:1811.12231

虽然说这更可能和ImageNet的数据纹理信息更丰富有关。

但ViT模型,使用相同数据集训练,就倾向于通过形状分类图像,并且表现比CNN更好。

用形状分类物体也是人类的倾向。不信的话,试试回答下图的问题:右面的三个物体中哪个与左边的是同类?

来自DOI: 10.1016/0749-596X(92)90040-5

这意味着,使用ViT不仅能建立更高效的视觉神经网络,甚至对理解人类视觉的运作方式都有帮助。

这么神奇?

下面来看看CNN与Transformer与人脑的联系分别在哪里。

CNN:从猫身上获得灵感

大脑的不同区域对视觉信息有不同的处理方式,CNN主要模仿的是“腹侧流 (Ventral Stream)”在物体识别、分类上的运作方式。

1981年获得诺贝尔生理和医学奖,由神经科学家Hubel和Wiesel发现猫的视觉皮层中有简单细胞复杂细胞两种。

每个简单细胞对一个特定角度的长条物体反应最强烈,而复杂细胞接受许多个简单细胞传出的信号,就能做到将不同角度的长条物体识别成同一个。

在CNN中,这两种细胞的工作被分配给了卷积层池化层

卷积层中的神经元像简单细胞一样,仅和上一层的部分区域相连接,学习局部特征。

最大池化 (Max Pooling)操作就是模仿复杂细胞,对简单细胞中信号最强的作出反应。

这就是CNN从动物视觉中学到的第一个重要特性“局部连接”。

在卷积层和池化层中使用局部连接,仅在最后输出结果前加入全连接层,使CNN获得了“平移不变性”。

也就是把图像稍微挪动位置,也可以识别成相同的特征。

另外,与全连接的神经网络相比,局部连接的方式还大大减少了需要的参数量,降低训练成本。

为了进一步节省资源、提高效率,CNN在此基础上发展出另一个特性“权重共享”。

隐藏层中的每个神经元都使用相同的过滤器,也就是卷积核

就像这样:

来自freecodecamp

卷积核中的相同的参数使用在每一次卷积操作中,进一步降低了需要的参数量。

不过,与生物视神经的不同之处也随之出现了。

ViT: 拥有多个注意力中心

让我们再来看看人眼的注意力机制

人是不能同时看清视野左右两端边缘上的物体的。

当你把目光聚焦到一边时,另一边只能模糊的感觉到有无物体存在,看不清具体的形状或颜色。

不信的话现在就可以试一试。

这是因为感光细胞在视网膜上的分布并是不均匀的。

人眼的感光细胞分为视杆细胞(Rods)和视锥细胞(Cones)两种。

视杆细胞主要负责感知光的亮度,不能很好地分辨细节。

而在光亮度足够时能分辨颜色和形状的视锥细胞,集中分布在视网膜中心处。

只有在目光聚焦的位置上可以看清细节,所以我们观察时要不停地转动眼球,将目光聚焦在视野上的不同位置,这就产生了注意力机制。

不过比人眼更先进的是,神经网络可以拥有多个注意力,被称为多头注意力(Multi-Head Attention)机制。

一句话是一个序列

在NLP任务中,Transformer将文本作为一个序列来处理。

有了注意力机制,就可以在长序列中注意到每个词与其他词间的关系,实现上下文关联的机器翻译。

一张图也是一个序列

谷歌大脑团队进一步提出,图像在分解成小块之后,再配合位置编码,也可以当作一个序列来处理。

就像在NLP领域Transformer可以有效注意到一个词与上下文的关系一样,在CV领域也可以汇总图像的全局特征进行学习。

用于图像分类的ViT就此诞生,开启了Transformer的跨界刷屏之旅。

犯错的方式都和人一样

在普林斯顿大学对比CNN和ViT的这篇论文中,还建立了错误一致性这个指标来对各个模型进行评判。

从WordNet中选取了16个概念(如飞机、熊、键盘等)来衡量CNN和ViT犯错的类型。

从结果可以看出,ViT和人类一样,更倾向于通过形状判断物体。

未来趋势

ViT问世之初来势汹汹,以至于很多人都在问,注意力机制这是要取代卷积吗?

从最近的趋势看来,Transformer在CV领域的应用,反倒是刺激了二者的结合统一

卷积擅长提取细节,要掌握全局信息往往需要堆叠很多个卷积层。

注意力善于把握整体,但又需要大量的数据进行训练。

如果把两者结合起来,是不是能够取长补短?

把注意力引入CNN的有谷歌推出的BoTNet就是简单把ResNet的最后瓶颈块中的3x3卷积替换成全局自注意力,没有别的改变,就在减少开销的情况下提高了性能。

之后麦吉尔大学和微软又把卷积引入Transformer架构的CvT(Convolutional vision Transformers),去除了Transformer中的位置编码,提升对于高分辨率视觉任务的效果。

最近,谷歌大脑Quoc Le团队利用简单的相对注意力把两大架构自然地统一起来,提出了混合模型CoAtNet

看来,强强联合果然不错。

这还没结束,除了卷积与注意力的协作以外,甚至有人从更高的层面开始尝试将二者统一。

上海交大和华为的研究,用对卷积特征的变换操作达到近似自注意力的效果,提出全新的算子X-Volution,可以在任何现代神经网络结构中使用。

港中文提出更是将CNN、Transformer以及MLP都统一在一起,提出了用于多头上下文聚合的通用结构Container,取得了超越三大架构及混合架构的成绩。

ViT:
https://arxiv.org/abs/2010.11929

ViT比CNN更像人类:
https://arxiv.org/abs/2105.07197

CNN纹理偏差的来源:
https://arxiv.org/abs/1911.09071

BoTNet:
https://arxiv.org/abs/2101.11605

CvT:
https://arxiv.org/abs/2103.15808

CoAtNet:
https://arxiv.org/abs/2106.04803

X-Volution:
https://arxiv.org/abs/2106.02253

Container:
https://arxiv.org/abs/2106.01401

参考链接:
[1]https://arxiv.org/abs/1706.09077
[2]https://towardsdatascience.com/a-comprehensive-guide-to-convolutional-neural-networks-the-eli5-way-3bd2b1164a53
[3]https://arxiv.org/pdf/2101.01169.pdf
[4]https://ai.googleblog.com/2017/08/transformer-novel-neural-network.html

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

点个在看 paper不断!

正面刚CNN,Transformer居然连犯错都像人类相关推荐

  1. 脑洞大开!拿Transformer和CNN比较!犯错都像人类

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:量子位 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 这是 ...

  2. 谷歌首席决策科学家:AI难免犯错,唯有人类可以悬崖勒马

    Cassie Kozyrkov在过去五年里在谷歌担任过各种各样的技术职务,但她现在担任着"首席决策科学家"这个有点奇怪的职位."决策科学是数据和行为科学的交叉学科,涉及统 ...

  3. 老师助手为什么总是服务器错误,【家长助手】孩子在校总犯错 解决内因最关键...

    原标题:[家长助手]孩子在校总犯错 解决内因最关键 为什么孩子一而再.再而三地与同学发生矛盾,在学校里总是犯错误?家长软硬兼施也不见效,孩子不但意识不到自己的错误,还觉得自己挺委屈.家长应该从何下手帮 ...

  4. 电子路考容易犯错的五大细节

    正在学车的你,知道在电子路考中哪些是考生常犯的错误吗?下面,小编为大家带来学车考生参加科目三考试特别容易犯错的地方,尤其是不按规定使用转向灯和在超车时不能根据道路交通情况合理选择行车道或速度这两项犯错 ...

  5. python index false_整理了 Python新手 最容易犯错的 10个坑!

    原标题:整理了 Python新手 最容易犯错的 10个坑! 相比于其他语言,Python 的语法比较简单易学,但一旦不注意细节,刚入门的新手就会掉进语法错误的坑里.今天给大家讲几个平常比较容易掉的&q ...

  6. 管理就是通过别人完成任务,别怕员工犯错

    互联网时代,每一位知识工作者,都是管理者.领导力已不再是某些人的专属能力,而成为每一个人生存.发展所需的硬技能.领导力不是天生的基因带来的能力,而是一系列可操作.可模仿.可践行的工具:沟通视窗.目标管 ...

  7. 搜索行为和关键词分析(二):用户也会犯错(转)

    所有的seo最重要的就是关键词分析+站点对搜索友好.在上篇文章中,石头介绍了为什么要进行用户搜索行为分析,以及搜索用户行为的一些变化趋势.今天,我将延续上次的话题,跟大家谈谈具体的一些用户关键词搜索行 ...

  8. 点石互动--石头之用户搜索行为与关键词分析(二):用户也会犯错

    点石互动   石头 发表于 06月 13, 2007 所有的seo最重要的就是关键词分析+站点对搜索友好.在上篇文章中,石头介绍了为什么要进行用户搜索行为分析,以及搜索用户行为的一些变化趋势.今天,我 ...

  9. 计划落空与犯错--写给宝宝

    宝宝,计划永远赶不上变化. 很多突发的事情,很多外因,很多内因,很多无法确定的东西会阻止计划得以按时,按阶段,按目标达成. 想起最近的好几次事情.就是宝宝你总是会去接下班的我.但是好几次,当你刚刚出门 ...

最新文章

  1. 拼多多就知乎不当评论致歉!相关部门已展开调查
  2. 一点一滴培养你的领导气质
  3. WINCE6.0操作系统---内核(kernel)学习
  4. 借助Docker单机秒开数十万TCP连接
  5. Hyperledger Fabric 区块数据结构(1)Block
  6. 电路知识--认识原理图(四)
  7. nullable field verification in gateway backend
  8. aws iam 架构图_使用IAM保护您的AWS基础架构
  9. ai里怎样取消扩展外观_扩展AI:困难的5个原因
  10. django mysql内存泄漏_Django ORM性能优化,数据存取优化
  11. python超链接格式_用Python在本地文件夹中插入超链接
  12. 转录组分析_20个必须知道的转录组知识点!
  13. tp无线路由器设置打印服务器,打印服务器复位大全tplink路由器设置
  14. 一个简单的HTML网页 故宫学生网页设计作品 dreamweaver作业静态HTML网页设计模板 旅游景点网页作业制作
  15. STM32F103_study52_The punctual atoms(STM32 The running light experiment )
  16. 学计算机需要会拼音吗,不会拼音如何学习电脑?
  17. 融会贯通面对对象编程思想
  18. 关于华为OD机考的澄清 + 说明
  19. Bing(必应)搜索,为什么用户越来越多?
  20. Kafka SASL/PLAIN 环境构建(Docker版)

热门文章

  1. POJ 3683 【2-sat+求一组可行解】.cpp
  2. TFS2008 + Windows2003 + Sql2005 安装注意事项
  3. 【组队学习】【30期】6. 树模型与集成学习
  4. LeetCode实战:求众数
  5. 【Codeforces】1111B - Average Superhero Gang Power
  6. 阿里云发布第四代神龙架构云计算首次进入5微秒时延时代
  7. 从最强AI算力到“元脑”2.0,智算加速产业变革
  8. 赠书 | 从阿里到Facebook,一线大厂这样做深度学习推荐系统
  9. 20万个法人、百万条银行账户信息,正在暗网兜售
  10. 让学生网络相互学习,为什么深度相互学习优于传统蒸馏模型?| 论文精读