点上方计算机视觉联盟获取更多干货

仅作学术分享,不代表本公众号立场,侵权联系删除

转载于:集智书童

AI博士笔记系列推荐

周志华《机器学习》手推笔记正式开源!可打印版本附pdf下载链接

1简介

在本文中,作者观察到在应用ViT进行图像识别时存在两级冗余。首先,固定整个网络的Token数量会在空间层面产生冗余特征;其次,不同Transformer之间的注意力图是冗余的。

基于上述观察,作者提出了一种PSViT:一种带有Token pooling和Atention共享的ViT以减少冗余的同时有效增强特征表示能力,实现更好的速度-精度权衡。

具体来说,在PSViT中,Token pooling可以定义为在空间级别上减少token数量的操作。并在相邻的Transformer层之间建立Atention共享,以重用相邻层之间相关性较强的Attention Map。然后,为不同的Token pooling和Atention共享机制构建一个紧凑的可能性组合集。基于所提出的compact set可以将每一层的token数量和Atention共享层的选择视为从数据中自动学习的超参数。

实验结果表明,与DeiT方法相比,该方法在ImageNet分类中准确率提高了6.6%

主要贡献

  1. 提出了一种基于Token pooling和Share Attention的PSViT方案,设计更好的视觉Transformer可以有效地增强特征表示;

  2. 为Token pooling和Share Attention提出了一组紧凑的设计选择,并在此基础上利用现成的AutoML方法学习最佳设计选择;

  3. 综合实验结果表明,与DeiT相比,该算法在ImageNet分类中的准确率提高了6.6%。

2Token Pooling and Sharing for Transformer

图3

2.1 Token Pooling

Token Pooling机制调整每个阶段的token数量,如图3所示。当网络深度增加时,本文减少token数量以消除空间冗余,增加特征维数以容纳更多不同的高级特征。

Token Pooling有2种设计选项:

  • 第1种方法:是将图像patch视为1D token,利用额外的CLS token进行分类任务。

  • 第2种方法:是去除CLS token,将图像patch保持在一个2D数组中,这与ResNet中的池化策略相同。

对于第1个策略,通过卷积和Max-Pooling来实现Token Pooling。与只减少token数量不同,本文目标是增强特性表示能力。这里首先利用一维卷积来改变特征维数(即每个token的维数),然后通过一维最大池化来减少token的数量。

作者将采用上述池化策略的网络命名为PSViT-1D

在第2种策略中,采用stride=2的二维卷积层进行Token Pooling,这在许多卷积网络中得到了广泛的应用。

这里将具有第2种池策略的网络命名为PSViT-2D

简单地在每一层之后添加一个Token Pooling层会迅速降低模型的表示能力。受到简历深层网络原则的影响,例如VGGNet, ResNet和MobileNet,作者在几层之后添加了一个Pooling层,并用相同的token number作为一个阶段来命名这些层。

Token 维度研究

为了增加ViT的表示能力同时保持其计算开销的FLOPs,可以有两种选择来修改网络结构:

  • 增加token尺寸而减少token数量或保持token 维度,

  • 增加变压器层数。

基于这2种选择对表1中的1D策略进行了一些初步实验,结果表明增加特征维数同时减少token数量是更好的选择

具体来说,在实验中,baseline模型固定特征尺寸,而表1中的Dimension1方案固定token维数,并在各个阶段减少token数量。为了平衡总计算量,增加了几个编码器层。表1中的Dimension2方案增加了token的维数,同时减少了token数量。

这2种方案设计的体系结构遵循计算均匀分布在阶段的原则。从表1中可以看出,这2种token维设计的性能要比通过整个网络固定特征尺寸的DeiT-Tiny模型好得多。在增加特征维数(维数2)的同时减少token数的方法性能最好。

设计选择分析

在CV任务中有2个特点。首先,正如第1节所讨论的,High-level特征在空间层面上具有冗余。因此,通过Token Pooling在空间层面上降低冗余是合理的。表1中的结果支持这一点,其中2个Token Pooling设计比没有Token Pooling的DeiT-Tiny模型性能要好得多。

