Meta AI发布图音文大一统模型Data2vec,4天在GitHub揽1.5万星

行早 发自 凹非寺
量子位 | 公众号 QbitAI

Meta AI搞了一个大一统的自监督学习模型Data2vec

怎么个大一统法?

图像、语音、文本都可以处理,效果还都不错,在CV方面甚至超过了包括MAE、MaskFeat在内的一众模型。

这是怎么做到的?我们来看看Data2vec的思路和结构。

Data2vec如何统一图音文

关于这个问题,我们可以从模型名字中看出一些端倪。

和Word2vec把词转化为可计算的向量类似,Data2vec会把不同类型的数据都转化为同一种形式的数据序列。

这样就成功避开了模态不同这个问题。

然后,再用自监督学习的方法遮住这些数据的一部分,通过训练让模型把遮住的部分还原。

而它的结构也是在这个思路上设计的。

Data2vec以Transformer架构为基础,设计了一个教师-学生网络结构:

79426d73c7f45e74ac494b56cc607441.gif

从上图中可以看出,无论对于任何形式的输入,都先转化为数据序列,并mask一部分信息(或挡住狗头,或覆盖一段语音,或遮住一个单词)。

然后让学生网络通过部分可见的输入去预测完整输入,再由教师网络去调整,达到一个模型处理多任务的效果。

那接下来的问题就是如何把不同类型的输入都转化为同一种形式了。

Data2vec如何标准化输入数据

在标准化输入这一块,Data2vec还是具体问题具体分析的。

毕竟像素、波形和文本是完全不同的形式,而Data2vec对不同形式的输入采用了不同的编码策略,但是目的都是一样的。

那就是将这些输入都转化为数据序列。

具体的操作方法是这样的:

任务
编码方式
掩码方式
计算机视觉
ViT图像分块
Block-wise Masking Strategy
语音
多层一维卷积神经网络
Mask spans of latent speech representation
文本预处理获得子词单元,然后通过嵌入向量将其嵌入分布空间
Tokens

其中ViT的编码策略就是把一张图分成一系列的图块,每个图块有16x16个像素,然后输入到一个线性变换系统中。

而语音的编码方式是用多层的一维卷积神经网络将16kHz的波形转换为50Hz的一串数据序列。

833656dc659a0d83afb050f4dc4c3b47.png

再加上文本编码的嵌入向量,这样所有模态的输入都转换为了数据序列,方便后续的训练。

而对于掩码策略来说,不同的模态的表现形式也是不一样的。

例如图像可以遮住一块,但是语音和文本有上下文的关联,不能随便遮住一部分。

因此对不同的模态,Data2vec也采取了相应的符合不同数据特征的掩码方式。

这样标准化之后,Data2vec还针对不同的下游任务做了一些微调,其中语音和文本的模型已经在GitHub上放出,视觉模型也正在路上:

1648306087e365df254c948a78d512b5.png

我们来看看这统一的模型性能怎么样。

性能表现

虽然Data2vec三手齐抓,但是性能也没落下。

在计算机视觉方面,在IN1K上预训练情况如下表所示:

60cae80cd5de980eac20eaf350608874.png

和一些其他模型相比,Data2vec精度表现最好。而且Data2vec只训练了800个epochs,而表中的MAE,MaskFeat训练了1600个epochs。

看柱状图则更为明显,蓝色为Data2vec:

f0a03405fb8576111b30e86c32973d32.png

在语音处理方面,在LS-960上预训练结果如下:

470dd405e2688bbf77ba0d4cd42bd2b3.png

可以看出,Data2vec在不同的标签数据量下单词错误率都比wav2vec2.0和HuBERT要低。

ef75857efb59cd2c945b4332ee08709f.png

而在文本处理上,Data2vec采用了和BERT相同的训练设置,训练集为Books Corpus和英文维基百科数据。

在GLUE评估中,Data2vec在自然语言推理(MNLI、QNLI、RTE),句子相似性(MRPC、QQP、STS-B),语法(CoLA)和情绪分析(SST)等指标中和RoBERTa不相上下。

其中Baseline这一条是RoBERTa在和BERT类似的设置中的训练结果:

c9be09967f6c87a25b8d2452c9178722.png

总体评分也差不多:

8a1f244e37d8231085b442744dec950e.png

这么看来,统一的模型架构真的可以有效地用于多种任务模式。

虽然Data2vec在输入数据和掩码方式上还是按照不同的方法来处理,但是它仍然是探索模型统一的尝试。

或许将来会有统一的掩码策略和不同模态数据的混合数据集,做到真正的大一统。

参考链接:

[1]https://ai.facebook.com/research/data2vec-a-general-framework-for-self-supervised-learning-in-speech-vision-and-language
[2]https://ai.facebook.com/blog/the-first-high-performance-self-supervised-algorithm-that-works-for-speech-vision-and-text
[3]https://github.com/pytorch/fairseq/tree/main/examples/data2vec

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值