自打Transformer横空出世以来,它在CV领域就取得了很多不俗的效果。
比如采用纯Transformer架构的ViT在很多图像分类任务中表现都不输最先进的CNN。
但在没有额外数据的情况下,Transformer的性能仍然比不过它们。
不过,Transformer并不服气。
这不,最近一个叫做VOLO的Transformer变体,自称打破了这个僵局:
无需任何额外训练数据,就在ImageNet数据集上达到了87.1%的top-1精度,打破了基于CNN的SOTA模型(NFnet )此前保持的86.5%的最好记录!
Transformer因此又扬眉吐气了:我们真的不比CNN差。
那它是如何做到的呢?
引入outlook注意力
这个基于自注意力的图像分类模型VOLO,出自颜水成领导的Sea AI Lab团队与新加坡国立大学。
他们在研究中发现,ViT在ImageNet图像分类上的性能受到限制的主要因素是:在将精细级(fine-level )的特征编码为token的表示过程中比较低效。
为了解决这个问题,他们引入了一种新的outlook注意力,并提出了一个简单而通用的架构,称为Vision outlooker ,也就是VOLO。
与专注于全局依赖粗略建模的自注意力不同,outlook注意力可以有效地将更精细级别的特征和上下文编码为token。
因此,VOLO采用两阶段架构设计,同时考虑了更具细粒度的token表示编码和全局信息聚合。
第一阶段由一堆Outlookers组成,用于生成精细级别的token表示。
第二阶段部署一系列transformer blocks来聚合全局信息。
在每个阶段的开始,使用一个图像块嵌入模块(patch embedding module)将图像输入映射到期望形状的token表示。
下面就着重说一下这里面的核心:Outlooker。
其组成包括:用于空间信息编码的outlook注意力层,以及用于通道间信息交互的多层感知器(MLP)。
其中,通过reshape操作(绿框),可以从具有线性层的中心token简单生成大小为K×K的局部窗口的Outlook注意力矩阵。
由于注意力权值是从中心token生成并作用于邻居token及其本身(如黑框),因此研究人员将这些操作命名为outlook注意力。