解决Transformer训练困境 | 全新初始化方法让ViT在小数据集上也能赶上CNN的收敛速度

技术

点击下方卡片,关注 「AI视界引擎」 公众号

picture.image

训练视觉 Transformer 网络在小数据集上面临挑战。相比之下,卷积神经网络(CNNs)可以通过利用其结构归纳偏差实现最先进的性能。

在这篇论文中作者研究了这种归纳偏差是否可以被解释为视觉 Transformer 网络中的初始化偏差。作者的方法受到随机脉冲滤波器在CNNs中实现与学习滤波器几乎可比较性能的发现启发。作者提出了一种新颖的 Transformer 网络初始化策略,该策略可以在小型数据集上实现与CNNs相当的表现,同时保持其结构灵活性。

1 Introduction

Transformer 网络在大量数据下在视觉问题上展现出显著的潜力。然而,当应用于小型数据集时,与更传统的卷积神经网络(CNNs)相比,其性能会变得较差。CNNs在视觉 Transformer (ViTs)上的优越性能很大程度上可以归因于它们的卷积归纳偏差。

针对在小型数据集上训练视觉 Transformer (ViTs)的缺点,最近的研究采用了在像ImageNet、JFT-300M等更大数据集上的预训练方法。然而,这种方法存在一个根本性的局限性。训练视觉学习算法(如CNNs)在小型数据集上的一个动机是能够快速且成本有效地评估它们在大学习任务中的适用性。要求算法在小型数据集上预训练,然后在更小的数据集上训练实际上削弱了这一目的。克服现代ViTs的这一局限性可能会在视觉领域引发新的创新和探索,使这些模型更加普及。这将使具有有限计算资源的研究行人、教育工作者和学生更容易研究和探索ViTs的功能和应用。

最近,Trockman和Kolter在解决这个问题上取得了显著的进展。他们从在大图像数据集上预训练的ViTs的注意力图的模式中获得了灵感。他们的方法不需要在大数据上进行预训练,并实现了可比的性能,使得ViT架构的适应性变得容易,而无需增加额外的开销。尽管取得了有前景的结果,但这种方法在模仿大规模模型时过于模仿,没有提供ViTs应该如何初始化的任何理论理解。此外,它也没有与CNNs提供的卷积归纳偏差以及这种偏差如何与ViTs中的数据高效学习相关联。

卷积神经网络(CNNs)的最新进展,特别是ConvMixers,在结构上越来越类似于视觉 Transformer (ViTs)。具体来说,它们将多通道卷积分解为逐点卷积和逐通道卷积。与以前的CNN变体不同,ConvMixers在所有层中使用相等的分辨率表示,而无需在连续层中下采样表示。 Transformer 网络也使用逐通道卷积,但用多头自注意力(见图1)代替了深度卷积步骤。

picture.image

Cazenavette等人最近证明了随机滤波器权重可以在ConvMixer和ResNet框架中表现出与学习权重相当的表现。需要学习的参数仅与逐通道卷积相关,通常称为 Transformer 中的通道混合。这个结果特别有趣,因为标准ConvMixer或ResNet中的大多数参数在很大程度上是冗余的,不需要学习以实现有效性能。在这个洞察的基础上,作者证明了使用随机脉冲滤波器可以达到类似的表现,而无需学习。

与随机滤波器不同,随机脉冲滤波器的卷积矩阵可以有效地建模为软max注意力矩阵,在ConvMixer和ViT初始化之间建立了概念联系。具体来说,作者说明了CNNs通过其架构固有的卷积归纳偏差也可以在ViT内通过初始化实现。

作者的贡献如下:

  1. 作者假设,每个卷积神经网络(CNN)层内的多通道滤波器(如ConvMixer中的滤波器)应满足线性独立和冗余条件。当满足这两个条件时,仅通过学习通道混合即可实现有效性能。
  2. 脉冲滤波器满足这些标准,可以表示为软max自注意力矩阵,为作者ViT初始化提供了核心灵感。作者在一系列简单的ViT变体上评估了这个洞察。
  3. 作者在包括CIFAR-10、CIFAR-100和SVHN在内的多个基准测试上展示了在数据高效的ViT学习方面的最先进性能。作者的方法超过了最近模仿的方法,并提供了对ViT初始化的更基本的理解。

2 Why Random Filters?

Cazenavette等人最近证明,在像ConvMixer和ResNet这样的网络中,随机初始化的卷积滤波器仅学习通道混合时表现出色。然而,他们没有提供任何关于潜在原因的洞察。

