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

重磅干货,第一时间送达

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

谷歌昨天提出的MLP-Mixer,可谓是小火了一把。

简单来说,就是不需要卷积模块、注意力机制,就可以达到与CNN、Transformer相媲美的图像分类性能。

但看到新闻的牛津大学博士Luke Melas-Kyriazi,却沮丧了好一会:

因为大约一个月前,他就发现了可以用前馈层替换注意力层,并已经获得了很好的效果。

也就是说,他的方法和MLP-Mixer差不多……

所以当他看到报纸时,他甚至一度曾考虑报废自己的成果。

但他最终还是把成果发在了arXiv上,全文包括了4页的报告和代码。

让我们来看看他的成果。

研究原理

视觉transformer在图像分类和其他视觉任务上的强大性能,通常归因于其multi-head 注意力层的设计。

但是,目前尚不清楚引起这种强劲表现的程度。

而在这份简短的报告中,他亮出了核心观念:

注意力层是必要的吗?

具体来说,他将视觉transformer中的注意力层,替换为应用于patch dimension的前馈层。

最终产生的体系结构,只是一系列以交替的方式应用于patch和特征dimension的前馈层。

在ImageNet上进行的实验中,此架构的性能出奇地好:

基于ViT / DeiT的模型,可达到74.9%的top-1精度,而ViT和DeiT分别为77.9%和79.9%。

他的结果表明,无需注意力层,视觉transformer的其他方面,例如patch embedding,可能是其性能强大的主要原因。

他也希望这些结果能帮助大家,花更多的时间,来理解为什么目前的模型能像现在这样有效。

MLP-Mixer的原理

再回头看看谷歌的MLP-Mixer。

MLP-Mixer是一种仅基于多层感知机(MLP)的体系结构。

MLP-Mixer包含两种类型的层:一种具有独立应用于图像patches的MLP(即“混合”每个位置特征),另一种具有跨patches应用的MLP(即“混合”空间信息)。

MLP-Mixer用Mixer的MLP来替代ViT的transformer,减少了特征提取的自由度,并且巧妙的可以交替进行patch间信息交流和patch内信息交流。

从结果上来看,纯MLP貌似也是可行的,而且省去了transformer复杂的结构,变的更加简洁。

你品,你细品!

怎么样,是不是很像?

Luke Melas-Kyriazi自己说,这是与谷歌MLP-Mixer并行的研究,idea完全相同,不同之处在于使用了更多的计算。

网友:几乎相同,但好过谷歌!

论文看起来与MLP-Mixer几乎相同,除了Mixer的大数据方法中包含了花式的数据和长效的实验。

他的“前馈层堆栈”比MLP-Mixer的还要精确得多!

而他也表示:

正是大公司的介入使竞争越来越激烈,他们可以在更短的时间内进行更多的实验,就像高度优化的造纸机。

好吧,果然大神们的世界做课题的方向和速度都是一样的“神”。

有兴趣的亲们记得去看这两个研究的原文。

团队介绍

Luke Melas-Kyriazi 哈佛大学数学系毕业生、现牛津大学博士。

目前,在牛津大学Andrea Vedaldi教授指导下,Luke攻读方向为机器学习和计算机视觉,专注于半监督和多模式学习研究。

参考链接:

[1]https://www.reddit.com/r/MachineLearning/comments/n62qhn/r_do_you_even_need_attention_a_stack_of
[2]https://arxiv.org/abs/2105.02723
[3]https://www.reddit.com/r/MachineLearning/comments/n59kjo/r_mlpmixer_an_allmlp_architecture_for_vision/
[4]https://arxiv.org/abs/2105.01601
[5]https://zhuanlan.zhihu.com/p/369959580
[6]https://www.163.com/dy/article/G9AVMRPD0511DPVD.html

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

点个在看 paper不断!

