谷歌:一篇论文,让研究者吃我三份安利

文 | 白鹡鸰想用Transformer做CV
编 | 小轶想用Transformer做NLP

前言

计算机视觉、机器学习,这两个词会让你想到什么?

相信绝大多数人第一反应都是CNN,而持续关注这些领域发展的人,则会进一步联想到近几年大火的Transformer,它不仅在自然语言相关任务上表现优秀,在图像领域同样取得了相当不错的效果。去年10月份Google推出的Vision Transformer (ViT),就在图像识别任务上用更高的学习效率,达到了不亚于ResNet的精度。当一个模型性能达到SOTA之后,很自然地,人们就会想去探究它的原理,并和先前的模型进行比较。今年上半年,普林斯顿大学就从错误一致性的角度比较了ViT与ResNet,最终发现ViT更容易错判形状相似的物体,而ResNet的识别更依赖纹理信息 [1]。最近,Google则对网络本身进行了进一步的探索,试图通过追踪模型学习表征的过程,确认ViT和ResNet在处理图像的原理上是否一致

论文题目:
Do Vision Transformers See Like Convolutional Neural Networks?

论文链接:
http://arxiv.org/abs/2108.08810

方法

ResNet与ViT回顾

在开始研究区别之前,我们先快速回顾一下ResNet和ViT分别是谁,长什么样。

首先是 ResNet,深度残差网络,2015年ImageNet挑战赛冠军。通过如下图所示的残差块实现网络层上的跳跃,从而将模型的优化目标从寻找函数的等价映射改为了逼近零,弱化了网络变深对模型性能的负面影响。目前为止,基于ImageNet数据集训练的ResNet50仍然是图像处理任务中使用频率最高的预训练模型之一

▲ResNet核心部件——残差块
▲ResNet结构

ViT 则是从NLP领域红的发紫的Transformer改编而来。编码-解码的结构,中间加一个多头注意力机制。ViT主要的改变就是在输入端,将图像进行了分块和降维,从而将图像变成一种类似于词语编码的表达方式,方便了后续处理。经过了这一小步的改动,ViT在JFT-300M(ImageNet的300倍放大版,3亿张图像)上预训练的模型成功超越了ResNet152 [2]。

▲ViT结构

超越ResNet虽然有难度,但也算不上大新闻。ViT能引起讨论热度的主要原因是它跨界了,不仅制霸NLP,如今还可能给CV翻篇。这样的可能性自然是让人坐不住了,如果存在一个方法能作为不同模态不同类型任务的通解,那AI大一统时代说不定也就不远了。那么,在这一美好愿望成真之前,更需要谨慎地检验: Transformer 处理图像时获取的特征是否和之前主流的 CNN 有所区别

  • 如果它们虽然处理数据方法有所差异,但决定输出的特征是高度相似的,则意味着目前CV的模型已经接近了人类判断图像时所基于的依据

  • 而如果模型中决定性的特征有所不同,则可以进一步研究哪一种特征对信息的表征效果更好,或者两类模型还能相互借鉴,从而获得新一轮的性能提升。

比较方法——CKA

基于这样的动机,Google用Centered Kernel Alignment (CKA)对ResNet和ViT的一些关键层进行了检验。首先了解一下CKA这种方法。CKA是Google在2019年提出的,用于衡量神经网络中层与层之间相似度的指标 [3]。假设想要检测的两层网络分别有个神经元,取个样本通过模型,则分别可以获取的表征矩阵。基于点积的相似性,首先可以获得

此处下标F代表Frobenius范数。根据上式,可以推导出

然后根据Hilbert-Schmidt Independence Criterion (HSIC)[3]的表达式,将中的列通过核函数对应到上,使得,可以得到HISC的经验估计值

此处是中心矩阵,即。归一化之后即为CKA指标

这个指标的优势在于,它能够确定基于不同随机初始化和不同宽度训练的神经网络的隐藏层之间的对应关系。因此,适合用于寻找ResNet和ViT中是否存在有对应的网络层。

关键结论

利用CKA,研究者发现ResNet和ViT在最接近输入的网络底层(lower layer)时,表征的内容持有较大的相似度;然而,由于两个网络处理表征的方式有很大区别,在层层传递之后,在接近输出的网络上层(higher layer)两者的表征最终区别很大。

▲在网络的底层,ViT和ResNet还有较大的相似度

两个在底层表征上有相似之处的网络,居然长着长着发展到了两个方向。因为ResNet在处理输入时,需要经过更多层才能获得类似于ViT底层的表征,由此引发了一个合理的猜想:两个网络在整合全局信息的能力上存在差异

