影视聚合站 科技 文章内容

Swin Transformer升级版来了!30亿参数,刷榜多项视觉任务,微软亚研原班人马打造

发布时间:2021-11-21 15:31:50来源:机器之心

机器之心报道

编辑:杜伟、陈萍

微软亚洲研究院升级了SwinTransformer,新版本具有30亿个参数,可以训练分辨率高达1,536×1,536的图像,并在四个具有代表性的基准上刷新纪录。

在不久之前公布的ICCV2021论文奖项中,来自微软亚洲研究院的研究者凭借论文《SwinTransformer:HierarchicalVisionTransformerusingShiftedWindows》斩获ICCV2021马尔奖(最佳论文)。这篇论文的作者主要包括中国科学技术大学的刘泽、西安交通大学的林宇桐、微软的曹越和胡瀚等人。该研究提出了一种新的visionTransformer,即SwinTransformer,它可以作为计算机视觉的通用骨干。

相比之前的ViT模型,SwinTransformer做出了以下两点改进:其一,引入CNN中常用的层次化构建方式构建分层Transformer;其二,引入局部性(locality)思想,对无重合的窗口区域内进行自注意力计算。在SwinTransformer论文公开没多久之后,微软官方也在GitHub上开源了代码和预训练模型,涵盖图像分类、目标检测以及语义分割任务。

近日,该团队又提出一种升级版SwinTransformerV2。

论文地址:https://arxiv.org/pdf/2111.09883.pdf

通常来讲,Transformer适用于扩展视觉模型,但它还没有像NLP语言模型那样得到广泛的探索,部分原因是因为在训练和应用方面存在以下困难:

视觉模型经常面临扩展不稳定问题;

许多下游视觉任务需要高分辨率的图像或窗口,目前尚不清楚如何有效地将在低分辨率下预训练的模型转换为更高分辨率的模型;

当图像分辨率较高时,GPU内存消耗也是一个问题。

为了解决上述问题,该团队将SwinTransformer作为基线提出了几种改进技术,具体表现在:

提出后归一化(postnormalization)技术和缩放余弦注意力(scaledcosineattention)方法,来提高大型视觉模型的稳定性;

提出log-spaced连续位置偏差技术,可有效地将在低分辨率图像和窗口中预训练的模型迁移到更高分辨率对应模型。

此外,该研究还介绍了关键实现细节,这些细节可显着节省GPU内存消耗,使得常规GPU训练大型视觉模型成为可能。使用这些技术和自监督预训练,该团队训练了一个具有30亿参数的SwinTransformer模型,并将其有效地迁移到高分辨率图像或窗口的各种视觉任务中,在各种基准上实现了SOTA性能。

通过扩展容量和分辨率,SwinTransformerV2在四个具有代表性的基准上刷新纪录:在ImageNet-V2图像分类任务上top-1准确率为84.0%,COCO目标检测任务为63.1/54.4box/maskmAP,ADE20K语义分割为59.9mIoU,Kinetics-400视频动作分类的top-1准确率为86.8%。

部分刷榜截图。图源:https://paperswithcode.com/sota

SwinTransformerV2

研究者观察到SwinTransformer在扩展模型容量和窗口分辨率时存在以下两个问题。

其一,扩展模型容量的不稳定问题。如下图2所示,当我们将原始SwinTransformer模型从小到大扩展时,更深层的激活值急剧增加。具有最高和最低振幅的层之间的偏差达到了10^4的极值。

当我们进一步将其扩展到一个巨大的规模(6.58亿参数)时,SwinTransformer无法完成训练,如下图3所示。

其二,跨窗口分辨率迁移模型时性能下降。如下表1第一行所示,当我们通过双三次插值方法,在更大的图像分辨率和窗口大小直接测试预训练ImageNet-1K模型(分辨率256×256,窗口大小8×8)的准确率时,发现准确率显著下降。这可能值得去重新检查原始SwinTransformer中的相对位置偏差方法。

扩展模型容量

在本节内容中,研究者介绍了上述两个问题的解决方法,包括如下:

使用后归一化和缩放余弦注意力解决不稳定性问题;

使用log-spaced连续位置偏差方法解决跨窗口分辨率迁移问题。

一方面,为了缓解扩展模型容量时的不稳定问题,研究者使用了后归一化方法,如下图1所示。在这种方法中,每个残差块的输出在合并回主分支之前被归一化,并且当层数越深时,主分支的振幅不会积聚。

又如上图2所示,这种方法的激活幅度变得比原始预归一化配置温和得多。在研究者最大的模型训练中,他们每6个Transformer块都会在主分支上额外引入一个层归一化单元,以进一步稳定训练和振幅。

另一方面,在原始的自注意力计算中,像素对的相似项被计算为查询向量和关键向量的点积。研究者发现将这种方法用于大型视觉模型时,特别是在post-norm配置中,一些块和头部学得的注意力图经常由几个像素对主导。为了缓解这个问题,他们提出了一种缩放余弦注意力方法,它通过缩放余弦函数计算像素对i和j的注意力对数:

扩展窗口分辨率