深层网络中的不同层对不同层次的信息进行编码。低层次的特征,例如边缘和纹理,在浅层可以很少,可以共享来代表高级特征。相反,高层次的特征,例如不同视角的属性或对象,在更深层次上更难以共享。因此,大多数CNN的设计,如VGGNet、ResNet和MobileNet遵循的规则是越深层特征维度越高。表1中的结果也验证了这一点,其中在维度2中增加更深层次的特征维比在维度1中固定特征维表现得更好。

2.2 Attention Sharing

如图所示,连续多注意层次中的attention map是相似的。其中一个原因是,在transformer中使用了标识映射,并使用残差。在这种情况下,主要特征虽然被残差改变了,但不会有很大的变化。因此,相邻层的特征会彼此相似,从而产生相似特征之间的attention map。这种相似性导致了冗余。因此,采用一些共享机制来减少冗余,同时减少计算量。

具体来说,通过图(c)所示的相邻层之间的注意力计算过程来实现注意力共享的目的。如果一层重用了前一层的注意力分数,那么就不计算注意力分数以及Q和K。前面一层计算出的attention作为这一层的输入attention计算的整个过程。self-attention被简化为V与输入注意力分数的点积。

Attention Sharing可以帮助消除相邻transformer层之间attention map冗余。另一方面,一些相邻的图层可能具有非常不同的功能,共享它们的注意力图就不那么有效了。考虑到这一点,应该提供灵活性,使整个ViT仍然可以选择使用原来的多头注意力模块,而不sharing attention map。因此,在设计transformer整体架构时将Attention Sharing模块作为对原有独立多头注意力模块的可选方案。

3AutoML Enhanced Transformer

3.1 Search Space for PSViT

如前所述,token pooling是指在空间层面上减少token数量,增加每个token的特征通道数量的操作,这种操作可能会极大地影响特征的表示能力。因此,在ViT中特别考虑它的不同形式。

每个阶段的设计选择主要包括3个因素:

  • token数量,

  • token维数,

  • 每个阶段的层数。

为了得到这3个因素的最优选择构建了一个对它们有多个选择的搜索空间。搜索空间中的每个元素都将产生一个新的transformer候选网络体系结构。

在每一层中,token数量有种可能的选择,token维度有种可能的选择,每个map使用attention map有种可能的选择。对于L层,仅考虑token pooling的搜索空间将包含候选设计。例如,当= 4, = 4, = 4, L= 36时,大约有个选项,约倍的SPOS方法的大小。相比之下,SPOS每层有4个选择,而这个搜索空间每层有64个。这个搜索空间太大,每一层都有太多的选择。使用搜索算法从这个搜索空间中获得最好的架构花费了太多的时间。此外,每一层的选择过多可能会使现有的快速搜索算法失效。因此,需要缩小搜索空间。

设计搜索空间的原因如下:

  • 根据3.2.1节的分析,随着深度的增加,token维数增加,token数减少。这有助于通过删除不符合此规则的网络架构来减少搜索空间;

  • 遵循成熟的CNN设计,限制一个阶段中的多个层具有相同数量的token和相同的token维度。为了减少搜索算法所需的搜索空间和计算量,只使用了token pooling的3个阶段;

  • 对于每个阶段的层数,只考虑有限的层数,进一步减少搜索空间和计算量;

  • 为不同的层次提供了应用注意力共享或不共享的灵活性。

网络设计搜索空间

如果将每个阶段的层次数量和注意力图共享设置作为网络的超参数,那么学习它们的自然选择就是基于RL或EA的方法,这在搜索过程中非常缓慢。

因此,作者采用基于权值共享的方法作为本文的搜索算法,这需要定义一个supernet来囊括搜索空间中的所有候选架构。一种可能的supernet设计如图所示。supernet有3个阶段。在阶段之间放置一个token pooling层,以更改token number和特性维度。

每个阶段有6个单元,其中一个单元有3个路径选择,1个基本的transformer层,2个共享层(第1个transformer层的注意力映射被复制到第2层)和identity映射。

