《Mixup Feature: A Pretext Task Self-Supervised Learning Method for Enhanced Visual Feature Learning》
主要为了解决其他方法需要大量计算资源进行实验的问题,本文主要想开发一种相对不太依赖计算资源的简单有效的SSL算法
MAE:采用非对称的编解码器架构,编码器仅作用于可见图像块(即输入图像快中一定比例进行丢弃,丢弃比例高达75%)并生成隐式表达,解码器则以掩码token以及隐式表达作为输入并对遗失块进行重建。
摘要:
主要提出一种基于Mixup特征来学习视觉表示,这些特征作为更高级语义特征的代理。基于Mixup特征作为预训练任务的新型自监督学习方法。通过预测掩蔽图像的Mixup特征来学习视觉表示。
具体的,通过Mixup特征作为自监督学习的预测目标的有效性。通过Mixup操作设置超参数λ,创建Sobel边缘特征图、HOG特征图和LBP特征图和成对组合。采用视觉变换器为骨干网络,借鉴掩蔽自编码器(MAE)的思想。
Mixup:一种数据增广策略。通过对输入数据进行简单的线性变换(即
)可以增强模型的泛化能力,并且能够提高模型对于对抗攻击的鲁棒性。
Mixup通过对模型输入与标签构建具有“凸”性质的运算,构造新的训练样本与对应的标签,提高模型的泛化能力。其要求模型在特征层面对于运算满足线性约束,利用这种约束对模型施加正则化。
其对标签空间进行软化,目标函数往往是一组概率
软化标签空间:对于离散的标签或类别进行一种模糊化处理,主要为了解决多标签分类问题。
INTRODUCTION
在自监督任务中,模型通过预测每个被掩蔽块的灰度值来重构输入图像。解码器输出一个重新排列的特征图,损失函数的计算是根据特征图中灰度值的均方误差来进行的。本文中的损失函数是针对整个预测的Mixup特征图进行的,不仅仅计算掩蔽块中的损失。
在大规模自然语言模型的预训练阶段,自监督学习在很大程度上以来与对掩码文本内容的预测策略。
本文提出的方法,具体来说就是利用VIT骨干网络编码器提取未被掩码的图像块的特征表示,然后利用解码器来预测Mixup特征图的掩码部分。通过这样做,编码器能够从数据中学习复杂的语义信息。
研究总结:
- 提出一种自监督预训练代理任务
- 对传统图像处理特征(包括LBP、HOG和Sobel边缘检测)进行了Mixup验证实验,随机配对两个特征。
- 研究不同掩码块比例、Mixup因子λ和数据增强对自监督预训练过程的影响
METHOD
A.Mixup特征
共有三种传统的图像特征映射用于自监督学习的预训练:局部二值模式(LBP)、方向梯度直方图(HOG)和Sobel边缘特征。
共有九种不同的特征映射预训练方案,首先通过使用单个传统映射作为代理任务的目标信号,获得三种方案;然后将他们两两组合以获得特征映射的加法得到另外三种方案;最后,实施两两组合来获取在Mixup之后的特征映射,构成最后三种方案。
Mixup特征的具体操作如下:
给定两个特征映射f1,f2,通过使用一个介于0和1之间的超参数λ来线性组合这两个特征映射。用λ表示使用f1的权重,(1-λ)表示使用f2的权重。这种线性组合的操作课时使得两个特征映射在混合后共同影响最终的结果。通过该操作,可以在自监督的预训练过程融合不同的特征映射,以增强鲁棒性和泛化能力
B. 重构Mixup特征
目标是使模型能够在没有使用标签的情况下执行遮挡图像预测任务,通过让模型恢复具有一定细节的遮挡视觉内容。
具体来说,本文遮挡策略使遵循VIT,将图像划分为非重叠的块。使用一种无重复的随机采样方法对图像补丁进行遮挡。
Mixup特征预训练:
输出:预训练模型
L:损失函数,Optimizer:优化器
λ:Mixup的超参数,r:遮挡率
初始化 Model_Masked_Autoencoder 模型
对于每个 epoch in epochs(迭代训练轮数):
初始化 L(损失函数)
算法主要步骤:
- 初始化模型
- 对于每个训练轮数(epoch):
a. 初始化损失函数L:
b. 对于数据集D中的每个样本d:
获取样本d的的特征1、2
使用Mixup算法将特征f1和f2进行混合,得到Mixup_f
使用Model_Masked_Autoencoder模型对样本d进行预测,得到预测特征 Predict_f 和 遮罩mask
计算预测特征Predict_f 与 Mixup 特征 Mixup_f 之间的损失,更新损失函数 进行反向传播,计算梯度
更新模型参数
3. 训练结束后,保存Model_Masked_Autoencoder模型
编码器的主干网络使VIT,并且未遮挡的补丁被用作编码器的输入。解码器尽在预训练阶段用于执行混合特征图重构任务
损失函数计算重构的混合特征图与原始混合特征图之间的L2损失
实验:
通过线性探测和完全微调分类进行性能评估的基准测试。以无监督的方式对所选数据集的训练集进行了自我监督的预训练,没有使用标签。
在自监督学习算法的评估过程中,舍弃预训练的编码器添加了一个分类头用于执行分类任务。在线性分类评估中,冻结预训练阶段编码器学习到的参数,只训练线性分类头,在相应数据集的测试集上进行测试。对于完全微调分类评估,不冻结预训练阶段编码器学习到的参数。具体而言,同时训练预训练的编码器和全连接层。
分类头:是一个额外的神经网络层,通常是一个全连接层,接受来自预训练编码器的表示作为输入,并生成与分类任务相关的输出。分类头的参数是在分类任务上进行训练的,其目标是根据输入数据的特征来预测正确的类别标签。通过将分类头添加到预训练的编码器中,可以利用编码器学到的有意义的表示来执行具体的分类任务。分类头充当了连接预训练编码器和分类任务的桥梁,使得编码器可以用于新任务的预测。这种方法可以充分利用预训练模型学到的高级特征,从而加速和改善对新任务的学习过程。
在实验过程中,进行广泛的预训练实验,使用不同大小的编码器(VIT-Tiny\VIT-Small\VIT-Base)和不同的重构目标。通过线性探测和完全微调分类来评估模型的性能。线性探测是指冻结预训练编码器的参数只训练线性分类头,并在对应数据集的测试集上进行测试。完全微调分类是指不冻结预训练编码器的参数,同时训练预训练编码器和全连接层。
此外,本文还研究了图像增强的效果,以及遮挡率和Mixup超参数对重构特征图任务的影响。目的是了解不同设置对模型性能的影响,以及如何优化和改进提出的方法
架构
optimizer:优化器
optimizer momentum:优化器动量
weight decay:权重衰减
learning rate schedule:学习率调度
base learning rate:基础学习率
warmup epochs:预热轮数。指训练开始阶段的一部分论述,其中学习率较低并逐渐增加到设定的基础学习率。预热轮数的目的是在训练初始阶段缓慢增加学习率,以帮助模型更好地初始化和适应数据。
预热轮数的具体数值通常是根据经验或问题的特性进行选择。较小的预热轮数意味着较短的学习率预热阶段,模型可能会更快地达到稳定状态,但可能会牺牲一些性能。较大的预热轮数意味着较长的学习率预热阶段,模型可以更充分地适应数据,但训练时间可能会稍长。
重建目标设计:
本文模型通过预测每个被遮罩修补区域地灰度值来重建输入。解码器输出一个重新调整形状的特征图,损失函数计算为特征图中灰度值的均方误差。在本研究中,计算整个预测的Mixup特征图的损失函数,不仅仅计算遮罩修补区域中的损失。由于重建任务的损失归一化会得到一个非常小的值,可能导致模型中的梯度消失,所以在实验中没有归一化重建的特征图。
图三主要比较不同重建目标(左侧)的实验结果,包括单目标特征图和特征图的成对组合。
结果显示与MAE方法相比,Mixup生成的特征图通常在经过100个epochs的全面微调和线性探测实验中提高了性能,简单地将特征图相加并没有改善预训练模型提取图像特征的能力。Mixup(HOG,Sobel)取得了最好的结果
简单地将特征图相加并没有提高预训练模型提取图像特征的能力。事实上,直接相加的实验结果甚至比单一特征重构的结果更差。然而,Mixup特征图,特别是Mixup HOG和Sobel特征图,取得了最好的结果
top1-accuracy:
评估模型性能的一种指标,表示模型在预测中选择的类别中,与真实标签完全匹配的比例。意味着模型的预测结果与真实结果完全一致的情况下,被认为是正确的
上表是:全面微调。全面微调是指对整个模型进行微调,并根据预测结果的准确率来评估模型的性能。通过微调模型的所有参数,以最大程度地适应特定任务或数据集,可以提高模型地准确率并改善其性能。
下表是:线性探测。线性探测是将预训练模型地特征提取部分(通常是骨干网络)保持不变,只训练顶层分类器来适应特定任务或数据集。这种方法的目的是在不改变预训练模型的特征提取能力的情况下,通过训练分类器来调整模型以训练新模型。线性探测(top1准确率)指的是在预训练模型的特征提取部分固定的情况下,通过训练顶层分类器来评估模型的性能。通过仅仅调整分类器,可以验证预训练模型的特征表达能力以及其在新任务上的适应性。
图四是混合特征图的重建结果,从左到右依次显示了原始图像、遮罩图像、目标混合特征图和重建的混合特征图。
最好的Mixup预训练模型在CIFAR-10和CIFAR-100数据集上的性能超过了从头开始训练的基线模型10个百分点以上,并且在基于ViT-small骨干网络的STL-10数据集上提高了9个百分点,在基于ViT-base骨干网络上提高了5个百分点。此外,随着骨干网络中参数数量的增加,从头开始训练和自监督预训练的准确性之间的差距缩小。
图2中,我们呈现了两组实验的结果,显示当遮挡率在40%和60%之间时,模型的准确率比其他情况下更高。与像素重建任务设置的高遮挡率不同,我们的Mixup特征方法需要足够数量的可见补丁才能发挥作用。图2中的两组实验在三个不同的数据集上进行,实验中使用的Mixup特征的特征图是HOG和Sobel。
在表3中,这种组合实现了最佳的实验结果。实验结果表明,过大的遮挡率会使Mixup特征的重建过程过于复杂,而过小的遮挡率会过度简化重建过程。当遮挡率设置为零时,模型只学习如何提取HOG特征图和Sobel边缘信息,这限制了它从图像中学习足够抽象的语义信息的能力。
特征图之间的Mixup因子λ在模型性能中起着重要作用。为研究其影响,对方程1中进行试验,范围从0到1.其中,实验集中在三个数据集上的三种不同类型特征的成对组合上。
上图说明了混合因子对Full Fine-tuing性能的影响。子图a、b和c分别对应从CIFAR-10、CIFAR-100和STL-10数据集获得的实验结果。x轴显示混合因子λ,范围从0到1,间隔为0.1。图3中显示的两种Mixup特征是根据方程(1)实现的,例如HOG-Sobel,其中HOG指的是方程(1)中的f1,而Sobel指的是f2。y轴表示Full Fine-tuning的Top-1准确率。
根据实验结果,可以看出HOG-Sobel Mixup组合特征在三个数据集上的性能表现最好。当λ设置为0或1时,对应于只使用单个特征(f1或f2)进行重建,性能最差。通过适当设置λ,可以获得比单独使用单个特征更好的模型性能
总的来说,Full Fine-tuing性能取决于Mixup因子λ的设置以及特征组合的选择。在HOG-Sobel组合中,最佳结果在λ设置为0.2或0.3实现。这表明在重建Mixup特征时,将λ偏向Sobel边缘特征图可以获得最佳性能。然而,LBP特征图的实验结果不理想,当λ强调LBP特征图时,性能会下降。因此,在进行Full Fine-tuing时,选择合适的Mixup因子λ和特征组合对于获得最佳性能是至关重要的。
与以前的方法相比(Top1-准确率)。我们使用的生成式自监督学习骨干网络是 ViT-small,而对比式骨干网络是 ResNet-18 [37]。我们的 Mixup-feature 重建了 HOG-Sobel 特征图谱
在表4中,我们比较了生成式自监督ViT-Small模型的微调结果。生成式方法的性能非常相似。我们的方法在Cifar-10和STL-10数据集上分别取得了最高的准确率,分别为92.09%和86.55%,仅比Cifar-100数据集上的Mask Feat低0.9%。与早期的经典对比学习方法相比,生成式方法显示出显著的改进。此外,生成式模型的预训练时间通常比对比学习的时间短。我们方法的预训练时间与MAE的训练时间相当。
在保持掩码比例为50%,混合因子λ为0.2,并将HOG和Sobel特征图混合作为重建目标的条件下,我们研究了各种数据增强策略。在表5中展示了Mixup Feature预训练过程中不同数据增强方法的影响结果。我们比较了随机裁剪、颜色扰动和RandAugment [38]等数据增强方法。实验结果表明,仅使用随机裁剪进行数据增强效果最好,颜色扰动对结果影响较小,而RandAugment [38]略微降低了性能。数据增强对我们的方法影响相对较小,即使没有数据增强,仍然可以实现高准确率。与对比学习相比,后者严重依赖于数据增强,没有数据增强很难取得良好的结果。
在Mixup Feature预训练期间不同数据增强的影响结果如表所示。
rand crop:随机裁剪
crop, color jit:颜色抖动。crop是指通过裁剪图像的一部分来增强数据集;color jit指对图像的颜色进行微小的随机变化,例如调整亮度、对比度、饱和度等,以增强数据的多样性和鲁棒性。
crop, rand aug:RandAugment,通过应用一系列随机的图像变换来增强数据集。这些变换可以包括裁剪、旋转、缩放、扭曲等操作,以增强数据的多样性和泛化能力
实验结果显示,仅使用随即裁剪进行数据增强效果更好,颜色抖动对结果影响较小,而RandAugment对性能稍有降低
掩码自编码器MAE采用非对称的编解码架构,编码器仅作用于可见图像块(即输入图像块中一定比例进行丢弃,丢弃比例达75%)并生成隐式表达,解码器则以掩码token以及隐式表达作为输入并对遗失块进行重建。
MAE,基于给定部分观测信息对原始信号进行重建。MAE中,包含一个将观测信号映射为隐式表达的编码器,一个用于将隐式表达重建为原始信号的解码器。这组自编码器的不同之处在于,MAE采用了非对称设计,使编码器仅依赖与部分观测图像(无需掩码token信息)轻量级解码器则接与所得隐式表达与掩码token进行信号重建
遮挡:进行随机采样。具有高掩码比例的随机采样可以极大程度消除冗余,进而构建一个不会轻易被近邻块推理解决的任务。均匀分布避免了潜在的中心偏置问题。将输入图像拆分成非重叠块,然后采样一部分块并移除其余块(即进行mask)。
encoder:仅作用于可见的未被mask的块。通过线性投影于位置嵌入对块进行编码。将可见的图像块作为输入序列传递给自注意力机制,生成对应的隐式表达,遮挡的图像不参与编码过程。
decoder:解码器输入包含1)编码器的输出,2)掩码token。
提出问题,MAE在CV和NLP中表现差异的原因是什么
- CV和NLP的架构不同。CV常用卷积这种具有“规则性”的操作,直至VIT才打破架构差异
- 信息密度不同。语言具有高语义和信息稠密性;突刺昂是自然信号具有重度空间冗余:遗失块可以通过近邻重建且无需任何全局性理解。为克服这种差异,采用高比例随机块掩码,大幅降低冗余
- 自编码器的解码器在重建方面的作用不同。在CV方面,解码器进行像素重建,具有更低语义信息;在NLP中,解码器预测遗失的值,大幅降低冗余