data2vec 自我监督学习的里程碑

data2vec 里程碑

机器学习模型在训练过程中严重依赖有标签的数据,传统上,使用有标签的数据训练模型可以得到准确的结果。然而,使用有标签数据的主要缺点是注释成本随着训练数据规模的增加而上升。高昂的注释成本对开发者来说是一个巨大的障碍,尤其是在处理大型项目和大量训练数据时。

为了解决注释问题,开发者提出了自监督学习(Self Supervised Learning)的概念。自监督学习是一种机器学习过程,其中模型通过学习输入的一部分来训练自己。自监督学习模型旨在利用数据之间的关系,而不是使用有标签数据的监督信号。

除了自监督学习,还有其他几种方法和模型可以在不使用有标签数据的情况下训练机器学习模型。然而,这些方法大多存在两个主要问题:

  1. 它们通常专门针对单一模态,如图像或文本。
  2. 它们需要大量计算资源。

这些限制是一个重要问题,平均人类思维能够更有效地从单一类型的数据中学习,而不像依赖于单独的模型和训练数据来区分图像、文本和语音的AI模型。

为了解决单一模态的问题,Meta AI发布了第一种自监督高性能算法data2vec,该算法可以从三种不同的模态(图像、文本和语音)中学习模式信息。通过实施data2vec算法,文本理解可以应用于图像分割问题,或者可以用于语音识别任务。

在本文中,我们将深入讨论data2vec模型。我们将详细讨论方法概述、相关工作、架构和模型的结果,以便您清楚地了解data2vec算法。

data2vec简介:核心思想

尽管自监督学习的基本概念适用于各种模态,但实际目标和算法因单一模态而异。为单一模态设计模型是同一自监督学习算法无法在不同类型的训练数据上有效工作的原因。

为了克服单一模态模型和算法带来的挑战,Meta AI发布了data2vec算法,该算法使用相同的学习方法来处理计算机视觉、自然语言处理或语音。

data2vec算法的核心思想是使用输入的掩码视图来预测完整输入数据的潜在表示,通过自蒸馏设置与标准Transformer架构的帮助。因此,data2vec算法预测的不是局部的、特定于模态的对象(如图像、文本或语音),而是利用完整的训练或输入数据的信息来预测潜在的表示。

AI行业为什么需要data2vec算法?

自监督学习模型通过人工注释标签构建训练数据的表示,这是自然语言处理和计算机视觉技术进步的主要原因之一。这些自监督学习表示是语音识别和机器学习等任务中采用无监督学习的原因。

到目前为止,这些自监督学习算法主要关注单一模态,导致学习偏见和模型中的特定设计。单一模态的自监督学习算法在计算机视觉和自然语言处理等不同AI应用中带来挑战。

例如,在语音处理中有语音单元的词汇,可以定义自监督学习任务。同样,在计算机视觉中,开发者可以对输入进行回归,学习离散的视觉标记,或者学习对数据增强不变的表示。尽管这些学习偏见很有用,但很难确定这些偏见是否能推广到其他模态。

data2vec算法是自监督学习行业的一个重要里程碑,它旨在改进多个模态,而不仅仅是一个模态。此外,data2vec算法不依赖于重构输入或对比学习。

世界需要data2vec算法的原因是因为data2vec算法有潜力加速人工智能的进展,并有助于开发能够无缝学习其环境不同方面的AI模型。科学家们希望data2vec算法能够帮助他们开发更适应性强的AI和ML模型,这些模型能够执行超越当今AI模型能力的高级任务。

什么是Data2Vec算法?

Data2Vec是一个统一的框架,旨在实现跨不同数据类型(包括图像、语音和文本)的自监督机器学习。

Data2Vec算法旨在通过在不同数据类型上保持统一的学习目标,更好地学习环境中的一般模式。Data2Vec模型将学习算法统一起来,但仍然单独学习每种类型的表示。

通过引入Data2Vec算法,Meta AI希望使多模态学习更加有效和简化。

Data2Vec算法如何工作?

Data2Vec算法将潜在目标表示的学习与掩码预测相结合,尽管它使用多个网络层作为目标来推广潜在表示。该模型专门训练了一个现成的Transformer网络,然后在教师模式或学生模式中使用。

在教师模式中,模型首先构建用于学习任务的输入数据的表示。在学生模式中,模型对输入数据的掩码版本进行编码,然后用于对完整数据表示进行预测。

