行早 发自 凹非寺
量子位 | 公众号 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

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

  1. Meta AI发布具有200种语言的高品质机器翻译人工智能模型

    Meta AI所打造的NLLB-200是第一个能对200种不同语言提供先进质量翻译的单一人工智能(AI)模型. Meta AI也建立了全新的评价数据集FLORES-200,并衡量NLLB-200在每种 ...

  2. Meta AI 发布 data2vec!统一模态的新里程碑!

    文 | ZenMoore 编 | 小轶 如果让大家举一个最成功的自监督模型的例子,尤其对于各位 NLPer,肯定毫不犹豫地祭出我大 BERT. 想当年 BERT 打了一个名叫 MLM (Masked ...

  3. 【通知】有三AI发布150页深度学习开源框架指导手册与GitHub项目,欢迎加入我们的开源团队...

    之前我们公众号输出了很多深度学习开源框架相关的内容,今天整理成技术手册给大家分享以方便阅读,下面是详细信息. 开源框架背景 现如今开源生态非常完善,深度学习相关的开源框架众多,光是为人熟知的就有caf ...

  4. darknet框架_【通知】有三AI发布150页深度学习开源框架指导手册与GitHub项目,欢迎加入我们的开源团队...

    之前我们公众号输出了很多深度学习开源框架相关的内容,今天整理成技术手册给大家分享以方便阅读,下面是详细信息. 开源框架背景 现如今开源生态非常完善,深度学习相关的开源框架众多,光是为人熟知的就有caf ...

  5. 快让想象力跟上AI的发展!Meta AI 推出文本生成视频模型 #Make-A-Video

    AI 已经能让 "一句话" 诞生出巨大的生产力了. # 文本-图像.文本-3D模型.文本-视频...... Meta AI 发布了文本生成视频模型 Make-A-Video # 未 ...

  6. 重磅!Meta AI开源OPT-175B:1750亿参数大模型

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 本文转载自:机器之心 |  编辑:陈萍 OPT-175B,使人工智能更加开放和可复制. Meta AI 在昨 ...

  7. AI大一统:阿里达摩院发布多任务、多模态统一模型OFA

    引言:我们正处于一个"多模多任务大统一"的AI时代. 老铁们,上图是对动漫<海贼王>所选框的文字描述(Zero-shot测试),而这一"炫酷"的效果 ...

  8. 谷歌浏览器中文版_中国科学家设计超薄指尖传感器,厚度不到A4纸五分之一 / 谷歌发布地图时光机:百年前,你家街道啥样?/ AI看图说话首超人类...

    关注我们了解计算机视觉最新动态 ! 动态先览 1 中国科学家设计超薄指尖传感器,厚度 不到A4纸五分之一 2 谷歌发布地图「时光机」:100年前, 你家街道长啥样? 3 仿真环境跟车2分钟,就让自动驾 ...

  9. Meta AI西雅图研究负责人Luke Zettlemoyer|万亿参数后,大模型会持续增长吗?

    导读:预训练语言模型正变得越来越大,在惊讶于其强大能力的同时,人们也不禁要问:语言模型的规模在未来会持续增长吗? Meta AI西雅图研究负责人,华盛顿大学计算机科学与工程学院Paul G. Alle ...

最新文章

  1. executing an update/delete query问题
  2. boost源码剖析之:多重回调机制signal(下)
  3. Android 高仿微信6.0主界面 带你玩转切换图标变色
  4. 基于YARN集群构建运行PySpark Application
  5. 用户控件与自定义控件
  6. java 删除指定文件夹和下面所有文件_JAVA语言基础
  7. Camtasia混音教程
  8. 360n7手机断网没信号_你的手机信号为什么总比别人差?原因没那么简单
  9. delphi10.2.1下载地址
  10. 9、杂项:qxdm报错0xc000007b无法启动
  11. 全球最强免费电子书下载网址
  12. DIY制作修改替换PPC手机短信背景图片的技巧
  13. 有趣的ASCII-Art
  14. 单肩包属于什么类目_包包属于什么商标类目
  15. 自学Java年薪20万的学习方法,大佬教你如何去学
  16. java微信分享朋友圈_java怎么实现微信分享到朋友圈功能
  17. 使用superset完成mysql数据库或者hive数据库的数据可视化
  18. 智慧化工厂安全风险生产预警系统软件
  19. (转)Unity MRTK语音输入
  20. nginx小知识 :通过nginx代理转发接口地址

热门文章

  1. 主机ping不通ubuntu虚拟机的解决方法
  2. 避免HttpClient的”javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated”异常
  3. 创建零填充JavaScript数组的最有效方法?
  4. 在Django中,“子弹”是什么?
  5. SpringBoot系列: RestTemplate 快速入门
  6. 【Atcoder】ARC083 D - Restoring Road Network
  7. ios framework 开发 之 实战二 ,成功
  8. 用BadgeView在actionbar menu上显示提醒信息
  9. nessus国内用户不让免费使用了!
  10. [C] zintrin.h: 智能引入intrinsic函数 V1.01版。改进对Mac OS X的支持,增加INTRIN_WORDSIZE宏...