Rethinking Spatial Dimensions of Vision Transformers
https://github.com/naver-ai/pit
借鉴CNN的空间维度转换思想,随着网络加深,通道数增加,空间维度减少。
提出Pooling-based Vision Transformer (PiT),实验表明PiT提高了模型性能和泛化能力,在图像分类,目标检测和鲁棒性评估表现良好。
CNN有限空间的位置交互,ViT允许所有位置通过transformer layer进行交互。同时,CNN往往开始于较大的特征空间,较小的通道数,池化层对空间转换起着关键作用,同时池化层能够增加模型表现能力和泛化性能,和每一层的感受野息息相关。然而ViT没有使用池化层,使用相同的spatial tokens在所有层。
本文首先证明池化层的优点和在ResNet中对模型性能和泛化能力的贡献。然后利用池化设计PiT与ViT进行比较证明pooling同时作用于ViT可行。然后设计一个类似于CNN感受野的空间交互系数satial interaction ratio。
相关工作:ResNet中,使用步长为2的卷积代替最大池化,实现了特征空间缩小和通道数增加是在一个单一层。
然后比较ViT,证明池化层在PiT中对模型性能和泛化能力的贡献,结果同上。
本文的池化操作是在减小特征空间的同时增加通道数。
ViT中可以借鉴的:layer norm用于每一个spatial token,用class token代替全局平均池化(分离的token增加蒸馏效率)。ViT中自注意力层没有限制空间距离,但是参与注意力计算的特征尺寸受空间输入特征尺寸的影响。同时也有一些设置与空间结构不对应,如class toke