上图表示了Data2Vec模型如何使用相同的学习过程来处理不同的数据类型。在第一步中,模型生成输入数据的表示(教师模式)。然后,模型根据输入的掩码版本对这些表示进行回归。

此外,由于Data2Vec算法使用输入数据的潜在表示,因此它可以被视为特定于模态的设计(如通过归一化输入创建合适的目标或学习一组固定的视觉令牌)的简化版本。但是,Data2Vec算法与其他算法的关键区别在于,Data2Vec算法使用自注意力使其目标表示具有上下文和连续性。而其他自监督学习模型使用基于局部上下文的一组固定目标。

Data2Vec模型方法

Data2Vec模型通过预测给定输入的模型表示的输入数据的部分视图来进行训练。如图所示,狗的脸被掩盖,语音记录的特定部分被掩盖,文本中的单词“with”被掩盖。

模型首先对训练样本的掩码版本进行编码(学生模式),然后对输入的未掩码版本进行编码,以构建具有相同模型的训练目标,但仅在将其参数化为模型权重的指数平均值时使用(教师模式)。此外,目标表示对训练样本中的信息进行编码,并且在学生模式中,学习任务用于在给定输入的部分视图时预测这些表示。

模型架构

Data2Vec模型使用标准的Transformer架构,对输入数据进行特定于模态的编码。对于与计算机视觉相关的任务,模型使用ViT策略将图像编码为一系列补丁,其中每个图像跨越16×16像素,并作为线性变换进行处理。

此外,对于语音识别的数据,模型使用多层1-D卷积神经网络将16 kHz的波形映射为50 Hz的表示。对于处理文本数据,模型对数据进行预处理以提取子词单元,然后通过嵌入向量将数据嵌入到分布空间中。

掩码

一旦模型将输入数据嵌入为一系列标记,模型会通过用嵌入标记替换部分单位来对这些单位进行掩码,然后将序列馈送到Transformer网络中。对于计算机视觉,模型采用块状标记策略。潜在语音表示用于掩盖语音数据的一段段,而对于与语言相关的任务,标记被掩盖。

训练目标

data2vec模型旨在根据最初馈送给模型的掩码样本的编码,预测未掩码训练样本的模型表示。该模型仅针对被掩码的时间步骤进行表示预测。

该模型预测上下文化表示,不仅编码特定时间步骤,还编码样本中的其他信息,因为它在Transformer网络中使用了自注意力。上下文化表示和Transformer网络的使用是将data2vec模型与已有的BERT、wav2vec、BEiT、SimMIM、MAE和MaskFeat模型区分开来的因素,这些模型在预测目标时没有上下文信息。

以下是data2vec模型如何参数化教师模式以预测网络表示,并将其作为目标。

教师参数化

data2vec模型使用模型参数(θ)的指数移动平均(EMA)来参数化未掩码训练样本的编码,其中目标模式(△)中的模型权重如下:

                                           ∆ ← τ∆ + (1 − τ ) θ

 

此外,模型为τ安排了一个线性增加的参数,从τ0线性增加到目标值τe,该参数在前τn次更新中逐渐增加。在这些更新之后,模型将该值保持不变,直到训练结束。EMA策略的使用在训练开始时,当模型是随机的时候,更频繁地更新教师。随着训练的进行和学习到好的参数,教师的更新频率会降低。

结果表明,当共享特征编码器和位置编码器的参数时,该模型在效率和准确性方面更高。

目标

训练目标的构建依赖于教师网络的前K个块的输出,这些块用于学生模式下的被掩码时间步骤。任何时间步骤t的块l的输出被表示为alt。然后模型对每个块应用归一化,以获得âlt,然后对前K个块进行平均以获得训练目标yt。

  

 

对于总共L个块的网络,它创建了模型在学生模式下回归的训练目标。在初始实验中,data2vec模型在单独预测每个块时表现出色,并且同时更加高效。

此外,对目标进行归一化还可以防止data2vec模型在时间步骤上坍缩为常数表示,并防止具有高归一化的层在目标数据集中占主导地位。对于语音识别,该模型在当前输入样本上使用实例归一化,没有任何学习参数。这主要是因为输入数据的步幅较小,相邻表示高度相关。

此外,研究人员发现,在处理计算机视觉和自然语言处理时,无参数的归一化已经足够。该问题也可以通过方差不变性协方差正则化来解决,但上述策略表现良好,并且不需要任何额外的参数。

