多模态再次统一!Meta发布自监督算法data2vec 2.0:训练效率最高提升16倍!
近几年人工智能领域的突破大多由自监督学习推动,比如BERT中提出的MLM (Masked Language Model) ,通过将文本中的部分单词遮盖后重新预测,使得海量无标记文本数据也能用来训练模型,自此开启了大规模预训练模型的新时代。但自监督学习算法也有明显的局限性,通常只适用于单一模态(如图像、文本、语音等)的数据,并且需要大量的算力从海量数据中进行学习。相比之下,人类的学习效率要显著高于当前的AI模型,并且可以从不同类型的数据中进行学习。
2022年1月,Meta AI发布了自监督学习框架data2vec,将三个模态的数据(语音、视觉和文本)通过一个框架整合起来,大有一统多模态的趋势。最近Meta AI发布了data2cec 2.0版本,主要在性能方面对上一代进行了改进:在精度相同的情况下,训练速度相比其他算法最高提升了16倍!
论文链接:https://ai.facebook.com/research/publications/efficient-self-supervised-learning-with-contextualized-target-representations-for-vision-speech-and-language
代码链接:https://github.com/facebookresearch/fairseq/tree/main/examples/data2vec
data2vec 1.0
目前来说,大部分机器学习模型仍然是基于有监督学习的模式,需要有专门的标注人员对目标数据打标签,但对于某些任务来说(比如地球上的几千种人类语言),收集标注数据是不可行的。
相比之下,自监督学习不需要告诉模型正确和错误,而是让机器通过观察世界来学习图像、语音和文本的结构。相关的研究成果促进了语音(如,wave2vec 2.0)、计算机视觉(例如,掩码自编码器)和自然语言处理(例如,BERT)等领域的发展。
data2vec的主要思路就是先建立一个教师网络,首先计算来自图像、文本或语音的目标表征。然后对数据进行掩码遮盖掉部分输入,并用一个学生网络重复该过程预测教师模型得到的表征。
也就是说,学生模型只能在接受「不完整输入信息」的同时预测「完整输入数据」的表示。为了保证两个模型的一致性,二者的参数时共享的,但在训练初期会让Teacher模型的参数更新更快。在实验结果上,data2vec在语音、视觉、文本等任务上对比baseline模型性能提升明显。
data2vec 2.0
data2vec提出了一个通用的自监督学习框架统一了语音、视觉和语言三个模态数据的学习,而data2vec2.0主要解决的痛点就是构建自监督模型需要大量的GPU做算力支撑才能完成训练。与最初的 data2vec 算法类似,data2vec 2.0预测数据的上下文化的表征(contextualized representations),或是神经网络的层次,而非预测图像的像素、文本段中的词或语音。
与常见的其他算法不同,这些所谓的目标表征是上下文化的,这意味着算法需要将整个训练示例考虑在内。
比如说,模型学习单词 bank 的表征是基于包含bank的整个句子,从而更容易推算出单词的正确含义,比如区分具体指代「金融机构」还是「河边的土地」。研究人员认为上下文化的目标会促进更丰富的学习任务,并使 data2vec 2.0比其他算法学习得更快。
data2vec 2.0通过以下三种方式提高了原始 data2vec 算法的效率:
1、为特定训练样例构建目标表征,并将该表征重用在掩码版本上。在掩码版本中,训练样例中的不同部分会被随机隐藏。随后两个版本学到的表征都会输入到学生模型中,为不同的掩码版本预测相同的上下文化的目标表征,从而有效地分摊了创建目标表征所需的计算量。
2、类似于掩码自编码器(masked autoencoder, MAE),学生模型中的编码器网络并不运训练样例中的空白部分(blanked out)。在图像实验中,大约80%的部分都是空白,从而显著节省了计算周期。
3、使用了一个更有效的解码器模型,不再依赖于Transformer网络,而是依赖于一个多层卷积网络。
实验部分
为了更直观地理解 data2vec 2.0 比 data2vec 和其他同类算法的效率要高多少,研究人员在计算机视觉、语音和文本任务相关的基准测试中进行了广泛的实验。实验中主要考虑最终的精确度以及预训练模型所需的时间,实验环境都是在相同的硬件上(GPU 的型号、数量等)来测量算法的运行速度。
在计算机视觉任务上,研究人员在标准 ImageNet-1K 图像分类基准上评估了 data2vec 2.0,模型通过该数据集可以学习图像表征。实验结果显示,data2vec 2.0可以等同于掩码自编码器(MAE)的准确性,但是速度要快16倍。
如果继续给data2vec 2.0算法更多的运行时间,它可以达到更高的精度,并且仍然会比MAE的速度快。
在语音任务上,研究人员在 LibriLanguage 语音识别基准上进行了测试,它的准确性是 wave2vec 2.0的11倍以上。
对于自然语言处理任务,研究人员在通用语言理解评估(GLUE)基准上评估了 data2vec 2.0,仅需一半的训练时间即可达到与 BERT 的重新实现 RoBERTa 相同的精度。
以上是多模态再次统一!Meta发布自监督算法data2vec 2.0:训练效率最高提升16倍!的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