候选体系结构可以为每个单元独立地从3个选择中选择一条路径。通过包含identity映射,候选网络可以有0到36(所有单元选择共享层)transformer层。这种supernet设计为transformer架构提供了更大的可行性。

例如,候选对象只能为所有层选择基本层,这相当于2个token pooling层增强的transformer。作为另一个例子,一个候选架构可以在第一阶段为所有的前6个单元选择共享层路径,并为其余单元选择token,它有12个transformer层,每2层共享注意力图,但没有token pooling。

3.2 AutoML for the Searching

Training the supernet

前面构建的supernet包含了所有候选网络。对于supernet的每个单元都有多种选择。通过激活每个细胞中的一个选择,就可以构建一个候选网络。在训练过程中,SPOS对每次训练迭代进行统一采样,只选择一个候选网络,并在supernet中更新所选候选网络的参数。候选网络将继承supernet的训练参数,并不断更新这些参数。一旦supernet被训练,所有的候选网络都可以继承它的权值,而不需要从头开始进行搜索训练。

Searching from the trained supernet

对supernet进行训练后,将进化方法进一步应用于supernet中的所有候选网络,得到最佳的候选网络结构。

4实验

4.1 Classification实验

4.2 Object Detection & Instance Segmentation

4.3 可视化

5参考

[1].PSViT: Better Vision Transformer via Token Pooling and Attention Sharing

-------------------

END

--------------------

我是王博Kings,985AI博士,华为云专家、CSDN博客专家(人工智能领域优质作者)。单个AI开源项目现在已经获得了2100+标星。现在在做AI相关内容,欢迎一起交流学习、生活各方面的问题,一起加油进步!

我们微信交流群涵盖以下方向(但并不局限于以下内容):人工智能,计算机视觉,自然语言处理,目标检测,语义分割,自动驾驶,GAN,强化学习,SLAM,人脸检测,最新算法,最新论文,OpenCV,TensorFlow,PyTorch,开源框架,学习方法...

这是我的私人微信,位置有限,一起进步!

王博的公众号,欢迎关注,干货多多

王博Kings的系列手推笔记(附高清PDF下载):

博士笔记 | 周志华《机器学习》手推笔记第一章思维导图

博士笔记 | 周志华《机器学习》手推笔记第二章“模型评估与选择”

博士笔记 | 周志华《机器学习》手推笔记第三章“线性模型”

博士笔记 | 周志华《机器学习》手推笔记第四章“决策树”

博士笔记 | 周志华《机器学习》手推笔记第五章“神经网络”

博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(上)

博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(下)

博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(上)

博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(下)

博士笔记 | 周志华《机器学习》手推笔记第八章集成学习(上)

博士笔记 | 周志华《机器学习》手推笔记第八章集成学习(下)

博士笔记 | 周志华《机器学习》手推笔记第九章聚类

博士笔记 | 周志华《机器学习》手推笔记第十章降维与度量学习

博士笔记 | 周志华《机器学习》手推笔记第十一章稀疏学习

博士笔记 | 周志华《机器学习》手推笔记第十二章计算学习理论

博士笔记 | 周志华《机器学习》手推笔记第十三章半监督学习

博士笔记 | 周志华《机器学习》手推笔记第十四章概率图模型

点分享

点收藏

点点赞

点在看

