当前位置: 首页 > 科技观察

无需额外数据,ImageNet首次实现87.1%准确率,闫水成团队开源VOLO

时间:2023-03-16 21:52:48 科技观察

近十年来,计算机视觉识别任务一直由卷积神经网络(CNN)主导。尽管最近流行的VisionTransformers在基于自注意力的模型中显示出巨大的潜力,但在没有提供额外数据(例如ImageNet上的分类任务)的情况下,它们的性能仍然不如最先进的SOTACNN。目前在没有额外数据集的情况下,ImageNet上的最高性能仍然是谷歌DeepMind提出的NFNet(Normalizer-FreeNetwork)获得的。ImageNet分类性能实时排行榜(无额外数据集),来源https://paperswithcode.com/Cityscapesvalidation实时排行榜,来源https://paperswithcode.com/在最近发表的论文中,来自新加坡SeaGroup的颜水成教授领衔的SeaAILab(SAIL)团队针对高性能视觉识别任务提出了一种全新的深度学习网络模型结构——VisionOutlooker(VOLO)。它是一个简单而通用的结构,在不使用任何额外数据的情况下,在ImageNet上的图像分类任务上达到了87.1%的准确率目标;同时在分割数据集CityScapesValidation上取得了84.3%的性能,创下了ImageNet-1K分类任务和CityScapes分割任务上的两项新纪录。VOLO模型与SOTACNN模型(NFNet)和Transformer模型(CaiT)的ImageNettop-1精度对比。在参数较少的情况下,VOLO-D5优于CaiT-M48和NFNet-F6,并且在不使用额外训练数据的情况下首次达到87%以上的top-1准确率。严水城教授认为,以Transformer为代表的“图表示+注意力传播”因其灵活性和普适性,显示出成为各领域统一框架的潜力。VOLO算法表明,在视觉领域的Attention机制也可以超越CNN,证明了在各个领域走向模型统一的可行性。论文地址:https://arxiv.org/pdf/2106.13112.pdfGitHub地址:https://github.com/sail-sg/volo方法概述这项工作旨在缩小性能差距并演示基于案例、注意力的模型优于CNN。具体来说,作者发现限制自注意力模型在图像分类中性能的主要因素是将精细级特征编码为标记表示的效率低下。为了解决这个问题,作者提出了一种新颖的outlookattention并提出了一种简单通用的架构——VisionOutLOooker(VOLO)。与专注于粗略全局依赖建模的自注意力不同,展望注意力旨在有效地将更精细的特征和上下文编码为对识别性能至关重要但主要被忽略的自注意力主导的标记。OutlookerVOLO框架分为两个阶段,或者说由两个大块组成:第一阶段由多层outlooker组成,旨在生成精细级别的数据表示;第二阶段部署一系列转换器层来聚合全球信息。在每个阶段的开始,使用补丁嵌入模块将输入映射到相应大小的数据表示。第一阶段由多层outlooker组成。Outlooker是本文提出的一个特殊的注意力层。每层outlooker由一层outlookattentionlayer和MLP组成。一层outlooker的实现如下所示。其中,最核心的操作是Outlookattention,如下图所示:具体来说,outlookattention的操作如下:总体来说,outlookattention有以下优势:复杂度较低:相对于普通self-attention的时间复杂度度数为O(H^2xW^2),而outlookattention仅为O(HWxk2xk2)=O(HWxk4),窗口大小k一般只有3或5,小了很多比图像大小H和W。因此,它可以用于具有更高分辨率的特征图(例如,28x28标记),这是提高ViT的有效方法;更好地建模局部细节:适用于下游视觉应用,例如语义分割;KeyandQueryfree:outlookattention中间没有Key和Query,可以直接线性生成attentionmap,去掉MatMul(Query,Key),节省计算量;灵活性:很容易与自注意力形成混合网络。作者还提供了Outlookattention实现的伪代码,如下图所示:本文基于提出的Outlooker和传统的Transformer,提出了一种VOLO架构,该架构同样包括五个尺寸变体,从小到大依次为VOLO-D1到D5,架构如下图所示:实验研究人员在ImageNet数据集上评估VOLO,在训练阶段没有使用任何额外的训练数据,以带有TokenLabeling的LV-ViT-S模型为baseline.他们在具有8个NvidiaV100或A100GPU的单节点机器上训练所有VOLO模型,但VOLO-D5除外,它需要在双节点机器上训练。V0LO-D1到VOLO-D5模型的设置如下表3所示:MainResults在下表4中,研究人员将VOLO模型与SOTA模型进行了比较,所有结果均基于纯(pure)ImageNet-1k数据集,没有使用额外的训练数据。结果表明,VOLO模型优于之前的SOTA模型,如CNN和Transformer。具体来说,这项工作验证了所提出的方法在图像分类和分割方面的有效性。下图是VOLO在ImageNet上的实验结果。可以看到,VOLO-D1仅用27M的参数,就可以达到85.2%的准确率,远超以往所有机型。同时,VOLO-D5取得了87.1%的准确率,这是目前ImageNet在没有额外数据集的情况下最好的结果,比之前的SOTA模型NFNet-F6提高了0.5%以上。Outlooker的性能研究人员证明了Outlooker在VOLO模型中的重要性,他们使用LV-ViT-S这一最近的SOTA视觉转换器模型作为基线。LV-ViT-S和VOLO-D1模型的实验设置和对应的结果如下表5所示:研究人员还将Outlooker与局部自注意力(localself-attention)和空间卷积进行了比较,结果如表5所示。表6.所示。结果表明,在相同的训练方法和架构下,Outlooker的性能优于局部自注意力和空间卷积。消融实验研究人员将VOLO-D1模型扩展为4种不同的模型,即VOLO-D2到VOLO-D5。具体规格如上表2所示,对应结果见下表7。结果表明,当增加训练模型大小和测试分辨率时,VOLO模型可以获得性能提升。研究人员还发现,VOLO模型中的Outlookers数量对分类性能有影响。在下面的表8中,研究人员展示了不同数量的Outlookers对VOLO模型的影响。结果表明,在没有Outlooker的情况下,具有16个Transformer的基线模型达到了83.3%的准确率。增加Outlooker的数量可以提高准确率,但是当使用4个Outlooker时,性能已经饱和,之后再增加数量也不会带来任何性能提升。Performanceondownstreamsemanticsegmentationtasks同时,该框架在下游任务上也取得了很大的提升。例如,在语义分割任务上,VOLO-d4在CityScapes上达到了84.3mIoU,在ADE20k上达到了54.3mIoU。总的来说,实验表明VOLO在ImageNet-1K分类上达到了87.1%的top-1准确率,这是第一次在没有额外数据集的情况下在ImageNet上超过87%准确率的模型。同时,该框架用于语义分割等下游任务,在Cityscapes和ADE20k上也取得了非常高的性能。VOLO-D5模型在Cityscapes上达到了84.3%的mIoU,目前在Cityscapes验证中排名第一。工作总结这项工作提出了一种新颖的视觉模型并取得了最先进的结果。注意力主导模型在没有额外数据集的情况下首次超过了CNN主导模型的准确率。在展示视觉注意力的重要性的同时,我们向研究界介绍了新的模型框架和培训策略。