在本节中,作者提供了一个简要的理论直觉。这个结果具有重要意义,因为它在ConvMixer和ViT的初始化之间建立了概念上的桥梁。为了简洁起见,作者在作者的公式中省略了激活(例如,GeLU、ReLU等)、偏置、批量归一化和跳过连接。

让作者定义ConvMixer中的patch嵌入为,其中是通道数,是向量化的patch中的像素数。一个2D卷积滤波器定义为,可以表示为一个卷积矩阵,其中,其中是卷积运算符。令是通道混合层的权重矩阵。因此,空间和通道混合的结果可以表示为:

令,其中,则可以定义:

假设的秩为,且,则可以得到:

其中,指的是矩阵中第行第列的元素。

请注意,一个线性无关滤波器的线性组合可以表示任何任意学习的滤波器。因此,由于是通道数,是输入的秩,且是卷积滤波器基的数量,作者知道只要

作者可以通过只学习通道混合参数得到任何卷积结果,其滤波器在给定的卷积滤波器空间中,如图2所示。从公式(3)中,作者可以看到只是个分量的线性组合,其中每个分量都是由个滤波器的聚合空间过滤得到的。尽管这个推导省略了激活、批量归一化和跳过连接,但它给出了一个关于仅学习通道混合是否足以实现合理良好性能的直观感受。作者在第5节中通过实证方式验证这些论断。

picture.image

3 Method

如图1所示,ConvMixer和ViT在架构上共享大多数组件。他们在小型数据集上的性能差异源于他们的空间混合选择。虽然逐点卷积(ConvMixer)和多头自注意力(ViT)在第一眼看来可能有所不同,但这一步的目标是相同的。空间混合步骤可以表示为:

然后是channel mixing和池化步骤,如图3所示。是patch嵌入,其中,是的空间混合矩阵。

picture.image

对于ConvMixer,矩阵可以看作是公式(1)中的卷积矩阵。对于ViT,矩阵可以看作是:

其中是注意力权重矩阵,是每个头中的特征维度。

在ConvMixer和Simple ViT中,空间混合矩阵可以针对中的每个列进行不同的变化。在ConvMixer中,是每个列向量中的不同混合矩阵(即,滤波器)。对于ViT,可以使用相同的混合矩阵对列向量的线性组合进行混合,即:

其中是可学习或固定的向量,用于在中选择要进行空间混合的线性组合。属于同一混合矩阵(即,头)的向量可以拼接成一个矩阵,其中表示头的数量。

模型I: ViT中一种常见的策略是在 Transformer 中增加与patch嵌入大小相同的位移嵌入,这样,以保持 Transformer 内的patch顺序。在ViT中,这个位移编码步骤通常只应用在第一层。由于原因将在后面变得清楚,作者还将考虑一种策略,即在所有层的自注意力机制中直接应用位移编码。

然而,在这种情况下,作者没有在 Transformer 网络的其余部分(即,)包括位移编码。在所有实验中,作者发现这种微小的增加几乎不会影响传统ViT的性能。作者将这种ViT的变体称为_Model I。

不同于ViT,ConvMixer中的空间混合矩阵与patch嵌入没有依赖关系。为了建立这两个之间的联系,作者考虑一个与无关的独立自注意力映射。在这里,作者考虑一个仅依赖位置编码的空间混合注意力图。

这里称为_Model II。

ConvMixer也在其混合矩阵的形成中使用了位置编码。为了完整性,作者还将考虑一个空间注意力混合图,其中位置编码完全被省略了:

其中是矩阵,而不是矩阵。作者将这个模型称为_Model III。

Impulse Filter Initialized ViT

从第3节可以看出,只要卷积滤波器具有足够的秩(即线性独立)并且通道数足够冗余,那么只需要学习通道混合矩阵。这意味着滤波器不一定需要随机初始化,可以是任何线性无关的一组滤波器。在这个问题上,随机脉冲滤波器是一个有趣的替代方案,因为它们满足线性独立假设,并且它们的卷积矩阵可以很好地近似为softmax注意力矩阵。

当和以传统方式(即随机)初始化时,这种洞察对于理解当前ViTs的性能不佳至关重要。当通过softmax运算符处理时,这会导致一个随机的排列矩阵(参见图3和5)。这对于学习复杂的注意力图是有益的,但在小规模学习任务上会变得 problematic。然而,通过将和初始化为形成一个随机的脉冲滤波器卷积矩阵,作者可以在不采用更严格架构的情况下,将CNN的隐偏置引入 Transformer 中。

