所有文章 > 正文

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

作者: 水木番

时间: 2021-05-17 17:23

谷歌昨天提出的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

二维码 扫码微信阅读
推荐阅读 更多