还需要“attention”吗?一堆“前馈层”在ImageNet上表现得出奇得好相关推荐

  1. 还需要“注意力层”吗?一堆“前馈层”在ImageNet上表现得出奇得好

    水木番 发自 凹非寺 量子位 报道 | 公众号 QbitAI 谷歌昨天提出的MLP-Mixer,可谓是小火了一把. 简单来说,就是不需要卷积模块.注意力机制,就可以达到与CNN.Transformer ...

  2. 仅需12层网络,在ImageNet上准确率达到80.7%!普林斯顿大学最新提出ParNet!

    [导读]自从2012年深度学习兴起以来,深度,宽度,多尺度,分辨率,group数目,注意力模块等等都是影响卷积神经网络性能的关键因素.因此,后面大多网络比如:VGGNet.HighwayNet.Res ...

  3. 怎么发表博客,还不能显示在自己的博客首页上,这还不如玩单机!

    怎么发表博客,还不能显示在自己的博客首页上,这还不如玩单机! 怎么发表博客,还不能显示在自己的博客首页上,这还不如玩单机! 怎么发表博客,还不能显示在自己的博客首页上,这还不如玩单机! 转载于:htt ...

  4. Linus 在谷歌介绍 Git,内容很精彩,还顺带骂了一堆人(视频)

    (给程序员的那些事加星标) Linus Torvalds 不用多介绍了,程序员基本都知道.他除了创造了 Linux,还创造了版本控制系统 Git. 为什么他要开发 Git? 2005 年 3 月底,L ...

  5. feed-forward layer (前馈层)(feed-forward network 前馈神经网络,FFN)

    feed-forward layer指的是 a linear layer or a single-layer MLP 说白了就是一个fc层 出自牛津<Do You Even Need Atten ...

  6. ClownFish:比手写代码还快的通用数据访问层

    最近花了二个月的业余时间重写了我以前的通用数据访问层, 由于是重写,所以我给这个项目取了个新名字:ClownFish 如果需要了解ClownFish的使用方法,请点击ClownFish 使用说明 Cl ...

  7. MiniDao 比Mybatis还灵活实用的J2EE 持久层轻量级解决方案

    MiniDao 详细地址:http://zhangdaiscott.github.io/MiniDao/ 源码下载地址:http://code.google.com/p/jeecg/downloads ...

  8. 网络协议分析 | 传输层 :史上最全UDP、TCP协议详解,一篇通~

    文章目录 UDP 概念 格式 UDP如何实现可靠传输 基于UDP的应用层知名协议 TCP 概念 格式 保证TCP可靠性的八种机制 确认应答.延时应答与捎带应答 超时重传 滑动窗口 滑动窗口协议 后退n ...

  9. 实战SSM_O2O商铺_15【商铺注册】View层+Controller层之图片上传

    文章目录 概述 Maven依赖 文件上传解析器bean的配置 页面 shopoperation.html增加上传组件 shopoperation.js Controller层 Github地址 概述 ...

最新文章

  1. 刻意练习:LeetCode实战 -- Task26.判断子序列
  2. SpringBoot + MyBatis + MySQL 读写分离实战
  3. Log4j 2 介绍
  4. xp系统怎么连接云服务器,xp系统怎么连接云服务器
  5. Nodejs模块、自定义模块、CommonJs的概念和使用
  6. php中args,PHP中的重载,即__call($name , $args)的使用
  7. 算法题目——生成括号匹配
  8. 张正友相机标定Opencv实现以及标定流程标定结果评价图像矫正流程解析(附标定程序和棋盘图)
  9. Windows小技巧 -- Win+R提高Windows使用效率
  10. SmartDNS设置和各个选项意义使用指南
  11. 最新席瓦莱恩服务器人口比例,2021魔兽世界怀旧服3月人口普查_最新怀旧服3月人口普查数据一览_3DM网游...
  12. Bought a new glass in BeiJing Pan Jia Yuan
  13. Unity绿幕视频后期制作方案探索
  14. java获取pfx证书私钥_从PFX文件中读取私钥
  15. chrome插件,常用插件,必备插件,黑科技
  16. android获取imei需要read_phone_state吗,Firemonkey android read_phone_state运行时权限要求获取IMEI...
  17. 少儿编程Scratch学习教程--Scratch介绍及参赛相关
  18. 超级计算机在日常生活中有哪些有趣的应用
  19. Java调用MaxMind GeoIP库查询IP地理信息
  20. 前端面试题总结以及vue在工作中常见的错误

热门文章

  1. 电子学会青少年编程等级考试Python一级题目解析11
  2. LeetCode实战:两数之和
  3. 【ACM】POJ 3069
  4. php字符串替换多余逗号_PHP字符过滤函数去除字符串最后一个逗号(rtrim)
  5. 数据爆发时代,英特尔携手腾讯构筑全面的数据长城
  6. 腾讯天衍实验室夺世界机器人大赛双冠军,新算法突破脑机接口瓶颈
  7. CSDN湘苗培优|火热报名中
  8. 易观的大数据中台之路
  9. 代码测试意味着完全消灭了Bug?
  10. 用Python解锁“吃鸡”正确姿势