图3说明了作者的初始化方法。请注意,作者使用Model I作为作者的ViT模型,而不是原始的Simple ViT。

  • 首先,作者随机初始化脉冲卷积滤波器的头数。
  • 然后,作者将随机脉冲卷积滤波器转换为卷积矩阵形式,这同样是注意力图的理想初始化方法。作者使用这些注意力图作为目标,并训练每个头中和的权重,以最小化MSE损失,该损失是和目标注意力图之间的差异。这种训练只需要几秒钟,然后作者使用训练好的s和s作为作者的初始化Model I Simple ViT。
  • 最后,作者将模型训练为分类任务,输入是,即。

5 Experiments

Spatial Mixing of ConvMixer

在第3节中,作者提供了关于随机初始化CNN内滤波器为何仅学习通道混合即可实现有效性能的理论洞察。作者提出,只要其他滤波选择(除了随机)是线性无关的,它们也可以同样有效。在这种背景下,特别有趣的候选者是随机脉冲滤波器。如图4所示,随机和随机脉冲滤波器都大致上与学习滤波器一样有效。

对于具有所有1的卷积滤波器(即,所有通道都是1),尽管在通道数上存在冗余,但滤波器彼此之间不线性无关,不能覆盖整个滤波器空间。因此,空间混合层的可表达性降低,导致预测性能变差。作者还包括随机扰动矩阵的结果。这个矩阵本质上是一个矩阵,其中每行中随机选择一个值,其他位置都是0。与随机脉冲滤波器矩阵不同,没有给出卷积约束(参见图3)。

picture.image

它还为作者提供了关于为什么对小规模学习任务直接随机初始化的自注意力矩阵表现如此糟糕的宝贵见解。当作者随机初始化权重矩阵和,然后将它们与相乘,再乘以每个列的SoftMax,则零通常以随机位置出现,很少考虑局部性。作者认为,这可能是训练使用小规模数据集的ViTs所面临的挑战之一。

Modified Simple ViT

在本节中作者评估了三种ViT变体,即Model I, Model II,和Model III。这些实验使作者能够建立ConvMixer和ViT之间的概念联系。作者的基准模型是Simple ViT,具有以下特定配置:嵌入维度为512,8个头,深度为6,和2个patch大小。

为了进行公平的比较,作者按照[27]中描述的相同设置训练所有这些模型:批量大小为512,使用Adam优化器,学习率为0.0001,训练200个epoch。为了真正评估它们在小型数据上的性能,作者在基准实验中不使用任何数据增强,因为数据增强将增加数据的尺度。输入数据只根据数据的平均值和标准差进行归一化。

修改后的模型如下:

表格1,在不使用数据增强的情况下,对CIFAR-10进行作者的修改后的模型评估。基准Simple ViT模型达到71.91%的准确率。然而,当没有输入位置编码时,它下降到57.97%,突显了ViT中位置信息的重要性。相比之下,卷积神经网络(CNNs)通过其卷积混合矩阵天然捕获位置信息。因此,从常识上讲,不需要显式位置编码。这一观察得到了ViT和CNNs之间的比较支持,其中空间卷积对应于注意力图,需要位置信息。

在这个洞察的基础上,Model I只引入了每个层中和的位编码,而不是的位编码。尽管如此,性能仍然保持一致,为71.3%,这与基准模型相似,证实了作者的假设。切换到使用身份位编码的Model II和Model III,进一步提高了测试准确率,使结果更接近ConvMixer。

脉冲初始化: 在Model III中,空间混合图定义为。如图3所示,初始化几个随机脉冲滤波器,然后将它们转换为大小为的卷积矩阵,其大小等于在打patch后图像的大小。生成的是一个具有可训练参数和的网络。这个过程模拟了自注意力层中注意力图的计算。

作者用均方误差(MSE)损失、Adam优化器和的学习率训练这个小网络,直到收敛,这只需要几秒钟。预训练完成后,作者用这些权重作为自注意力中和的脉冲初始化。作者还比较了作者的方法与模仿初始化[20]和传统随机初始化,结果见表2。除了将和输入到注意力图外,作者的脉冲初始化在所有不同的设置上都优于其他两种方法。

具体来说,当使用训练好的权重时,作者的方法比其他两种方法稍微好(提高了2%的准确率)。然而,当使用未训练的权重(有或没有)时,作者的方法比其他两种方法大幅提高了(有26%和29%的提高)。

请注意,如果权重是随机初始化和未训练的,它类似于图4中显示的随机排列矩阵,而作者的脉冲初始化更接近ConvMixer中的随机脉冲初始化。然而,由于(例如)Simple ViT中的头数是8,而ConvMixer中的头数是25,以及训练设置的不同,作者的脉冲初始化和ConvMixer之间的性能存在差距。