目标

对于上下文化训练目标yt,该模型使用平滑的L1损失进行目标回归,如下所示

在这里,β控制从平方损失过渡到L1损失,并且它严重依赖于模型预测ft(x)在时间步t的差距的大小。这个损失的优点是相对于异常值来说比较不敏感,需要调整β的设置。

实验设置

data2vec模型使用两种模型大小进行实验:data2vec Large和data2vec Base。为了数值稳定性,EMA更新使用fp32进行,模型包含L=12或L=24个Transformer块,隐藏维度(H)为768或H=1024。让我们详细看一下不同模态和目的的实验设置。

计算机视觉

data2vec模型将224×224像素的图像作为16×16像素的补丁进行嵌入。每个补丁都经过线性变换,然后将包含196个表示的序列馈送给标准Transformer。

该模型遵循BEiT的做法,用相邻的补丁掩盖块,每个块至少有16个具有随机宽高比的补丁。然而,与BEiT模型中最初掩盖40%的补丁不同,data2vec模型掩盖60%的补丁以获得更好的准确性。

此外,该模型会随机调整图像裁剪大小,进行水平翻转和颜色扭曲。最后,data2vec模型在教师模式和学生模式下使用相同的修改后的图像。

ViT-B模型进行了800个周期的预训练,data2vec模型对于ViT-L模型使用批大小为8,192,对于ViT-B模型使用批大小为2,048。data2vec模型还使用余弦和Adam调度以单个循环进行学习率预热,对于ViT-L模型进行80个周期使得学习率从0.001增加到0.001,对于ViT-B模型进行40个周期使得学习率从0.001增加到0.001。

对于ViT-B和ViT-L,data2vec模型使用β = 2,K = 6和τ = 0.9998作为常数,没有调度。该模型还使用随机深度率0.2。

此外,对于ViT-L,模型训练了1,600个周期,其中前800个周期的学习率为0.9998,然后模型重置学习率调度,并继续进行最后800个周期,学习率为0.9999。

对于图像分类,模型使用最后一个Transformer块的输出的平均池化结果,并将其馈送到经过softmax归一化的分类器。然后,模型对ViT-L进行50个周期的微调,对ViT-B进行100个周期的微调,使用余弦和Adam进行学习率预热。

语音处理

对于语音处理,data2vec模型使用Fairseq,这是一个用于训练摘要、翻译和文本生成的客户模型的序列建模工具包。该模型以16 kHz的波形作为输入,通过具有512个通道、核宽度(10,3,3,3,3,2,2)和步幅(5,2,2,2,2,2,2)的时间卷积进行处理。

上述过程导致编码器的输出频率为50Hz,每个样本之间的步幅为20ms。接收域由400个输入样本或25ms的音频组成。原始波形被归一化为单位方差和零均值。

Base模型使用的掩码策略类似于Baevski在语音识别的自监督学习中的框架。该模型对所有时间步长采样p = 0.065作为起始索引,然后标记接下来的十个时间步长。对于典型的训练序列,该过程允许约49%的总时间步长被掩盖。

在训练过程中,data2vec模型使用线性退火τ,其中τo = 0.999,τe = 0.9999,τn = 30,000。data2vec模型使用Adam优化器,基础模型的峰值学习率为5×10-4。此外,基础模型使用三阶段调度器,线性预热前3%的更新的学习率,对接下来的90%保持不变,然后线性衰减剩余7%的学习率。

自然语言处理

data2vec模型使用50K个类型的字节对编码对输入进行分词,然后模型为每个类型学习一个嵌入。在数据编码之后,模型对均匀选择的15%的令牌应用BERT掩码策略,其中80%的令牌被学习到的掩码令牌替换,10%被随机词汇令牌替换,剩下的10%保持不变。

在预训练过程中,模型使用τo = 0.999,τe = 0.9999和τn = 100,000,K = 10和β = 4。模型使用Adam优化器,采用三阶段学习率调度,首先线性增加学习率的前5%更新,保持80%的学习率,然后线性降低剩余15%的学习率,峰值学习率为2×10-4。

此外,模型在16个GPU上进行训练,批量大小为256个序列,每个序列包含约512个令牌。对于下游任务,模型在四个不同的学习率上进行预训练:1×10-4、2×10-4、3×10-4、4×10-4,并选择表现最佳的学习率进行进一步的自然语言处理下游任务。

