存根 data2vec:自监督学习的里程碑 - Unite.AI
关注我们.

人工智能

data2vec:自监督学习的里程碑

mm
更新 on

机器学习模型严重依赖标记数据进行训练,传统上来说,基于标记数据的训练模型会产生准确的结果。然而,使用标记数据的主要缺点是注释成本随着训练数据大小的增加而增加。高注释成本对开发人员来说是一个很大的障碍,特别是在处理具有大量训练数据的大型项目时。

为了解决注释问题,开发人员提出了以下概念: SSL 或自我监督学习。 自监督学习是一个机器学习过程,其中 模型训练自己从输入的另一部分学习一部分输入。 自监督学习模型旨在利用数据之间的关系,而不是使用标记数据的监督信号。 

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

  1. 它们通常专门用于图像或文本等单一模式。 
  2. 它们需要大量的计算能力。 

这些限制是一个主要问题,为什么与依赖单独模型和训练数据来区分图像、文本和语音的人工智能模型相比,普通人的大脑能够更有效地从单一类型的数据中学习。 

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

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

Data2vec简介:核心思想

尽管自监督学习的基本概念跨模态应用,但实际目标和算法彼此不同,因为它们是针对单一模态设计的。 为单一模态设计模型是同一自监督学习算法无法在不同类型的训练数据上有效工作的原因。 

为了克服单一模态模型和算法带来的挑战,Meta AI 发布了 data2vec,这是一种对计算机视觉、 NLP 或言语。  

data2vec 算法背后的核心思想是使用输入的屏蔽视图 借助以下公式预测自蒸馏设置中完整输入数据的潜在表示 标准 Transformer 架构。 因此,data2vec 算法使用来自完整训练或输入数据的信息来预测潜在表示,而不是本质上本地的图像、文本或语音等特定模态对象。 

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

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

到目前为止,这些自监督学习算法专注于导致学习偏差的个体模式以及模型中的具体设计。 自监督学习算法的个体模式给计算机视觉和 NLP 等不同的人工智能应用带来了挑战。 

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

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

因此,世界之所以需要 data2vec,是因为 data2vec 算法具有加速人工智能进步的潜力,并有助于开发能够无缝了解周围环境的不同方面的人工智能模型。 科学家们希望 data2vec 算法能够让他们开发出适应性更强的 AI 和 ML 模型,这些模型能够执行超出当今 AI 模型所能执行的高度高级任务。

什么是 Data2Vec 算法?

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

data2vec 算法旨在开发 ML 模型,通过保持不同模态的学习目标一致,可以更好地学习环境中的一般模式。 data2vec 模型统一了学习算法,但它仍然单独学习每种模态的表示。 

随着 data2vec 算法的推出,Meta AI 希望它能让多模态学习变得有效、更简单。 

Data2Vec 算法如何工作?

data2vec 算法将潜在目标表示的学习与屏蔽预测相结合,尽管它使用多个网络层作为目标来概括潜在表示。 该模型专门训练一个现成的 变压器网络 然后用于 老师或学生 模式。 

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

上图展示了 data2vec 模型如何对不同的模态使用相同的学习过程。 第一步,模型生成输入数据的表示(教师模式)。 然后,模型根据输入的屏蔽版本对这些表示进行回归。 

此外,由于 data2vec 算法使用输入数据的潜在表示,因此它可以被视为特定于模态的设计的简化版本,例如 通过规范化输入创建合适的目标 or 学习一组固定的视觉标记。 但 data2vec 与其他算法之间的关键区别点在于 data2vec 算法使用自注意力来制作其目标表示 情境化和连续性。 另一方面,其他自监督学习模型使用一组基于本地上下文的固定目标。 

Data2vec:模型方法

data2vec 模型是通过在给定输入的部分视图的情况下预测输入数据的模型表示来训练的。 正如您在给定的图中所看到的,狗的脸被遮盖了,语音注释的特定部分被遮盖了,并且单词“ ”在文本中被掩盖。 

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

模型架构

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

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

掩蔽

一旦模型将输入数据嵌入为标记序列,模型就会通过用嵌入标记替换这些单元的一部分来掩盖它们,然后将序列提供给 变压器 网络。 对于计算机视觉,该模型采用分块标记策略。 潜在语音表示用于屏蔽语音数据的范围,并且对于语言相关任务,标记被屏蔽。 

培训目标

data2vec 模型旨在基于最初馈送到模型的屏蔽样本的编码来预测未屏蔽训练样本的模型表示。 该模型仅预测屏蔽时间步长的表示。 

模型预测 情境化表征 它不仅对特定的时间步长进行编码,还对样本中的其他信息进行编码,因为它在 Transformer 网络中使用了自注意力。 上下文化表示和 Transformer 网络的使用是 data2vec 模型与现有模型的区别 BERT、wav2vec、BEiT、SimMIM、MAE 和 MaskFeat 无需上下文信息即可预测目标的模型。 

以下是 data2vec 模型如何参数化教师模式以预测然后用作目标的网络表示。 