问题: 请注意,在自注意力中,计算注意力图涉及一个称为“尺度”的常数。实际上,。原始的 Transformer 引入了这个尺度,以防止点积的绝对值太大,进入SoftMax的小梯度区域。

考虑到SoftMax的性质,较小的通常会产生具有相似值且“平衡”的注意力图,而较大的则会导致具有许多1和0值(参见图5)的更“突出”的图。这个也控制着初始化后的注意力图可以接近脉冲卷积滤波器的程度。因此,选择一个适当的涉及平衡这些因素。在作者的实验中,作者发现是一个有效选择。

picture.image

Impulse Initialized Self-Attention

在最后一段中讨论了如何实现作者的脉冲初始化方法Model III,即。虽然这种形式允许注意力图成为一个完美的脉冲卷积滤波器,但将其固定为未训练的图会导致无法学习复杂的长程关系。训练注意力图时没有输入和会使学习长程空间关系变得具有挑战性,这可能解释了为什么使用训练好的脉冲滤波器的模型比未训练的模型表现更差,如表1所示。

为了保留ViT学习输入相关注意力图的优势,并引入卷积的归纳偏差,特别是在处理小规模数据时,作者选择使用进行初始化。然而,在训练期间,作者让模型在中运行。

picture.image

初始化: 初始化步骤类似于第5.2节中的描述。与训练成为脉冲卷积滤波器的目标不同,作者现在目标是使表示随机脉冲卷积滤波器。类似于第5.2节,作者构建一个小神经网络来模拟SoftMax和矩阵乘法参数和。与第5.2节不同,这个网络接受位置编码作为输入,因为它在训练过程中保持不变。与先前的设置一致,神经网络被训练为预期随机脉冲卷积图,具有MSE损失,Adam优化器和的学习率,训练个epoch。

在作者的初始化中,解决的问题变得至关重要。使用训练时面临挑战,因为它是秩不足的,很难获得预期的注意力图。在优化过程中,模型倾向于将参数的幅度不断增加,导致具有较大范数的参数,这会阻碍有效的训练。

为了解决这个问题,作者在训练过程中引入了权重归一化。对于的初始化训练,作者经验性地发现,设置和效果很好。作者在随后的所有实验中采用这个配置,以作者的脉冲初始化方法。

在作者预训练和的初始化之后,作者将这两个权重放入中,并用于分类任务。在作者的实现中,作者添加了一个新的参数来平衡输入和,其形式如下:

当时,成为,当时,成为。

在作者的实验中,作者使用Rand Augment,Random Crop和Random Horizontal Flip作为数据增强。表3展示了在不同值(从0到0.5,即从Model II到Model I)下三种初始化策略的比较。

虽然模仿初始化优于常用的随机初始化,但作者的脉冲初始化进一步提高了性能(相对于随机初始化,提高了2.7%-3.6%),总性能提高了3.2%-7.1%,与随机初始化相比。这突显出,使用随机脉冲卷积滤波器初始化注意力图允许模型利用卷积的归纳偏差,同时保留学习复杂长程关系的容量。

picture.image

一个有趣观察是,当从0.5减少到0.0时,随机初始化的性能显著提高。这表明,消除输入使训练更容易。在数据集规模有限的情况下,使用学习注意力图很难优于数据无关注意力图。卷积的归纳偏差可能在这种情况下提供最有效的先验知识。

随机初始化和模仿初始化之间的差距在处较小,表明两种设计的初始化策略,引入归纳偏差,有助于调节数据相关和数据无关注意力图之间的差异。另一个值得注意的是,对于随机注意力图,产生最佳性能,如前所述。然而,对于模仿和作者的脉冲滤波器,在0.1处出现了一个甜蜜点,表明引入少量输入有助于模型学习基于归纳偏差的更复杂关系。

在图6中,作者展示了对于在增强的CIFAR-10数据集上的的训练过程。为了清晰起见,作者仅在头100个epoch中显示了测试精度。值得注意的是,模仿初始化收敛速度比随机初始化快,而作者的脉冲初始化比其他两种收敛速度快得多。

picture.image

作者扩展了在CIFAR-100和SVHN上的不同初始化策略的评估。所有模型配置和训练设置与之前的实验保持一致。请注意,SVHN数据集没有进行任何数据增强。结果见表4和表5,表明作者的初始化方法在CIFAR-10实验中观察到的有前景和一致的性能,如表4和表5所示。