结果

让我们看一下当data2vec模型对不同的模态实施上述策略时的表现。

计算机视觉

为了评估计算机视觉的结果,data2vec模型在来自ImageNet-1K数据集的图像上进行预训练。然后,使用相同基准的标记数据对生成的模型进行微调。按照标准做法,模型根据验证数据的top-1准确率进行评估。

然后,根据单个自监督模型、训练额外数据上的单独视觉分词器,或其他自监督学习模型的基础上对结果进行区分。

下表比较了data2vec模型在计算机视觉和其他现有模型(ViT-L和ViT-B)上的性能:

上表的结果可以总结如下:

  • 在单模型设置下,data2vec模型的性能优于ViT-L和ViT-B模型的先前工作。
  • 与工程图像特征、输入像素或视觉令牌等预测局部目标的方法相比,data2vec算法中使用的掩码预测设置在预测上下文化潜在表示方面表现更好。
  • 相较于将学生网络的最终层回归为两个不同增强版本的图像输入的自蒸馏方法,data2vec模型也表现出更好的性能。

音频与语音处理

对于语音和音频处理,data2vec模型在来自Librispeech(LS-960)数据集的约960小时音频数据上进行训练。该数据集包含来自英语有声读物的清晰语音音频,被视为语音和音频处理行业的标准基准。

为了分析模型在不同资源设置下的性能,研究人员对data2vec模型进行微调,以使用不同数量的标记数据(从几分钟到几小时)进行自动语音识别。为了分析模型的性能,data2vec与HuBERT和wav2vec 2.0这两种最流行的依赖于离散语音单元的语音和音频表示学习算法进行了比较。

上表比较了data2vec在语音识别的单词率方面与其他现有模型的性能。LM代表用于解码的语言模型。结果可以总结如下:

  • 对于大多数标记数据设置,data2vec模型都显示出改进,其中Base模型的最大增益为10分钟的标记数据。
  • 对于大型模型,该模型在小型标记数据集上的性能显著优于资源丰富的数据集,而在拥有100小时和960小时标记数据的资源丰富数据集上的性能相当。这是因为对于大多数模型来说,资源丰富的标记数据集上的性能通常会饱和。
  • 通过分析性能,可以推断出当模型使用丰富的上下文化目标时,学习离散单元并不是必要的。
  • 在训练过程中学习上下文化目标有助于显著提高整体性能。

此外,为了验证data2vec在语音识别中的方法,该模型还在AudioSet基准上进行了训练。尽管AudioSet的预训练设置与Librispeech相似,但该模型的训练次数为K=12,共进行了20万次更新,每个批次的大小为94.5分钟。

然后,该模型应用了DeepNorm框架,并对目标应用层归一化以帮助稳定训练。此外,该模型还在平衡子集上进行了微调,批次大小为21.3分钟,共进行了1.3万次更新。该模型还使用了线性Softmax池化和概率得分为0.7的mixup技术。然后,该模型将单个线性投影添加到了527个唯一的音频类别,并将投影学习率设置为2e-4。

此外,预训练参数的学习率为3e-5,该模型使用掩蔽技术对数据集进行微调。下表总结了结果,可以看出data2vec模型能够在相同的微调和预训练数据下胜过可比较的设置。

自然语言处理

为了分析data2vec在文本上的性能,该模型遵循与BERT相同的训练设置,并使用超过100万次更新的英文维基百科数据集进行预训练,批次大小为256个序列。该模型在包括自然语言推理任务(MNLI或多样化自然语言推理)、句子相似度(QQP或Quora问题对基准、MRPC或Microsoft Research段落语料库和STS-B或语义文本相似性基准)、情感分析(SST-2或斯坦福情感树库)和语法(CoLA)的GLUE或通用语言理解评估基准上进行评估。

此外,为了对data2vec模型进行微调,每个任务都提供了标记数据,并报告了在开发集上的平均准确率(进行了5次微调运行)。下表总结了data2vec模型在自然语言处理任务上的性能,并与其他模型进行了比较。

  • 上述数据显示,由于data2vec模型的策略不使用随机目标,因此data2vec模型优于基准RoBERTa模型。
  • data2vec模型是第一个成功的预训练NLP模型,该模型不使用字符、单词或子词等离散单元作为训练目标。相反,data2vec框架在完整的未掩蔽文本序列上预测上下文化的潜在表示。
  • 它有助于创建一个学习任务,其中模型需要根据当前序列预测具有特定属性的目标,而不是预测对每个文本单元都具有普遍特征的表示。
  • 此外,训练目标集不是固定的,模型可以自由定义新的目标,并且对词汇设置是开放的。

