在计算机视觉领域,卷积神经网络(CNN)一直占据主流地位。不过,研究人员不断尝试在NLP领域对Transformers进行跨界研究,有的已经取得了相当不错的成果。近日,一篇匿名的ICLR2021投稿论文将标准的Transformer直接应用于图像,提出了一种新的VisionTransformer模型,并在多个图像识别基准上取得了接近甚至优于当前SOTA方法的性能。10月2日,深度学习领域顶级会议ICLR2021论文投稿结束,一篇将Transformer应用于图像识别的论文引起广泛关注。特斯拉AI负责人AndrejKarpathy转发了这篇论文,并表示“很高兴看到计算机视觉和NLP领域的日益融合”。此前,Facebook将Transformer应用于目标检测任务,OpenAI则尝试使用GPT-2进行图像分类。这篇“跨界”论文有哪些新尝试?Transformer架构早已被广泛应用于自然语言处理任务,但在计算机视觉领域仍然局限。在计算机视觉中,注意力要么与卷积网络结合使用,要么用于替换卷积网络的某些组件,同时保持其整体架构不变。这项研究表明,对CNN的依赖是不必要的,并且当直接应用于图像块序列时,转换器在图像分类任务中也表现良好。该研究基于大量数据对模型进行预训练,并迁移到多个图像识别基准数据集(ImageNet、CIFAR-100、VTAB等)。结果,其训练所需的计算资源大大减少。NLP领域的TransformerVSCNNself-attention-basedarchitecture在计算机视觉领域,尤其是Transformer,已经成为NLP领域的首选模型。这种主流方法是在大型文本语料库上进行预训练,然后在较小的特定任务数据集上进行微调。由于Transformer的计算效率和可扩展性,参数超过100B的模型甚至可以基于它进行训练。随着模型和数据集的增长,仍然没有性能饱和的迹象。然而,在计算机视觉中,卷积架构仍然占主导地位。受NLP成功的启发,一些计算机视觉研究试图将类似CNN的架构与自注意力相结合,有些甚至完全取代了卷积。后者虽然在理论上是有效的,但由于使用了专门的注意力模式,因此尚未在现代硬件加速器上有效扩展。因此,经典的类ResNet架构在大规模图像识别任务中仍然是最先进的。受Transformer缩放在NLP中的成功启发,本研究试图将标准Transformers直接应用于图像,并尽可能少地进行修改。为此,该研究将图像分割成小块,并使用这些小块的线性嵌入序列作为Transformer的输入。然后以与在NLP域中处理标记相同的方式处理图像块,并以监督方式训练图像分类模型。当在ImageNet等中等大小的数据集上进行训练时,此类模型会产生次优结果,其准确度比类似大小的ResNet低几个百分点。这个看似令人沮丧的结果是意料之中的:Transformer缺少一些CNN固有的inductivebiases,比如平移同质性和局部性,因此在数据不足的情况下训练后,Transformer并不能很好地泛化。然而,在大型数据集(14M-300M图像)上训练模型时情况就大不相同了。研究发现,大规模训练优于归纳偏差。当在足够大的数据量上进行预训练并转移到数据点较少的任务时,Transformer可以获得出色的结果。本研究提出的VisionTransformer在JFT-300M数据集上预训练,在多个图像识别基准测试上接近或超过SOTA水平,在ImageNet上达到88.36%的准确率,在ImageNetRealL上达到90.77%的准确率,达到94.55%的准确率在CIFAR-100上,在VTAB基准测试的19个任务上准确率为77.16%。模型和方法研究人员尽可能遵循原始的Transformer设计。这种有意设计的简单设置的优点是可扩展的NLPTransformer架构和相应的高效实现几乎可以开箱即用。研究人员想要表明,在适当缩放时,该方法足以胜过最先进的卷积神经网络。VisionTransformer(ViT)本研究中提出的VisionTransformer架构遵循原始的Transformer架构。下图1是模型架构图。标准Transformer将一维序列的标记嵌入作为输入。为了处理2D图像,研究人员将图像x∈R^H×W×C变形为一系列扁平的2D块x_p∈R^N×(P^2C),其中(H,W)表示原始图像的分辨率,(P,P)表示每个图像块的分辨率。然后,N=HW/P^2成为VisionTransformer的有效序列长度。VisionTransformer在所有层上使用相同的宽度,因此可训练的线性投影将每个矢量化补丁映射到模型维度D(等式1),相应的输出称为补丁嵌入。类似于BERT的[class]token,研究人员在一系列嵌入补丁(z_0^0=x_class)之前预先添加了一个可学习的嵌入,其在Transformer编码器输出中的状态(z_0^L)可以表示为图像y(等式4)。在预训练和微调阶段,分类头连接到z_L^0。位置嵌入被添加到补丁嵌入中以保留位置信息。我们尝试了不同的2D感知位置嵌入变体,但与标准的1D位置嵌入相比没有显着提升。因此,编码器将联合嵌入作为输入。Transformer编码器由多头自注意力(MSA)和MLP块(等式2、3)的多个交互层组成。Layernorm(LN)在每个块之前应用,而剩余连接在每个块之后应用。MLP由表现出GELU非线性的两层组成。作为将图像分割成块的替代方法,输出序列可以由ResNet的中间特征图形成。在这个混合模型中,补丁嵌入投影(等式1)在早期阶段被ResNet取代。将ResNet的中间2D特征图之一展平为序列,映射到Transformer维度,然后作为Transformer的输入序列馈入。最后,如上所述,将分类输入嵌入和位置嵌入添加到Transformer输入中。微调和更高分辨率研究人员在大型数据集上预训练ViT模型,并针对较小规模的下游任务微调模型。为此,我们删除了预训练预测头并添加了一个零初始化的D×K前馈层,其中K表示下游类的数量。在更高分辨率下进行微调通常比预训练更有益。当提供更高分辨率的图像时,我们保持补丁大小不变,从而产生更大的有效序列长度。ViT模型可以处理任意序列长度(取决于内存限制),但预训练的位置嵌入可能不再有意义。因此,研究人员根据预训练位置在原始图像中的嵌入位置对其进行二维插值操作。请注意,二维图像的感应偏差只能在分辨率调整和补丁提取期间手动注入ViT模型。实验该研究进行了广泛的实验并使用了ViT模型的几种变体,请参见下表1:与SOTA模型的性能比较。研究人员首先将最大的ViT模型(ViT-H/14和ViT-L/16)与SOTACNN模型进行了比较,结果如下表2所示。表2:ViT模型和SOTA模型在流行图像分类基准数据集上的性能比较。从上表可以看出,较小的ViT-L/16模型在所有数据集上的性能与BiT-L一样好或超过BiT-L,同时需要的计算能力要少得多。更大的ViTH-14模型进一步提高了性能,尤其是在ImageNet、CIFAR-100和VTAB等更具挑战性的数据集上。ViTH-14模型在所有数据集上的性能都与SOTA相当或超过SOTA,在某些情况下甚至大大优于SOTA模型(例如,在CIFAR-100数据集上的性能提高1%)。在ImageNet数据集上,ViT模型的性能比NoisyStudent低0.1%左右,但在具有更清晰ReaL标签的ImageNet数据集上,ViT模型的性能超过了SOTA模型。下面的图2将VTAB任务分成几组,并比较了ViT与SOTA方法(包括BiT、VIVI和S4L)的性能。在Natural任务中,ViT-H/14的性能略低于BiT-R152x4;在Specialized任务中,ViT优于BiT等方法;在结构化任务中,ViT明显优于其他方法。预训练数据要求VisionTransformer在大型JFT-300M数据集上进行预训练后表现出色。鉴于ViT的归纳偏差小于ResNet,数据集大小有多重要?该研究进行了一些实验。首先,ViT模型在不断增加的数据集(ImageNet、ImageNet-21k和JFT300M)上进行预训练。下图3展示了模型在ImageNet数据集上的表现:下表3展示了模型在ImageNet、ImageNet-21k和JFT300M数据集上的性能对比。在前两个较小的数据集上,ViT-Large模型的表现不如ViT-Base,但在较大的JFT300M数据集上,大型模型显示出优势。这表明随着数据集大小的增加,较大的ViT模型变体优于较小的模型。其次,研究人员在JFT300M数据集的9M、30M和90M随机子集以及完整数据集上训练模型。结果如下图4所示:从图中可以看出,在较小的数据集和相同的计算成本下,VisionTransformer比ResNet更容易过拟合。这一结果强化了这样一种观念,即卷积归纳偏置对较小的数据集很有用,但对于较大的数据集,学习相关模式就足够了,甚至更有效。可扩展性研究研究人员对不同模型进行了受控扩展研究。下图5展示了模型在不同预训练计算代价下的迁移性能:实验结果表明VisionTransformer在性能/计算能力的权衡上明显优于ResNet。混合模型在较小的计算成本下略优于ViT,但在高计算成本下这种情况消失了。这个结果令人惊讶。VisionTransformer在实验的计算能力范围内似乎没有饱和,未来可以进行更多的可扩展性研究。ViT如何处理图像数据?为了解ViT如何处理图像数据,研究人员分析了其内部表示。ViT的第一层将扁平化的图像块线性投影到低维空间(等式1),下图(左)显示了学习到的嵌入滤波器的主要组件。投影后,将学习到的位置嵌入添加到图像块表示中。下图(中)显示了模型如何学习对图像内的距离进行编码,表明靠得更近的图像块更有可能具有更相似的位置嵌入。Self-attention允许ViT整合整个图像的信息,甚至是最低层。研究人员调查了ViT网络利用此功能的程度。具体来说,该研究计算了图像空间中的平均距离(基于注意力权重),请参见右下图。“注意力距离”类似于CNN中的感受野大小。ViT模型侧重于对具有语义相关性的图像区域进行分类,见图6:在知乎问题“ICLR2021中有哪些值得关注的贡献?”下,有多个答案提到了这篇论文,有解读也有吐槽。有网友表示:“我们正站在模型大变革的前夜,神经网络的潜力还远没有走到尽头。一个全新的、强大的、可以颠覆整个CV和AI世界的新模型刚刚揭晓了尖端。”冰山一角,全方位攻击。参考链接:https://openreview.net/pdf?id=YicbFdNTTyhttps://www.zhihu.com/question/423975807如何根据任务需求匹配合适的数据库类型?在AWS推出的白皮书《进入专用数据库时代》中,介绍了8种类型的数据库:关系型、键值型、文档型、内存型、关系图型、时间序列型、账本型、字段宽列型,并分析了每种类型的优势逐个。挑战和主要用例。
