Skip to main content
QUICK REVIEW

[论文解读] Can Vision Transformers Perform Convolution?

Shanda Li, Xiangning Chen|arXiv (Cornell University)|Nov 2, 2021
Advanced Neural Network Applications参考文献 29被引用 8
一句话总结

该论文证明,当使用图像块作为输入时,一个带有相对位置编码且至少包含9个注意力头的单层视觉Transformer(ViT)可以精确表达任意卷积操作。作者提出了一种两阶段训练流程,通过该理论构造从预训练CNN初始化ViT权重,无需架构修改即可在低数据场景下显著提升性能。

ABSTRACT

Several recent studies have demonstrated that attention-based networks, such as Vision Transformer (ViT), can outperform Convolutional Neural Networks (CNNs) on several computer vision tasks without using convolutional layers. This naturally leads to the following questions: Can a self-attention layer of ViT express any convolution operation? In this work, we prove that a single ViT layer with image patches as the input can perform any convolution operation constructively, where the multi-head attention mechanism and the relative positional encoding play essential roles. We further provide a lower bound on the number of heads for Vision Transformers to express CNNs. Corresponding with our analysis, experimental results show that the construction in our proof can help inject convolutional bias into Transformers and significantly improve the performance of ViT in low data regimes.

研究动机与目标

  • 确定当使用图像块作为输入时,视觉Transformer层是否能够精确表达任意卷积操作。
  • 建立理论下限,确定ViT表达卷积所需的最少注意力头数量,比较基于图像块输入与基于像素输入的设置。
  • 开发一种实用的训练流程,将卷积归纳偏置注入ViT,以提升在低数据场景下的泛化能力。
  • 证明ViT在小数据集上表达能力受限并非源于架构本身,而是泛化能力不足。

提出的方法

  • 通过构造性证明,展示多头自注意力层在拥有9个头且使用相对位置编码时,可模拟图像块上的任意K×K卷积操作。
  • 推导出理论下限,表明9个头对基于图像块输入的ViT而言,既必要又充分以表达卷积操作,而基于像素输入的ViT则需要K²个头。
  • 提出一种两阶段训练流程:首先利用理论构造从预训练CNN初始化ViT权重,随后在下游数据上进行微调。
  • 使用相对位置编码来编码块之间的空间关系,使注意力机制能够跨块边界聚合特征,从而实现卷积操作。
  • 保持标准多头自注意力(MHSA)模块不变,不进行架构修改,确保与现有ViT框架的兼容性。
  • 在CIFAR-100和ImageNet上通过实证验证该方法,与随机初始化的ViT进行性能对比。

实验结果

研究问题

  • RQ1一个使用图像块作为输入的单层ViT是否能通过多头注意力和相对位置编码精确表达任意卷积操作?
  • RQ2在基于图像块输入和基于像素输入的设置下,表达K×K卷积所需的最少注意力头数量是多少?
  • RQ3通过理论初始化注入卷积归纳偏置,是否能提升ViT在低数据场景下的性能?
  • RQ4在基于图像块输入的ViT中,9个头的构造在头数量上是否为最优?

主要发现

  • 当输入为图像块时,一个具有9个头和相对位置编码的单层ViT可精确表达任意K×K卷积,证明ViT的表达能力超越局部感受野。
  • 理论构造表明,9个头对基于图像块输入的ViT而言,既必要又充分以表达卷积操作,而基于像素输入的ViT则需要K²个头,表明基于图像块的架构在头效率上更优。
  • 所提出的两阶段训练流程通过从预训练CNN利用理论构造初始化ViT权重,在CIFAR-100和ImageNet的低数据场景下显著提升了测试准确率。
  • 该方法提升了训练效率和优化稳定性,即使不进行架构修改,也优于从随机初始化开始训练的模型。
  • 实证结果证实,当注入适当的归纳偏置后,ViT与CNN在小数据集上的性能差距主要源于泛化能力,而非表达能力。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。