Data2Vec:消融研究

消融是指在AI和ML系统中删除组件的术语。消融研究用于通过从模型中删除某些关键组件来调查或分析AI或ML模型的性能,以便研究人员了解该组件对整个系统的贡献。

层平均目标

data2vec模型与其他自监督学习模型的一个主要区别在于,data2vec模型使用基于教师网络多个层的平均值作为目标。这个想法来自于wav2vec 2.0模型的顶层在下游任务中表现不佳,与模型的中间层相比。

在下面的实验中,通过对K=1、2、…、12层进行平均来衡量所有三个模态的性能,其中K=1只预测顶层。然而,为了提取更快的回转时间,data2vec以总共12层训练基础模型。对于语音识别,该模型在Librispeech上进行了超过20万次的预训练,然后在Libri-light的10小时标记分割上进行了微调。对于自然语言处理,该模型报告了验证集的平均GLUE分数,并在计算机视觉上进行了300个时代的预训练,然后报告了在ImageNet数据集上获得的top-1准确率。

上图显示了基于多层的目标在只使用顶层K=1作为所有模态的情况下通常会有所改善。使用所有可用的层是一个好的实践,因为神经网络在不同类型的特征上构建特征,并提取出许多层作为特征层。

使用多层特征有助于提高准确性,并丰富自监督学习过程。

目标特征类型

data2vec模型中的transformer块具有几个层,所有这些层都可以作为目标。为了分析不同层对性能的影响,该模型在使用不同层作为目标特征的Librispeech语音模型上进行了预训练。

下图清楚地表明,前馈网络(FFN)的输出效果理想,而自注意力块的输出则不能产生可用的模型。

目标上下文化

data2vec模型中的教师表示使用整个输入进行自注意力操作,以产生上下文化的目标。这是将data2vec与其他自监督学习模型区分开来的关键之处,其他模型通过重构或预测输入的局部部分来构建学习任务。

显然,这引出了一个问题:data2vec模型是否需要上下文化的目标才能良好工作?

为了回答这个问题,研究人员构建了不具备对整个输入数据集的访问权限,而只能访问预定部分的目标表示。然后,模型限制了教师的自注意力机制,使其只能访问周围环境输入的一部分。训练完成后,模型通过微调来访问完整的上下文大小。

下图显示,较大的上下文大小通常会导致更好的性能,当整个输入样本可见时,它会产生最佳准确性。这进一步证明了更丰富的目标表示可以产生更好的性能。

模态特定的特征提取器和遮蔽

data2vec的主要目标是设计一种简单的学习机制,可以处理不同的模态。这是因为尽管当前的模型和框架具有统一的学习机制,但它们仍然使用模态特定的遮蔽和特征提取器。

根据输入数据的性质不同,框架主要适用于单一模态是有道理的。例如,语音识别模型使用高分辨率输入(如10 kHz的波形),通常具有数千个样本。然后,通过多层卷积神经网络对波形进行处理,以获取50 Hz的特征序列。

结构化和上下文化的目标

data2vec模型与其他遮蔽预测模型的主要区别在于,data2vec模型中的训练目标的特征是上下文化的。这些特征是使用教师模式下整个遮蔽输入的自注意力构建的。

像BYOL(Bootstrap Your Own Latent)或DINO这样的其他框架也使用像data2vec一样的潜在表示,但它们的主要重点是学习具有转换不变性的表示。

最后的思考

AI和ML行业的最新研究表明,统一的模型架构可以是解决多个模态的有效方法。data2vec模型使用自监督学习方法处理三种模态:语音、图像和语言。

data2vec模型背后的关键概念是使用部分输入视图来回归上下文化信息或输入数据。数据2vec框架使用的方法非常有效,因为该模型在ImageNet-1K数据集上的性能优于先前的自监督学习模型,无论是对于ViT-B还是ViT-L单一模型。

data2vec真正是自监督学习行业的一个里程碑,因为它证明了一种单一的学习方法可以使模型更容易跨模态学习。