前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Meta AI发布图音文大一统模型Data2vec,4天在GitHub揽1.5万星

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

作者头像
量子位
发布2022-03-04 10:45:32
3860
发布2022-03-04 10:45:32
举报
文章被收录于专栏:量子位
行早 发自 凹非寺 量子位 | 公众号 QbitAI

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

怎么个大一统法?

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

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

Data2vec如何统一图音文

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

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

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

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

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

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

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

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

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

Data2vec如何标准化输入数据

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

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

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

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

任务

编码方式

掩码方式

计算机视觉

ViT图像分块

Block-wise Masking Strategy

语音

多层一维卷积神经网络

Mask spans of latent speech representation

文本

预处理获得子词单元,然后通过嵌入向量将其嵌入分布空间

Tokens

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

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

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

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

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

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

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

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

性能表现

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

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

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

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

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

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

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

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

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

总体评分也差不多:

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

虽然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

「智能汽车」交流群招募中!

欢迎关注智能汽车、自动驾驶的小伙伴们加入社群,与行业大咖交流、切磋,不错过智能汽车行业发展&技术进展。

ps.加好友请务必备注您的姓名-公司-职位哦~

点这里👇关注我,记得标星哦~

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量子位 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Data2vec如何统一图音文
  • Data2vec如何标准化输入数据
  • 性能表现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档