超赞思想!牛津大学提出 PSViT 让Transformer模型不在冗余!!!相关推荐

  1. 全文翻译 | 华为、北大、悉尼大学:最新视觉Transformer综述(2017-2020年)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨坐化@知乎(已授权) 来源丨https://zhuanlan.zhihu.com/p/34211 ...

  2. 华为、北大、悉尼大学:最新视觉Transformer综述(2017-2020年)

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要25分钟 Follow小博主,每天更新前沿干货 来源丨https://zhuanlan.zhihu.com/p/342114940 转自丨极市 ...

  3. 人工智能突破!牛津大学的科学家用机器合成了“类人类思想”

    人工智能(AI)正在进化,牛津大学的研究人员在机器上合成了类似人类的思维. 人工智能新闻:牛津大学研究人员重现类人思维. 牛津大学的研究人员正试图在人工智能机器上重现人类的思维模式.他们的方法,使用语 ...

  4. 牛津大学人类未来研究所:万字长文谈AI新职场方向-政策研究

    最近两年,虽然AI这个词语充斥在人类的媒体和生活中,但实际上AI技术的发展才刚刚起步,目前AI能做的事情还非常初级.黑暗森林法则里的"技术大爆炸"不知道何时会突然到来,各种法律.伦 ...

  5. 最新综述:关于自动驾驶的可解释性(牛津大学)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨黄浴@知乎 来源丨https://zhuanlan.zhihu.com/p/426573034 ...

  6. 杜伦大学提出GANomaly:无需负例样本实现异常检测

    杜伦大学提出GANomaly:无需负例样本实现异常检测 本期推荐的论文笔记来自 PaperWeekly 社区用户 @TwistedW.在异常检测模块下,如果没有异常(负例样本)来训练模型,应该如何实现 ...

  7. Science上发表的超赞聚类算法

    论文. Clustering by fast search and find of density peak. Alex Rodriguez, Alessandro Laio 参考链接:Science ...

  8. 分享29个超赞的响应式Web设计

    原文自:http://www.csdn.net/article/2013-01-16/2813678-responsive-design-websites 最近几年,响应式Web设计不断印入人们眼帘, ...

  9. Data.gov.uk电子政务云,牛津大学NIE金融大数据实验室王宁:数据治理的现状和实践...

    牛津大学NIE金融大数据实验室王宁:数据治理的现状和实践 我是牛津互联网研究院的研究员,是英国开放互联网的一个主要的研究机构和相关政策制订的一个机构.今天主要给大家介绍一下英国数据治理的一些现状和实践 ...

最新文章

  1. java学习笔记(2):获取文件名和自定义文件过滤器
  2. Service Mesh 从“趋势”走向“无聊”
  3. 2019.7.16 网络层协议与应用
  4. Supplier 点participate时候用USB KEY的身份验证
  5. 用猎物皮毛换酒喝java_荒野大镖客2三星毛皮狩猎技巧分享 各种类猎物三星皮毛获取方法...
  6. dubbo的监控中心
  7. 计算机刚开机时执行的是,电脑刚开机就提示自动关机该怎么办
  8. android学习笔记---32_文件断点上传器,解决多用户并发,以及自定义协议,注意协议中的漏洞
  9. Day-04 基础数据类型list, tuple
  10. Python(八):条件与循环
  11. 用户故事与敏捷方法—优秀用户故事准则
  12. 三菱PLC进行连续数据采集、时序和故障追踪的方法
  13. 已安装flash插件,chrome仍提示未安装的解决方法
  14. No Matter What
  15. 苹果一体机装win10系统无声音
  16. 关于数学计算机手抄报简单的,关于数学的手抄报简单
  17. 人脸识别:特征脸(Eigenface)
  18. 单应性(Homography)变换
  19. 20210323 美团后台开发实习一面(快驴)
  20. 新手入门:计算机网络基础知识总结

热门文章

  1. linux中mysql导入文件,linux下mysql导入sql文件命令
  2. python定义一个整数变量_python循环定义多个变量的实例分析
  3. clip许可证设备id与绑定设备不匹配_LINUX SPI通用字符设备模型介绍(SPI模块分析结束篇)...
  4. python3-pwntools教程_记一次five熬夜重装pwntools
  5. android java thread_Android中断并重启一个Thread线程的简单方法
  6. 全连接神经网络_【模型解读】从“局部连接”回到“全连接”的Non-Local神经网络...
  7. 详细设计 英文_官宣 | 闽江学院官方文创产品设计稿征集
  8. java家政项目,基于javaweb的家政服务毕业设计
  9. 通信模块开发 c语言,I2C通信模块c语言库文件
  10. 计算机用户里dell占c盘太多,我的本是戴尔,用的是Win732位旗舰版系统,C盘里面的用户总是爆满是为什么,求解...