在本节中,研究者介绍了一种log-spaced连续位置偏差方法,以使得相对位置偏差可以在窗口分辨率之间平滑地迁移。连续位置偏差方法不是直接优化参数化偏差,而是在相对坐标上引入一个小的元(meta)网络:

元网络为任意相对坐标生成偏差值,因此可以自然地迁移到具有任意变化窗口大小的微调任务。对于推理任务,每个相对位置的偏差值可以预先计算并存储为模型参数,这样在推理时与原始参数化偏差方法一样方便。

当在变化很大的窗口大小之间迁移时,将有很大一部分相对坐标范围需要外推。为了缓解这个问题,研究者提出使用log-spaced坐标替代原始linear-spaced坐标:

节省GPU内存的实现

另一个问题在于当容量和分辨率都很大时,常规实现的GPU内存消耗难以承受。为了解决内存问题,研究者采用以下几种实现方法:

零冗余优化器(Zero-RedundancyOptimizer,ZeRO)

激活检查点(Activationcheck-pointing)

顺序自注意力计算(Sequentialself-attentioncomputation)

通过这些实现,研究者成功地使用NvidiaA100-40GGPU训练了一个3B(30亿参数)模型,既可以用于输入图像分辨率为1,536×1,536的COCO目标检测,也可用于输入分辨率为320×320×8的Kinetics-400动作分类。

实验结果

该团队在ImageNet-1K图像分类(V1和V2)、COCO目标检测和ADE20K语义分割进行了实验。此外,对于30亿参数模型实验,该研究还报告了SwinTransformerV2在Kinetics400视频动作识别上的准确率。

SwinV2-G实验设置:预训练采用192×192图像分辨率,以节省训练成本,实验采用2-step预训练方法:首先,在ImageNet-22K-ext数据集上使用自监督方法对模型进行20epoch的预训练。其次,在ImageNet-1KV1和V2分类任务上,继续将模型进行30epoch预训练。

ImageNet-1K图像分类结果:表2将SwinV2-G模型与之前在ImageNet-1KV1和V2分类任务上的最大/最佳视觉模型进行了比较。SwinV2-G是之前所有密集(dense)视觉模型中最大的。它在ImageNetV2基准测试中达到了84.0%的top-1准确率,比之前最好的ViT-G(83.3%)高0.7%。但是,SwinV2-G在ImageNet-1KV1上的准确率比CoAtNet-7略低(90.17%比90.88%)。

COCO目标检测结果:表3将SwinV2-G模型与之前在COCO目标检测和实例分割任务上取得最佳性能模型进行了比较。SwinV2-G在COCOtest-dev上实现了63.1/54.4box/maxAP,比SoftTeacher(61.3/53.0)提高了+1.8/1.4。这表明扩展视觉模型有利于目标检测任务中的密集视觉识别任务。

ADE20K语义分割结果:下表4将SwinV2-G模型与之前在ADE20K语义分割基准上的SOTA结果进行了比较。Swin-V2-G在ADE20Kval集上实现了59.9mIoU,比之前的SOTA结果(BEiT)58.4高了1.5。这表明扩展视觉模型有益于像素级视觉识别任务。在测试时使用更大的窗口大小还可以带来+0.2的增益,这可能归功于有效的Log-spacedCPB方法。

Kinetics-400视频动作分类结果:下表5将SwinV2-G模型与之前在Kinetics-400动作分类基准上的SOTA结果进行了比较。可以看到,Video-SwinV2-G实现了86.8%的top-1准确率,比之前的SOTA(TokenLearner)85.4%高出+1.4%。这表明扩展视觉模型也有益于视频识别任务。在这种场景下,在测试时使用更大的窗口大小也可以带来额外增益(+0.2%),这也要归功于有效的Log-spacedCPB方法。

post-norm和缩放余弦注意力的消融实验:下表6展示了post-norm和缩放余弦注意力方法应用于原始SwinTransformer方法的性能表现。可以看到,这两种方法都提高了Swin-Tiny、Swin-Small和Swin-Basesize的准确率,整体提升分别为+0.2%、+0.4%和+0.5%,表明它们对更大的模型更有益。

2021NeurIPSMeetUpChina

受疫情影响,NeurIPS2021依然选择了线上的形式举办。虽然这可以为大家节省一笔注册、机票、住宿开支,但不能线下参与这场一年一度的学术会议、与学术大咖近距离交流讨论还是有些遗憾。

我们将在NeurIPS官方支持下,于12月11日在上海博雅酒店举办线下NeurIPSMeetUpChina,促进国内人工智能学术交流。

2021NeurIPSMeetUpChina将设置Keynote、圆桌论坛、论文分享、Poster和企业招聘等环节,邀请顶级专家、论文作者与现场参会观众共同交流。

欢迎AI社区从业者们积极报名参与,同时我们也欢迎NeurIPS2021论文作者们作为嘉宾参与论文分享与Poster展示。感兴趣的小伙伴点击「阅读原文」即可报名。

©THEEND

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

© 2016-2021 ysjhz.com Inc.

站点统计| 举报| Archiver| 手机版| 小黑屋| 影视聚合站 ( 皖ICP备16004362号-1 )