picture.image

picture.image

6 Limitations

确定自注意力尺度和权重归一化步骤都存在挑战,使得初始化过程不太可靠。确定这两个超参数的最优组合也是具有挑战性的。尽管作者尝试了类似于模仿初始化的SVD分解,但结果并不一致。相反,作者发现预训练 Query 和键的权重初始化更为有效,从而塑造出脉冲卷积形式的初始注意力图。

虽然与原始ViT非常相似,但存在一些微小的差异。尽管性能上存在微小的差异,但在原始ViT结构内将注意力图作为随机脉冲卷积滤波器进行初始化是一个未来的研究方向。

7 Conclusion

在本文中,作者提出了一种新的ViT初始化策略,以解决ViT在小型数据集上的训练困难问题。作者的初始化不需要预先在大规模数据集(无论是模仿的还是实证的)上的预训练模型知识。相反,作者的策略受到卷积的归纳偏差启发,不需要进行架构修改。在仔细研究为什么随机空间卷积滤波器有效之后,作者选择将自注意力图初始化为随机脉冲卷积滤波器,这些滤波器融合了卷积的归纳偏差并保持了 Transformer 的架构灵活性。此外,作者的方法还揭示了如何将作者的知识融入自注意力图构建的途径。

8 Additional Context on ConvMixer

在主论文中,作者提供了关于ConvMixer中随机空间混合滤波器有效性的理论见解,强调了线性独立性和冗余性的重要性。然而,作者主要关注满足这两个条件的情况,引入了脉冲滤波器初始化的概念。在本节中,作者提供额外的实验来探索在满足这两个条件的情况下不满足线性依赖性的情况。作者的主要目的是证明,在通道数足够冗余的情况下,空间混合卷积层的可表达性与卷积滤波器的线性独立性密切相关。

为了降低卷积滤波器的线性独立性,作者使用高斯滤波器作为脉冲滤波器的软版本。与脉冲滤波器类似,作者在滤波器中选择一个随机的位置,并将其值设置为1。在脉冲滤波器中,其他所有元素都是0,而在高斯滤波器中,中心元素周围的值按照标准差递减。直观上,当非常小时,高斯滤波器的形状与脉冲滤波器非常相似,而当增加时,滤波器逐渐变得平坦,类似于平均滤波器。

另一种控制滤波器线性独立性的方法是手动将滤波器分成组,并确保同一组内的滤波器相同,类似于ViT中的“头”概念。而不是使用参数化的滤波器,其中表示通道数,可以考虑使用滤波器,其中表示“头”的数量。在这里,每个滤波器有个副本,以覆盖所有通道。

在表6中,作者展示了使用高斯滤波器的ConvMixer的结果。架构和训练设置与主论文中呈现的一致。空间卷积滤波器固定,在作为高斯滤波器初始化后保持未训练。当通道数固定为512时,如果头数也固定为512,则不会出现滤波器的重复。随着标准差从10(宽)减少到0.01(窄),滤波器越来越线性独立,从而导致准确率的相应增加。当头数(不同的滤波器)减少时,最初性能不会显著下降。例如,使用8个头几乎与使用512个头一样好,表明即使有多个相同滤波器的副本,也可以在由8个不同滤波器覆盖的滤波器空间内实现良好性能。然而,随着这个数字继续减少到4甚至2,性能也开始下降。

尽管当滤波器表现出线性依赖性时,性能会降低,这看起来与作者理论预期有些矛盾。然而,这种观察可能归因于作者使用的数据集的相对简单性,这可能不需要复杂的空间混合。此外,空间卷积层中这之后的非线性(GeLU)以及模型的深度(重复空间和通道混合块)可能会潜在地减轻单个空间混合层中线性依赖性的负面影响。

9 Additional Results of ViT

在表7和表8中,作者提供了随机、模仿式[20]和脉冲初始化策略的测试准确率结果。除了和的权重初始化外,作者保持所有其他训练设置和模型架构相同。作者观察到,三种不同初始化策略的顺序与作者在主论文中提出的研究结果一致。

picture.image

picture.image

参考

[1].Convolutional Initialization for Data-Efficient Vision Transformers.

点击上方卡片,关注 「AI视界引擎」 公众号

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
IDC 大模型应用落地白皮书
大模型技术已深度融入业务实践,各企业期望其释放更大商业价值。 但大模型落地之路面临许多挑战和顾虑。 如何精准对接业务需求与发展蓝图,制定切实可行的大模型落地策略? IDC发布首个大模型应用策略与行动指南 一为您揭晓一
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论