当你在神经网络中证明了你的观点时,你会怎么做?
做得更快是一个答案。
周二,Facebook、Instagram 和 WhatsApp 的所有者 Meta Properties 推出了 Data2vec 2.0,这是对今年早些时候推出的神经网络的改造,它表现得像一种多面手,执行涉及文本、图像和语音数据的任务 对所有三个都使用相同的基本方法。
第二次,Meta 的科学家使程序更快,并且在一些情况下,在机器学习任务的基准测试中更准确。
“Data2vec 2.0 表明,自我监督学习的训练速度可以显着提高,而不会损失下游任务的准确性,”作者 Alexei Baevski、Arun Babu、Wei-Ning Hsu 和 Michael Auli 写道,他们是原论文的四位作者 Data2vec 论文,在这项新工作中,Efficient Self-supervised Learning with Contextualized Target Representations for Vision, Speech and Language,发布在 arXiv 上。
另外:什么是 ChatGPT,它为什么重要?
第二个 Data2vec 的独特成就是减少了训练 Data2vec 所需的时间。 神经网络的训练通常根据“时代”来衡量,这意味着神经网络被赋予训练示例的次数。 它也可以通过挂钟时间、字面上的小时、分钟和从开始到结束计算的天数来衡量。
“实验表明,Data2vec 2.0 可以以 2-16 倍的训练速度达到与许多流行的现有算法相同的精度,”他们写道。
Data2vec 这个名字是对 2013 年谷歌开发的语言“嵌入”程序 Word2vec 的一种模仿。 该程序预测了单词如何聚集在一起,因此 Word2vec 代表了为特定类型的数据(在这种情况下为文本)设计的神经网络。
然而,就 Data2vec 而言,Baevski 及其同事正在采用一种名为 Transformer 的神经网络,该网络由 Ashish Vaswani 及其同事于 2017 年在谷歌开发,并将其扩展为用于多种数据类型。 神经网络的相同结构可以用来训练所有这三种——图像、语音和文本——而无需改变以适应其中任何一种的特殊性,使其成为一个通才程序。
Baevski 及其同事将 Transformer 扩展到所谓的“自我监督”学习。 在自我监督的环境中,神经网络的训练必须经过多个阶段,这些阶段的结果相互比较。
首先,网络压缩数据样本,即所谓的构建输入数据的表示。 然后,网络的第二个版本将其中一些输入数据项“屏蔽掉”,不公开。 它必须重建第一个版本的网络构建的表示,这迫使第二个网络通过填充空白来构建更好的数据如何组合在一起的模型。
另外:人工智能的真正目标可能不再是智能
这两个网络——一个是完整的、未屏蔽的输入数据的压缩表示,另一个是它试图完成的不完整版本——分别被称为教师和学生。 如果您愿意,学生网络会尝试通过重建教师网络尽管有掩蔽已经取得的成果来发展其对数据的感知。
这次作者对 Data2vec 进行了两个关键更改以使其更快:使用“卷积”和“摊销”教师网络的压缩表示。
在第一个分数上,必须预测教师表示的学生网络不再使用 Transformer 中称为解码器的部分来执行此操作。
这是标准方法,在某种意义上解压缩教师网络的压缩表示。 相反,作者使用所谓的卷积神经网络,这是神经网络中的一种基本工具,用于以压缩形式表示数据样本,并且是一种比 Transformer 古老得多的工具。 这是一个很好的例子,说明旧技术如何在编程中得以保留。
“我们没有使用基于 Transformer 的解码器,而是使用了一个更小的卷积解码器,我们发现这种解码器训练起来更容易也更快,”他们写道。
对于第二个变化,新的 Data2vec 不再在教师网络中重复创建压缩表示,而是只创建一次表示。 然后,它针对每个屏蔽数据点将其重新用作目标,即要猜测的事物。
正如作者所说,“为了分摊教师模型计算的成本,我们将教师表示重新用于训练样本的多个屏蔽版本。
“具体来说,我们考虑训练样本的 M 个不同掩码版本,并计算关于相同目标表示的损失。”
在论文的结果部分,Baevski 和团队讲述了他们如何在图像识别、语音识别和自然语言处理这三个领域中缩短训练时间并提高准确性。
对于图像处理,作者使用 Data2vec 作为基础来微调所谓的“ViT”,即“视觉转换器”,这是一种专门为视觉任务设计的神经网络,由 Alexey Dosovitskiy 和 Google 的同事于去年推出 (PDF) . Data2vec 程序是一个预训练的基础,根据文献的说法,ViT 是一个微调。
与 1 月份的结果相比,Data2vec 支持的 ViT 在 ImageNet(为图像分配标签的经典测试)的准确性方面再次超过了用作 ViT 基础的其他神经网络,它也超过了 Data2vec 的先前版本。
但除了准确性之外,新的 Data2vec 花费的训练时间要少得多。 之前的Data2vec用了800个epochs; 这次,减少到 150 个纪元。 与竞争的自监督网络、掩码自动编码器或 MAE(另一个元创建 (PDF))相比,训练从 1,600 个纪元减少到 100 个纪元,即使新的 Data2vec 的准确性超过 MAE。 更快的训练方案导致训练的绝对时间大大减少,Data2vec 2.0 仅为 66 小时,而 MAE 为 113.6 小时。
在语音识别中,任务是填充口语短语的音频文件片段的缺失部分。 新的 Data2vec 与多个语音神经网络竞争,包括原始的 data2vec,以及名为 Wav2vec、HuBERT 和 WavLM 的程序。 Data2vec 2.0 在任何情况下都没有击败这些网络,但它“在更快的训练时间内获得了比其他模型更高的准确性。” 例如,43 小时的训练 Data2vec 2.0 达到原始 Data2vec 需要 57 小时的准确度。
在第三个领域,即自然语言处理,Data2vec 2.0 在一系列挑战中进行了测试,其中包括由纽约大学 Courant 数学科学研究所于 2019 年开发的通用语言理解评估框架(称为 GLUE)。
在一项测试中,网络必须预测一个句子是否来自另一个句子——逻辑蕴涵——而另一项代表性任务要求网络标记一个短语语法正确与否。
与原始的 Data2vec 以及两个基于 Transformer 的程序,谷歌的 BERT 和一个名为 RoBERTa 的修订版本(由华盛顿大学保罗艾伦计算机科学学院和 Meta 于 2019 年推出)相比,Data2vec 的 2.0 版本得分很高 跨越 GLUE 结果,同时训练速度更快。
这个新版本的所有 GLUE 任务的总平均准确度得分为 82.6,仅略低于原始 Data2vec 的 82.7,但高于 BERT 的 81.2 和 RoBERTa 的 82.5。 但是,Data2vec 2.0 仅需 28.2 小时即可达到该水平,不到原始 Data2vec 69 小时的一半,也远低于 RoBERTa 的 50.5 小时。
另外:构建人工智能的人是最需要人工智能的人
Baevski 和团队写道,他们将来会将 Data2vec 扩展到语音、图像和文本以外的其他形式的数据,从而提高它成为通才的前景。
一种限制似乎可能会保留下来。 与原始的 Data2vec 一样,2.0 版本在训练期间首次将数据类型输入网络时仍然以不同方式处理每种数据类型。 这意味着 Data2vec 尚未开发出一种完全通用的方法来处理数据类型。
图像、语音和文本都是通过数据的预处理来准备的。 这样一来,网络的多模态方面仍然依赖于数据线索,该团队将其称为“小型模态特定输入编码器”。
此外,来自教师网络的每个压缩编码都是为三种数据类型单独创建的。 目前还没有能力创建一种将所有数据类型同时组合成一个表示的“超级编码”。
因此,与 Data2vec 1.0 一样,一个可能真正成为一个网络来统治它们的神经网络仍然是未来的技术。