原文标题 :Are Transformers better than CNN’s at Image Recognition?
变形金刚在图像识别方面比 CNN 更好吗?
了解视觉变形金刚:图像识别变形金刚
论文链接——https://arxiv.org/pdf/2010.11929.pdf[0]
如今在自然语言处理 (NLP) 任务中,transformers 已成为 goto 架构(例如 BERT、GPT-3 等)。另一方面,变压器在计算机视觉任务中的使用仍然非常有限。大多数研究人员直接使用卷积层,或者将某些注意力块与卷积块一起添加,用于计算机视觉应用(例如 Xception、ResNet、EfficientNet、DenseNet、Inception 等)。关于 Vision Transformer (ViT) 的论文在图像序列上实现了一个纯变换器模型,无需卷积块,以对图像进行分类。该论文展示了 ViT 如何在各种图像识别数据集上获得比大多数最先进的 CNN 网络更好的结果,同时使用相当少的计算资源。
Vision Transformer (ViT)
Transformer 是对数据序列(例如,一组单词)进行操作的网络。这些单词集首先被标记化,然后被输入到转换器中。 Transformers 添加注意力(二次运算 – 计算每对标记化词之间的成对内积。随着词数的增加,操作数也会增加)。
因此,图像更难在变形金刚上进行训练。图像由像素组成,每个图像可以包含数千到数百万个像素。因此,在变压器中,每个像素将与图像中的每个其他像素进行成对操作。在大小为 500*500 像素的图像中,即 500^2,因此注意力机制将花费 (500^2)^2 次操作。这是一项艰巨的任务,即使有多个 GPU。因此,对于图像,研究人员大多使用某种形式的局部注意力(像素簇),而不是使用全局注意力。
ViT 的作者通过使用全局注意力解决了这个问题,但不是在整个图像上,而是在多个图像块上。因此,首先将大图像分成多个小块(例如 16*16 像素)。如图 1 所示。
然后将这些图像块展开成图像序列,如图 2 所示。这些图像序列具有位置嵌入。
最初,变形金刚不知道哪个补丁应该放在哪里。因此,位置嵌入有助于转换器了解每个补丁应该适合的位置。在论文中,作者使用 1、2、3…n 的简单编号来指定补丁的位置,如图 3 所示。这些不仅仅是数字,而是可学习的向量。也就是说,数字 1 不直接使用,而是存在一个查找表,其中包含代表补丁位置的每个数字的向量。所以对于第一个补丁,表格中的第一个向量被抓取并与补丁一起放入变压器中。同样,对于第二个补丁,从表格中抓取第二个向量并将其与第二个补丁一起放入转换器中,依此类推。如图 4 所示。
图像补丁是一个小图像(16*16 像素)。不知何故,这需要以一种使变压器能够理解的方式馈送。这样做的一种方法是将图像展开为 16*16 = 256 维向量。然而,该论文的作者使用了线性投影。这意味着只有一个矩阵,表示为“E”(嵌入)。取一个补丁并首先展开成一个线性向量。然后将该向量与嵌入矩阵 E 相乘。然后将最终结果与位置嵌入一起馈送到转换器。
然后将所有补丁(线性投影)连同它们各自的位置嵌入一起输入到变压器编码器中。这个变压器是一个标准的变压器架构(你只需要注意——纸)。
有一个额外的可学习嵌入,标记为位置 0,如图 5 所示。这个嵌入的输出用于最终对整个图像进行分类。
Results
表 1 显示了 ViT 与各种数据集上最先进的 CNN 架构的结果比较。 ViT 在 JFT-300 数据集上进行了预训练。下面的结果表明,在所有数据集上,ViT 的性能都优于基于 ResNet 的架构和 EfficentNet-L2 架构(对嘈杂的学生权重进行预训练)。这两种模型都是当前最先进的 CNN 架构。在表 1 中,ViT-H 是指 ViT-Huge(32 层),ViT-L 是指 ViT-Large(24 层)。 ViT-H/L 之后的数字 14 和 16 表示从每个图像创建的补丁大小(14*14 或 16*16)。
该表还显示,与其他 2 个 CNN 模型相比,ViT 需要的计算资源少得多。
图 6 显示了转换器在对各种图像进行分类时给予的关注。
Conclusion
Vision Transformers 会在计算机视觉任务中取代 CNN 吗?
到目前为止,CNN 已经在计算机视觉任务中占据主导地位。图像基于这样的想法,即一个像素取决于其相邻像素,而下一个像素取决于其直接相邻像素(颜色、亮度、对比度等)。 CNN 在这个想法上的工作,并在图像的一块上使用过滤器来提取重要的特征和边缘。这有助于模型仅从图像中学习必要的重要特征,而不是图像每个像素的细节。
但是,如果将整个图像数据输入到模型中,而不仅仅是过滤器可以提取的部分(或它认为重要的部分),则模型表现更好的机会会更高。这正是 Visual Transformer 内部发生的事情。这可能是在这种情况下,Vision Transformers 比大多数 CNN 模型工作得更好的原因之一。
但这是否意味着变形金刚将在未来的计算机视觉任务中取代 CNN?
嗯,答案是,不会那么快。就在几天前,发布了 EfficientNet V2 模型,其性能甚至优于 Vision Transformers。这只是意味着,现在我们可以期待两种类型(CNN 和变形金刚)的新架构在不久的将来不断推出更新、更好、更高效的模型。
文章出处登录后可见!