基于个人经验说个,vit的方案在疏松的数据上不行,比如sketch、colormap。
以前只是基于猜想,前段时间做了实验测试。16x16和直接的projection对于大部分自然数据的确是足够的,但是有些数据就是不够。具体可以拿16x16的格子对着数据比较。如果格子间的内容数据几乎差不多,那么就很依赖来自位置的global推理了,对数据增强和数据量都有要求。我猜flower可能就有这样的情况。而imagenet-skhtch的sketch不够稀疏,去掉shade可能就不一样了(似乎又可以搞篇文章)。
另外数据任务对global和local任务要求的情况也有关,但是这个衡量起来就比较难说清楚了。
我自己用的解决方法是,conv downsampling取代projection,然后配合数据稠密化,效果就好了。
在大规模数据集上训练,应该vit的优势可能会显现出来,毕竟swin只是一种local attention net,理论上建模效果会比vit这种global attention net要差一些。