ViT 还不够完美?来自华东师范大学等机构的研究者提出了全新的图像分类方法 ViR,在模型和计算复杂性方面都优于 ViT。
近一年来,视觉 Transformer(ViT)在图像任务上大放光芒,比如在图像分类、实例分割、目标检测分析和跟踪等任务上显示出了卓越的性能,展现出取代卷积神经网络的潜力。
但仍有证据表明,在大规模数据集上应用多个 Transformer 层进行预训练时,ViT 往往存在以下两个方面的问题:
一是计算量大,内存负担大;
二是在小规模数据集上从零开始训练时存在过拟合问题。
具体而言,对大规模数据集进行预训练和对下游任务进行调整对于虚拟信息处理来说是必不可少的,这往往会导致计算量过大和冗余,并且会增加额外的参数,从而增加内存负担。此外,具有多个 Transformer 编码层的 ViT 经常出现过拟合,特别是当训练数据有限的情况下。
为了解决这些问题,来自华东师范大学等机构的研究者们提出了一种新的图像分类方法,即 Vision Reservoir (ViR) 。通过将每个图像分割成一系列具有固定长度的 token,ViR 构建一个具有几乎完全连接拓扑的纯库,以替换 ViT 中的 Transformer 模块。为了提高网络性能,研究者还提出了两种深度 ViR 模型。
论文链接:https://arxiv.org/pdf/2112.13545.pdf
研究者在几个图像分类基准上进行了 ViR 和 ViT 的对比实验。在没有任何预训练过程的情况下,ViR 在模型和计算复杂性方面都优于 ViT。具体来说,ViR 的参数规模约为 ViT 的 15% 甚至 5% ,内存占用约为 ViT 的 20%-40% 。ViR 性能的优越性可以用 Small-World 特性、 Lyapunov 指数和内存容量来体现。
通常,ViR 可以通过比 ViT 编码器数量更少的层来获得相当好的表现,如下图 1 所示。
图 1:在 CIFAR100 数据集上执行 ViR 和 ViT 的时间消耗比较。与未经预训练的 ViT 相比,ViR 的初始准确性和最终准确性均有所提高。深度 ViR 是并行结构。在相同的深度下,ViR 的时间成本远远低于 ViT。
方法介绍
ViT 本质上是通过将图像 patch 视为时间序列,核心创新在于使用内核连接运算(比如点积)来获得图像 patch 之间的内在关联,如图像不同部分之间的空间和时间 (顺序) 一致性。这一点促使研究者想到了构建一个类脑网络,即储备池计算(Reservoir Computing,RC),它结合了内在的时空动态,具有更低的计算和内存消耗、更少的训练参数和更少的训练样本。
在 ViR 的设计中,研究者首先介绍了在储备池中使用的拓扑结构,并展示了一些公式和特征以阐明其工作机理。然后,研究者描述了所提出的 ViR 网络,并进一步给出了深度 ViR 的实例。最后,他们从几个方面分析了 ViR 的内在特性。
ViR 遵循与 ViT 相似的基础 pipeline,整体网络架构如图 2 所示:
图 2:模型概述。首先将输入图像分割成具有适当大小的 patch,然后将每个 patch 压缩成一系列序列向量,作为 ViR 的时间输入。为了获得更好的性能,ViR 的核心包含一个残差 block,可以堆叠成深度结构。
图 2 描述了所提出的图像分类模型,其关键组成部分是 ViR 的核心,该核心由具有上述内部拓扑结构的储备池和残差 block 组成。
通过进一步堆栈储备池,研究者获得了深度的 ViR,进一步增强了网络性能。如下图 4 所示,第一个是由 L 储备池组成的系列储备池。
图 4:深度 ViR 的结构。上部为串行储备池,下部为并行储备池。
实验
研究者在 MNIST、 CIFAR10 和 CIFAR100 三个经典数据集上,对所提出的 ViR 模型和常用的 ViT 模型进行了对比。同时也对模型中的参数进行了比较,分析了模型的收敛速度和内存占用情况。此外还在 CIFAR10-C 上进行了鲁棒性测试。在实验中,原始的 ViT 命名为 ViT-base ,并做了一些更改,如下表 1 所示。
表 1: ViR 和 ViT 的系统参数。N 是一个储层中的神经元数,α 是 w 的谱半径的标度参数,SD 是输入矩阵 v 的稀疏度,ri,rj,rk 和 jump size 在论文的第 3.1 小节中有详细说明。在 ViT 这一行中,对于所有测试的数据集,patch size 是相同的。
在没有任何预训练的情况下,研究者通过在 MNIST、 CIFAR10 和 CIFAR100 上执行图像分类任务,将 ViR1、 ViR-3、 ViR-6 和 ViR-12 与 ViT-1、 ViT-3、ViT-6 和 ViT-12 进行比较。下表 3 显示了分类的准确性和参数量的对比。
表 3:ViR 模型和 ViT 模型在各个图像分类数据集上的比较。数字后缀表示 ViT 的 ViR 层或编码器的数量。「m」是百万级的单位符号表示。
图 6:MNIST 和 CIFAR100 数据集在 4 × 4、14 × 14 和 16 × 16patch size 下的内存占用比较。
对于模型鲁棒性,研究者从两个方面进行了评估:即输入图像的损失和系统超参数的干扰。
表 4: 输入图像对于鲁棒性的影响。
更多细节详见论文原文。