MLP-Mixer,External Attention,RepMLP

MLP-Mixer,External Attention,RepMLP

MLP-Mixer:An all-MLP Architecture for Vision (Google)

本文想说明虽然conv与attention都在CV上取得好的效果,但是他们并不是必须,提出一种完全基于MLP的架构,MLP-Mixer,主要包括两种,一种MLP独立作用于图像patch,旨在混合per-location特征,另一个旨在混合空间信息。最终表现和训练推理成本在图像分类任务上是competitive。

mixer接受patches*channel表格式输入,并维持该维度,运用channel-mixing MLP(对table中的不同channe)和token-mixing MLP(对于patches或者是叫tokens的不同spatial locations),极端情况下可以看作一种特殊的CNN,用1x1的conv来channel mixing,token mixing:对单通道内进行全感受野的depth-wise conv并且参数共享。但是典型的CNN不等于mixer的特例,卷积比简单矩阵相乘更复杂,需要更多计算和特殊实现,
在这里插入图片描述
作者提出深度视觉架构涵盖两个mix:(1).给定的spatial location上,(2).不同的spatial location之间。

  • CNN:1x1 conv:(1),larger kernel:(1)+(2)
  • transformer:SA layers:(1)+(2),MLP_blocks:(1)

mixer有相等大小的多层,每层含有两个MLP_blocker,第一个是token-mixing,作用在列,第二个是channel-mixing,作用在行。激活用GELU
在这里插入图片描述

  • 总而言之:谷歌这篇文章个人觉得是用了自家两个法宝,TPU算力和JFT300,之前业内提出CNN与RNN一样根据领域知识作为inductive bias的设计,谷歌尝试减少这部分限制,想用数据和算力让机器自己去学,但是不能说完全没有inductive bias,图像分patch然后经过同样的MLP,本质上和conv还是类似的。或许当数据和算力没有约束的时候,算法也就会变得更加plain,也就会更加减少handcraft的部分,但是就这篇文章来看,这种形式相较于transformer缺少了动态的内容感知性的部分(如patch间/内的attention)

  • 深度学习中什么是归纳偏置?
    可以理解为 归纳性偏好,例如比如深度神经网络结构就偏好性的认为,层次化处理信息有更好效果;卷积神经网络认为信息具有空间局部性(locality),可以用滑动卷积共享权重方式降低参数空间;反馈神经网络则将时序信息考虑进来强调顺序重要性;图网络则是认为中心节点与邻居节点的相似性会更好引导信息流动。可以说深度学习时代,纷繁的网络结构创新就体现了不同的归纳性偏好。

  • 最后个人劝一句:大家还是以问题为导向出发去关注领域内的痛点,而不是以模型(无论transformer还是MLP)为出发,谷歌工作中工业风的水很深,年轻人把握不住。现在的瓶颈期就是难题难解决,花活整热点。乱花渐欲迷人眼,浅草才能没马蹄。

Beyond Self-attention: External Attention using Two Linear Layers for Visual Tasks (清华 胡事民组,在审)

​ SA虽然通过更新每个位置的特征通过计算成对相似性来做加权和,从而捕获到每个样本内的长程依赖关系,但是其具有三个缺点:(1)quadratic complexity二次复杂度,计算冗余.(2)忽略样本之间的额潜在关联(如不同样本同一类东西相似特征)。故external attention引入两个外部记忆单元(两个全连接+一个归一化)。具有线性复杂度,其隐式考虑所有样本相关性,并进行了图像分类,语义分割,图像生成,点云分类,点云分割的实验验证。

​ 这两个记忆单元可以反传,而且独立于单个样本,并且共享于整个数据集,具有一定正则化作用,提高了注意力泛化能力,并且external attention轻量级的本质关键在于,让memory中的element远少于输入特征,可以学习整个数据集最具有区别性的本质特征,捕获最信息丰富的部分,并排除其他样本的干扰,这点相似于稀疏编码与字典学习,但不同的是,本文不需尝试重建输入特征,也不用对注意力图进行任何显式的稀疏正则化。本文的EA不依赖语义信息,可以用bp算法用端到端方法优化,而不是用迭代聚类算法。
在这里插入图片描述
simplified SA :
在这里插入图片描述
​ 因为O(dN^2)的计算复杂度限制了SA在CV 的运用,例如VIT里面也是将图像分为patch而不是直接对pixel来做。

提出的EA:

​ 动机是可视化attention图时发现大多pixels与其他pixel强关联,证明N-N的attention矩阵比较冗余用两个独立的记忆单元M做k与v,计算复杂度讲到O(dSN), S是超参,可以选择小的值,如64,作者认为EA比SA有效,直接作用于最广域的输入。SA用softmax来norm,但是作者认为attention图是矩阵乘法计算的不同于cos距离,这个图是对于输入特征敏感的,所以作者提出double-norm,对行列分别norm,我寻思对输入大小敏感,那就变成cos距离呗。在这里插入图片描述
在这里插入图片描述
​ 表现结果有点微小提升,没复现不好说真正来源,感觉这篇有点急了,可能看mlp-mixer发了,热点起来了这篇也就公开了,感觉前面提的问题有卖点,但是落地的时候有点草率,另外EA学整个数据集的attention,感觉胃口有点大,但是上的菜又草草,不足以支撑前面提出的问题,没有其他的来深挖精炼自己特点,让人觉得模棱两可。其实我个人更相信数据而不迷信模型,而且我觉得这个模块叫做memory多少怪怪的,这个模块本意并不关注于序列的前后顺序。大家仁者见仁智者见智。另外之前有群里大佬(不是我,别怼我)提出这篇有点炒non-local冷饭,觉得像学了一组global-dictionary滤波,能用两个MLP+softmax就能达到提升还不像谷歌用了大数据,可能多少有些诡异了。另外只有效果,没有可视化可解释的证明,也使得这篇工作更像半成品。

Do You Even Need Attention? A Stack of Feed-Forward Layers Does Surprisingly Well on ImageNet (牛津 Luke Melas-Kyriazi简报 )

为什么vision transformer有效还是不清楚的,大多的文章认为归因于SA给了模型globa receptive field,本文实验出发点是希望能解释为什么SA在一开始就能工作那么好,具体就是将VIT中SA替换为在patch维度的前馈层。有点自然而然顺着之前Google那篇attention is not all you need工作的往下做的味了,之前那篇文章就提出没了skip connection和MLPs,transformer有点不行,skip connection可以缓解rank collapse,MLP可以减缓收敛速度。
在这里插入图片描述
在这里插入图片描述
在imagenet上实验显示,即使没有SA依然有较强性能表现,另外没有用超参数调优直接用VIT原版的超参数。这些结果作者认为表明:VIT的较强表现可能较少归功于大家普遍认为的attention机制,而是在其他因素,如由patch embedding产生的inductive bias,和精心设计的训练增强的手段。(作者这话说的属实有点狠)另外作者认为patch维度上的前馈层可看作一种特殊的卷积,全感受野而且单通道。feature维度的前馈层可以看作一个1x1的conv,从技术上来看,这更像一个伪装的一种CNN,但是话虽如此,实际结构还是transformer和传统CNN不同。

另外作者也尝试了只用attention层来训练,也就是将特征维度的前馈层换位attention,训练一个小模型(4M参数),效果糟糕,100epoch 28.2%top1。

总结:作者发现,没有attention层可能训出一个较强的分类器,但是没有前馈层只有attention层则不行,这个发现使得作者怀疑vit的成功是不是真的attention在起作用,或者是patch embedding?或者是训练步骤?同时也说仅用MLP比VIT有个优势就是复杂度会降低。但是仅用MLP有个缺点,就是限制了固定的长度序列,图像分类,图像可以裁剪大小还ok,但是对于其他任务是个问题。

另外仅MLP网络在NLP或者audio表现如何是个值得扩展研究的地方。并鼓励大家去思考为什么现在的模型表现出色。

RepMLP: Re-parameterizing Convolutions into Fully-connected Layers for Image Recognition(清华 丁贵广组)

写在前面:不得不说这波是文艺复兴,cvpr21刚蹭了一波懂王make VGG great again,就开始Rep一把MLP了,这是要make MLP great again too的节奏啊。另外这篇并不是像之前几篇一样关注于MLP或者attention,可以说和之前几篇不一个路子。其目标是用结构重参数技术,给MLP添加局部先验,来进行更强有力的图像识别。具体做法是在repMLP里构建卷积层,并在推理阶段将这些卷积层合并到MLP里(似曾相识燕归来)。最后cifar上简单的MLP可以取得和CNN比较接近的性能,而将repMLP+现有CNNs的时候会提升模型任务性能。并强调该发现说明:MLP的全局表达和位置感知能力+卷积的local先验的结合可以提升性能并加快速度,对于translation invariance的任务,如语义分割,和aligned images + positional patterns 相关的任务,如人脸识别。
在这里插入图片描述

总结

W is all you need.
在这里插入图片描述

附录

另外才疏学浅,文笔粗鄙,无意冒犯,大家可以参考这些大家传阅较多的博文。

CV圈杀疯了!继谷歌后,清华、牛津等学者又发表三篇MLP相关论文,LeCun也在发声

新坑!谷歌提出MLP-Mixer:一种无卷积、无注意力、纯MLP构成的视觉架构

清华&旷视提出RepMLP:将重参数卷积嵌入到全连接层

两层线性层结构超越自注意机制,清华计图团队提出External Attention

打脸!MLP-Mixer 里隐藏的卷积

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值