为了验证这个想法,研究者先是对ViT的不同层中,注意力集中区域的距离进行的计算,他们发现,ViT无论是低层还是高层,都是局部和全局信息混杂的,相比之下,ResNet更为严格地遵守从局部特征提炼全局特征的处理过程。这是导致两个网络中表征的差异逐层增加的一大关键因素。

▲ResNet的有效感受域有一个明确地从局部“生长”到全局的过程,而ViT只是在感知局部和全局信息的权重上发生调整

另一方面,这种差异的原因还可能来自ViT从底层到高层的相似度比ResNet高的这一现象。研究者认为,是ViT中的跳跃连接结构 (skip connection)保护了底层到高层的表征传递,如下图所示,如果撤掉特定块区上的这种连接结构,对应的表征信息就会立刻“失传”。

由于上述在处理信息过程上的差异,最终,ViT的高层表征能够更精细地保留局部空间信息。尤其是到了最后分类的关键时刻,ResNet还进行了一次全局的平均池化,进一步显著地减少了高层中局部信息的精细度。

▲ViT的高层保留的局部空间信息更多

通过全方位的比较,包括将隐藏层揪出来细细观察。最终,研究者下定结论:虽然它们在性能上不相上下,但以ResNet为代表的CNN与ViT在处理信息的工艺原理上大相径庭

最后的话

其实文章的结论没有特别出人意料的地方,毕竟ResNet和ViT的模型结构摆在那里,前期对两个网络分别的原理分析论文也不少了,Google这次的工作其实是把大家直觉性经验性的结论用可复现的实验规范地落在了纸上,并且努力夸夸ViT,好吸引更多研究者采用。引起白鹡鸰注意的是,在整个验证过程中,ViT模型是Google的,JFT-300M数据集是Google的,CKA度量指标也是Google的,这一整套完整的测评走下来,再一次让人不得不感叹Google的科研实力果然引领潮流。

不仅如此,论文的写作也确实又一次展现了业内标杆的风度,作为一篇原理解释型的文章,它没有将一大坨公式怼到读者脸上,而是通过一系列的自问自答,合理引导读者思路历程,清晰地说明了实验的动机和每个步骤的意义,并用图像佐证观点。这简直是泥石流中的一股清流,让近期饱受各类奇葩论文的白鹡鸰流下了感动的泪水,并觉得很有写作上的借鉴价值。

萌屋作者:白鹡鸰

白鹡鸰(jí líng)是一种候鸟,天性决定了会横跨很多领域。已在上海交大栖息四年,进入了名为博士的换毛期。目前以图像语义为食,但私下也对自然语言很感兴趣,喜欢在卖萌屋轻松不失严谨的氛围里浪~~形~~飞~~翔~~

知乎ID也是白鹡鸰,欢迎造访。

作品推荐:

  1. NLP太卷,我去研究蛋白质了~

  2. 谷歌40人发表59页长文:为何真实场景中ML模型表现不好?

  3. 学术&工业界大佬联合打造:ML产品落地流程指南

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

 

[1] Are Convolutional Neural Networks or Transformers more like human vision? https://arxiv.org/abs/2105.07197

[2] An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. https://arxiv.org/abs/2010.11929

[3] Similarity of Neural Network Representations Revisited. https://arxiv.org/abs/1905.00414

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 290. 单词规律(哈希)

1. 题目 给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。 示例1: 输入: pattern "abba&q…

开源开放 | 一个用于知识驱动的零样本学习研究的开源数据集KZSL(CCKS2021)

OpenKG地址:http://openkg.cn/dataset/k-zslGitHub地址:https://github.com/China-UK-ZSL/Resources_for_KZSL开放许可协议:CC BY-SA 4.0 (署名相似共享)贡献者:浙江大学(耿玉霞、陈卓、陈华钧)&#xff0c…

LeetCode 1022. 从根到叶的二进制数之和(递归)

1. 题目 给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是 13 。 对树上的每一…

别再Prompt了!谷歌提出tuning新方法,强力释放GPT-3潜力!

文 | Yimin_饭煲编 | 炼丹学徒如果评选NLP圈的2020年度十大关键词,那么GPT-3(Language Models are Few shot Learners) 一定榜上有名。GPT-3庞大的参数量,优异的性能至今仍让圈内圈外人都津津乐道,而OpenAI发布的OpenAI API&#…

大数据:任务调度,手把手教你

