告别CNN?一张图等于16x16个字,计算机视觉也用上Transformer了( 三 )


数据集主要使用ILSVRC-2012 , ImageNet-21K , 以及JFT数据集 。
4.2 与SOTA模型的性能对比
首先是和ResNet以及efficientNet的对比 , 这两个模型都是比较有代表的基于CNN的模型 。
告别CNN?一张图等于16x16个字,计算机视觉也用上Transformer了文章插图
其中ViT模型都是在JFT-300M数据集上进行了预训练 。 从上表可以看出 , 复杂度较低 , 规模较小的ViT-L在各个数据集上都超过了ResNet , 并且其所需的算力也要少十多倍 。 ViT-H规模更大 , 但性能也有进一步提升 , 在ImageNet, CIFAR,Oxford-IIIT, VTAB等数据集上超过了SOTA , 且有大幅提升 。
作者进一步将VTAB的任务分为多组 , 并对比了ViT和其他几个SOTA模型的性能:
告别CNN?一张图等于16x16个字,计算机视觉也用上Transformer了文章插图
可以看到除了在Natrual任务中ViT略低于BiT外 , 在其他三个任务中都达到了SOTA , 这再次证明了ViT的性能强大 。
4.3 不同预训练数据集对性能的影响
预训练对于该模型而言是一个非常重要的环节 , 预训练所用数据集的规模将影响模型的归纳偏置能力 , 因此作者进一步探究了不同规模的预训练数据集对性能的影响:
告别CNN?一张图等于16x16个字,计算机视觉也用上Transformer了文章插图
上图展示了不同规模的预训练数据集(横轴)对不同大小的模型的性能影响 , 注意微调时的数据集固定为ImageNet 。 可以看到对大部分模型而言 , 预训练数据集规模越大 , 最终的性能越好 。 并且随着数据集的增大 , 较大的ViT模型(ViT-H/14)要由于较小的ViT模型(ViT-L) 。
此外 , 作者还在不同大小的JFT数据集的子集上进行了模型训练:
告别CNN?一张图等于16x16个字,计算机视觉也用上Transformer了文章插图
可以发现ViT-L对应的两个模型在数据集规模增大时有非常明显的提升 , 而ResNet则几乎没有变化 。 这里可以得出两个结论 , 一是ViT模型本身的性能上限要优于ResNet,这可以理解为注意力机制的上限高于CNN 。 二是在数据集非常大的情况下 , ViT模型性能大幅超越ResNet, 这说明在数据足够的情况下 , 注意力机制完全可以代替CNN , 而在数据集较小的情况下(10M) , 卷积则更为有效 。
除了以上实验 , 作者还探究了ViT模型的迁移性能 , 实验结果表明不论是性能还是算力需求 , ViT模型在进行迁移时都优于ResNet 。
告别CNN?一张图等于16x16个字,计算机视觉也用上Transformer了文章插图
可视化分析
可视化分析可以帮助我们了解ViT的特征学习过程 。 显然 , ViT模型的注意力一定是放在了与分类有关的区域:
告别CNN?一张图等于16x16个字,计算机视觉也用上Transformer了文章插图
告别CNN?一张图等于16x16个字,计算机视觉也用上Transformer了文章插图
总结
本文提出的基于patch分割的图像解释策略 , 在结合Transformer的情况下取得了非常好的效果 , 这为CV领域的其他研究提供了一个很好的思路 。 此外 , 接下来应该会出现许多基于这篇工作的研究 , 进一步将这一划时代的模型应用到更多的任务上 , 例如目标检测、实例分割、行为识别等等 。 此外 , 也会出现针对patch分割策略的改进 , 来进一步提高模型性能 。
#de89ca259eb1
告别CNN?一张图等于16x16个字,计算机视觉也用上Transformer了文章插图
告别CNN?一张图等于16x16个字,计算机视觉也用上Transformer了文章插图


推荐阅读