教师参数化

data2vec 模型使用以下参数对未屏蔽训练样本的编码进行参数化: EMA 或指数移动平均线 模型参数(θ)的其中模型的权重 目标模式(△) 如下面所述

                                           Δ ← τΔ + (1 − τ ) θ

 

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

结果表明,当模型在学生模式和教师模式之间共享特征编码器和位置编码器的参数时,模型更加高效和准确。 

目标

培训目标的构建取决于高层的产出 K 教师网络的时间步长块在学生模式下被屏蔽。 块的输出 l 在任意时间步长 t 表示为lt。 然后,模型对每个块应用归一化以获得 âlt 在对前 K 个块进行平均之前 

  

 

得到训练目标yt 对于时间步长 t 对于一个网络 L 总共块。 

它创建模型在学生模式下回归的训练目标。 在最初的实验中,data2vec 模型在使用专用投影单独预测每个块方面表现良好,同时效率更高。 

此外,标准化目标还允许 data2vec 模型崩溃为时间步长的恒定表示,并防止具有高度标准化的层主导目标数据集中的特征。 对于语音识别,该模型对当前输入样本使用实例归一化,而无需任何学习参数。 这主要是因为输入数据的步幅很小,相邻表示高度相关。 

此外,研究人员发现,在使用计算机视觉和 NLP 时,无参数标准化足以完成这项工作。 该问题也可以通过以下方式解决 方差-不变性-协方差 正则化,但是上面提到的策略表现得足够好,并且不需要任何额外的参数。 

目的

对于情境化培训目标 yt,该模型使用 平滑 L1 损失 回归如下所述的目标

这里,β 控制从平方损失到 L1 损失的转变,并且它在很大程度上取决于模型预测 f 之间的差距大小t(x) 在时间步长 t. 这种损失的好处是 对异常值相对不太敏感,需要调整β的设置

实验装置

data2vec 模型用两种模型大小进行了实验: data2vec 大 data2vec 基础。 为了数值稳定性,EMA 更新在 fp32 中完成,并且模型包含 L= 12 或 L= 24 Transformer 块,隐藏尺寸 (H) = 768 或 H= 1024。让我们详细看看不同模态的实验设置和目的。 

计算机视觉

data2vec 模型将 224×224 像素的图像嵌入为 16×16 像素的块。 这些补丁中的每一个都会被线性变换,并且具有 196 种表示形式的序列被馈送到标准 Transformer。 

模型如下 贝特 用相邻补丁屏蔽块,每个块至少有 16 个具有随机长宽比的补丁。 然而,data40vec 模型不是像 BEiT 模型中最初那样屏蔽 2% 的补丁,而是屏蔽 60% 的补丁,以获得更好的准确性。 

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

ViT-B 模型预训练了 800 个 epoch,data2vec 模型对 ViT-L 模型使用的批量大小为 8,192,对 ViT-B 模型使用的批量大小为 2,048。 data2vec 模型还使用余弦和单个周期的 Adam 调度,将 ViT-L 的 80 epoch 的学习率预热到 0.001,将 ViT-B 的 40 epoch 的学习率预热到 0.001。 

对于 ViT-B 和 ViT-L,data2vec 模型使用 β = 2、K = 6 和 τ = 0.9998 作为常数,没有时间表。 该模型进一步使用随机深度率0.2。 

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

对于图像分类,该模型使用最后一个 Transformer 块的输出的均值池,并将其输入到 softmax 归一化分类器。 然后,模型使用余弦对 ViT-L 进行 50 个时期的微调,对 ViT-B 进行 100 个时期的微调,并使用 Adam 来预热学习率。 

语音处理

对于语音处理,data2vec 模型使用 费尔赛克, 序列建模套件,用于训练客户模型以进行摘要、翻译和文本生成。 该模型采用 16 kHz 波形作为输入,使用特征编码器进行处理,并包含具有 512 个通道、内核宽度 (10,3,3,3,3,2,2) 和步幅 (5,2,2,2,2,2,2) 的时间卷积,XNUMX)。 

上述结果使编码器的输出频率为 50Hz,每个样本之间的步长为 20ms。 感受野由 400 个输入样本或 25 ms 的音频组成。 馈送到编码器的原始波形被归一化为单位方差,并且零均值

Data2vec 用于 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 类型的字节对编码来标记输入,然后模型学习每种类型的嵌入。 数据编码后,模型将 BERT 屏蔽策略应用于 15% 的统一选择的 token,其中 80% 被学习的 mask token 替换,10% 被随机词汇 token 替换,其余 10% 不变。 

在预训练期间,模型使用 τo = 0.999, τe = 0.9999, 和 τn = 100,000,K= 10,β = 4。该模型使用 Adam 优化器和三阶段学习率计划,在前 5% 的更新中线性预热学习率,在接下来的 80% 中保持学习率,并且然后继续线性衰减剩余的 15%,峰值学习率为 2×10-4