利用地理空间技术高效处理700万条记录并创建交互式地图本文探讨如何使用Laravel和MySQL高效处理超过700万条记录,并将其转换为可交互的地图可视化。初始挑战项目需求:利用MySQL数据库中700万条记录,提取有价值的见解。许多人首先考虑编程语言,却忽略了数据库本身:它能否满足需求?是否需要数据迁移或结构调整?MySQL能否承受如此大的数据负载?初步分析:需要确定关键过滤器和属性。经过分析,发现仅少数属性与解决方案相关。我们验证了过滤器的可行性,并设置了一些限制来优化搜索。地图搜索基于城

MySQL启动失败的原因有多种,可以通过检查错误日志进行诊断。常见原因包括端口冲突(检查端口占用情况并修改配置)、权限问题(检查服务运行用户权限)、配置文件错误(检查参数设置)、数据目录损坏(恢复数据或重建表空间)、InnoDB表空间问题(检查ibdata1文件)、插件加载失败(检查错误日志)。解决问题时应根据错误日志进行分析,找到问题的根源,并养成定期备份数据的习惯,以预防和解决问题。

文章介绍了MySQL数据库的上手操作。首先,需安装MySQL客户端,如MySQLWorkbench或命令行客户端。1.使用mysql-uroot-p命令连接服务器,并使用root账户密码登录;2.使用CREATEDATABASE创建数据库,USE选择数据库;3.使用CREATETABLE创建表,定义字段及数据类型;4.使用INSERTINTO插入数据,SELECT查询数据,UPDATE更新数据,DELETE删除数据。熟练掌握这些步骤,并学习处理常见问题和优化数据库性能,才能高效使用MySQL。

远程高级后端工程师职位空缺公司:Circle地点:远程办公职位类型:全职薪资:$130,000-$140,000美元职位描述参与Circle移动应用和公共API相关功能的研究和开发,涵盖整个软件开发生命周期。主要职责独立完成基于RubyonRails的开发工作,并与React/Redux/Relay前端团队协作。为Web应用构建核心功能和改进,并在整个功能设计过程中与设计师和领导层紧密合作。推动积极的开发流程,并确定迭代速度的优先级。要求6年以上复杂Web应用后端

MySQL 可返回 JSON 数据。JSON_EXTRACT 函数可提取字段值。对于复杂查询,可考虑使用 WHERE 子句过滤 JSON 数据,但需注意其性能影响。MySQL 对 JSON 的支持在不断增强,建议关注最新版本及功能。

数据库ACID属性详解ACID属性是确保数据库事务可靠性和一致性的一组规则。它们规定了数据库系统处理事务的方式,即使在系统崩溃、电源中断或多用户并发访问的情况下,也能保证数据的完整性和准确性。ACID属性概述原子性(Atomicity):事务被视为一个不可分割的单元。任何部分失败,整个事务回滚,数据库不保留任何更改。例如,银行转账,如果从一个账户扣款但未向另一个账户加款,则整个操作撤销。begintransaction;updateaccountssetbalance=balance-100wh

MySQL 主键不可以为空,因为主键是唯一标识数据库中每一行的关键属性,如果主键可以为空,则无法唯一标识记录,将会导致数据混乱。使用自增整型列或 UUID 作为主键时,应考虑效率和空间占用等因素,选择合适的方案。

SQLLIMIT子句:控制查询结果行数SQL中的LIMIT子句用于限制查询返回的行数,这在处理大型数据集、分页显示和测试数据时非常有用,能有效提升查询效率。语法基本语法:SELECTcolumn1,column2,...FROMtable_nameLIMITnumber_of_rows;number_of_rows:指定返回的行数。带偏移量的语法:SELECTcolumn1,column2,...FROMtable_nameLIMIToffset,number_of_rows;offset:跳过