大数据:任务调度https://blog.csdn.net/qq_43713049/article/details/116985497 文章目录 任务调度一、任务流调度的需求二、任务流调度的工具三、Oozie的简介四、Oozie的2种使用方式五、WorkFlow 与 Fork 和 Join六、SubFlow:子工作流七、定时调度的实现…

人脸识别 | 你的论文离CVPR , 还有多远?

最近,一则人脸识别安全性问题的新闻上了热搜。(图片来自网络)虽然让不少人产生了“人在家中坐,债从天上来”的担忧,但也不由感叹人脸识别的发展与普及。人脸识别发展至今,已经在众多领域中占领重要地位。这…

LeetCode 455. 分发饼干(贪心)

1. 题目 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺…

开源开放 | 高质量体育赛事摘要数据集SGSum(CCKS2021)

OpenKG地址:http://openkg.cn/dataset/sgsumGitHub:https://github.com/krystalan/SGSum开放许可协议:CC BY-SA 4.0 (署名相似共享)贡献者:苏州大学(王佳安、张汀依、瞿剑峰、李直旭&#xff09…

消息队列设计精要

消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。 当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka&#x…

数学教育中的AI:NeurIPS’21 Workshop 欢迎投稿!

Workshop主页:https://mathai4ed.github.io数学推理是一种人类独特的智慧能力,也是人类在对科学和知识的探寻道路上不可缺少的基石。不过,数学学习通常是一项极具挑战性的过程,因为它依赖于指导者对学习内容的设计、教学和评估。从…

LeetCode 696. 计数二进制子串

1. 题目 给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的。 重复出现的子串要计算它们出现的次数。 示例 1 : 输入: "00110011" 输出: 6 解释: 有6个子串具有相同数量…

论文浅尝 - ISWC2021 | 当知识图谱遇上零样本视觉问答

论文题目:Zero-shot Visual Question Answering using Knowledge Graph本文作者:陈卓(浙江大学)、陈矫彦(牛津大学)、耿玉霞(浙江大学)、Jeff Z. Pan(爱丁堡大学)、苑宗港(华为)、陈华钧(浙江大学)发表会议:ISWC 2021论文链接:htt…

Java 8系列之重新认识HashMap

HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别&…

LeetCode 1042. 不邻接植花(图的数据结构)

1. 题目 有 N 个花园,按从 1 到 N 标记。在每个花园中,你打算种下四种花之一。 paths[i] [x, y] 描述了花园 x 到花园 y 的双向路径。 另外,没有花园有 3 条以上的路径可以进入或者离开。 你需要为每个花园选择一种花,使得通…

我用Transformer修复代码bug

源:机器之心本地化 Bug 并修复程序是软件开发过程中的重要任务。在本篇论文中,来自微软 CloudAI 部门的研究者介绍了 DeepDebug,一种使用大型预训练模型 transformer 进行自动 debug 的方法。首先,研究者基于 20 万个库中的函数训…

论文浅尝 | 一种基于递归超图的知识图谱问答方法

笔记整理 | 谭亦鸣,东南大学博士生来源:EACL’21链接:https://www.aclweb.org/anthology/2021.eacl-main.35.pdf概述与动机本文提出了一种基于递归超图的知识图谱问答方法RecHyperNet,作者认为人回答问题时倾向于在推理过程中递归…

模拟登录——添加cookies,使用postmanget请求网页数据

摘要: 在进行爬虫时,除了常见的不用登录就能爬取的网站,还有一类需要先登录的网站。比如豆瓣、知乎,以及上一篇文章中的桔子网。这一类网站又可以分为:只需输入帐号密码、除了帐号密码还需输入或点击验证码等类型。本文…

论文浅尝 | 神经网络是如何外推的:从前馈神经网络到图神经网络

笔记整理 | 王泽元,浙江大学在读硕士,研究方向为图神经网络,对比学习。什么是外推?指从已知数据的孤点集合中构建新的数据的方法。与插值(interpolation)类似,但其所得的结果意义更小&#xff0…

恕我直言,很多调参侠搞不清数据和模型谁更重要

作者:Dario Radecic,Medium 高质量技术博主编译:颂贤▲图源:[Brandon Lopez]一般的AI课程会介绍很多如何通过参数优化来提高机器学习模型准确性的方法,然而这些方法通常都存在一定的局限性。这是因为我们常常忽视了现代…

LeetCode 720. 词典中最长的单词(Trie树)

1. 题目 给出一个字符串数组words组成的一本英语词典。从中找出最长的一个单词,该单词是由words词典中其他单词逐步添加一个字母组成。若其中有多个可行的答案,则返回答案中字典序最小的单词。 若无答案,则返回空字符串。 示例 1: 输入: …