此外,该模型在 16 图形处理器 批量大小为 256 个序列,每个序列包含约 512 个标记。 对于下游,模型以四种不同的学习率进行预训练:1×10-4,2×10-4,3×10-4,4×10-4,并且选择表现最好的一个来执行进一步的 NLP 下游任务。 

成果

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

计算机视觉

为了评估计算机视觉的结果,data2vec 模型在从 ImageNet-1K 数据集。 使用相同基准的标记数据对生成的模型进行微调。 根据标准实践,然后根据以下方面评估模型 top-1 准确度 关于验证数据。 

然后根据单个自监督模型来区分结果,并根据附加数据或其他自监督学习模型训练单独的视觉分词器。 

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

上表的结果可总结如下。 

  • data2vec 模型在单一模型设置中优于 ViT-L 和 ViT-B 模型的先前工作。 
  • 与预测工程图像特征、输入像素或视觉标记等局部目标的方法相比,data2vec 算法中用于预测上下文潜在表示的屏蔽预测设置表现更好。 
  • data2vec 模型还优于自蒸馏方法,该方法在将图像的两个不同增强版本作为输入时对学生网络的最后一层进行回归。 

音频和语音处理

对于语音和音频处理,data2vec 模型接受了大约 960 小时的音频数据训练,这些数据是从 书本语音(LS-960) 数据集。 该数据集包含来自英语有声读物的干净语音音频,它被视为语音和音频处理行业的标准基准。 

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

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

  • data2vec 模型显示了大多数标记数据设置的改进,基本模型的标记数据最大增益为 10 分钟。 
  • 当谈到大型模型时,该模型在小型标记数据集上的表现明显更好,并且在资源丰富的数据集(具有超过 100 和 960 小时的标记数据)上的性能相当。 这是因为大多数模型的性能通常在资源丰富的标记数据集上饱和。 
  • 分析性能后,可以推断,当模型使用丰富的上下文目标时,学习离散单元并不是必需的。 
  • 在培训期间学习情境目标有助于显着提高整体绩效。 

此外,为了验证 data2vec 的语音识别方法,该模型还接受了训练 音频集 基准。 尽管 AudioSet 的预训练设置与 Librispeech 类似,但该模型是针对 K= 12 进行训练的,并且更新次数超过 200K,其中每个批次的大小为 94.5 分钟。 

然后该模型应用 深度规范 框架,和 层归一化 达到目标,以帮助稳定训练。 此外,该模型还在平衡子集上进行了微调,批量大小为 21.3 分钟,超过 13k 次更新。 该模型还使用 线性 Softmax 池化 和概率得分为 0.7 的混合。 然后模型添加一个 单一线性投影 分为 527 个独特的音频类别,并设置 投影学习率 至2e-4。 

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

自然语言处理

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

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

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

Data2Vec:消融研究

消融是一个术语,用于定义人工智能和机器学习系统中组件的删除。 消融研究用于通过从模型中删除某些关键组件来调查或分析 AI 或 ML 模型的性能,从而使研究人员能够了解该组件在整个系统中的贡献。 

层平均目标

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

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

上图显示,当所有模态仅使用顶层 K=1 时,基于多层的目标通常会有所改善。 使用所有可用的层是一种很好的做法,因为神经网络在不同类型的特征上构建特征,以及随后提取为特征层的大量层。 

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

目标特征类型

data2vec 模型中的转换器块有多个层,它们都可以作为目标。 为了分析不同层如何影响性能,该模型在使用不同层作为目标特征的 Librispeech 语音模型上进行了预训练。 

下图清楚地表明前馈网络或 FFN 的输出工作理想,而自注意力块的输出不会产生可用的模型。 

目标情境化

data2vec 模型中的教师表示使用对整个输入的自注意力来生成上下文目标。 这就是 data2vec 与其他自监督学习模型的区别,其他自监督学习模型通过重建或预测输入的局部部分来构建学习任务。 这显然提出了一个问题: data2vec 模型是否需要上下文目标才能正常工作? 

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

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

模态特定特征提取器和掩蔽

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

鉴于输入数据的性质彼此差异很大,框架大多使用单一模式是有道理的。 例如,语音识别模型使用通常具有数千个样本的高分辨率输入(如 10 kHz 波形)。 然后,框架使用多层卷积神经网络处理波形,以获得 50 Hz 的特征序列。 

结构化和情境化目标

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

其他一些框架,如 BYOL(Bootstrap Your Own Latent)或 DINO 也使用 data2vec 等潜在表示,但它们的主要重点是学习变换不变表示。 

最后的思考

人工智能和机器学习行业的最新工作表明,统一的模型架构可以成为解决多种模式的有效方法。 data2vec 模型使用自我监督学习方法来处理三种模式:语音、图像和语言。 

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

Data2vec 确实是自监督学习行业的一个里程碑,因为它证明了学习多种模式的单一学习方法确实可以使模型更容易跨模式学习。 

“职业工程师,心灵作家”。 Kunal 是一位技术作家,对人工智能和机器学习有着深厚的热爱和理解,致力于通过他引人入胜且信息丰富的文档来简化这些领域的复杂概念。