linux工程师,RHCE
分类: 系统运维
2021-03-30 19:06:26
谈到Transformer,你可能会想到一众NLP模型。Transformer其实还能替CNN把活给干了,并且干得还不赖。
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。
谈到Transformer,你可能会想到一众NLP模型。
但现在,Transformer其实还能替CNN把活给干了,并且干得还不赖。
比如微软亚研院最新提出的Swin Transformer,就在COCO数据集的分割检测任务上来了个跨领域超车,一举达到SOTA。
那么,问题来了。
关注NLP的盆友想必就会问,用Transformer做CV任务,这个想法早已有之,也没见对CNN的地位有什么动摇,Swin Transformer又有何不同?
这就涉及到Transformer的CV应用存在的两个主要问题:
而Swin Transformer,就旨在解决这些NLP和CV之间差异带来的问题。
Swin Transformer的诀窍,核心是两板斧:
这第二板斧,也就是基于移动窗口的自注意力:
如上图所示,在l层,采用常规的窗口分区方案,在每个窗口内计算自注意力。
在下一层l+1,窗口分区会被移动,产生新的窗口。新窗口中的自注意力计算跨越了l层中窗口的边界,提供了新的关联信息。
具体而言,Swin Transformer的整体架构是酱婶的:
研究人员让Swin Transformer分别挑战了ImageNet-1K、COCO和ADE20K上的图像分类、对象检测和语义分割任务。
其中,用于预训练的是ImageNet-22K数据集,ImageNet-1K数据集则用于微调。
结果显示,在COCO的分割和检测任务,以及ADE20K的语义分割任务上,Swin Transformer都超越了CNN,达到了SOTA。
而在ImageNet-1K的分类任务上,虽然没能超越EfficientNet,但效果相当且速度更快。
论文笔记就分享到这里,如果想要了解更多细节,请戳文末传送门。
也期待你的读后感分享哟~《linux就该这么学》不错的linux自学书籍